当前位置:首页 > 心得体会 > 多穴技术:IPv6生力军_
 

多穴技术:IPv6生力军_

发布时间:2019-03-14 03:47:45 影响了:

  互联网多穴技术有助于提高接入网络的容错性和优化负载均衡,通过与移动IPv6等新技术的密切结合,多穴技术在IPv6网络中有着更大的应用前景和空间。   近年来,宽带接入业务快速增长,尤其是Cable TV和ADSL技术蓬勃发展,一种替代基于帧中继或ISDN专线业务的、能够连接多个不同ISP(互联网服务提供商)的廉价接入方式悄然兴起,这就是所谓的互联网多穴技术(Multi-homing)。采用多穴技术可以提高接入网络的容错性、减小传输延迟,有助于执行负载均衡和采取灵活的路由策略。
  随着采用多穴技术的网络站点的大量增长,多穴地址块已经被引入到全球路由表中。这样做虽然提高了网络的容错能力并有利于实现负载均衡,但是也引起了全球路由表的膨胀和震荡,给ISP之间的路由系统造成了相当大的压力。可以预计,随着互联网中采用多穴技术的网络站点的持续增长,这种情况会日趋严重。
  在目前的IPv4网络中,多穴已经成为一种广泛使用的基本网络服务。互联网核心协议的下一代版本IPv6协议做了重要的改进,在可扩展性、移动性、安全性等方面给互联网带来了新的特点。IPv6协议给多穴技术注入了新的内涵和活力。通过与移动IPv6以及无状态地址配置等新技术的密切结合,多穴技术在IPv6网络中有着更大的应用前景和空间。
  
  均衡网络负载
  
  多穴技术本质上是单一网络或主机连接到多个IP服务提供者的技术。对多穴技术体系结构的拓扑描述如图1所示。
  在这个结构图中,主机A通过两台边界路由器连接了两个上游ISP(ISP1、ISP2),并通过这两个ISP获得互联网的连通性,从而实现本地主机A与远端主机B交换IP数据。在这种拓扑结构中,主机A在多穴站点中拥有多于一个的路径到达主机B,当网络的连通性发生变化或执行某种策略时,多穴主机A能够在两条不同的路径间切换。很明显,这种结构通过增加主机和站点的冗余程度提高了整个系统的容错性能。同时,根据网络流量状况,通过在不同路径之间的切换,达到均衡网络负载的目的。
  值得说明的是,这个结构图展示的只是基本的多穴结构。在实际网络中,多穴站点连接的外部ISP可能不只2个,在站点不能与所有ISP统一接口的情况下,多穴主机和站点会有多种连接方式。与多穴节点通信的远端主机可能同时也是多穴节点,这样双方通信的方式会复杂化。另外,多穴主机或站点不使用上游ISP分发的地址,而是使用第三方提供的地址空间,使得路径选择上受到路由策略限制。但是,这里的体系结构图已经描述了多穴技术结构的主要方面。
  
  身份标识与位置标识双识别
  
  将身份标识和位置标识功能分离的方法对于在IPv6网络中实现多穴技术是非常重要的。而在传统的IP协议结构中,往往假定传输层的端点身份标识和IP层的标识(即IP地址)是同一个。
  所谓身份标识功能是指在整个应用会话阶段能够保持稳定的多穴主机的标识,这个标识能够惟一表示多穴主机与远端主机之间的一个应用级会话通信。所谓位置标识功能是指在会话过程中可以改变的、标识主机与上游ISP位置连接状态的一种标志,当多穴主机因为链路失效、负载均衡等原因需要切换传输路径时,该位置标识将更新。
  不论多穴技术以什么样的方式实现,都要求多穴主机或站点在切换时保证正在进行的上层会话不能中断,也就是保证会话的自愈性。
  会话拥有自愈能力表明:如果一个本地多穴主机和远程主机使用“路径A”建立一个应用会话,当这条路径失败时,应用会话应该被映射到“路径B”,而不需要重建应用级的会话连接。换句话说,应用级会话不需要觉察到IP层发生了改变,已建立的会话应该在网络级可达性发生动态变化时生存下来。为了达到以上目的,需要将多穴主机的身份标识功能和位置标识功能区分开来。
  
  四种IPv6多穴解决方案
  
  ● 使用IPv4中基于路由的方法
  这种方法将地址作为主机身份标识和转发位置标识的双重标识,由ISP将本地站点地址前缀作为域间路由系统的单独一个路由项进行全球通告。当在本地站点和某个ISP之间的连接中断时,路由协议通常会确保指向这条路径的通告被路由系统收回。那些已经选择这条路径作为最佳路由的远端站点将会选择备份路径作为最佳路径。在路径恢复的时候,这条路径在域间路由系统中被重新通告。远端站点将根据这个重新通告的可达信息进一步选择最佳路径。本地或远端主机都不需要有多个地址,也不需要任何形式的地址选择,路由系统决定转发和返回方向的路径。
  这种解决方案最大的问题仍在于可扩展性。因为每个多穴站点在全球域间路由表中都要增加一个条目,也就是有多少多穴站点就必须在域间路由系统中增加多少个惟一的前缀;这反过来又会增加网络中域间路由系统的存储和计算负担。这种方法显然无法扩展用以支持大量的多穴站点,尤其在目前的IPv4互联网中路由器已经成为网络传输处理瓶颈的情况下。
  
  
  和在IPv4网络中一样,采用这种方法不需要对IPv6结构进行修改。由于IPv6地址结构采用了严格的层次化设计思想,路由聚合能力更强,因此这种多穴实现方案在IPv6网络中会有比在IPv4网络中更好的可扩展性。
  ● 使用移动IPv6(MIPv6)解决方案
  由于多穴主机或站点在路径切换时具有明显的“移动”特点,因此,采用移动IPv6技术实现多穴是一种现实的选择。在移动IPv6中使用一个称为家乡地址(Home Address ,HoA)的标识符作为移动节点MN(Mobile Node)的身份标识符。这个标识符被动态映射到一个经过验证的合法位置标识符――转交地址(Care-of Address, or CoA),这个地址表示了目前该端系统与ISP的位置连接点。
  当MN在家乡网络时,HoA既用于位置标识符,也用于身份标识符。当MN不在家乡网络时,HoA用于身份标识,CoA则用于位置标识。在家乡网络中,通过放置一个中继代理“家乡代理”(Home Agent),将发送到目的地址为HoA的数据转发到当前位置(由CoA标识)。每次MN移动后,通过发送绑定更新信息(Binding Update (BU) messages)告诉家乡代理它的新CoA,以及已建立连接的情况。绑定更新信息BU包含了HoA和当前CoA之间的映射信息。
  在采用上述移动IPv6实现多穴技术的方案中,多穴主机或站点相当于MN,多穴主机或站点外的远端主机则相当于CN。当一个在多穴主机和远端主机的通信被建立时,用于发起通信的地址作为HoA,只要没有路径切换发生,通信继续使用这个地址。如果发生路径切换,并且HoA不可达,多穴节点的替代地址才被用于CoA。在这种情况下,多穴节点发送BU信息给远端主机,通知新的CoA ,因此已建立的通信能通过使用替代地址CoA保留。
  值得注意的是,由于在移动IPv6中,绑定更新的生命周期不能超过7分钟,因此在HoA和新CoA之间的绑定在7分钟后就会过期,然后HoA将会重新用于通信。但是由于在多穴路径切换时HoA已经不可达,通信将会中断。
  ● 变更已有的网络协议栈结构
  这种方案可分为两种方式进行。
  一种方式是设计新的网络协议单元,然后将这种协议单元插入已有的协议栈中(见图2)。新协议栈单元负责建立与远端主机的同步状态,即在会话持续期内交换位置标识符。
  本地身份标识符和位置标识符之间映射的改变将会引起数据包头中源地址的改变。远端主机在收到带有新位置标识符的数据包后首先将把这个位置标识符作为目前会话的一部分,当满足某些触发条件时,使用这个改变的位置标识符作为随后发送的数据包的目的位置标识符(例如目的IP地址)。目前的网络协议栈中有两种可能的位置插入新协议栈单元: 一个是在传输层协议的上层,应用级协议的API可以提供接口给新协议单元,这个新单元也负责将位置标识符传递给传输层的API;另一个是插入传输层和IP层中间,这样,传输层使用端系统的身份标识符发起并管理会话,IP层使用位置标识符进行网络传输,从身份标识符到位置标识符的映射则由新单元完成。
  另一种是对已有网络协议栈进行修改,以获得对多穴技术的支持。例如修改多穴节点的传输层或IP层协议栈。在传输层,系统通过将一套位置标识符和单个会话绑定,然后用这套位置标识符与远端传输层实体通信。这种方法允许本地传输层实体在保持上层会话一致性的情况下仍能在本地和远端系统的不同位置标识符之间切换。在IP层,系统通过动态重写IP包头也能实现。它将进入的数据包头中源、目的位置标识符映射为相应的端系统身份标识符,并把发送出去的数据包做相反的映射。各种数据包头的转换、封装技术都支持这种方法,原始身份标识符仍保存在数据包中,在数据包送往IP协议栈时,系统为外部加上一个位置标识符。
  所有这些修改都是为了在IPv6网络中实施多穴技术时不增加对IPv6路由系统的负担。这种修改同时意味着在传统端到端的体系结构模型中,IP地址在端系统中所表示的语意发生了根本的变化。这种在协议结构中的变化允许传输层会话使用一个固定不变的端系统标识符发起并维护会话,同时允许网络层动态地改变路径和相关端系统的位置标识符,而不会对会话的运行产生任何影响。
  ● 修改边界路由器和本地主机的交互机制
  在前三种解决方法中,主机主动参与了多穴技术的实现,而且使用修改过的协议支持这种多穴功能。在第四种方法中,当数据包从本地多穴站点传输到一个特定的ISP时,系统使用边界路由器执行某种形式的包头操作。本地站点的路由系统将根据远端主机位置标识符选择到目的主机的最佳路径。本地主机将身份标识符作为数据包的源地址才发送给边界路由器,边界路由器重写数据包的源地址字段,代之以相应的位置标识符。这个位置标识符也用于远端主机返回数据的目的地址。为了保证会话的一致性,边界路由器需要对进入的数据采用相反的转换,即目的位置标识符要重新映射回主机的身份标识符。
  多穴节点的路径切换需要一定的触发条件,这些条件包括传输层的会话超时或握手协议失败、IP层路由失效、数据链路层失效等。
  安全问题不容忽视
  由于多穴节点能同时拥有多个标识符,它们能在不同路径间切换(即具有某种程度的移动性),系统能对传输中的数据报头修改重写,这些都导致安全漏洞的出现。传统的重定向攻击、分布式拒绝服务攻击DDoS、等在IPv6中都有可能发生,后果将比在IPV4网络中更难预料。所有这些问题都需要对多穴解决方案建立相应的信任模型和加入正确的保护机制。
  另外,与多穴节点身份标识和位置标识分离相关的问题也是多穴技术特有的问题。在传统单穴节点中,由于身份标识和位置标识是由IP地址统一表示的,所以不存在与之相关的问题。但在多穴情况下,通信双方需要建立信令机制,以便保持上层会话的状态同步。同时,同一个节点的身份标识和位置标识之间需要稳定和一致的映射关系。
  在所有解决方案中,都涉及到映射关系由协议栈的哪个部分保留、这些关系如何维护和解除、是否需要修改多个协议等问题。
  多穴技术在实际构建时需要考虑以下因素。首先要确定链路可用性:一种方法是被动监控,它基本不需要消耗网络资源,但精度不高;另一种方法是主动刺探,它比较灵活、精度高,但需要消耗网络资源。其次要考虑不同链路的流量分配问题,要根据链路的延迟、吞吐量和可靠性等特性决策。
  链接
  IPv4网络中的多穴技术
  目前IPv4网络中多穴技术的实现方式主要有三种。
  第一种是采用域间路由协议BGP方式来实现,也就是将包含多穴网络站点或主机前缀地址的路由信息通告给两个或更多个上游ISP。因为互联网可以根据通告的路由找到返回这个多穴节点的多条路径, 因此这种方式的数据流向具有不对称性。
  采用BGP方式的多穴技术有两种寻址方式。一种是直接从互联网地址注册与分配机构RIR(Regional Internet Registry)得到独立的地址块,这些地址块与所连ISP地址无关。为了得到连通性,ISP必须将这些独立地址通过路由通告形式向互联网扩散出去。由于在全球范围内,IPv4地址分配事实上的不连续性,所以这种方式对IPv4网络是适合的。由于每个使用独立地址的多穴网络站点必须将其地址前缀通告到全球路由系统中,因此对路由系统引入了额外的负担。另外,由于计算路由聚合时间增加,整个路由的稳定性也会下降。因此,广泛发展多穴技术会对互联网的扩展性带来某些不稳定的因素。
  随着RIR地址管理策略越来越严格,不是所有的RIR都愿意将独立的地址块分给多穴节点,因此许多想采用多穴技术的网络节点无法得到独立地址。在这种情况下,使用它所连接的ISP提供的地址成为多穴技术寻址的新选择。在这种寻址方式下,保证多穴站点连通性的惟一方法就是由ISP向互联网通告包含了这些地址的路由信息。如果多穴节点不再保持与某个ISP之间的连接性,这个节点必须重新从连接的其他ISP的地址块中获取新地址。
  第二种是采用多个连接到单个ISP的多连接站点方式。这种方式不需要用BGP与相关ISP交换路由信息,因此对全球路由表的影响与普通的单个站点连接时一样,没有额外负担。然而,由于不需要BGP路由协议交换路由信息,这种方式无法在多穴网络节点与ISP之间采用某些流量工程的技术。另外,上连的ISP会成为这个多连接站点的单点失效点。
  第三种是基于NAT(网络地址转换)的多穴方式。这种方式使用多穴站点连接的上游ISP分配的地址,而地址转换器NAT内则使用私有地址。这种方式实际上是单穴连接到多个ISP,因此对每个ISP而言,不需要做比非多穴用户更多的工作。这种方法适应范围很广,从家庭网络到企业网络都能采用,而且不需要独立的地址,对互联网路由系统也没有造成额外的负担。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3