《IPv6技术精要》一2.2 IPv6报头

简介:

本节书摘来自异步社区《IPv6技术精要》一书中的第2章,第2.2节,作者【美】Rick Graziani,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.2 IPv6报头

IPv6技术精要
IPv6报头定义在RFC 2460(Internet Protocol, Version 6 (IPv6) Specification)中,图2-2给出了IPv6报头的基本结构,有时也称为IPv6基本报头,IPv6基本报头可以包含一个或多个扩展报头,有关扩展报头的内容将在本章后面进行讨论。

IPv6报头及其各个字段如图2-2所示。
image

版本(Version,4比特):版本(Version)字段包含了IP报头的版本号,其值始终为6。
流量类别(Traffic Class,8比特):流量类别字段的功能与IPv4报头中的ToS字段相似,并且长度与IPv4的ToS字段相同,只是名称发生的变化,流量类别字段用于识别并区分不同类别或优先级的IPv6数据包,IPv6利用RFC 2647(Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers)中定义的差分服务技术,使用6个比特作为DSCP,从而能够提供64种可能的标记值,与最初的IPv4优先级(IPv4 Precedence)只有3比特(只有8种可选标记值)相比,这样就能实现更加精细化的优先级选择能力。
注:

有关DSCP和IP优先级的内容已经超出了本书范围。一个有趣的事实是IP优先级的值实际上就是DSCP值的前3个比特(如图2-3所示),因此无法同时使用这两种值,如果使用了带有其余3个比特的DSCP,那就意味着取代了IP优先级。

image

流标签(Flow Label,20比特):流标签字段用来标记从源节点发送给一个或多个目的节点的一串IPv6数据包序列或IPv6数据包流,源节点可以利用该字段来标记那些请求IPv6路由器进行特殊处理(如实时业务)的数据包序列,流标签字段可以标识同一个流中的所有数据包,从而保证所有数据包都能得到IPv6路由器的相同处理。有关流标签的详细使用信息定义在RFC 6437“IPv6 Flow Label Specification”中,路由器会记录这些数据包流,由于路由器无需独立地处理每个数据包的报头,因而对于拥有多个数据包的流来说,处理效率更高。截至本书写作之时,该字段的使用方式仍处于试验阶段。
净荷长度(Payload Length,16比特):净荷长度字段表示IPv6基本报头后的净荷(也就是数据包的数据部分)长度,以八位组为单位。如果IPv6包有一个或多个扩展报头,那么该净荷长度字段的字节数也包含这些扩展报头,扩展报头被认为是净荷的一部分。IPv6净荷长度字段与IPv4报头中的数据包总长字段相似,但两者之间存在一个非常重要的差异,IPv4的数据包总长字段包含IPv4报头和数据,而IPv6净荷长度字段仅指示数据部分的字节数,而不包含IPv6基本报头。由于IPv4报头有填充和选项字段,因而IPv4报头长度是可变的,而IPv6报头固定为40字节。
由于净荷长度字段为16比特,因而最大净荷尺寸是65 535字节,如果需要支持更大的数据包,那么就可以使用IPv6提供的巨包(Jumbogram)扩展报头,RFC 2675“IPv6 Jumbograms”指定了一个额外的32比特字段,用于传输净荷在65 535~4 294 967 295之间的IPv6包。有关扩展报头以及巨包净荷选项的详细内容将在本章后面讨论。

下一报头(Next Header,8比特):下一报头字段有两个作用,如果只有IPv6基本报头而无扩展报头,那么下一报头字段指示的是IPv6包的数据部分所承载的协议,这一点类似于IPv4报头中的协议字段,而且与IPv4报头的协议字段使用相同的协议值,并有所增加,表2-1列出了常见的IPv6下一报头值,完整列表可参见www.iana.org/assignments/protocol-numbers/protocol-numbers.xml。这些值看起来可能比较眼熟,因为大部分值都与IPv4协议字段相同,如UDP为6,TCP为17。图2-4给出了一些包含下一报头字段的示例,表明该IPv6包是TCP报文段的数据部分。
image
image

注:

虽然有关隧道的内容将在第10章进行讨论,不过现在需要说明的是,IP包可以封装其他IP包。如果下一报头是IPv4报头,那么下一报头字段的值为4,如果下一报头是另一个IPv6报头,那么下一报头字段的值为41。
跳数限制(Hop Limit,8比特):跳数限制字段与IPv4报头中的TTL字段相同,不过名字更能真实地反映路由器处理该字段的方式,即对跳数限制字段进行递减1操作。与IPv4的TTL字段一样,如果路由器将跳数限制字段的值从1递减到0,那么就会丢弃该数据包,对IPv6来说,此时会发送一条ICMPv6超时消息,以通知数据包的源端“已丢弃该数据包”。有关ICMPv6的详细内容将在第5章进行讨论。
源地址(Source Address,128比特):源地址字段是IPv6包发起方的128比特IP地址,与IPv4一样,该地址是最初发送该数据包的节点地址,源地址必须是单播地址。
目的地址(Destination Address,128比特):目的地址字段是IPv6包最终目的节点或接收方的128比特IP地址,该字段表示最终目的地,可以是单播地址或多播地址。与IPv4不同,IPv6无广播地址,但是有一个全部节点多播地址。有关IPv6地址的详细内容将在第3章与第4章进行讨论。

相关文章
|
网络协议 算法 安全
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.4 IPv6 和 IPv4 的对比
《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.IPv6 和 IPv4 的对比
|
域名解析 网络协议 网络架构
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.2 IPv6 基本功能(一)
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.2 IPv6 基本功能
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.2	IPv6 基本功能(一)
|
网络协议 网络性能优化 网络架构
【计算机网络】网络层 : IPv6 协议 ( IPv6 数据包格式 | IPv6 地址表示 | IPv6 地址类型 | IPv4 与 IPv6 协议对比 | IPv4 -> IPv6 过渡策略 )
【计算机网络】网络层 : IPv6 协议 ( IPv6 数据包格式 | IPv6 地址表示 | IPv6 地址类型 | IPv4 与 IPv6 协议对比 | IPv4 -> IPv6 过渡策略 )
232 0
【计算机网络】网络层 : IPv6 协议 ( IPv6 数据包格式 | IPv6 地址表示 | IPv6 地址类型 | IPv4 与 IPv6 协议对比 | IPv4 -> IPv6 过渡策略 )
|
网络协议 应用服务中间件 芯片
带你读《互联网协议第六版 (IPv 6)》第三章IPv6过渡技术3.2IPv4 到 IPv6 的过渡阶段
《互联网协议第六版 (IPv 6)》第三章IPv6过渡技术3.2IPv4 到 IPv6 的过渡阶段
带你读《互联网协议第六版 (IPv 6)》第三章IPv6过渡技术3.2IPv4 到 IPv6 的过渡阶段
|
网络协议 安全 网络安全
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍 2.3 IPv6 特点(三)
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍 2.3 IPv6 特点
|
网络协议 安全 网络架构
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍 2.3 IPv6 特点(二)
《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍 2.3 IPv6 特点(二)
|
网络协议 数据挖掘 分布式数据库
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍 2.3 IPv6 特点(一)
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍 2.3 IPv6 特点
|
监控 网络协议 安全
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.5IPv6 技术特点分析
《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.5IPv6 技术特点分析
|
网络协议 算法 网络架构
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍(二)
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍(二)
|
网络协议
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍(三)
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍
带你读《互联网协议第六版 (IPv 6)》第二章IPv6 技术介绍2.1IPv6 特性介绍(三)