Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 标准规范 > IPv6基础介绍,ipv6技术介绍

IPv6基础介绍,ipv6技术介绍

收藏

本作品内容为IPv6基础介绍,格式为 doc ,大小 1399296 KB ,页数为 25页

IPv6基础介绍


('IPv6基础介绍文档摘要:IPv6协议,IPv6优点,IPv6基本功能关键字:IPv6,ICMPv6,DHCPv6,PPPoEv6一、IPv6协议介绍IPv6是InternetProtocolVersion6的缩写,其中InternetProtocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,InternetEngineeringTaskForce)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。1、IPv4设计的不足(a)IPv4地址空间不足IPv4地址采用32比特标识,理论上能够提供的地址数量是43亿。但由于地址分配的原因,实际可使用的数量不到43亿。另外,IPv4地址的分配也很不均衡:美国占全球地址空间的一半左右,而欧洲则相对匮乏;亚太地区则更加匮乏。与此同时,移动IP和宽带技术的发展需要更多的IP地址。IPv4地址资源紧张直接限制了IP技术应用的进一步发展。针对IPv4的地址短缺问题,也曾先后出现过几种解决方案。比较有代表性的是CIDR(ClasslessInter-DomainRouting)和NAT(IPNetworkAddressTranslator)。但是CIDR和NAT都有各自的弊端和不能解决的问题,由此推动了IPv6的发展。(b)骨干路由器维护的路由表表项过于庞大由于IPv4发展初期的分配规划问题,造成许多IPv4地址分配不连续,不能有效聚合路由。日益庞大的路由表耗用较多内存,对设备成本和转发效率产生影响,这一问题促使设备制造商不断升级其路由器产品,以提高路由寻址和转发性能。(c)不易进行自动配置和重新编制由于IPv4地址只有32比特,并且地址分配不均衡,导致在网络扩容或重新部署时,经常需要重新分配IP地址。因此需要能够进行自动配置和重新编址以减少维护工作量。(d)不能解决日益突出的安全问题随着因特网的发展,安全问题越来越突出。IPv4协议制定时并没有仔细针对安全性进行设计,因此固有的框架结构并不能支持端到端的安全。IPv6将IPSec作为它的标准扩展头实现,可以提供端到端的安全特性。IPv6技术从根本上解决了IP地址短缺的问题;且易于部署,能够兼容当前的各种应用,方便用户的平滑过渡;同时可实现与IPv4网络的共存和互通。由于IPv4存在以上种种弊端和不足,IPv6技术的优越性显而易见,因此IPv6技术得以迅猛发展。2、IPv6技术的优点(a)128比特地址长度,大大增加了地址空间IPv6地址长度为128比特,也就说IPv6协议最多支持2的128次方个地址,较于IPv4的32比特地址长度,其地址空间增加了2的96次方比特,很好的解决了IPv4地址空间不足的致命缺陷。(b)层次化的地址结构,提高路由效率IPv6的地址空间采用了层次化的地址结构,利于路由快速查找,同时借助路由聚合,可减少IPv6路由表的大小,提高路由设备的转发效率。(c)地址自动配置为了简化主机配置,IPv6支持有状态地址配置(StatefulAddressAutoconfiguration)和无状态地址配置(StatelessAddressAutoconfiguration)。对于有状态地址配置,主机通过服务器获取地址信息和配置信息。对于无状态地址配置,主机自动配置地址信息,地址中带有本地路由设备通告的前缀和主机的接口标识。如果链路上没有路由设备,主机只能自动配置链路本地地址,实现与本地节点的互通。(d)IPv6报文头简洁,灵活,效率更高,易于扩展IPv6和IPv4相比,去除了IHL、identifiers、Flags、FragmentOffset、HeaderChecksum、Options、Paddiing域,只增了流标签域,因此IPv6报文头的处理较IPv4大大简化,提高了处理效率。另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念,新增选项时不必修改现有结构就能做到,理论上可以无限扩展,体现了优异的灵活性。(e)支持端到端安全因此,在IPv6中支持端到端的安全要容易的多。IPv6中支持为IP定义的安全目标:保密性(只有预期接收者能读数据)、完整性(数据在传输过程中没有被篡改)、验证性(发送数据的实体和所宣称的实体完全一致)。(f)支持移动特性IPv6协议规定必须支持移动特性,任何IPv6节点都可以使用移动IP移动功能。和移动IPv4相比,移动IPv6使用邻居发现功能可直接实现外地网络的发现并得到转交地址,而不必使用外地代理。同时,利用路由扩展头和目的地址扩展头移动节点和对等节点之间可以直接通信,解决了移动IPv4的三角路由、源地址过滤问题,移动通信处理效率更高且对应用层透明。(g)新增流控标签,更利于QoSIPv6报文头中新增了流标签域(FlowLable字段),源节点可以使用这个域标识特定的数据流。转发路由器和目的节点都可根据此标签域进行特殊处理,如视频会议和VOIP等数据流。3、IPv6与IPv4报文头格式对比图1-1为IPv6与IPv4报文头部对比。由图可知,IPv6和IPv4相比,去除了IHL、Identification、Flags、FragmentOffset、HeaderChecksum、Options、Padding域,只增了流标签域,因此IPv6报文头处理比IPv4大大简化,提高了处理效率。图1-14、IPv6特性介绍(a)IPv6报文基本头格式图1-2为IPv6报文基本头格式:图1-2各个字段意义如下:Version:4比特,值为6表示IPv6报文TrafficClass:8比特,类似于IPv4中的TOS域FlowLabel:20比特,IPv6中新增。流标签可用来标记特定流的报文,以便在网络层区分不同的报文。转发路径上的路由器可以根据流标签来区分流并进行处理。由于流标签在IPv6报文头中携带,转发路由器可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用IPSec后仍然可以根据流标签进行QoS处理。PayloadLength:16比特,以字节为单位的IPv6载荷长度,也就是IPv6报文基本头以后部分的长度(包括所有扩展头部分)。NextHeader:8比特,用来标识当前头(基本头或扩展头)后下一个头的类型。此域内定义的类型与IPv4中的协议域值相同。IPv6定义的扩展头由基本头或扩展头中的扩展头域链接成一条链。这一机制下处理扩展头更高效,转发路由器只处理必须处理的选项头,提高了转发效率。HopLimit:8比特。和IPv4中的TTL字段类似。每个转发此报文的节点把此域减1,如果此域值减到0则丢弃。SourceAddress:128比特,报文的源地址。DestinationAddress:128比特,报文的目的地址(b)IPv6拓展头部IPv6选项字段是通过形成链式结构的扩展头支持的。IPv6基本头后面可以有0到多个扩展头。图1-3为IPv6拓展头部格式:图1-3IPv6扩展头排列顺序如下:(1)逐跳选项头:值为0(在IPv6基本头中定义)。此选项头被转发路径所有节点处理。目前在路由告警(RSVP和MLDv1)与Jumbo帧处理中使用了逐跳选项头。路由告警需要通知到转发路径中所有节点,需要使用逐跳选项头。Jumbo帧是长度超过65535的报文,传输这种报文需要转发路径中所有节点都能正常处理,因此也需要使用逐跳选项头功能。(2)目的选项头:值为60。只可能出现在两个位置:路由头前——这时此选项头被目的节点和路由头中指定的节点处理。上层头前(任何ESP选项后)——此时只能被目的节点处理。MobileIPv6中使用了目的选项头。MobileIPv6中新增加一种类型的目的选项头(家乡地址选项)。家乡地址选项由目的选项头携带,用于移动节点离开家乡后通知接收节点此移动节点对应的家乡地址。接收节点收到带有家乡地址选项的报文后,会把家乡地址选项中源地址(移动节点的家乡地址)和报文中源地址(移动节点的转交地址)交换,这样上层协议始终认为是在和移动节点的家乡地址在通信,实现了移动漫游功能。(3)路由头:值为43。用于源路由选项和MobileIPv6。(4)分片头值为44。此选项头在源节点发送的报文超过PathMTU(源和目的之间传输路径的MTU)时对报文分片时使用。(5)验证头(AH头):值为51。用于IPSec,提供报文验证、完整性检查。定义和IPv4中相同。(6)封装安全载荷头(ESP头):值为50。用于IPSec,提供报文验证、完整性检查和加密。定义和IPv4中相同。(7)上层头:上层协议头,如TCP/UDP/ICMP等5、ICMPv6协议介绍(a)ICMPv6报文基本格式ICMPv6功能与ICMPv4类似。ICMPv6用于IPv6节点报告报文处理过程中发生的错误以及完成其它层的功能,例如诊断功能(ICMPv6“ping”)。ICMPv6是IPv6的一部分,每个IPv6节点都必须实现。图1-4为ICMPv6报文头部格式:图1-4ICMPv6与ICMP协议的不同之处在于,ICMPv6删除了一些不再使用的过时报文类型,定义了一些新的功能与报文;另外ICMPv6还合并了ICMP、IGMP、ARP等多个协议的功能。(b)ICMPv6报文主要分类差错报文-目的地不可达报文-报文长度超大报文(用于路径MTU发现协议)-传输超时报文(相当于IPv4TTL等于0时触发的ICMP报文)-报文参数错误报文信息报文-回显请求报文-回显应答报文二、IPv6地址1、IPv6地址表示方法IPv6地址包括128比特,由使用由冒号分隔的16比特的十六进制数表示。16比特的十六进制数对大小写不敏感。如:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210是一个完整的IPv6地址。另外,对于中间比特连续为0的情况,还提供了简易表示方法。例如:1080:0:0:0:8:800:200C:417A等价于1080::8:800:200C:417AFF01:0:0:0:0:0:0:101等价于FF01::1010:0:0:0:0:0:0:1等价于::10:0:0:0:0:0:0:0等价于::需要注意的是使用“::”表示连续的“0”,在一个IPv6地址中只能出现一次。在IPv4和IPv6混合环境中,有时更适合于采用另一种表示形式:x:x:x:x:x:x:d.d.d.d,其中x是地址中6个高阶16位分组的十六进制值,d是地址中4个低阶8位分组的十进制值(标准IPv4表示)。例如地址0:0:0:0:0:0:13.1.68.3,0:0:0:0:0:FFFF:129.144.52.38写成压缩形式为::13.1.68.3,::FFFF.129.144.52.38。2、IPv6地址前缀表示方法IPv6地址前缀与IPv4中的CIDR(无类型域间选路,ClasslessInter-DomainRouting)相似,并写入CIDR表示法中。IPv6地址前缀由该表示法表示为:IPv6地址/前缀长度其中,“IPv6地址”是用上面任意一种表示法表示的IPv6地址,“前缀长度”是一个十进制值,表示前缀由多少个最左侧相邻位构成。例如:FECO:0:0:1::ABCD/64。地址的前64位“FECO:0:0:1”构成了地址的前缀。在IPv6地址中,地址前缀用于表示IPv6地址中有多少位表示子网。3、IPv6地址分类所有类型的IPv6地址都被分配到接口,而不是节点。IPv6地址是单个或一组接口的128位标识符,有三种类型:(a)单播(Unicast)地址:单一接口的标识符。发往单播地址的包被送给该地址标识的接口。对于有多个接口的节点,它的任何一个单播地址都可以用作该节点的标识符。IPv6单播地址是用连续的位掩码聚集的地址,类似于CIDR的IPv4地址。(b)泛播(Anycast)地址:一组接口(一般属于不同节点)的标识符。发往泛播地址的包被送给该地址标识的接口之一(路由协议度量距离最近的)。IPv6泛播地址存在下列限制:(1)泛播地址不能用作源地址,而只能作为目的地址;(2)泛播地址不能指定给IPv6主机,只能指定给IPv6路由器。(c)组播(Multicast)地址:一组接口(一般属于不同节点)的标识符。发往组播地址的包被送给该地址标识的所有接口。地址开始的11111111标识该地址为组播地址。IPv6中没有广播地址,它的功能正在被组播地址所代替。另外,在IPv6中,任何全“0”和全“1”的字段都是合法值,除非特殊地排除在外的。特别是前缀可以包含“0”值字段或以“0”为终结。一个单接口可以指定任何类型的多个IPv6地址(单播、泛播、组播)或范围。4、IPv6单播地址IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往发往单播地址的报文,由此地址标识的接口接收。每个接口上至少要有一个链路本地单播地址,另外还可分配任何类型(单播、泛播和组播)或范围的IPv6地址。所有格式前缀不是组播格式前缀(11111111)的IPv6地址都是IPv6单播格式(泛播和IPv6单播格式相同)。IPv6单播地址包括下面几种类型:•可集聚全球地址。•未指定地址或全0地址。•回返地址。•嵌有IPv4地址的IPv6地址。•OSI网络服务访问点(NSAP)地址。•网络互联包交换(IPX)地址。(a)IPv6单播地址格式:IPv6单播地址由子网前缀和接口ID两部分组成。子网前缀由IANA、ISP和各组织分配。接口标识符目前定义为64比特,可以由本地链路标识生成或采用随机算法生成以保证唯一性。图2-1为IPv6单播地址格式:图2-1(b)可聚合全球单播地址:可聚合全球单播地址,即在全球范围被分配到网络节点上可路由的IPv6地址。图2-2为可聚合全球单播地址的具体格式:图2-2•FP:格式前缀,对于可聚合全局单播固定为001。•TLAID:顶级聚合标识符。此域由IANA分配给指定的注册机构。•Sub-TLA:次顶级聚合标识符。此域由向IANA注册的机构为满足一定条件的组织分配。这些组织一般是具有一定规模的ISP。•NLAID:下一级聚合标识符。此域由地址注册机构或其下分配了Sub-TLA的组织分配。•SLAID:站点级集聚标识符,此域一般为组织或企业内部进行子网划分使用。每个组织或企业可以用与IPv4同样的方法来创建自己内部的分级网络结构。若16位字段全部用作平面地址空间,则最多可有65535个不同子网。如果用前8位作该组织内较高级的选路,那么允许255个高级子网,每个高级子网可有多达255个子子网。•InterfaceID字段:64位长,包含IEEEEUI-64接口标识符的64位值。(c)基于EUI-64算法的地址接口表示:在无状态地址自动配置方式下,接口ID通常可以通过EUI64转换算法得到。接口ID由48位MAC地址转换得到。EUI64是IEEE定义的一种基于64位的扩展惟一标示符。他是IEEE指定的公共24位制造商标示和制造商为产品指定的40位值的组合。在IPv6地址中,接口ID的长度为64位,他由48位的以太网MAC地址转换得到。48位以太网MAC地址的格式:其中,c位表示厂商ID,m位表示厂商编号ID,g位表示是单个主机还是某个组。转换算法需将g位前的一位(U/L位)求反,并在c位和m位(MAC地址的第3和第4个字节)之间插入2个字节FFFE,则接口ID为:概括的说,EUI-64生成的接口ID即:mac地址前24位(其中第七位0/1取反)+FFFE+mac地址后24位。而由此产生的IPv6地址即:“FE80::EUI-64”接口ID。(d)嵌入IPv4地址的IPv6地址:IPv4兼容的IPv6地址在低32比特携带IPv4地址,前96比特全0,主要用在一种自动隧道技术,目的地址为这种地址的报文会被自动IPv4隧道封装(隧道的端点为自IPv6报文中的IPv4地址),由于这种技术不能解决地址耗尽问题,已经逐渐被废弃。图2-3为IPv4兼容的IPv6地址格式:图2-3IPv4映射的IPv6地址最前80比特为全0,中间16比特为全1,最后32比特为IPv4地址。这种地址用来把只支持IPv4的节点用IPv6地址表示。在支持双栈的IPv6节点上,IPv6应用发送目的报文是这种地址时,实际上发出的报文为IPv4报文(目的地址是“IPv4映射的IPv6地址”中的IPv4地址)。图2-4为IPv4映射的IPv6地址;图2-4(d)特殊IPv6地址IPv6中规定了以下两种特殊的地址:(1)未指定IPv6地址:单播地址0:0:0:0:0:0:0:0称为未指定的IPv6地址。未指定的IPv6地址不能分配给任何接口,被未分配到IPv6地址的节点表示其没有IPv6地址。例如,一个节点启动后没有IPv6地址,发送报文时填充源地址全0表示自身没有IP地址。未指定的IPv6地址不能在IPv6报文头或路由头中作为目的地址出现。(2)环回地址:单播地址0:0:0:0:0:0:0:1称为环回地址。此地址与IPv4中的127.0.0.1类似,一般在节点发报文给自身时使用,不能分配给物理接口。IPv6环回地址不能作为源地址使用,目的地址为IPv6环回地址的报文不能发送到源节点外,也不能被IPv6路由器转发。5、IPv6组播地址IPv6组播地址用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。组播地址只能用作目的地址,没有数据报把组播地址用作源地址。IPv6组播中不使用HopLimit域(相当于IPv4的TTL)。(a)IPv6组播地址格式图2-5为IPv6组播地址格式:图2-5•地址格式中的第1个字节为全“1”,标识其为组播地址。•flags字段:由4个单个位标志组成。目前只指定了第4位,该位用来表示该地址是由Internet编号机构指定的熟知的组播地址,还是特定场合使用的临时组播地址。如果该标志位为“0”,表示该地址为熟知地址;如果该位为“1”,表示该地址为临时地址。•scope字段:长4位,用来表示组播的范围。即,组播组是只包括同一本地网、同一站点、同一机构中的节点,还是包括IPv6全球地址空间中任何位置的节点。下表为Scope字段不同值所代表的不同意义十六进制十进制值00保留11节点本地范围22链路本地范围33(未分配)44(未分配)55站点本地范围66(未分配)77(未分配)88机构本地范围99(未分配)A10(未分配)B11(未分配)C12(未分配)D13(未分配)E14全球范围F15保留•GroupID字段:长112位,用于标识组播组。(b)IPv6永久分配的组播地址IPv6中某些组播地址是被默认永久分配的,现阶段永久分配的组播地址如下:•保留的组播地址:FF00::---FF0F::(共16个地址)•所有节点的地址FF01:0:0:0:0:0:0:1(节点本地)FF02:0:0:0:0:0:0:1(链路本地)•所有路由器地址FF01:0:0:0:0:0:0:2(节点本地)FF02:0:0:0:0:0:0:2(链路本地)FF05:0:0:0:0:0:0:2(站点本地)6、IPv6泛播地址IPv6泛播地址格式和IPv6单播地址相同,用来标识一组接口的地址。一般这些接口属于不同的节点。发往泛播地址的报文被送到这组接口中与其最近的接口(由使用的路由协议判断哪个是最近的)。IPv6泛播地址的用途之一是用来标识属于同一提供因特网服务的组织的一组路由器。这些地址可在IPv6路由头中作为中间转发路由器,以使报文能够通过特定一组路由器进行转发。另一个用途就是标识特定子网的一组路由器,报文只要被其中一个路由器接收即可。(a)IPv6泛播地址格式图2-6为IPv6中泛播地址格式:图2-6•子网路由器器泛播地址中“subnetprefix”域用来标识特定链路。发送到子网路由器泛播地址的报文会被送到子网中的一个路由器。所有路由器都必须支持子网泛播地址子网路由器泛播地址用于节点需要和远端子网上所有路由器中的一个(不关心具体是哪一个)通信时使用。例如,一个移动节点需要和它的“家乡”子网上的所有移动代理中的一个进行通信。三、IPv6基本功能1、IPv6邻居发现协议IPv6邻居发现协议与IPv4中的ARP协议类似,用于获取同一链路中其他设备的MAC地址,IPv6邻居发现只要一次报文交互就可以互相学习到对方的链路层地址,与ARP协议不同的是,IPv6邻居发现协议是工作于网络IP层的。IPv6邻居发现功能由邻居请求和邻居通告机制实现。(a)邻居请求当一个节点需要得到同一本地链路上另外一个节点的链路本地地址时,就会发送邻居请求报文。此报文类似于IPv4中的ARP请求报文,不过使用多播地址而不使用广播,只有被请求节点的最后24比特和此组播相同的节点才会收到此报文,减少了广播风暴的可能。源节点使用目的节点的IPv6地址的最右24比特形成相应的多播地址,然后在相应链路上发送ICMPv6类型为135的报文。目的节点在响应报文中填充其链路地址。为了发送邻居请求报文,源节点必须首先知道目的节点的IPv6地址。邻居请求报文也用来在邻居的链路层地址已知时验证邻居的可达性。图3-1为IPv6邻居请求的报文:图3-1(b)邻居通告IPv6邻居通告报文是对IPv6邻居请求报文的响应。收到邻居请求报文后,目的节点通过在本地链路上发送ICMPv6类型为136的邻居通告报文进行响应。收到邻居通告后,源节点和目的节点可以进行通信。当一个节点的本地链路上的链路层地址改变时也会主动发送邻居通告报文。图3-2为IPv6邻居通告的报文:图3-2图3-3为IPv6邻居发现的整个过程:图3-3IPv6邻居发现协议还可用于检测同一链路中是否存在相同IP地址的设备,该功能与IPv4中的无故ARP类似。当一台设备需要检测同一链路中是否存在设备与自己的IP地址相同时,只需要发送一个邻居请求报文,且目的组播地址为自己IP地址对应的被请求节点组播地址,如果他受到了其他设备发送的邻居通告报文,则说明链路上有设备与自己的IP地址存在冲突,发出告警。2、IPv6路由发现协议IPv6路由器发现用来定位邻居路由器,同时学习和地址自动配置有关的前缀和配置参数。IPv6路由器发现由下路由请求和路由通过两种机制实现。(a)路由器请求当主机没有配置单播地址(例如系统刚启动)时,就会发送路由器请求报文。路由器请求报文有助于主机迅速进行自动配置而不必等待IPv6路由器的周期性IPv6路由器通告报文。IPv6路由请求也是ICMP报文,类型为133。IPv6路由器请求报文中的源地址通常为未指定的IPv6地址(0::0)。如果主机已经配置了一个单播地址,则此接口的单播地址可在发送路由器请求报文时作为源地址填充。IPv6路由器请求报文中的目的地址是所有路由器多播地址(FF02::2),作用域为本地链路。如果路由器通告是针对路由器请求发出的,则其目的地址为相应路由器请求报文的源地址。需要注意的是:路由器请求在启动期间发送并只发送三次以避免网络上没有路由器时拥塞网络。图3-4为IPv6路由请求报文:图3-4(b)路由器通告每个IPv6路由器的配置接口会周期发送路由器通告报文。在本地链路上收到IPv6节点的路由器请求报文后,路由器也会发送路由器通告报文。IPv6路由器通告报文发送到所有节点的链路本地多播地址(FF02::1)或发送路由器请求报文节点的IPv6单播地址。路由器通告为ICMP报文,类型为134,包含以下内容:\uf06c是否使用地址自动配置\uf06c标记支持的自动配置类型(无状态或有状态自动配置)\uf06c一个或多个本地链路前缀―――本地链路上的节点可以使用这些前缀完成地址自动配置\uf06c通告的本地链路前缀的生存期\uf06c是否发送路由器通告的路由器可作为缺省路由器,如果可以还包括此路由器可作为缺省路由器的时间(用秒表示)\uf06c和主机相关的其它信息,如跳数限制,主机发起的报文可以使用的最大MTU。图3-5为IPv6路由通告报文:图3-5图3-6为IPv6路由发现的整个过程:图3-63、IPv6无状态地址自动配置在一个IPv6网络中,可通过使用路由器通告报文(和针对每一前缀的标记),路由器可以通知主机如何进行地址自动配置。例如,路由器可以指定主机是使用有状态(DHCPv6)地址配置还是无状态地址自动配置进行地址配置。主机收到路由器通告报文后,使用其中的前缀信息和本地接口ID自动形成IPv6地址,同时还可以根据其中的默认路由器信息设置默认路由器。使用无状态地址配置可以使IPv6节点很容易完成地址重新编址,降低了网络重新部署的复杂性。进行重新编址时,路由器通告报文中既包括旧的前缀也包括新的前缀。旧前缀的生存期减少,促使节点使用新的前缀,同时保证现有连接可以继续使用旧的前缀。在此期间,节点同时具有新旧两个单播地址。当旧的前缀不再使用时,路由器只通告新的前缀。4、IPv6路径MTU发现协议IPv4中也定义了路径MTU发现协议,不过是可选支持的。在IPv6中为了简化报文处理流程、提高处理效率,限定IPv6路由器不处理分片,分片只在源节点在需要的时候进行。因此IPv6的路径MTU发现协议是必须实现的。IPv6使用路径MTU发现得到源和目的节点之间路径的最大MUT。源节点在发现报文前进行路径MTU发现处理。如果路径上的MTU不足以传输整个报文,则源节点分片后重新发送。路径MTU发现协议使IPv6节点能够动态发现并调整以适合给定数据路径上的MTU变化。在IPv4中最小链路MTU值是68字节(推荐最小值为576字节),而在IPv6中最小MTU值为1280字节(推荐最小值为1500)。IPv6基本头支持的最大报文长度是64000字节。更大的报文(jumbograms)通过逐跳扩展头选项处理。图3-7为IPv6路径MTU发现协议的工作过程:图3-7四、DHCPv6协议DHCP协议(即动态主机配置协议)曾设计用来处理向计算机分配IP地址和其他网络信息,以便计算机可以在网络上自动通信。通过使用IPv6网络,实际上不需要使用DHCP来配置地址。但是DHCP协议本身具有一定的优势,我们还是有充分的理由在IPv6网络中使用它。DHCPv6(DynamicHostConfigurationProtocolforIPv6,支持IPv6的动态主机配置协议)是针对IPv6编址方案设计的、为主机分配IPv6地址和其他网络配置参数的协议。与其他IPv6地址分配方式(手工配置、通过路由器公告消息中的网络前缀无状态自动配置等)相比,DHCPv6具有以下优点:(1)更好地控制地址的分配。通过DHCPv6不仅可以记录为主机分配的地址,还可以为特定主机分配特定的地址,以便于网络管理。(2)除了IPv6地址外,还可以为主机提供DNS服务器、域名等网络配置参数。1、DHCPv6基本概念(a)所有DHCPv6服务器和中继服务器的组播地址IPv4网络中设备使用广播的手段发送DHCPDiscover报文来发现网络中所有的DHCP服务器和DHCP中继服务器。而在IPv6中,组播已经取代了广播,因此设备使用组播来发现网络中所有的DHCPv6服务器和中继服务器。DHCPv6中采用组播地址FF02::1:2来表示链路范围内所有的DHCPv6服务器和中继。(b)DUIDDUID(DHCPUniqueIdentifier,DHCP唯一标识符)是唯一标识一台DHCPv6设备(包括客户端、中继和服务器)的标识符,用于DHCPv6设备之间的相互验证。目前,设备采用RFC3315规定的DUID-LL(DUIDBasedonLink-layerAddress,基于链路层地址的DUID)作为DHCPv6设备的标识。DUID-LL的结构如图4-1所示:图4-1各字段意义如下:DUIDtype:DUID类型。DUID-LL类型取值为0x0003。Hardwaretype:硬件类型。设备支持的硬件类型为以太网,取值为0x0001。Linklayeraddress:链路层地址。取值为设备的桥MAC地址。图4-2为一台DHCPClient的DUID字段:图4-2(C)DHCPv6典型应用场景DHCPv6客户端通过链路范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。如果服务器和客户端不在同一个链路范围内,则需要通过DHCPv6中继来转发报文,这样可以避免在每个链路范围内都部署DHCPv6服务器,既节省了成本,又便于进行集中管理。图4-3为存在DHCPv6中继服务器的应用场景:图4-32、RA中M位、O位与DHCPv6的关系IPv6主机可以通过多种方式配置地址:(1)无状态地址自动配置用于对链接本地地址和其他非链接本地地址两者进行配置,方法是与相邻路由器交换路由器请求和路由器公告消息;(2)有状态地址自动配置通过使用如DHCP的配置协议,用来配置其全球地址;(3)手工配置静态地址。IPv6主机自动执行无状态地址自动配置,并在相邻路由器发送的路由器公告消息中使用基于以下标记的配置协议(如DHCPv6):托管地址配置标记(也称为M标记):设置为1时,此标记指示主机使用配置协议(DHCPv6)来获取有状态地址;设置为0时,此标记指示主机使用RA消息获取无状态地址。其他有状态配置标记(也称为O标记):设置为1时,此标记指示主机使用配置协议来获取其他配置设置(如DNS、NTP等信息);设置为0时,此标记指示主机不获取其他信息。图4-4为RA报文中的M位和O位:图4-4结合M位和O位的值可以产生以下组合:M位和O位均设置为0:此组合对应不具有DHCPv6基础结构的网络。主机使用非链接本地地址的路由器公告以及其他方法(如手动配置)来配置其他设置。M位和O位均设置为1:DHCPv6用于这两种地址(链接本地地址和其他非链接本地地址)和其他配置设置。该组合称为DHCPv6有状态,其中DHCPv6将有状态地址分配给IPv6主机。M位设置为0,O位设置为1:DHCPv6不用于分配地址,仅用来分配其他配置设置。相邻路由器配置为通告非链接本地地址前缀,IPv6主机从中派生出无状态地址。此组合称为DHCPv6无状态:DHCPv6不为IPv6主机分配有状态地址,但分配无状态配置设置。M标记设置为1,O标记设置为0。在此组合中,DHCPv6用于地址配置,但不用于其他设置。因为IPv6主机通常需要使用其他设置(如域名系统DNS服务器的IPv6地址)进行配置,所以这是一种不太可能的组合。3、DHCPv6无状态配置DHCPv6无状态配置是指设备通过地址无状态自动配置获取IPv6地址后,利用DHCPv6服务器获取除地址以外的其他网络配置参数,如DNS服务器、域名等。在DHCPv6无状态配置过程中,DHCPv6服务器不需要保存客户端的状态信息,因此称为DHCPv6无状态配置。设备通过地址无状态自动配置功能成功获取IPv6地址,且接收到的RA(RouterAdvertisement,路由器通告)报文中M标志位(Managedaddressconfigurationflag,被管理地址配置标志位)为0、O标志位(Otherstatefulconfigurationflag,技术介绍其他配置标志位)为1,则设备会自动启动DHCPv6无状态配置功能,以获取除地址外的其他网络配置参数。DHCPv6无状态配置过程只需要两种报文:客户端发出的Information-request报文和服务器回应的Reply报文。图4-5为DHCPv6地址无状态自动配置过程中客户端发出的Information-request报文:图4-5图4-6为DHCPv6地址无状态自动配置过程中服务器发出的Relay报文:图4-64、DHCPv6有状态配置DHCPv6有状态配置的过程与DHCPv4的过程类似,也是4步过程:DHCPv6Solicit、DHCPAdvertise、DHCPv6Request和DHCPv6Reply。在IPv4网络中,DHCPDiscover和DHCPRequest以广播形式发送,而IPv6网络中以组播形式发送,目的地址为ff02::1:2。图4-7为DHCPv6有状态配置地址的交互过程。图4-7在DHCPv6分配地址的过程中,DHCPv6Advertise报文除了会提供DNS信息外,还会提供IA_NA(IdentityAssociationforNone-temporaryAddress)和IA_PD(IdentityAssociationforPrefixDelegation)两个信息。由于IPv6地址空间相当充足,因此弃用了NAT技术,所以我们的网关可以给LAN侧PC分配公网地址。IA_NA信息中存放的是一个全球地址,该地址是一个非临时地址,用于分配给网关Wan侧接口。IA_PD信息中存放的是一个地址前缀,该前缀给予网关通过无状态方式分配给LAN侧PC,使其加上本身接口ID自动生成全球地址。图4-8为DHCPv6Advertise报文中的IA_NA和IA_PD:图4-85、DHCPv6报文类型下表为DHCPv6所有报文类型:五、PPPoEv6协议1、PPPoEv6交互过程事实上PPPoEv6协议与PPPoEv4协议从发现阶段至会话阶段的协议交互基本相同,唯一的区别是PPPoEv4在认证完成后,服务器直接通过IPCP向客户端分配公网IP、网关、DNS等信息。而PPPoEv6在认证完成后,服务器只会通过IPv6CP给客户端分配一个接口ID,客户端根据这个接口ID生成LinkLocal地址,并将这个地址分配给PPP逻辑接口,然后该逻辑接口在通过RA、DHCPv6等手段获取IP地址、DNS、网关等信息。图5-1为PPPoEv6交互过程图5-12、PPPoE-DHCPv6获取地址过程详解以下报文为一台设备通过PPPoEv6+DHCPv6方式获取一个全球地址的详细过程整个过程如下:(a)PPPoE发现阶段如图5-2所示:图5-2(b)PPPoE协商阶段如图5-3所示:图5-3(c)PPPoE认证过程如图5-4所示:图5-4(d)PPPoEv6中的IPv6CP过程如图5-5所示:图5-5(e)客户端根据服务器分配的接口ID,生成的LinkLocal地址,并使用此地址发送路由器请求,如图5-6所示:图5-6(f)后续通过DHCPv6协议获取地址、DNS等信息,如图5-7所示:图5-73、PPPoE-SLAAC获取地址过程详解以下报文为一台设备通过PPPoEv6+DHCPv6方式获取一个全球地址的详细过程PPPoE+SLAAC获取地址的过程与PPPoE+DHCPv6获取地址的整个过程类似,不同之处在于服务器发送的RA报文中M位为0,客户端则通过RA报文自动生成地址。因此不在这里做详细说明。六、附录1、报文文档中涉及到的所有报文如附件,供大家参考:2、相关协议标准\uf06cRFC1886,DNSExtensionstosupportIPversion6\uf06cRFC1887,AnArchitectureforIPv6UnicastAddressAllocation\uf06cRFC1981,PathMTUDiscoveryforIPversion6\uf06cRFC2375,IPv6MulticastAddressAssignments\uf06cRFC2460,InternetProtocol,Version6(IPv6)Specification\uf06cRFC2463,InternetControlMessageProtocol(ICMPv6)fortheInternetProtocolVersion6(IPv6)\uf06cRFC2472,IPVersion6overPPP\uf06cRFC2471,IPv6TestingAddressAllocation\uf06cRFC3315,DynamicHostConfigurationProtocolforIPv6',)


  • 编号:1700878089
  • 分类:标准规范
  • 软件: wps,office word
  • 大小:25页
  • 格式:docx
  • 风格:商务
  • PPT页数:1399296 KB
  • 标签:

广告位推荐

相关标准规范更多>