IP协议

IP协议功能

寻址和路由
传递服务
不可靠,可靠性由上层服务协议提供
无连接
数据报分段和重组

20190214164444.png
32位 5行 = 160位 / 8位 = 20字节
例子:4 5 00 0028 edf1 4000 30 06 2a89 65597dd7 1e2830fd (20字节)
4表示版本,
5表示首部长度(首部长度5
4字节=表示为20字节bytes),
00表示服务类型
0028表示总长度,16进制的0028转换10进制为40,表示40字节
edf1 表示标识
4000 表示标志与片偏移 0101 0000 0000 0000,0保留位,暂时无意义,1表示不允许分片,0表示最后一个分片,1000000000000片偏移,此时无意义
image.png

Dont fragment 不要片段<br />Reserved bit : Not set 表示为 保留位未设置<br />Dont fragment : set 此字段表示为DF DF(Don`t Fragment)。只有当DF = 0时才允许分片
More fragments: Not set 更多碎片 未设置 此字段表示为MF MF=1表示后面“还有分片”。MF=0表示最后一个分片

image.png
30 表示生存时间
06 表示协议TCP协议 :如果是01就表示ICMP协议
2a89 表示首部效验和validation disabled 已禁用效验 unverified未经验实的
65597dd7 源地址
1e2830fd 目的地址

版本—占4bit,指IP协议的版本,目前的IP版本协议号为4(即IPv4)
首部长度—占4bit,可表示最大数值15个单位(一个单位为4字节)因此IP首部长度的最大值为60字节。
服务类型—占8bit,用来获得更好的服务,这个字段以前一直没有被人们使用
总长度—占16bit,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节,总长度必须不超过最大传送单元MTU。
标识—占16bit,它是一个计数器,用来产生数据报的标识。
标志flag—占3bit,目前只有后两个比特有意义,标志字段的最低位是MF(More Fragment)。MF=1表示后面“还有分片”。MF=0表示最后一个分片。标志字段中间的一位是DF(Don`t Fragment)。只有当DF = 0时才允许分片。
片偏移—占13bit:较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移单位。
20190214192549.png

生存时间—占8bit,记为TTL(Time to Live),这是为了限制数据报在网络中生产出时间,其单位最初为秒,但是为了方便,现在都用“跳数”作为TTL的单位,数据报每经过一个路由器,其TTL值减1。
协议—占8bit字段指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给那个处理程序。

20190214193142.png

首部效验和—16bit字段只检验数据报的首部,不包括数据部分。这里不采用CRC效验码而采用简单的计算方法。
源地址和目标地址都占4个字节32bit。
20190214193629.png