您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 第16章新一代Internet协议
第21章新一代因特网协议IPv6是因特网协议第六版(InternetProtocolVersionSix)的缩写。IETF在1998年底制定了IPv6的草案,旨在取代使用了20多年的因特网协议第四版(IPv4)。21.1转向新一代因特网协议21.2IPv6数据报格式21.3IPv6扩展首部21.4IPv6地址21.5向IPv6过渡21.1转向新一代因特网协议21.1.1IPv4协议存在的问题:1.有限的地址空间2.路由选择效率不高3.复杂的地址配置4.缺乏服务质量保证5.安全性问题21.1.2IPv6协议IPv6是对IPv4的改进,主要特点如下:1.经过扩展的地址和路由选择功能IP地址长度由32位增加到128位,可支持数量大得多的可寻址节点、更多级的地址层次和较为简单的地址自动配置。2.简化的首部格式IPv4首部的某些字段被取消或改为选项,以减少报文分组处理过程中常用情况的处理开销,并使得IPv6首部的带宽开销尽可能低。3.支持扩展首部和选项IPv6的选项放在单独的扩展首部中,位于报文分组中IPv6基本首部和传送层首部之间。因为大多数IPv6选项首部不会被报文分组投递路径上的任何路由器检查和处理,直至其到达最终目的地,这种组织方式有利于改进路由器在处理包含选项的报文分组时的性能。IPv6的另一改进,是其选项与IPv4不同,可具有任意长度,不限于40字节。4.支持验证和隐私权IPv6定义了一种扩展,可支持权限验证和数据完整性并支持保密性要求。5.支持自动配置IPv6支持多种形式的自动配置,从孤立网络结点地址的“即插即用”自动配置,到DHCP提供的全功能的设施。6.服务质量能力IPv6增加了一种新的能力,如果某些报文分组属于特定的工作流,发送者要求对其给予特殊处理,则可对这些报文分组加标号,例如非缺省服务质量通信业务或“实时”服务。返回21.2IPv6数据报格式版本号通信量等级流标记有效负载长度下一首部跳数限制源地址(128位)目的地址(128位)有效负载(0~多个扩展首部+高层数据)基本首部04121624311版本号(Version,4位)IPv6协议版本号值为6。这个字段的大小与IPv4中的版本号域是相同的。2通信量等级(流量类别TrafficClasses,8位)用于识别和区分IPv6信息包的不同等级或优先权。•使用通信量等级域必须具备下面几个条件:1)在一个IPv6结点中,IPv6服务接口必须为由上层协议产生的信息包中的通信量等级位提供一种支持手段。默认值:8位全为0。2)支持部分或全部通信量等级的特殊使用的IPv6结点允许修改它们产生、转发、或接收到的信息包中的通信量等级的值。上层的协议不必假定接收到的信息包中通信量等级的值与源节点发出该包时的值相同。3流标记(FlowLabel,20位)IPv6报头中的流标记是为了用来标记那些需要IPv6路由器特殊处理的信息包的顺序,这些特殊处理包括非默认质量的服务或“实时(real-timeIPv6)”服务。IPv6的这个流标记域在RFC2640中是实验性的,而且随着因特网对流支持需求的改变而改变。不支持流标记域功能的主机或路由器在产生一个信息包的时候将该域置0,在转发一个信息包的时候则不改变该域,接受一个信息包的时候则忽略该域。4有效负载长度(PayloadLength,16位)IPv6首部之后,报文分组其余部分的长度,以字节为单位。为了允许大于64K字节的负载,如本字段的值为0,则实际的报文分组长度将存放在逐级跳(Hop-by-Hop)选项中。扩展首部作为有效负载的一部分被计算在内。5下一个首部(NextHeader,8位)下一个首部用来标识紧跟在IPv6基本首部后面的首部的类型。6跳数限制(HopLimit,8位)该字段用无符号整数表示,当被转发的信息包经过一个结点时,该值将减1,当减到0时,则丢弃该信息包。(IPv4中的TTL)7源地址(SourceAddress,128位)源地址表示信息包发送方的地址。8目的地址(DestinationAddress,128位)目的地址表示信息包接收者的地址。如果有路由扩展首部,该地址可能不是该信息包最终接收者的地址。基本首部总长40个字节。原IPv4的选项在IPv6中由扩展首部实现。IPv6首部和IPv4首部的比较IPv4首部IPv6首部版本号=4版本号=6服务类型字段(TOS)通信量等级字段,流标记字段首部长度和总长度字段有效载荷长度字段分片重组标识符、标志以及片偏移字段分片扩展首部中包含标识符、标志以及片偏移字段生存时间(TTL)跳数限制首部校验和无校验和,由上层协议负责校验32位源和目的地址128位源和目的地址选项基本首部不含选项,选项由逐跳选项扩展首部、路由选择扩展首部和目的站点选项扩展首部决定返回21.3IPv6扩展首部IPv6的扩展首部被放在IPv6基本首部和上层首部之间。扩展首部是通过下一个首部值来区分的。一个IPv6信息包可以有0个或多个扩展首部,每一个扩展首部都是通过前一个首部中的下一个首部字段来确定。基本首部扩展首部1扩展首部n数据……可选IPv6基本首部下一首部=TCPTCP首部+数据IPv6基本首部下一首部=路由路由选择首部下一首部=分片分片首部下一首部=TCPTCP首部+数据IPv6基本首部下一首部=路由路由选择首部下一首部=TCPTCP首部+数据无扩展首部有1个扩展首部有2个扩展首部•大多数情况下,信息包到达IPv6首部的目的地址字段所确定的结点或者是在多点传送情况下的所有节点中的一个节点之前,IPv6信息包沿着传送路径经过的任何结点都不检查或处理其扩展首部。•通常情况下,多路处理技术会根据IPv6基本首部中的下一个首部字段的值来调用相应模块去处理第一个扩展首部,如果没有扩展首部,则处理高层的首部。•若IP包中含有TCP段,则下一个头字段的8位二进制值是6;若IP包中含有UDP数据报,这个值就是17。•IPv6的下一个首部字段既可能是一个扩展首部类型,也可能是有效负载的协议类型。58ICMPv6扩展首部必须严格按照它们在信息包出现的顺序进行处理,在处理一个首部的时候,要求节点必须处理下一个首部,若当前首部的下一个首部域的值不能被节点识别,则该节点应该丢弃该信息包,同时发送一个ICMP参数问题报文给该信息包信源,同时在ICMP报文的指针字段包含原始信息包中不可识别值的偏移量。•目前的IPv6规范定义了6种扩展首部:逐跳选项首部;路由选择首部;分片首部;认证首部;加密安全首部;目的站点选项首部21.3.1路由选择首部IPv6路由选择首部代替了IPv4中所实现的源路由。该首部携带数据包需经过的中转地址表,地址表给出一条严格或者是松散的源路由。21.3.2分片扩展首部IPv6规范建议所有结点都执行路径MTU发现机制,并只允许由源节点分片。在发送任意长度的包之前,必须检查由源节点到目的节点的路径,计算出可以无需分片而发送的最大长度的包。如果要发送超出此长度的包,就必须由源节点进行分片。简化了中间节点对包的处理。RFC1883中规定的帧格式M:片未完下一首部保留片偏移值保留M标识081629311.下一首部字段:8位。2.保留:此8位字段目前未用,设置为0。3.分片偏移值字段:与IPv4的分段偏移值字段很相似。此字段共13位,以8字节为单位,表示此分片中数据的第一个字节在原来整个包的数据中的位置关系。4.保留字段:此2位字段目前未用,设置为0。5.M标志:此位表示是否还有后续分片。若值为1,表示后面还有后续字段;若值为0则表示这是最后一个分片。6.标识字段:该字段与IPv4的标识字段类似,但是为32位,而在IPv4中为16位。源节点为每个被分片的IPv6包都分配一个32位标识符。21.3.3目的站点选项首部•类似逐跳选项头,目的站点选项首部提供了一种随着IPv6包来交付可选信息的机制。其余的扩展首部都是出于某一个特定的理由而定义的,而目的站点选项扩展首部则是允许为目的节点而定义的新选项。到目前为止,除了填充选项,在已发布的RFC中尚未定义任何目的站点选项。21.3.4逐跳选项首部•从源节点到目的节点的路由上的每个节点,即每个转发包的路由器都检查逐跳选项中的信息。•逐跳选项首部与目的站点选项首部的格式相同,而且编码规则也相同。两个报头中都有填充选项Pad1和PadN。此外,另定义了一个逐跳选项:巨型有效负载选项。•与其他选项扩展首部相同,前两个字段指明了下一个首部和扩展首部的长度。巨型净荷选项从扩展首部的第三个字节开始。第三个字节为扩展首部类型(选项类型),其值为194;第四个字节,即巨型净荷选项数据长度的值为4。最后一个字段为巨型有效载荷长度,指明包括逐跳选项扩展头在内,IP包中所包含的实际字节数,但不包括IPv6基本首部。21.3.5鉴别首部•鉴别首部(AH):此扩展首部提供了一种鉴别机制,对数据的完整性和数据源的可靠性进行鉴别。•一个被认证的TCP数据包会包括IPv6基本首部、鉴别首部和TCP数据包本身。21.3.6扩展报头的顺序•在IPv6应用中,具体包括以下几种扩展首部:1.逐跳选项首部(Hop-by-HopOptions)2.路由选择首部(Routing,类型为0)3.分片首部(Fragment)4.目的站点选项首部(DestinationOptions)5.鉴别首部(Authentication)6.封装安全有效负载首部(EncapsulatingSecurityPayload)等。一个IPv6包可以有多个扩展首部,各扩展首部在链接时有一个首选顺序。扩展首部应该依照如下顺序:1)IPv6基本首部;2)逐跳选项首部;3)目的站点选项首部(应用于IPv6目的地址字段的第一个目的地和路由选择首部中所列的附加目的地中);非最终目的地址4)路由选择首部;5)分片首部;6)鉴别首部;7)ESP首部;8)目的站点选项首部(当使用路由选择首部时,仅应用于包的最终目的地);9)上层首部。返回21.4IPv6地址21.4.1IPv6地址结构IPv4与IPv6地址最大的差别在于长度:IPv4地址长度是32位IPv6的地址长度是128位。IPv6有2128个地址。一个典型的IPv6地址中若干起始位组成的可变长度域被称为格式前缀(FormatPrefix,FP)。根据这些格式前缀形成的地址分配如下图:21.4.2IPv6的地址表示方法用文本方式表示的IPv6地址有三种规范的形式:1)优先选用的形式是X:X:X:X:X:X:X:X,8个用冒号隔开的16进制的整数。如:FEDC:BA98:7654:3210:FEDC:BA98:7654:32102)在分配某种形式的IPv6地址时,会用到包含长串0位的地址。3)在涉及IPv4和IPv6节点混合的这样一个节点环境时,有时需要采用另一种表达方式,即X:X:X:X:X:X:D.D.D.D,其中X是地址中6个高阶16位地址段的十六进制值,D是地址中4个低阶8位地址段的十进制值。允许一定程度的缩写。例如:1080:0000:0000:0000:0008:0800:200C:417A忽略掉每个16进制部分的前导0,即将0000写成0,将0008写成8,将0800写成800。这样留下来的就是精简的形式:1080:0:0:0:8:800:200C:417A•规范还引入了另一个简化措施,在一个地址内部,一连串值为0的16位数可以用两个冒号表示。得到一个如下简短形式:1080::8:800:200C:417A•双冒号约定在地址中只能用一次。例如,地址0:0:0:BA98:7654:0:0:0可以缩写成::BA98:7654:0:0:0或者0:0:0:BA98:7654::,但是不能表示成::BA98:7654::。•某些IPv6地址可以通过在IPv4地址之前加上96个零得到。为了减少IPv4的点分十进制表示法和Pv6的冒号十进制表示法之间的转换错误,规范为这些地址引入了一个特殊的格式。对于如下的地址:0:0:0:0:0:0:A00:1可以将最后的32位保留为点分十进制形式:::10.0.0.
本文标题:第16章新一代Internet协议
链接地址:https://www.777doc.com/doc-2243841 .html