第4章 IPv6分组及协议机制

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

下一代互联网协议IPv61第一部分IPv6技术•第2章IPv6概述•第3章IPv6编址技术•第4章IPv6分组及协议机制•第5章ICMPv6及应用•第6章IPv6过渡机制2第4章IPv6分组及协议机制4.1IPv6分组格式4.2IPv6分组扩展首部使用的TLV可选项4.3跳到跳(Hop-by-Hop)选项扩展首部4.4源路由选择扩展首部4.5分片扩展首部4.6目的选项扩展首部4.7IPv6的安全体系IPsec—两个扩展首部4.8IPv4分组与IPv6分组首部的比较4.9IPv6下的域名系统DNS扩展34.1IPv6分组格式4.1.1IPv6分组首部4.1.2IPv6分组的扩展首部44.1.1IPv6分组首部520~60字节最长65535字节IPv4PacketDataUnitIPv4首部DataField定长40字节0ormoreTransport-levelPDUIPv6首部ExtensionHeaderExtensionHeaderIPv6PacketDataUnit最长65535字节有效载荷IPv6首部格式•RFC2460描述的IPv6首部(40B):6031VersionTrafficClassFlowLabelPayloadLengthNextHeaderHopLimit128bitSourceAddress128bitDestinationAddress4122416版本号业务类型流标签有效载荷长度下一首部跳数限制源地址目的地址IPv6首部字段含义•Version(4bits):6forIPv6•TrafficClass(8bits)≌typeofservicesinIPv4•FlowLabel(20bits):支持资源预留。流是互联网上从特定源到特定目的的一系列分组(如实时音频视频),路径上的路由器都保证指明的服务质量。源通过label标示出相应的一系列分组。•PayloadLength(16bits):除去首部外的总长度。指明IPv6数据报除首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是64KB。2020/2/127下一首部标识号跳到跳选项0ICMP2TCP6UDP17源路由选择43分片44加密安全载荷50身份验证51无后继扩展首部59目的端选项60IPv6首部字段含义2020/2/128IPv6首部字段含义•HopLimit(8bits)≌TTLinIPv4。路由器在转发数据报时将跳数限制的值减1。当值减为0时,就要将此数据报丢弃。•源地址(sourceaddress),128位。标识发送分组的节点的IPv6地址。•目的地址(destinationaddress),128位。标识接收分组的节点的IPv6地址。2020/2/1294.1.2IPv6分组的扩展首部•扩展首部及下一个首部字段•IPv6将原来IPv4首部中选项的功能都放在扩展首部中,留给路径两端的源站和目的站的主机来处理。•数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部)。•这样就大大提高了路由器的处理效率。2020/2/12104.1.2IPv6扩展首部•在[RFC2460]中定义了六种扩展首部•报文中各种扩展首部的出现顺序原则:•在报文传送途中各个路由器需要处理的扩展首部出现在报文的前面•只需要在目的节点处理的扩展首部放置在后面,从而提高路由器的处理效率.2020/2/1211扩展首部在IPV6分组中的顺序IPv6首部①逐跳选项首部(Hop-by-HopOptionsHeader),数字标识为0②目的选项首部(DestinationOptionsHeader),数字标识为60③源路由选择首部(RoutingHeader),数字标识为43④分片首部(FragmentHeader),数字标识为44⑤认证首部(AH:AuthenticationHeader),数字标识为51⑥封装安全载荷首部,数字标识为50(ESP:EncapsulatingSecurityPayloadHeader)⑦目的选项首部(DestinationOptionsHeader),数字标识为60上层协议首部2020/2/1212唯一一个可出现两次的首部IPv6的扩展首部2020/2/1213首部下一个首部=TCP/UDP首部下一个首部=路由选择源路由选择首部下一个首部=分片分片首部下一个首部=TCP/UDPTCP/UDP首部和数据(TCP/UDP报文段)有效载荷有效载荷TCP/UDP首部和数据(TCP/UDP报文段)无扩展首部有扩展首部扩展首部的“链”2020/2/1214版本号(4位)流标识(20位)传输类别(8位)载荷长度(16位)下一首部(8位)跳数极限(8位)源地址(128位)031131下一首部首部长度下一首部首部长度……第一个扩展首部第二个扩展首部其它扩展首部或数据部分目的地址(128位)4.2IPv6分组扩展首部使用的TLV可选项•允许通过跳到跳选项扩展首部和目的选项扩展首部来建立新的选项。•使用选项首部扩展,很容易地实现新的选项功能。2020/2/1215•4.2.1TLV可选项及格式•4.2.2TLV可选项的对齐表示•4.2.3设计新的TLV可选项4.2.1TLV可选项及格式•三元组格式包含三个字段,简称为TLV可选项(Type-Length-Value)。–选项类型T(optiontype):8位标识符,指明选项的类型。即使目的节点不能够识别选项,也可以由该字段的前3位编码翻译出选项的类型。–选项数据长度L(optiondatalenth):8位整数,以字节为单位表示选项数据字段的长度。该字段最大值为255。–选项数据Value(optiondata):包含选项特定的数据,其长度不定,最大长度为255字节。该字段又可以划分为多个子字段。选项类型(8位)选项数据长度(8位)选项数据2020/2/1216选项类型•选项类型(optiontype):8比特的类型标志符。•高2位:表示对节点不能识别选项时的处理方法(看下页);•第3位C(changeen-route):指示选项值在传输路径上是否能够改变。当C置“1”时,可以变化,计算校验和时要去掉这种选项;当C为“0”时,不能改变。•从第4位到第8位:5位,是选项类型的编号。2020/2/1217操作(2位)C(1位)类型(5位)源用高2位规定类型节点不能识别这些TLV选项时的处理方式。2020/2/1218高2位处理动作00对该选项不予理睬,可以根据“选项数据长度”指示的长度跳过选项域,继续处理下一选项。01抛弃此IP分组,不再进行任何处理,也不回送ICMPv6报文。10抛弃此分组,向源回送ICMPv6差错报文(即使目的地址是多播地址也回送ICMPv6报文)11抛弃此IP分组,只要目的地址不是多播地址就向源回送ICMPv6差错报文。4.2.2TLV可选项的对齐表示•RFC1883中定义了两个填充选项,用于确保扩展首部字段符合边界要求。•“xn+y”表示对TLV可选项的对齐要求,指明该TLV可选项在扩展首部的位置,即–处于距离它所在的扩展首部开始处“x字节的整数倍加上y字节”的位置上。–也就是说,“选项类型”字段(不是选项数据)的位置应该是距离扩展首部x的整数倍加y字节处,其中,y是偏移量。2020/2/12191.pad1填充选项•pad1填充选项无对齐要求,它是TLV可选项的一个特例。它没有选项数据长度字段和选项数据字段,仅仅包含一个字节长的类型字段,类型字段的值=0。•pad1填充选项用于在扩展首部中填充一个字节。当需要填充多个字节来保证TLV可选项的对齐时,应该使用padN填充选项。2020/2/1220类型=02.padN填充选项•padN填充选项能够填充任意字节。•如果扩展首部需要N字节填充,则选项数据长度字段值为N-2,即选项数据字段占N-2个字节,全部置为0。再加上1字节的选项类型字段和1字节的选项数据长度字段,一共填充了N字节。2020/2/1221类型=1选项数据长度(8位)选项数据(全0,N-2字节)4.2.3设计新的TLV可选项一个TLV可选项的设计思想:•位于TLV可选项数据字段中的各个多字节子字段,应该在分组的自然边界上对齐。–n字节子字段应该放置在距离扩展首部的开始处n的整数倍字节偏移的位置上,其中n=1,2,4或8。•在遵循扩展首部长度为8的整数倍字节的前提下,跳到跳扩展首部和目的选项扩展首部占有尽可能少的空间。•当一个扩展首部需要携带TLV可选项时,选项的数目应该尽可能少,通常限制在一个。2020/2/1222TLV可选项的选项数据的对齐要求•由短到长排列各个子字段•子字段之间不能存在间隙•根据最长子字段的对齐要求,来确定整个TLV可选项的对齐要求2020/2/1223TLV可选项X4字节子字段8字节子字段•例如,假设一个TLV可选项X要求有两个选项数据子字段,一个数据子字段长8字节,另一个数据子字段长4字节,则TLV可选项X的布局如图所示。2020/2/1224可选项数据长度=12可选项类型=X携带TLV可选项X的扩展首部•8字节的子字段要求落在从扩展首部开始的8的整数倍字节偏移处,所以整个TLV可选项的对齐要求为8n+2。•在一个完整的跳到跳扩展首部或目的选项扩展首部中,TLV可选项X的位置如图所示。2020/2/1225下一首部扩展首部长度=1可选项类型=X可选项数据长度=124字节子字段8字节子字段TLV可选项Y•假设TLV可选项Y有三个选项数据子字段:–一个数据子字段的长度为4字节–一个数据子字段的长度为2字节–一个数据子字段长1字节2020/2/1226可选项数据长度=71字节子字段2字节子字段4字节子字段可选项类型=Y携带TLV可选项Y的扩展首部2020/2/1227下一首部扩展首部长度=1Pad1填充可选项=0可选项类型=Y可选项数据长度=71字节子字段2字节子字段4字节子字段PadN填充可选项=1可选项数据长度=200为什么加入Pad1可选项为什么加入PadN可选项?同时携带有TLV可选项X和Y,且可选项X在前的扩展首部结构2020/2/1228下一首部扩展首部长度=3可选项类型=X可选项数据长度=124字节子字段8字节子字段PadN填充可选项=1可选项数据长度=10可选项类型=Y可选项数据长度=71字节子字段2字节子字段4字节子字段PadN填充可选项=1可选项数据长度=200同时携带有TLV可选项X和Y,且可选项Y在前的扩展首部结构2020/2/1229下一首部扩展首部长度=3Pad1填充可选项=0可选项类型=Y可选项数据长度=71字节子字段2字节子字段4字节子字段PadN填充可选项=1可选项数据长度=40000可选项类型=X可选项数据长度=124字节子字段8字节子字段4.3Hop-by-Hop选项扩展首部•逐跳选项作用:携带在一个报文的传送途中的所有节点都必须检查处理的信息。逐跳选项只有在绝对必要的时候才会出现。•逐跳选项格式:–下一首部:8位无符号数,标识跟在该首部后面的下一首部。–扩展首部长度:8位无符号整型数,以8字节为单位的扩展首部长度,不包括前8个字节。整个扩展首部的长度必须为8字节的整数倍。2020/2/1230下一首部(8位)扩展首部长度(8位)TLV可选项巨型载荷TLV可选项•在跳到跳选项扩展首部中,除了pad1和padN之外,还定义了类型为194的巨型载荷TLV可选项。•此选项打破了IPv6首部对载荷长度的限制。有效载荷大于65535字节的IP分组可使用特大载荷选项。•这种分组的首部的有效载荷长度被置成“0”,在巨型载荷选项字段中置入载荷长度,即除40字节首部之外的IP分组的大小。2020/2/1231包含巨型载荷选项的跳到跳扩展首部格式•巨型载荷选项的选项数据长度字段为4字节,因此有效载荷长度最多可以为232-1个字节,超过了40亿字节(4,294,967,295字节)。•IP设计者认为这一长度足够用了,如果长度还不够,只须追加其它选项。2020/2/1232下一首部(8位)扩

1 / 107
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功