基于P2P在IPv4上实现IPv6高性能互联的方法

文档序号:7621203阅读:100来源:国知局
专利名称:基于P2P在IPv4上实现IPv6高性能互联的方法
技术领域
基于P2P在IPv4上实现IPv6高性能互联的方法属于互联网技术领域,尤其涉及IPv4与IPv6网络互联的隧道技术。
背景技术
IPv4协议存在着地址空间不足的严重缺陷,对于这个问题,传统的解决方法如网络地址转换即NAT等技术虽然可以暂时减缓地址消耗的影响,但是破坏了网络的端到端特性,同时并不能从根本上解决地址分配问题。伴随着近年来P2P应用的兴起,使用者需要唯一确定的IP地址,传统的NAT设备已经不能满足用户的需要。因特网工程任务组即IETF于90年代中期开始进行IPv6研究,与IPv432位的地址空间相比,IPv6128位的空间可以为所有用户分配全球唯一的IP地址,从而提供对端到端应用的良好支持。此外IPv6还能够对安全性、移动性、服务质量等方面提供更好的支持,因此互联网由现有的IPv4过渡到IPv6已经成为网络发展必然的趋势。由于现有的IPv4网络已经形成一定规模,为保护现有设备和投资,网络不可能一次性更替到IPv6,过渡将是一个长期的过程,只有做好IPv4和IPv6网络的融合,才能实现平稳过渡。
具体过渡技术按类型可以分为三种双栈技术、协议转换技术和隧道技术。双栈技术的缺点是不能一次大范围部署,而协议转换技术由于破坏了端到端特性等缺陷已经不被IETF推荐使用,因此,目前使用最广泛的就是隧道技术。如图1(IPv6-in-IPv4隧道),左侧IPv6网络中的数据分组如果需要传递到右侧的IPv6网络中,就需要在左侧双栈路由器处进行IPv6-in-IPv4封装,即将原有的IPv6数据分组作为封装后形成的IPv4分组的有效载荷,同时将封装后的IPv4分组目的地址置为右侧双栈路由器的IPv4地址并转发到IPv4网络中,当封装后的IPv4分组通过IPv4网络到达右侧双栈路由器时,该路由器将该分组解封装,还原成IPv6数据分组并转发到右侧IPv6网络中,从而实现不能直接相连的IPv6网络的互联。
RFC3574、RFC3750、RFC4029、RFC4057中按网络范围的不同将现有网络分为ISP网络(ISP Networks)、3GPP网络(3GPP Networks)、企业网络(Enterprise Networks)和无管理网络(Unmanaged Networks)四种。ISP网络是运营商控制的骨干网络范围,一般使用双栈或纯IPv6技术搭建,而3GPP网络是3G移动方面的标准。
对于无管理网络,即简单的Office/Home网络,一般会使用NAT解决没有全球IPv4地址问题,NAT内部用户可以使用Teredo等IPv6-in-UDP-in-IPv4隧道技术穿越NAT,但隧道配置的复杂性在用户端,不够方便,同时这种技术破坏了原有的IPv4安全模型,容易造成NAT内部信息外泄,因此直接升级网关对内提供IPv6支持是一种更好的选择。由于周围还是IPv4网络,没有直接与IPv6骨干网络的连接,这些升级了网关设备的无管理网络成为了一个个分布在IPv4网络中的IPv6“孤岛”。
对于企业网络,RFC4057中为企业网络过渡提出三种部署方案大范围双栈部署(Wide-Scale Dual-Stack Deployment)、稀疏双栈部署(Sparse Dual-Stack Deployment)和IPv6优势部署(IPv6Dominant Network Deployment),对于第一和第三种方案,如果ISP还没有提供IPv6支持,则企业网络也成为IPv6“孤岛”;对于第二种方案,为了防止企业内部信息泄露,IETF推荐将IPv6接入节点放在企业网络内部,这样,从企业网外部看来,仍然是IPv6“孤岛”。
综上所述,过渡初期,IPv6“孤岛”将大范围存在于现有的IPv4网络中。它们具有以下特点(1)地址结构简单,可以用统一的地址前缀表示;(2)没有直接通往IPv6的链路,一般通过IPv6-in-IPv4隧道接入到IPv6主干网络;按照IPv6地址分配易于汇聚的原则,第一条很容易满足,因此,甚至在ISP网络中,先于Backbone即骨干网升级的客户网也可以看作是IPv6“孤岛”。
另一方面,随着中国下一代互联网示范工程的实施,中国已经开始筹建包括CERNET2在内的几个IPv6测试网络,这些网络均可以看作是IPv6“大岛”,它们之间,以及它们同其他IPv6骨干网络(可以使用双栈或者纯IPv6)之间存在着高速互联,可以认为是一个IPv6“大陆”。
为了让IPv6“孤岛”用户连接到骨干网络,IETF一般推荐使用配置隧道技术解决“孤岛”与IPv6“大陆”之间的连通问题,整个场景如图2,分布在现有IPv4网络中的IPv6“孤岛”通过IPv6-in-IPv4配置隧道接入到IPv6“大陆”中,为了减轻隧道管理负担,可以利用隧道代理即Tunnel Broker等辅助手段进行,但无论使用哪种方法,都将会存在一个或者少数几个IPv6接入节点,负责转发IPv6“孤岛”访问其他IPv6网络的流量。这样,无论是“孤岛”访问IPv6“大陆”内部,还是“孤岛”之间互相访问的流量都需要经过IPv6接入节点转发。另一方面,IPv6“孤岛”大多数由原来的IPv4网络升级形成,原有的应用也会相应的升级支持IPv6,包括各种服务,同时,由于IPv6“大陆”刚刚形成,内部的应用比较少,也就是说业务集中在原有的由IPv4网络升级过来的网络范围中,“孤岛”用户所访问的IPv6网络可能会主要分布在其他“孤岛”的地址范围内。因此,由IPv6接入节点转发的流量中,有很大一部分是通往其他“孤岛”的,这就可能造成IPv6接入节点负担过重,使其成为整个网络结构的瓶颈。那么,如何在上述场景中分流IPv6“孤岛”之间的流量,为IPv6“孤岛”用户提供更好的接入服务就是本发明需要解决的主要问题。

