IP报文格式及各字段的意义

在这里插入图片描述
IP数据包由报头和数据两部分组成。报头的前一部分是固定长度,共20字节。在报头的固定部分的后面是可选部分——IP选项和填充域。
首部各字段的含义如下
1、版本
占4位,指IP协议的版本。
2、报头长度
占4位,该字段的单位是32位字(1个32位字长是4字节),因此当IP报头长度为1111时,报头长度就达到最大值60字节。当IP分组的首部长度不是4字节的整数倍是,就需要对填充域加以填充。最常用的报头长度为20位(报头长度值为0101),这时不使用任何选项。
3、区分服务(服务类型)
占8位,在一般情况下都不使用这个字段。
4、总长度
指报头和数据之和的长度,单位是字节。总长度字段为16位,故IP数据报的最大长度为65535。
每一种数据链路层都有其自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传送单元MTU。当IP数据报封装成链路层的帧时,此数据报的总长度不能超过对应MTU的值。若数据报长度超过对于MTU的值,就将数据报进行分片处理,此时数据报首部中的“总长度“字段是指分片后的每一个分片的报头长度和数据长度之和。
5、标识
占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并赋给标识字段。当数据报进行分片处理后,每个分片的标识值都与原数据报的标识值相同,则在接收端具有相同标识值的分片就能最终正确的重装成为原来的数据报。
6、标志
占3位,但目前只有两位有意义。
最低位记为MF。MF=1即表示后面”还有分片“的数据包。MF=0表示这已是若干数据包片中的最后一个。
中间位记为DF,意思是”不能分片“。只有当DF=0时才允许分片。
7、片偏移
占13位。表示每个数据报的分片在原数据报中的相对位置。片偏移以8个字节为偏移单位,即每个分片的长度一定是8字节的整数倍。
8、生存时间
占8位。表示数据报在网络中的寿命。最初以秒为TTL值为单位,现在以跳数为单位,则目前的最大数据为255.
9、协议
占8位,指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给那个处理过程。
TCP对应协议字段值6;UDP对应协议字段值17
10、首部校验和
占16位,该字段只校验数据报的报头,但不包括数据部分。
11、源地址
占32位
12、目的地址
占32位
转自:IP报文格式及各字段意义

IP(Internet Protocol)报文格式如下: ``` +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ``` 各字段意义如下: - Version:IP 协议版本,通常为 4(IPv4)或 6(IPv6)。 - IHL(Internet Header Length):IP 报文头部长度,以 32 位字长作为单位。最小值为 5,表示头部长度为 5 × 32 位 = 160 位。 - Type of Service:服务类型,用于指定数据包的优先级,包括最大延迟、最大吞吐量、最高可靠性等等。 - Total Length:IP 报文总长度,包括头部和数据部分的长度,以字节为单位。 - Identification:用于标识每个数据报。当一个数据报被分片时,所有的分片都具有相同的标识符。 - Flags:用于控制分片,包括标志位 MF(More Fragments)和 DF(Don't Fragment)。 - Fragment Offset:分片偏移量,指示当前分片相对于原始数据报的偏移量,以 8 字节为单位。 - Time to Live(TTL):生存时间,用于防止数据报在网络中无限循环,每经过一个路由器 TTL 减 1,当 TTL 为 0 时数据报被丢弃。 - Protocol:指示数据部分使用的协议类型,例如 TCP、UDP、ICMP 等。 - Header Checksum:IP 报文头部校验和,用于检测报文头部是否有误。 - Source Address:源 IP 地址。 - Destination Address:目的 IP 地址。 - Options:可选项,包括时间戳、记录路由等等。 - Padding:填充,用于保证头部长度为 32 位字长的倍数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值