该【Ipv4和Ipv6数据报格式详解 】是由【小屁孩】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【Ipv4和Ipv6数据报格式详解 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。 : .
Ipv4和Ipv6数据报格式详解--第1页
IPv4 和 IPv6 数据报格式
一、 IPv4 数据报格式
1)数据报可以分为 报头区和数据区,数据区的数据来自上一层。
说明:首部和报头和头等字眼是同一意思。
2)版本:指明 IP 协议是哪个版本, IPv4 为 0100 。
3)报头长度:也叫 首部长度 ,指明 报头区 的长度。最小值为 20 个字节,最大值
为 60 字节。
说明:
, 32 位(每行的长度)*5(5 行固有的)=160 位
=20 字节,这个时候 4 个比特位的值为 0101,为什么呢?因为这里规定以 4
个字节为单位,如果把 0101 用换算成十进制, 0101=5 ,5*4=20 字节。如果
4 个比特位为 1111 ,把 1111 换算成十进制则等于15,则它表示 15*4=60 个字
节。(简单记成换算成十进制后乘以4 才等于它报头区的字节数)
IP 分组的首部长度不是4 字节的整数倍时, 必须利用最后的填充字段加
以填充。
4)服务类型:转发过程中对该数据报的处理方式。
5)总长度:等于报头区及数据区的长度相加。
说明:
65535 个字节(当 8 个 bit 都等于 1 时),2^16-1=65535 个字节。
b. IP 数据报的最大长度的确是65535 字节。但是实践中最大长度很少用,因
为大多物理网络都有长度限制,例如,数据链路层有自己的帧格式,其中包
括了数据字段的最大长度,即最大数据传输单元 MTU,当一个数据报封装成
链路层的帧时,此数据报的总长度一定不能超过下面的数据链路层的 MTU
值,以太网把载荷长度限制在 1500字节。
6)标识:IP 软件在存储器中维持一个计数器,每产生一个数据报,
计数器就加 1 ,并将此值赋给标识字段。 但这个 “标识” 并不是序号, 因
为 IP 是无连接的服务,数据报不存在按序接收的问题。 当数据报由
于长度超过网络的 MTU 而必须分片时, 这个标识字段的值就被复制
到所有的数据报的标识字段中。 相同的标识字段的值使分片后的各数
Ipv4和Ipv6数据报格式详解--第1页 : .
Ipv4和Ipv6数据报格式详解--第2页
据报片最后能正确地重装成为原来的数据报。
附加:
IP 数据报在各个物理网络中需要重新封装:
与路由器连接的各个网络的 MTU 可能不同:
当数据报超过网络的 MTU 进行分片后,路由器可以为每个分片独立选路:
7)标志: 占三位,但目前只有两位有意义。标志字段中间位记为DF(Don’t
fragment ),当 DF=1 时表示不允许分片,当 DF=0 时表示允许。标志
Ipv4和Ipv6数据报格式详解--第2页 : .
Ipv4和Ipv6数据报格式详解--第3页
中最低位(即最右)记为 MF(more fragment ),当 MF=1 时,表示
后面“还有分片”,当 MF=0 时表示没有。
说明: |R|DF|MF| ,R 保留未用。
8)片偏移:指的是该片偏移原始数据报开始处的位置,偏移的字节数是该值乘
以 8。
说明:当数据报被分片后,每个片的总长度值要改为该片的长度值
9)生存周期:其目的是防止无法交付的数据报无限制地在因特网中兜围子, 因
而白白消耗网络资源。最初的设计是以秒作为 TTL 的单位。
每经过一个路由器时,就把TTL 减去数据报在路由器消耗掉的一
段时间。 若数据报在路由器消耗的时间小于 1 秒,就把 TTL 值
减 1。 当 TTL 值为 0时,就丢弃这个数据报。
10)协议:协议字段指出此数据报携带的数据是使用(上层的)何种协议,以便
使目的主机的 IP 层知道应将数据部分上交给哪个处理过程。
11 )头部校验和:这个字段只检验数据报的首部部分(报头区), 但不包括数据
部分(数据区)。这是因为数据报每经过一个路由器,都要重
新计算一下首部检验和 (一些字段,如生存时间、标志、片偏
移等都可能发生变化 )。不检验数据部分可减少计算的工作量。
12)选项:占 24 位,IP 数据报选项由选项码、长度和选项数据三部分组成。
选项码:
Ipv4和Ipv6数据报格式详解--第3页 : .
Ipv4和Ipv6数据报格式详解--第4页
: IP 数据报穿越互联网所经过的路径是由源主机指定的应用场合:测试
某特定网络的吞吐率、使数据报绕开出错网络等。
源路由选项分为 :
严格源路由选项:规定IP 数据报要经过路径上的每一个路由器。
松散源路由选项:只给出 IP 数据报必须经过的一些“要点”。
:记录 IP 数据报从源主机到目的主机所经过路径上各个路由器
的 IP 地址。
:记录 IP 数据报经过每一路由器时的当地时间
附加说明 : IP 互联网利用 ICMP 传输控制报文和差错报文,ICMP 报文封装在 IP
数据报中。
二、 IPv6 数据报格式
IPv6 报头:
Ipv4和Ipv6数据报格式详解--第4页 : .
Ipv4和Ipv6数据报格式详解--第5页
说明:IPv6 的报头为 40字节( 32 (每行长度) *2 (前两行) =64 位=8 字节,加
上源 IP 和目的 IP 分别为16 字节,总的等于40 字节)
1)数据报可以分为基本头和扩展头和上层协议数据单元(相当与 IPv4 的数据
区)。
2)版本:指明IP 协议是哪个版本, IPv6 为 0110 。
3)优先级:用来区分不同 IPv6 数据包的类型或优先级。(相当于 IPv4 的“服务
类型”字段( TOS :type of service ))。
4)流标识:首先认识“流”就是因特网上从特定源到特定目的的一些列数据报。
流所经过的路径上的路由器都保证指定的服务质量( Qos ),所有属
同一个流的数据都有相同的流标识。
5)载荷长度:即有效载荷的长度,除首部(报头)以外的字节数,包括扩展首
部(扩展报头)和 数据部分。(相当于IPv4 的“报头长度”字段)
6)下一首部:定义了紧跟在基本首部( IPv6 报头)后面的扩展首部(扩展报头)
的数字标识号(当有扩展首部时)或指出此数据报携带的数据是
使用(上层的)何种协议(当没有扩展首部时,这个时候相当于
IPv4 的“协议”字段)。
说明:
(包括各类型的扩展首部和上层协议等等) 。
说明:需要解释的是当没有扩展首部的时候,“下一首部”这一字
Ipv4和Ipv6数据报格式详解--第5页 : .
Ipv4和Ipv6数据报格式详解--第6页
段指明的是此数据报携带的数据是使用(上层的)何种协议,如
果是 TCP 协议,则这里的值为 6,UTP 为 17 ,ICMPv6 为 58。而
如果下一个是 IPv6 头部(即 IPv6 报头,新的一个数据报) ,则为
41 。如果其后没有其它首部(包括基本首部和扩展首部)了,则
为 59。
“下一部首”定义的数字标识号的对象是
谁,即后面的扩展报头是什么类型是前面的下一部首通过数字
标识号来说明的。
7)跳数限制:相当与IPv4 的“生存周期”字段。
扩展报头:
6 种类型:
Ipv4和Ipv6数据报格式详解--第6页 : .
Ipv4和Ipv6数据报格式详解--第7页
说明:
, 可选可不选,可以多选。
强烈建议这些扩展头按照它们在上表中的次序出现,这样接收者就不必搜
索整个包来寻找某个特定类型的扩展头,并且保证了在处理这个扩展头之前,所
有前面的扩展头都已经处理了。
“加密头”外,其它扩展头的长度必须是 8 字节的整数倍。
“逐跳头”外,其它扩展头 仅由目的节点处理。
Ipv4和Ipv6数据报格式详解--第7页
Ipv4和Ipv6数据报格式详解 来自淘豆网m.daumloan.com转载请标明出处.