发明内容
本发明的目的在于提供一种在现有IPv4网络基础上,利用P2P技术自动建立IPv6“孤岛”之间的IPv6-in-IPv4隧道的方法,用以分担普通IPv6隧道接入节点流量,提高接入质量。
本发明所提供的方法思路在于所有IPv6“孤岛”的边界网关(IPv4/IPv6双栈路由器或IPv4/IPv6双栈三层交换机)利用现有IPv4网络连接成一个P2P的重叠网络,交互可达信息,从而在每个边界网关上形成一个单向的隧道表;边界网关接收到发往“孤岛”外部的IPv6数据分组后,首先查询隧道表,进行IPv6-in-IPv4封装,查询失败才使用默认隧道转发;而封装后的数据分组经IPv4网络到达隧道目的端后,由目的端的边界网关进行解封装,还原成IPv6分组,并转送到目的端IPv6“孤岛”内部。实现分流IPv6“孤岛”之间流量的功能,如图3。
本发明的特征在于该方法是一种在现有的IPv4网络基础上利用P2P技术自动建立IPv6“孤岛”之间的IPv6-in-IPv4隧道的方法,所述IPv6“孤岛”是指周围是IPv4网络,还没有与IPv6骨干网络连接的简单的Office/Home网络或企业网络,所述隧道建立方法依次含有以下步骤步骤1,所有IPv6“孤岛”的边界网关从ISP处获得IPv6全局地址范围和接入隧道信息;步骤2,步骤1种所述的各IPv6“孤岛”根据步骤1获得的内容设定本IPv6“孤岛”边界网关IPv4地址、IPv6地址和可达的IPv6地址范围,配置默认IPv6接入隧道;步骤3,所有IPv6“孤岛”的边界网关按以下步骤在IPv4网络基础上构成P2P的重叠网络,以便通过该重叠网络交互可达信息,其中包括自己的以及其他节点的地址信息;步骤3.1,注册所述各IPv6“孤岛”边界网关在启动后向注册服务器注册,从该注册服务器获取其他P2P节点信息;步骤3.2,建立邻接关系各IPv6“孤岛”边界网关根据自己的需要从所有其他P2P节点中选取部分节点建立重叠的邻接关系;步骤3.3,交互可达信息从步骤3.2所述的邻接节点处获得所有其他边界网关的可达信息,同时把自己的地址信息通过邻居节点扩散到整个P2P网络;步骤3.4,形成单向隧道表所有IPv6“孤岛”边界网关利用获得的可达信息形成通往其他“孤岛”的隧道表;步骤4,在步骤1所述的IPv6“孤岛”边界网关中,有一个边界网关判定接收到的数据分组是需要转发的数据分组后,根据需要,从下述操作中有选择的进行若所述数据分组是发往“孤岛”外部的IPv6分组时,则所述“孤岛”边界网关查询步骤3获得的隧道表
查询成功,则得到隧道端点信息,再对此IPv6分组进行IPv6-in-IPv4封装,源地址为本地边界网关的IPv4地址,目的地址为该隧道另一端的IPv4地址;查询失败,则使用默认隧道进行IPv6-in-IPv4封装,源地址为边界网关的IPv4地址,目的地址为默认隧道的另一端的IPv4地址;若所属数据分组是IPv4分组时,该“孤岛”边界网关检查是否是IPv4报头后紧跟IPv6报头的情况,即为IPv6-in-IPv4封装分组,若是,则把该数据分组解封装;步骤5,步骤4中所述的“孤岛”边界网关查询双栈路由转发表并转发该步骤4中最终形成的数据分组,完成隧道转发操作。
本发明所提出的在现有IPv4网络基础上,利用P2P技术自动建立IPv6“孤岛”间隧道的方法能够在IPv4/IPv6过渡初期广泛使用,极大地缓解IPv6隧道接入设备(如Tunnel Broker等)的压力,提高了IPv6接入性能。本发明的另一个优势是适合增量部署,即插即用,可以通过逐步升级IPv6“孤岛”边界网管软件来进行推广。因此,本发明即可以通过逐步升级IPv6“孤岛”边界网络设备的软件,也可以通过专门的网络设备来进行推广。本发明已在清华大学与比威网络技术有限公司合作研制的网络设备中得到应用,并计划在CERNET2和中国下一代网络CNGI中推广。


