TCPIP(⼆):IP报⽂格式详解
1. IP 报⽂格式
0bit是指位于最左边的最⾼位,31bit是指位于最右边的最低位,4个字节的32bit按照 bigendian(⼤端格式:低字节位于⾼地址)字节序传输:⾸先是0~7bit,其次 8~15bit,然后 16~23bit,最后是 24~32bit。TCP/IP 协议体系中所有数据报的⾸部中的⼆进制整数都要求按照这种⼤端形式的⽹络字节序进⾏传输。
2. 字段说明
版本:占4位,指 IP 协议的版本,⽬前⼴泛使⽤的 IP 协议版本号为 4。
⾸部长度:占 4 位,由于⾸部长度应为 4 字节的倍数,当⾸部长度不是 4 字节的整数倍时,则需要利⽤最后的填充字段填充为 4 字节的倍数。⼀般该字段值为5。
服务类型:包括现已被忽略的3 位优先权⼦字段,4 位的 TOS ⼦字段和 1 位必须置零的未⽤位。4bit 的 TOS 分别表⽰:最⼩时延、最⼤吞吐量、最⾼可靠性和最⼩费⽤。4bit 只能置其中 1bit。若 4bit均为 0,则为⼀般服务。
总长度:以字节为单位,指整个IP 数据报的长度,包括 IP ⾸部和负载。
标识:IP 软件在存储器中设置了⼀个计数器,该计数器会在产⽣⼀个 IP 数据报时加1,然后将此值赋给标识字段,当出现数据报长度由于超过⽹络的 MTU需要分⽚时,系统就会将标识字段的值复制到所
有的分段的标识字段中,以此保证最后能将各分⽚正确地重组为原来的数据报。
标志位:后 2 位有意义,最低位记为 MF,MF=1标识后⾯还有分⽚,MF=0 标识这是最后⼀个分⽚。DF是中间位,⽤于表明能否分⽚,允许分⽚时DF 应置为 0。该字段值为 3’b010。
⽚偏移字段:指出某⽚在分⽚操作后在原分组中的相对位置。⽚偏移的偏移单位是8 字节,每个分⽚的长度⼀定是 8 字节的整数倍。
⽣存时间:该字段设置了数据报可以经过的最多的路由器数,TTL 的初始值由源主机设置,⼀般为 32 或 64,该值在经过⼀个处理它的路由器时减掉1,数据报会在 TTL 值减为 0 时被丢弃,此时会发送 ICMP 报⽂通知源主机所发送的报⽂并未到达⽬标地址。
tcpip协议pdf协议字段:表明IP 数据报中的数据部分所使⽤的的协议类型,常见的协议和相应的协议字段如下表:
⾸部校验和字段:该字段仅计算IP 数据报的⾸部部分,并不会计算数据部分。由于⽣存时间、标识以及⽚偏移等字段可能发⽣变化,数据报每经过⼀个路由器都会将⾸部校验和重新进⾏⼀次计算。
源地址和⽬的地址都占32 位,分别表⽰本地 IP 地址和⽬的 IP 地址。
3. ⾸部校验和字段校验⽅法 – 反码求和
⾸先将校验和字段初始值设置为0,对⾸部每 16bit 进⾏相加,得到⼀个带有进位的值 VALUE1,再将 VALUE1 的⾼ 16bit和低
16bit 进⾏相加,对得到的值 VALUE2 截取低16bit,并按位取反得到的值即为校验和的值。
原⽂:
更多内容关注VX:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论