免费智能真题库 > 历年试卷 > 网络工程师 > 2013年下半年 网络工程师 上午试卷 综合知识
  第58题      
  知识点:   IPv6   从IPv4向IPv6的过渡   IPv4向IPv6的过渡
  关键词:   IPv4   IPv6   通信   网络        章/节:   因特网与物联网       

 
在IPv4向IPv6的过渡期间,如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用(58):如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用(59)。
 
 
  A.  堆栈技术
 
  B.  双协议栈技术
 
  C.  隧道技术
 
  D.  翻译技术
 
 
 

 
  第56题    2014年上半年  
   30%
IPv6地址的格式前缀用于表达地址类型或子网地址,例如60位地址12AB00000000CD3有多种合法的表示形式,下面的选项中,不合法的是(..
  第31题    2021年上半年  
   42%
6to4是一种支持IPv6站点通过IPv4网络进行通信的技术,下面IP地址中( )属于6to4地址。
  第60题    2015年上半年  
   40%
IPv6站点通过IPv4网络通信需要使用隧道技术,常用的3种自动隧道技术是(60)。
   知识点讲解    
   · IPv6    · 从IPv4向IPv6的过渡    · IPv4向IPv6的过渡
 
       IPv6
        到目前为止IPv4已经存在20多个年头了。在20世纪90年代中期,人们就认识到了它的局限性,主要的一点是32位地址太有限。在当前的网络使用状况下,IPv4所有的地址很快将会消耗尽。
        另外,由于IPv4不能提供网络安全,也不能实施复杂的路由选项(如在QoS的水平上创建子网等),所以它的应用也受到了限制。同时,IPv4除了能提供广播和多点传送编址外,并不具备用多个选项来处理多种不同的多媒体应用程序(如流式视频或视频会议等)。
        为了适应IP的爆炸式应用,Internet工程任务组(IETF)开始了IPng(IP next generation)的初步开发。1996年,通过对IPng的研究诞生了一种称为IPv6的新标准,并在RFC 1883中得到定义。IPv6的目的是从IPv4中提供一条逻辑的增长路径,使得应用程序和网络设备可以处理新出现的要求。目前,虽然IPv4仍应用在全世界的绝大多数网络中,但向IPv6的升级已经开始了。IPv6的新特点如下。
        ◆具有128位编址能力。
        ◆一个单独的地址对应着多个接口。
        ◆地址自动配置并可用CIDR编址。
        ◆以40字节的头取代了IPv4的20字节的头。
        ◆可将新的IP扩展的头用于特殊需要,包括用于更多的路由技术和安全选项中。
        IPv6编址使得一个IP标识符可以与多个不同的接口相关,从而可以更好地处理多媒体信息流量。在IPv6网络中,多媒体流量不是通过广播或多点传送,而是将所有接收接口都指定为同一个地址传送。
        IPv6并不沿基于分类的地址而行,而是与CIDR兼容的,从而其地址可以通过很大范围的选项来进行配置,并使得路由和子网的通信更出色。同时,它还提供了多种选项,使得我们可以在一个组织内、一个单独的地址内,根据地理位置、组织及类型的不同来创建各异的网络。IPv6的编址是自动配置的,可以减轻网络管理员管理和配置地址的工作负荷。它支持两种自动配置技术:一种是基于动态主机配置协议(DHCP),另一种是基于无状态的自动配置技术。在无状态自动配置中,网络设备自己指派IP地址,而不是从服务器中获得。它通过简单地将NIC的MAC地址与从子网路由器中获得的子网命名结合在一起来创建地址。
        IPv6数据包的传送类型分为单点传送、任意点传送和多点传送。在单点传送包中,一个单独的网卡接口对应一个单独的地址,并且是点到点传输的。任意点传送的包中包含着与多个接口关联的目标地址,而且这些接口通常位于不同的节点上。任意点传送的包只向最近的接口传送,并不试图到达具有同一地址的其他接口。多点传送包与任意点传送包相似,也具有与多个接口相关联的目标地址,但是与任意点传送包不同的是,多点传送包将流向具有这个地址的所有接口。
               头部格式
               如下图所示,基本的IPv6头包含以下域。
               
               IPv6数据包
               ◆版本:这是版本标识符,它的值为6。
               ◆流量分类:该域说明了一个包是否包含着协助控制网络阻塞的信息。用于阻塞控制的包可以提供诸如过滤、自动E-mail投递和与Internet相关的控制等特征。不控制阻塞的包是携带数据的,可以指定不同的优先级来说明丢弃一个包对信息的影响。例如,携带声频的包的优先级应当设置得高一些,以此说明一定要避免丢弃包,因为这样会干扰声音播放的连续性。
               ◆流标签:此处的信息用于向路由器说明包需要以特殊的方法来进行处理。例如,多点传送包需要额外的网络资源,而秘密的包需要更高的安全性。
               ◆有效负载长度:该域说明了包有效负载的大小(不计包的头)。
               ◆下一个头:由于可以添加扩展的头,所以当基本的头到了结尾时,该域就提供了有关预期的头是何种类型的信息。如果没有包含扩展的头,那么下一个头就是TCP或者UDP。
               ◆跳数限制:该域用来对IPv4 TTL域进行修正。当创建好一个包后,就会在跳数限制(Hop Limit)域中输入最大的路由器跳数值,包每次经过第三层设备时,该值都会减1。当第三层设备遇到的包的跳数限制为0时,就将该包丢弃,以免在网络上不断地传播。
               ◆源地址:这是指发送设备的128位地址。
               ◆目标地址:此域包含着接收包设备的128位地址。
               IPv6扩展头部及其功能
               当前,IPv6定义了下列6种扩展头。
               ◆步跳扩展头。
               ◆路由扩展头。
               ◆分段扩展头。
               ◆验证扩展头。
               ◆安全负载封装扩展头。
               ◆目标选项扩展头。
               IPv6的主头必须出现在所有的扩展头之前。扩展头是可选的,可以组合使用,也可以一个都不用。在单个的包中,每种类型的扩展头只能出现一次。当同时使用多个扩展头时,它们必须严格遵守上面列举的顺序。例如,如果同时使用了路由扩展头、验证扩展头和安全负载封装扩展头,那么包头的域必须按照如下的顺序出现:①IPv6的主头;②路由扩展头;③验证扩展头;④安全负载封装扩展头;⑤TCP或UDP头;⑥应用数据,如下图所示。在每一个扩展头中,第一个字节为一个8位的"下一个头(Next Header)"字段,该字段用以指明后面紧跟的是哪个头。在最后一个扩展头中,"下一个头"域包含的值为59,表明该扩展头是最后一个。在上面的例子中,路由扩展头中的"下一个头"域指出后面紧跟的是验证扩展头;验证扩展头的"下一个头"域指出后面紧跟的是安全负载封装扩展头。除分段扩展头之外,在"下一个头"域后面紧跟着的是一个8位的"头扩展长度"域,用以指明该扩展头的长度。每个扩展头的长度必须为8的倍数个字节。
               
               IPv6数据包扩展头
               步跳扩展头用于大数据的传输,例如多媒体视频数据包。其应用数据负载可以从65 535字节到4亿字节。数据包所经过的每一个路由都将读取步跳扩展头,这样会略微增加路由器的处理延迟。
               路由扩展头使用按顺序排列的路由地址来标识整个路由,用户可以通过配置该头达到让包沿相同路径传输的目的。这种包可用于某些特殊的情况,例如当某条路径上的路由器出现故障的时候。
               在IPv6中,每个发送节点通过使用搜索包,运行一个最大传输单元(MTU)路径发现的过程,便可以确定接收网络所允许的最大包尺寸。该路径发现产生的信息包括是否有某个路由器出现故障和目标网络是否需要较小的包(IPv6包最多可以包括1280个8位字节)。当向使用小于1280个8位字节包的网络上发送包时,IPv6便对包进行分段。根据MTU路径发现所获取的信息,发送节点将数据包进行分段,在包头中添加分段扩展头,告知接收者包是如何分段的。将数据包分段的能力在从以太网向令牌环网发送包或者在具有不同大小包的快速以太网和千兆以太网之间传输数据时尤为重要。当把一个包进行分段后,每一个段都分配到了一个分段组内的标识符(每组是唯一的),该标识符含有32位标识符域,这样在接收数据的时候,不同组的分段就可以很容易地被区分开。
               验证扩展头可用于确认数据包的完整性(IP头、TCP头和数据),即保证接收到的数据包和发送的数据包是一致的。每一个扩展头的每一个域以及负载数据都需要进行验证。如果在数据包发出后某个域中的值有所改动(对于步跳计数来说肯定要发生变化,因此步跳计数除外),该字域的验证值则为0。通常,验证扩展头和安全负载封装扩展头是一起使用的,这样便可以对包进行验证和加密/解密。当使用这两个扩展头时,在接收节点上将做如下处理。
               (1)首先验证IP头,然后验证TCP头(如果IP头或者TCP头被加密,则首先需要进行解密)。
               (2)在验证之后,使用安全负载封装扩展头中的信息对负载进行解密。
               (3)在解密了负载后,对负载进行验证。
               在有安全需求的网络上,可以使用安全负载封装扩展头对IP包负载或者TCP/IP头负载进行加密,该扩展头支持与数据加密标准(DES)相兼容的密钥加密技术。
 
       从IPv4向IPv6的过渡
               从IPv4向IPv6过渡初期要解决的问题可以分成两类:第一类是解决IPv6孤岛之间互相通信的问题,第二类是解决IPv6孤岛与IPv4海洋之间的通信问题。目前提出的过渡技术可以归纳为以下3种。
               .隧道技术:用于解决IPv6节点之间通过IPv4网络进行通信的问题。
               .双协议栈技术:使得IPv4和IPv6可以共存于同一设备和同一网络中。
               .翻译技术:使得纯IPv6节点与纯IPv4节点之间可以进行通信。
               隧道技术
               所谓隧道技术,就是把IPv6分组封装到IPv4分组中,通过IPv4网络进行转发的技术。根据隧道端节点的不同,可以分为4种不同的隧道:主机到主机的隧道、主机到路由器的隧道、路由器到路由器的隧道、路由器到主机的隧道。
                      隧道中介技术
                      隧道中介技术是要求隧道端点必须运行双协议栈,两个端点之间不能使用NAT技术,因为IPv4地址必须是全局可路由的。对于IPv4/IPv6双栈主机,可以配置一条默认的隧道,以便把不能连接到任何IPv6路由器的分组发送出去。双栈边界路由器的IPv4地址必须是已知的,这是隧道端点的地址。这种默认隧道建立后,所有的IPv6目标地址都可以通过隧道传送。
                      自动隧道
                      两个双栈主机可以通过自动隧道在IPv4网络中进行通信。实现自动隧道的节点必须采用IPv4兼容的IPv6地址。当分组进入双栈路由器时,如果目标地址是IPv4兼容的地址,分组就被重定向,并自动建立一条隧道。如果目标地址是当地的IPv6地址,则不会建立自动隧道。被传送的分组决定了隧道的端点,目标IPv4地址取自IPv6地址的低32位,源地址是发送分组的接口的IPv4地址。
                      6to4隧道
                      6to4隧道技术是一种支持IPv6站点通过IPv4网络进行通信的技术,这种技术不需要显式地建立隧道,可以使得一个原生的IPv6站点通过中继路由器连接到IPv6网络中。
                      IANA在可聚合全球单播地址范围内指定了一个格式前缀0x2002来表示6to4地址。通常把带有16位前缀"2002"的IPv6地址称为6to4地址,而把不使用这个前缀的IPv6地址称为原生地址。
                      中继路由器是一种经过特别配置的路由器,用于在原生IPv6地址与6to4地址之间进行转换。6to4技术都是在边界路由器中实现的,不需要对主机的路由配置做任何改变。6to4路由器应该配置双协议栈,应该具有全局IPv4地址,并能实现6to4地址转换。这种方法对IPv4路由表不增加任何选项,只是在IPv6路由表中引入了一个新的选项。
                      6to4路由器应该向本地网络公告它的6to4前缀2002:IPv4::/48,其中,IPv4是路由器的全局IPv4地址。在本地IPv6网络中的6to4主机要使用这个前缀,可以用作自动的地址赋值,或用作IPv6路由,或用在6over4机制中。
                      6to4技术也支持原生IPv6站点到6to4站点的通信,还可以支持6to4站点到原生IPv6站点的通信。
                      6over4隧道
                      RFC 2529定义的6over4是一种由IPv4地址生成IPv6链路本地地址的方法。IPv4主机的接口标识符是在该接口的IPv4地址前面加32个"0"形成的64位标识符。IPv6链路本地地址的格式前缀为FE80::/64,在其后面加上64位的IPv4接口标识符就形成了完整的IPv6链路本地地址。
                      RFC 2529规定,IPv6组播分组要封装在目标地址为239.192.x.y的IPv4分组中发送,其中x和y是IPv6组播地址的最后两个字节。由于239.192.0.0/16是IPv4机构本地范围内的组播地址块,所以实现6over4的主机都要位于同一IPv4组播区域内。
                      IPv6邻居发现的过程如下:首先是IPv6主机组播ICMPv6邻居邀请报文,然后是收到对方的邻居公告报文,其中包含了64位的链路层地址。当IPv6主机获得了对方主机的IPv4地址后,就可以用无状态自动配置方式构造源和目标的链路本地地址,向通信对方发送IPv6分组了。当然,IPv6分组还是要封装在IPv4分组中传送的。
                      ISATAP
                      RFC 4214定义了一种自动隧道技术——ISATAP, ISATAP意味着通过IPv4地址自动生成IPv6站点本地地址或链路本地地址,IPv4地址作为隧道的端点地址,把IPv6分组封装在IPv4分组中进行传送。
                      一般来说,ISATAP地址有64位的格式前缀,FEC0::/64表示站点本地地址,FE80::/64表示链路本地地址。在格式前缀之后要加上修改的EUI-64地址,其形式如下:
                      24位的IANA OUI+40位的扩展标识符
                      如果40位扩展标识符的前16位是OxFFFE,则后面是24位的制造商标识符;如果40位扩展标识符的前8位是0xFE,则后面是32位的IPv4地址。
               协议翻译技术
               已经提出的翻译方法有如下几种。
               .SIIT:无状态的IP/ICMP翻译。
               .NAT-PT:网络地址翻译-协议翻译。
               .SOCKS64:基于SOCKS的IPv6/IPv4机制。
               .TRT:IPv6到IPv4的传输中继翻译器。
                      SIIT
                      SIIT转换器规范描述了从IPv6到IPv4的协议转换机制,包括IP头的翻译方法以及ICMP报文的翻译方法等。当IPv6主机发出的分组到达SIIT转换器时,IPv6分组头被翻译为IPv4分组头,分组的源地址采用IPv4翻译地址,目标地址采用IPv4映射地址,然后这个分组就可以在IPv4网络中传送了。
                      IPv4映射地址:一种内嵌IPv4地址的IPv6地址,可表示为0:0:0:0:0:FFFF:w.x.y.z或::FFFF:w.x.y.z的形式,其中w.x.y.z是IPv4地址。这种地址用于仅支持IPv4的主机。
                      IPv4翻译地址:一种内嵌IPv4地址的IPv6地址,可表示为0:0:0:0:FFFF:0:w.x.y.z或::FFFF:0:w.x.y.z的形式,其中w.x.y.z是IPv4地址。这种地址可用于支持IPv6的主机。
                      NAT-PT
                      NAT-PT是RFC 2766(网络地址翻译及协议翻译)定义的协议翻译方法。实现NAT-PT技术必须指定一个服务器作为NAT-PT网关,并且要准备一个IPv4地址块作为地址翻译之用,要为每个站点至少预留一个IPv4地址。
                      RFC 2766定义的是有状态的翻译技术,即要记录和保持会话状态,按照会话状态参数对分组进行翻译,包括对IP地址及其相关的字段进行翻译。
                      NAT-PT操作有3个变种:基本NAT-PT、NAPT-PT和双向NAT-PT。基本NAT-PT是单向的,只允许IPv6主机访问IPv4主机;NAPT-PT也是单向通信,但是扩展到了TCP/UDP端口的翻译,也包括ICMP询问标识符的翻译,这种技术可以实现IPv6主机的传输标识符到指定IPv4地址传输标识符的多路复用,即让一组IPv6主机共享同一IPv4地址;双向NAT-PT,意味着双向通信,无论是IPv6主机还是IPv4主机,都可以进行翻译。
                      协议翻译技术适用于IPv6孤岛与IPv4海洋之间的通信,这种技术要求一次会话中的双向数据包都在同一个路由器上完成转换,所以它只能适用于同一路由器连接的网络。
               双协议栈技术
               双协议栈技术适用于同时实现了IPv6和IPv4两个协议栈的主机之间进行通信。在这种情况下,当主机发起通信时,DNS服务器将同时提供IPv6和IPv4两种地址,主机将根据具体情况使用适当的协议来建立通信。在服务器一边要同时监听IPv4和IPv6两种端口。
                      BIS
                      BIS(Bump-In-the-Stack)是应用于IP安全域内的一种机制,适用于在开始过渡阶段利用现有的IPv4应用进行IPv6通信。这种技术是在主机的TCP/IPv4模块与网卡驱动模块之间插入一些模块来实现IPv4与IPv6分组之间的转换,使得主机成为一个协议转换器。
                      BIS用3个模块来代替IPv6应用:转换器、扩展名解析器和地址映射器。转换器的作用是在IPv4地址与IPv6地址之间进行转换;扩展名解析器对IPv4应用发出的请求返回一个"适当的"答案;地址映射器维护一个IPv4地址池,同时维护一个由IPv4地址与IPv6地址对组成的表。
                      BIA
                      BIA是在IPv4 Socket应用与IPv6 Socket应用之间进行翻译的技术。BIA要求在Socket应用模块与TCP/IP模块之间插入API转换器,这样建立的双栈主机不需要在IP头之间进行翻译,使得转换过程得到简化。API转换器由3个模块组成:功能映射器、名字解析器、地址映射器。功能映射器的作用是在IPv4 Socket API功能与IPv6 Socket API功能之间进行转换。名字解析器的作用是在收到IPv4应用请求时给出适当的响应。地址映射器与BIS中的地址映射器相同。
 
       IPv4向IPv6的过渡
        虽然IPv6已经被公认为是下一代互联网络的核心通信协议,但由于IPv4已经经过20多年的发展和完善,几乎所有的计算机和路由器正在使用IPv4协议,要在很短的时间内把它们全部转换成为IPv6协议是不切实际的。IPv6协议的设计者认识到从IPv4过渡到IPv6可能会花费数年的时间,所以在相当长的时间内IPv6和IPv4网络将会需要进行通信和共存。要提供平稳的过渡,对现有的用户和应用软件影响最小,就需要有良好的转换机制。为此IPv6的设计者们在“IP下一代协议的建议”(RFC 1752)中定义了下列过渡标准:
        (1)现存的IPv4主机必须可以随时升级到IPv6,它本身的升级与其他主机和路由器的升级无关。
        (2)新使用IPv6协议的主机,可以随时加入IPv6网络,不依赖于其他主机和路由器。
        (3)现存的IPv4主机,安装IPv6协议后,可以继续使用其IPv4的地址,而不需要其他地址。
        (4)将现有的IPv4节点升级到IPv6,或部署新的IPv6节点只需要很少的准备工作。
        基于这种标准,IPv4和IPv6可以长期共存,尽管现在IPv4是“海洋”,IPv6是“小岛”,但随着时间的推移,IPv6研究的进展,会有越来越多的节点加入到IPv6,那时IPv6就变成“海洋”,而IPv4成了“小岛”,最终实现全部迁移到IPv6网络。
        下面介绍几种IPv4向IPv6过渡的方案。
               双协议栈
               双栈机制是处理过渡问题最简单的方式,通过在一台设备上同时运行IPv4和IPv6协议栈使得设备能够处理两种类型的协议。主机根据目的IP地址来决定采用IPv4还是IPv6协议发送或接收数据包。在过渡的初始阶段,所有支持IPv6的主机将同时具有IPv4协议栈。他们能够使用IPv4分组直接和IPv4节点通信,使用IPv6分组直接和IPv6节点通信。双协议栈并不一定要和隧道技术一起使用,但创建隧道一定要有双栈技术的支持。双栈结构如下图所示。
               
               双协议栈结构
               双栈节点有4种工作方式,简单描述如下:
               (1)如果应用程序使用的目的地址是IPv4地址,则使用IPv4协议。
               (2)如果应用程序使用的目的地址是IPv6中的IPv4兼容地址,则同样使用IPv4协议,但此时IPv6封装在IPv4中。
               (3)如果应用程序使用的目的地址是一个非IPv4兼容的IPv6地址,则使用IPv6协议,而且很可能此时要采用隧道等机制来进行路由转发。
               (4)如果应用程序使用域名,则首先解析域名得到IP地址,然后根据地址情况按上面的分类进行相应的处理。
               隧道模式
               随着IPv6的发展,出现了一些被运行IPv4协议的骨干网络所隔离开的局部IPv6网络,为了实现这些IPv6网络之间的通信,必须采用隧道技术。隧道技术提供了一种以现有IPv4路由体系来传递IPv6数据的方法,在两者都具备双栈的节点间,将IPv6分组作为无结构意义的数据,封装在IPv4分组中,IPv4数据报头的“协议”字段设置为41,指示这个分组的净荷是一个IPv6分组,IPv4数据报文的源地址和目的地址分别对应隧道入口和出口的IPv4地址,到了隧道的出口处,再将IPv6报文取出转发给目的站点。封装结构如下图所示。
               
               IPv4封装IPv6数据包
               NAT-PT
               网络地址协议转换(Network Address Translation-Protocol,NAT-PT)网关能够实现IPv4和IPv6协议栈的互相转换,包括网络层协议、传输层协议以及一些应用层协议之间的互相转换,原有的各种协议可以不加改动就能与新的协议互通,但该技术在应用上有一些限制:
               (1)在拓扑结构上要求一次会话中双向数据包的转换都在同一个路由器上完成,因此地址/协议转换方法较适用于只有一个路由器出口的网络;
               (2)一些协议字段在转换时不能完全保持原有的含义。
   题号导航      2013年下半年 网络工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第58题    在手机中做本题