TCP,IP,UDP,帧的报文格式

本文详细解析了TCP、UDP协议的区别,包括连接方式、传输速度、顺序保证和错误校验等方面。介绍了IP分片的过程以及数据包从上层到物理层的封装步骤。同时,阐述了TCP段和UDP段的格式,包括TCP的标志位、序列号、确认号等关键字段,以及IP包头的结构和字段含义,如版本、包头长度、TTL和服务类型等。最后,提到了数据链路层的帧结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,TCP协议和UDP协议的区别
  1,TCP协议面向连接,UDP协议面向非连接

  2,TCP协议传输速度慢,UDP协议传输速度快

  3,TCP协议保证数据顺序,UDP协议不保证

  4,TCP协议保证数据正确性,UDP协议可能丢包

  5,TCP协议对系统资源要求多,UDP协议要求少

2,I P分片:

    IP层接收到一份要发送的IP数据报时,它要判断向本地哪个接口发送数据(选路),并查询该接口获得其MTU。IP把MTU与数据报长度进行比较,如果需要则进行分片。分片可以发生在原始发送端主机上,也可以发生在中间路由器上。

把一份I P数据报分片以后,只有到达目的地才进行重新组装(这里的重新组装与其他网络协议不同,它们要求在下一站就进行进行重新组装,而不是在最终的目的地)。重新组装由目的端的I P层来完成,其目的是使分片和重新组装过程对运输层( T C P和U D P)是透明的,除了某些可能的越级操作外。已经分片过的数据报有可能会再次进行分片(可能不止一次)。I P首部中包含的数据为分片和重新组装提供了足够的信息

3,数据包的封装
上三层:     数据
传输层:     数据  TCP/IP(HEAD) 段
网络层:     数据  TCP/IP(HEAD) IP(HEAD) 包
数据链路层: 数据  TCP/IP(HEAD) IP(HEAD) 帧
物理层:     111111111111000000000000000011  比特

4,TCP段格式
要想对TCP有着较为详细的了解的话,那TCP的包格式是一定要了解,有了结构的清楚认识才能真正的理解它的工作过程和各种机制的原理,以下就是TCP的结构图:

       TCP数据包可分为TCP包头和来自应用层的数据两部分

TCP段格式

中间的标志位就是用于协议的一些机制的实现的比特位大家可以看到有6比特,它们依次如下:

     URG、ACK、PSH、RST、SYN、FIN。

     URG表示紧急指针字段有效;

     ACK置位表示确认号字段有效;

     PSH表示当前报文需要请求推(push)操作;

     RST置位表示复位TCP连接;

     SYN用于建立TCP连接时同步序号;

     FIN用于释放TCP连接时标识发送方比特流结束

源端口和目的端口:各为16比特,用于表示应用层的连接。源端口表示产生数据包的应用层进程,而目的端口则表示数据包所要到达的目的进程。

序列号:为32比特,表示数据流中的字节数。序列号为首字节在整个数据流中的位置。初始序列号随机产生,并在连接建立阶段予以同步。

确认号:表示序号为确认号减去1的数据包及其以前的所有数据包已经正确接收,也就是说他相当于下一个准备接收的字节的序号。

头部信息:4比特,用于指示数据起始位置。由于TCP包头中可选项的长度可变,因此整个包头的长度不固定。如果没有附加字段,则TCP数据包基本长度为20字节。

窗口:16位,表示源端主机在请求接收端等待确认之前需要接收的字节数。它用于流量控制,窗口大小根据网络拥塞情况和资源可用性进行增减。

校验位:16位。用于检查TCP数据包头和数据的一致性。

紧急指针:16位。当URG码有效时只向紧急数据字节。

可选项:存在时表示TCP包头后还有另外的4字节数据。TCP常用的选项为最大数据包(并非整个TCP报文)MSS。每一个TCP段都包含一个固定的20字节的段头。TCP段头由20字节固定头和一些可选项组成。实际数据部分最多可以有65495(65535-20-20=65495)字节。


5,UDP段格式<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值