IP数据报的格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IP数据报的格式
(TCP/IP标准中,各数据格式常以32位(4字节)为单位来描述)
各字段含义:
版本:占4位,指IP协议的版本。通讯双方的IP协议必须一致,目前广泛使用的IP协议版本号为4(IPv4),还有以后将要使用的IPv6。
首部长度:占4位,表示IP数据报首部所含4字节(是以4字节为单位的)的个数,最大值为15,即首部长度最大为60字节。当首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。最常用的首部长度就是20字节,不带任何选项。
区分服务:占8位,用来获得更好的服务。在旧标准中称之为服务类型,但实际上一直没有被使用过。只有在使用区分服务时,这个字段才起作用,一般情况下不使用。
总长度:占16位,表示首部和数据部分的总长度,单位为字节。IP数据报的最大长度为16
2-1=65535字节。
但在IP层下面的每一种数据链路层都有自己的帧格式,包括帧格式中的数据字段的最大长度,即最大传送单元MTU。一般主机和路由器处理的IP数据报长度最小576字节最大不超过1500字节,当超过1500字节时就需要进行分片。还要注意的是:这里的总长度指的是分片后的每一个分片的首部长度与数据长度的总和。
标识:占16位,分片时,此字段的值被复制到所有的数据报片的标识字段中,只有标识字段的值相同的分片才能正确地重装成原来的数据报。其作用就是用来标识各数据报片。
标志:占3位,目前只有最低位和中间位有意义。最低位记为MF,MF=1表示该数据报片后面“还有分片”的数据报,MF=0则表示该数据报片已是最后一个分片。中间位记为DF,意思为“不能分片”,只有DF=0时才可以分片,也就是说分了片的数据报,其首部DF标志位都为0。
片偏移:占13位,指出较长的分组在分片后,某片在原分组的相对位置。分片数据字段起始位置相对原分组数据字段起始位置(原始分组数字字段起始位置为第0字节),片偏移是以8字节为偏移单位,也就是说每个分片的长度一定是8字节(64位)的整数倍。
生存时间:占8位,用TTL来表示,表明数据报在网络中的寿命。后来功能改为“跳数
限制”,由发出数据报的源点设置,发送每经过一个路由器,该字段的值就减1,若TTL的值为0,则丢弃该数据报。最大值为255,若TTL设为1,则表示这个数据报只在本局域网中传送。
协议:占8位,指出此数据报携带的数据是使用何种协议,以便目的主机的IP层知道应将数据交给哪个处理过程。
常用协议字段值对应协议:
首部检验和:占16位,只校验数据报的首部,但不包括数据部分。每经过一个路由器都要重新计算首部检验和,这是因为首部一些字段如生存时间、标志、片偏移等在发生改变。
计算方法:将IP数据报首部划分为许多16位(2字节)的序列,把检验和字段置为零,再将所有16位字(序列)进行反码算术相加,结果再取反码,将此时的结果写入检验和字段。接收方收到数据报后,将首部16位字再使用反码算术运算相加,得结果取反码,如果是0则保留,否则丢弃。
源地址:占32位。
目的地址:占32位。
可变部分:包括可选字段和填充字段,用来支持排错、测量以及安全等措施。可选字段长度从1个字节到40个字节不等,可包含多个选项,最后用全0的填充字段补齐为4字节的整数倍。