《计算机网络》谢希仁 第八版 第136页
单位换算:
bit (比特、位)
B (字节)
字
字长 (每个字包含的 bit/位 数)
1 B = 8 bit(比特、位)
1 KB = 1024 B (字节)
1 字 = 2 B (字节) = 16 bit(比特、位)
1 双字 = 2 字 = 4 B (字节) = 32 bit(比特、位)

一、版本
1.占 4 bit(比特/位),表示IP协议的版本。
2.通信双方使用的IP协议版本必须一致,目前广泛使用的IP版本协议号为4 (即IPv4)
二、首部长度
占 4 bit(比特/位),表示IP数据报首部的的长度。该字段的取值以 4 B(字节)为单位。
1.最小十进制取值为 5 (即二进制 0101)
表示IP数据报首部只有 20 B(字节)固定部分。
( 5 * 4 B = 20 B)
2.最大十进制取值为 15 (即二进制 1111)
表示IP数据报首部包含 20 B(字节)固定部分和最大 40 B(字节)可变部分。
( 15 * 4 B = 60 B)
三、可选字段
1.长度从 1 B(字节) 到 40 B(字节)不等。
2.用于支持排错、测量及安全等措施。
3.可选字段增加了IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理IP数据报的开销。实际上可选字段很少被使用。
四、填充字段
1.确保首部长度为 4 B(字节)的整数倍
2.使用全 0 进行填充
五、区分服务
1.占 8 bit(比特/位),用于获取更好的服务
2.1998年改名
3.利用该字段的不同数值可提供不同等级的服务质量
4.只在使用区分服务时,该字段才起作用,一般不使用该字段
六、总长度
1.占 16 bit(比特/位),表示IP数据报的总长度(首部+数据载荷)
2.最大取值为十进制的 65535 , 以 B(字节)为单位
Max :( 16 bit ^ 2 ) - 1 = 65535 B(字节)
七、标识
1.占 16 bit(比特/位),属于同一个数据报的各分片数据报应该具有相同的标识
2.IP软件维持一个计数器,每产生一个数据报,计数器值+1,并将此值赋值给标识字段
八、标志
1.占 3 bit(比特/位)
2.各bit的含义(目前只有两位有意义):
(1)DF位:
0 :允许分片
1 :不允许分片
(2)MF位:
0 :这是最后一个分片
1 :后面还有分片
(3)保留位:
0 :必须为 0
九、片位移
1.占 13 bit
2.指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位
3.分片后,每个片的前面都有首部( 20 B ~ 60 B),首部长度由题意决定
4.片偏移以 8 个 B(字节)为单位
5.当前片的片偏移量为 前面的所有片之和 除以 8 ,片偏移量必须为整数,因此,除了最后一个片允许不被8整除,其他的每个片的长度必须能被8整数
十、生存时间 TTL
1.占 8 bit,表示IP数据报的生存时间
2.最初以秒为单位,最大生存周期为255s
路由器转发ip数据报时,将首部的该字段的值减去该数据报在本路由器上所消耗的时间
(数据报拿过来,先计算,计算后结果若不为 0 就转发,否则丢弃。)
3.现在以跳数为单位,windows 128 ,linux 64
路由器转发ip数据报时,将首部的该字段的值直接 减 1
(数据报拿过来,先计算,计算后结果若不为 0 就转发,否则丢弃。)
4.IP数据报每经过一个路由器,路由器都要重新计算首部检验和,因为某些字段(生存时间、标志、片偏移等)的取值可能会发生变化
十一、协议
1.占 8 bit ,指明IPv4数据报的数据部分是何种协议数据单元。
2.常用的协议和对应的协议值有:
ICMP :1
IGMP :2
TCP :6
UDP :17
IPv6 :41
OSPF :89
十二、首部检验和
1.占 16 bit,用于检验首部在传输过程中是否出现差错
2.比 CRC 校验简单,称为 因特网检验和
3.由于IP层本身并不提供可靠传输的服务,并且计算首部校验和是一项耗时的操作,因此在IPv6中,路由器不在计算首部校验和,从而更快转发IP数据报
十三、源ip地址和目的地址
1.各占 16 bit,用来填写发送该IP数据报的源主机的IP地址和接收该IP数据报的目的主机的IP地址
1021

被折叠的 条评论
为什么被折叠?