图1.IPv6 in IPv4隧道示意图;图2.IPv4/IPv6过渡初期场景示意图 表示配置隧道;图3.P2P重叠网络方案示意图 表示配置隧道 表示P2P邻居 表示自动隧道 表示注册加入P2P网络Tunnel Table为各个IPv6“孤岛”边界网关的隧道表,记录其他“孤岛”边界网关的IPv4地址及可达的IPv6地址范围;图4.边界网关加入P2P网络过程;图5.边界网关对转发数据的处理过程。
具体实施例方式
在控制层面,注册服务器维护P2P节点信息,提供接入服务。IPv6“孤岛”加入P2P网络的过程如图4所示,需要经过以下几个步骤(1)注册IPv6“孤岛”边界路由器启动以后,向注册服务器注册,从注册服务器获取其他P2P节点信息;(2)建立邻接关系从上述节点中选取部分建立Overlay的邻接关系;(3)交互可达信息从邻居处获得所有其他边界网关的可达信息,同时将自己的地址信息通过邻居扩散到整个P2P网络;(4)形成隧道表利用获得的可达信息形成通往其他IPv6“孤岛”的隧道表。
当P2P网络节点信息变化时,通过P2P网络的更新机制完成信息扩散,及时更新隧道表,保持边界网关隧道信息的有效性。
在数据层面,数据转发过程如图5所示,如果边界网关接收到需要转发到“孤岛”外部的IPv6分组,查询控制层面维护的隧道表,查询成功,则可以得到隧道端点信息,对此IPv6分组进行IPv6-in-IPv4封装,源地址为边界网关IPv4地址,目的地址为隧道另一端IPv4地址;查询失败,则使用默认隧道进行IPv6 in IPv4封装,源地址为边界网关IPv4地址,目的地址为默认隧道另一端IPv4地址;如果边界网关接收到的数据分组是IPv4分组,则检查是否是IPv4报头后紧跟IPv6报头的情况,是则将此分组解封装;经过上述封装/解封装处理后,查询双栈路由表确定下一跳,并转发。本技术发明中的封装机制可以采用RFC2893中所定义的IPv6-in-IPv4的配置隧道分组封装机制。
具体运用实例如下,图3中,假设P2P网络已经包含“IPv6孤岛A”和“IPv6孤岛B”的边界网关Router A和Router B,“IPv6孤岛C”的边界网关Router C启动后,首先连接注册服务器,获得Router A和Router B的IPv4地址信息,选取Router B作为P2P邻居并与之建立邻接关系,从Router B处获得通往2001:250:f001:f002:28ba∷/80和2001:250:f001:f002:20a∷/80的隧道信息,同时将自己可达2001:250:f001:f002:fe30∷/80的隧道信息通过Router B更新给其他P2P节点,从而所有P2P节点都更新了自己通往其他“孤岛”的IPv6-in-IPv4隧道信息。
当Router C接收到目的地址是2001:250:f001:f002:20a∷2005的IPv6数据分组时,首先查询隧道表,得知隧道端点为Router A,然后将该IPv6分组进行IPv6-in-IPv4封装,目的地址处置为Router A的IPv4地址202.112.49.247,源地址处置为Router C的IPv4地址59.66.116.43;将封装后的分组通过双栈网关转发机制转发至IPv4网内;当该封装后的分组到达Router A后,Router A检测倒该IPv4分组是IPv4包头紧跟IPv6包头的情况,即IPv6in IPv4封装分组,则将其解封装,然后通过双栈网关转发机制转发至IPv6“孤岛”内部,最终传送到目的主机。
通过上述P2P网络的维护和更新,所有接入该P2P网络的IPv6“孤岛”边界网关都可以获得并及时更新通往其他“孤岛”的IPv4 in IPv6隧道信息,“孤岛”之间的流量优先使用这些隧道,从而分流了IPv6“孤岛”之间的流量,大大缓解了默认接入隧道的压力。由此可见,本发明达到了预期目的。
权利要求
1.基于P2P在IPv4上实现IPv6高性能互联的方法其特征在于该方法是一种在现有的IPv4网络基础上利用P2P技术自动建立IPv6“孤岛”之间的IPv6-in-IPv4隧道的方法,所述IPv6“孤岛”是指周围还是IPv4网络,还没有与IPv6骨干网络连接的简单的Office/Home网络或企业网络,所述隧道建立方法依次含有以下步骤步骤1,所有IPv6“孤岛”的边界网关从ISP处获得IPv6全局地址范围和接入隧道信息;步骤2,步骤1种所述的各IPv6“孤岛”根据步骤1获得的内容设定本IPv6“孤岛”边界网关IPv4地址、IPv6地址和可达的IPv6地址范围,配置默认IPv6接入隧道;步骤3,所有IPv6“孤岛”的边界网关按以下步骤在IPv4网络基础上构成P2P的重叠网络,以便通过该重叠网络交互可达信息,其中包括自己的以及其他节点的地址信息;步骤3.1,注册所述各IPv6“孤岛”边界网关在启动后向注册服务器注册,从该注册服务器获取其他P2P节点信息;步骤3.2,建立邻接关系各IPv6“孤岛”边界网关根据自己的需要从所有其他P2P节点中选取部分节点建立重叠的邻接关系;步骤3.3,交互可达信息从步骤3.2所述的邻接节点处获得所有其他边界网关的可达信息,同时把自己的地址信息通过邻居节点扩散到整个P2P网络;步骤3.4,形成单向隧道表所有IPv6“孤岛”边界网关利用获得的可达信息形成通往其他“孤岛”的隧道表;步骤4,在步骤1所述的IPv6“孤岛”边界网关中,有一个边界网关判定接收到的数据分组是需要转发的数据分组后,根据需要,从下述操作中有选择的进行若所述数据分组是发往“孤岛”外部的IPv6分组时,则所述“孤岛”边界网关查询步骤3获得的隧道表查询成功,则得到隧道端点信息,再对此IPv6分组进行IPv6-in-IPv4封装,源地址为本地边界网关的IPv4地址,目的地址为该隧道另一端的IPv4地址;查询失败,则使用默认隧道进行IPv6-in-IPv4封装,源地址为边界网关的IPv4地址,目的地址为默认隧道的另一端的IPv4地址;若所属数据分组是IPv4分组时,该“孤岛”边界网关检查是否是IPv4报头后紧跟IPv6报头的情况,即为IPv6-in-IPv4封装分组,若是,则把该数据分组解封装;步骤5,步骤4中所述的“孤岛”边界网关查询双栈路由转发表并转发该步骤4中最终形成的数据分组,完成隧道转发操作。
全文摘要
本发明属于网络互联技术,IPv4/IPv6过渡初期形成的IPv6“孤岛”将大量的存在于IPv4网络中,一般通过IPv6配置隧道或隧道代理接入到IPv6网络,“孤岛”间的流量将占用相当大一部分IPv6接入节点的转发流量,形成网络瓶颈。本发明的特征在于将这些IPv6“孤岛”的边界网关在IPv4网络上连成一个P2P的重叠网络,通过该网络交互可达信息,自动建立IPv6“孤岛”间的IPv6-in-IPv4隧道;边界网关接收到发往“孤岛”外部的IPv6数据分组时,优先选用“孤岛”间的隧道进行转发。该方法能够缓解IPv6接入节点的压力,同时配置简单、即插即用,适合增量部署,可以通过逐步升级IPv6“孤岛”边界网关软件来进行推广。
文档编号H04L12/66GK1848802SQ20051008698
公开日2006年10月18日 申请日期2005年11月25日 优先权日2005年11月25日
发明者毕军, 章淼, 吴建平, 冷晓翔 申请人:清华大学, 比威网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1