一.IP数据报首部格式
[image]
1.版本——占 4 bit,指IP协议的版本.目前的 IP 协议版本号为 4 (即 IPv4)
2.首部长度——占 4 bit,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是60字节。
3.总长度——占 16 bit,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。
4.标识(identification) 占 16 bit,它是一个计数器,用来产生数据报的标识。当数据报需要分片时,此标识表示同一个数据报的分片。
5.标志(flag):3 bit,D0:MF,D1:DF,D2保留, DF位用来表示数据报是否允许分片,DF=1不分片;MF位表示是否有后续分片,MF=0表示是最后一片。
6.片偏移(13 bit)指出:较长的分组在分片后某分片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。
7.生存时间(8 bit)记为 TTL (Time To Live)表示数据报在网络中的寿命,其单位为秒。在目前的实际应用中,常以“跳”为单位。
8.协议(8 bit)字段指出此数据报携带的数据使用何种协议(如TCP/UDP等)以便目的主机的 IP 层将数据部分上交给哪个处理过程
9.首部检验和(16 bit)字段只检验数据报的首部不包括数据部分。这里不采用 CRC 检验码而采用简单的“反码算术求和”计算方法。
10.源地址和目的地址都各占 4 字节,32bit 的IP地址
11.可选字段的长度是 可变的,1~40 字节,用于增加IP数据报的控制功能。
12.填充字段保证IP首部长度是 4 字节的整倍数
郑海波 blog.csdn.net/nuptboyzhb/
二.TCP数据报首部格式
[image]
1.源端口和目的端口字段——各占 2 字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。
2.序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
3.确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
4.数据偏移——占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报