在因特网协议版本6域中接收来自因特网协议版本4域的数据分组的方法、以及相关联的...的制作方法

文档序号:7736158阅读:146来源:国知局
专利名称:在因特网协议版本6域中接收来自因特网协议版本4域的数据分组的方法、以及相关联的 ...的制作方法
技术领域
本发明领域是电信网络的领域,具体地,是用于从由源地址标识的源设备向由目 的地址标识的目的设备传输数据分组的IP电信网络。
背景技术
这种电信网络组合了多个设备、连接、和功能,所述多个设备、连接、和功能专用于 传输来自连接到该网络的终端设备的数据。具体地,所述传输功能可以通过激活路由和传 送协议来实现。由运营商管辖的电信网络也称作区域。IP连通性服务提供商部署了用于使得能够联系终端设备用户的专用架构。服务提 供商使用运营商的电信网络来管理对IP连通性服务的接入,以将由终端设备发送的数据 分组路由到它们的最终目的地。在一些环境中,所述服务提供商也是电信网络运营商。这种服务提供商将IP地址(一般地,公共IP地址)分配到置于家庭网络与公共 网络或运营商的IP域之间的家庭网关。家庭网关一般将私有IP地址分配到它的家庭网络 的终端。下面,表述“家庭网关”是指用于将私有网络和由服务提供商运营的网络进行互连 的任何设备,该私有网络是家庭网络或商业网络。下面,由服务提供商运营的网络也称作公共网络。在位于其私有家庭网络的终端与运营商的IP域之间的数据分组路径上的情况 下,如在现有技术中已知的,家庭网关包括以下表格,其中它将与这个终端相关联的私有IP 地址和端口与IPv4类型的公共IP地址相关联,并与公共网络上同一网关的端口相关联。本领域技术人员将此表格已知为NAT(网络地址翻译)表。存在不同类型的网络 地址翻译(例如,对称的、完全圆锥体的(Full Cone)、端口受限的)。在IP服务提供商业界,IPv4公共地址将要用尽是公认的。为了避免此问题,业 界在过去已采取了以下行动,该行动导致了已知为因特网协议版本6(IPv6)的新协议的定 义。此新版本的因特网协议提供了大量IP地址和用于供应改善性能的分层路由机制。提 供商对于近来源自于因特网工程任务组(IETF)的警告(特别地,在向全球路由操作工作组 (GROW)提出的有关因特网号码分配管理机构(IANA)到2010年底会用尽IPv4地址的风险 的报告中的警告)并非是漠不关心的。然而,在实践中,运营商由于与管理转变和移植的复杂性关联的财政、战略和技术 的原因而至今尚未广泛采纳IPv6协议的此解决方案。为了限制用于向客户的安装基数(installed base)提供IP连通性服务所必须的 IPv4公共地址的数目,已经提出并实现了已知为双NAT (Double NAT)或运营商NAT的解决 方案。它需要在运营商的电信网络内激活NAT功能,使得家庭网关在它们的外出NAT表中 使用私有地址(而不是公共地址)。因而,运营商NAT功能将家庭网关的私有地址翻译为公 共地址,这使得服务提供商能够节省不可忽略数目的提供IP连通性服务所需的IPv4公共地址。现有技术的缺点运营商NAT解决方案具有以下缺点,包括·使IP数据分组处理更加复杂;因为二级地址翻译的引入,所以必须将数据分组 修改两次;·用于对传统的应用级网关(ALG)信令协议(诸如,域名系统(DNS)协议、文件传 输协议(FTP)、和会话发起协议(SIP))的实现进行适配的必要性。以SIP为例,为了将家庭 网关的NAT表保持为最新,设立和维持基于IP传送语音(voice over IP)会话需要经由重 新注册请求来在用户终端和公共网络之间频繁地交换信令,使得NAT会话维持有效;在双 NAT的情况下,还必须在用于主管(host)运营商NAT功能的设备中提供这样的机制;此外, 必须向SIP应用传达正实际用于该终端的公共地址和公共端口 ;·提供了劣化IP连通性服务的公共电信网络运营商仅仅是可悲叹的,具体地这是 因为在运营商NAT中不支持诸如端口转发和DynDNS之类的功能。更有甚者,这样的解决方案不能阻止IPv4地址用尽的现象,而是仅仅可以延缓该 现象。因此,必须在中期准备到IPv6的转换。这样的转换必然将导致转变时期,在该转变 时期期间,IPv6域将不得不与IPv4域进行互连。在当前网络中并不存在规定来用于高效、 最优、且无需在用于提供IP连通性服务的网络节点中附加状态的实例化的情况下促进这 样的互连。

发明内容
本发明借助于一种用于在IPv6域中接收来自IPv4域的数据分组的方法来对上面 情况进行改善。根据本发明,所述数据分组包括IPv4目的地址和目的端口号,并且所述方 法包括以下步骤·通过将运营商前缀、所述IPv4地址、和目的端口号进行级联来构造IPv6目的地 址;·根据IPv6构造目的地址和所接收到的IPv4数据分组来生成IPv6数据分组;以 及 使用该IPv6构造目的地址来对所生成的IPv6数据分组进行路由,所述构造地址 属于能够向IPv6域与IPv4目的地址的互连设备进行路由的IPv6地址的范围。因而,本发明基于一种全新和独创的用于在IPv6域中对来自IPv4的数据分组进 行路由的方式。当IPv4数据分组进入IPv6域时,本发明使得IPv6域接入设备能够根据 IPv4目的地址和目的端口来构造能够在IPv6域中路由的IPv6目的地址,并且能够生成包 含了构造目的地址的IPv6数据分组。此IPv6构造目的地址能够在IPv6域中进行路由,并 且包含由IPv4数据分组携带的有效载荷。清楚地,本发明需要目的终端具有IPv4地址,根据该IPv4地址可以构造IPv6目 的地址。本发明还提供了一种用于从IPv6域向IPv4目的地址发送数据分组的方法。根据 本发明,所述分组包括通过将运营商前缀、IPv4目的地址、和目的端口号进行级联而构造的 该分组的IPv6目的地址,并且所述方法在接收到该数据分组时执行以下步骤
·从该IPv6目的地址中提取该IPv4目的地址和该目的端口号; 根据IPv6数据分组来生成IPv4数据分组,所述分组包括所述IPv4目的地址、所 述目的端口号;以及·将该IPv4数据分组路由到其IPv4目的地。在IPv6域中,将该IPv6数据分组一直路由到用于互连IPv6域和IPv4域的设备。 本发明的方法根据此IPv6数据分组来生成IPv4域将能够路由到其目的地的IPv4数据分组。利用用于根据IPv4地址来构造IPv6地址的本发明的机制,可能检索该IPv6构造 地址所基于的IPv4地址。因此,不必存储用于将IPv4地址翻译到IPv6地址的表格、或者 不必在用于互连IPv4和IPv6域的设备中维持与会话相关的状态。因而,本发明使得可能 经由用于将IPv6域与IPv4域进行互连的设备、按照IPv6数据分组的形式来对IPv4数据 分组进行路由,并且可能使用在由到该分组的目的地的所述互连设备接收到的该分组中包 含的有效载荷来将该分组路由到其最终的目的地,而无需求助于不易于维持的状态表。作为这些操作的结果,用于接收和发送数据分组的本发明的方法采用简单的用于 互连IPv4和IPv6域的方法。通过强加IPv6协议的使用以对IPv4数据进行路由,它们还 促成从IPv4域到IPv6协议的逐渐移植。要注意,根据IPv4数据分组来构造IPv6数据分组可在于封装或协议翻译。相反 地,根据IPv6数据分组来生成IPv4数据分组可以取决于被采用以根据IPv4数据分组来构 造IPv6数据分组(封装或协议翻译)的方法、通过分组解封装或协议翻译来实行。用于接收数据分组的本发明的方法有利地由一种用于在IPv6域中接收来自IPv4 域的数据分组的装置来使用,其特征在于,所述数据分组包括IPv4目的地址和IPv4目的端 口号,并且所述装置包括·用于通过将运营商前缀、所述IPv4地址、和目的端口号进行级联来构造IPv6目 的地址的部件; 用于根据IPv6构造目的地址和所接收到的IPv4数据分组来生成IPv6数据分组 的部件;以及 用于使用该IPv6构造目的地址来在IPv6域中对所生成的IPv6数据分组进行路 由的部件,所述构造地址属于能够向IPv6域与IPv4目的地址的互连设备进行路由的IPv6 地址的范围。用于发送数据分组的本发明的方法有利地由一种用于从IPv6域向IPv4域发送数 据分组的装置来使用,其特征在于,所述分组包括通过将运营商前缀、IPv4目的地址、和目 的端口号进行级联而构造的该分组的IPv6目的地址,所述装置在接收到该数据分组时利 用·用于从该IPv6目的地址中提取该IPv4目的地址和该端口号的部件;·用于根据IPv6数据分组来生成IPv4数据分组的部件,所述分组包括所述IPv4 目的地址和所述目的端口号;以及·用于将该IPv4数据分组路由到其IPv4目的地的部件。本发明还提供了到IPv6域的接入设备,该接入设备包括与至少一个IPv4域的接 口。根据本发明,这种设备包括
·用于在IPv6域中接收来自IPv4域的数据分组的、根据本发明的装置;以及·用于从IPv6域向IPv4域发送数据分组的、根据本发明的装置。因此,这种接入设备互连它所属的IPv6域和邻接的IPv4域。该邻接的IPv4域可 以是由运营商管理的公共网络或者私有网络(家庭网络或商业网络)。要注意,假如此接入 设备具有IPv6与IPv4域之间的网络接口,则它可以是任何类型的网络设备。具体地,它可 以是诸如个人计算机之类的用户终端。根据本发明的一方面,该IPv4域是公共网络,并且所述接入设备包括第一部件, 用于向IPv4域公告连接到IPv6域的网络设备的IPv4地址;以及第二部件,用于在IPv6域 中公告根据IPv4域的IPv4地址而构造的IPv6地址。该接入设备是IPv4公共域接入节点。该IPv4公共域接入节点所广播的公告向 其域的其他设备并且向IPv4域接入节点指示出必须向它发送包括了所公告地址的数据分组。根据本发明的另一方面,该IPv4域是私有网络,并且该接入设备是适于将私有网 络的用户终端连接到IPv6域的家庭网关。私有网络指的是任何类型的家庭或商业网络。本发明的家庭网关必然是双堆栈网 关,这意味着它能够实现IPv4协议和IPv6协议两者。根据本发明,该网关可以从其私有网 络接收IPv4数据分组并使用IPv6协议来在IPv6域中对它们进行路由,并且还将从IPv6 域接收到的数据分组发送到其IPv4私有网络的终端。根据本发明的另一方面,这样的家庭网关包括用于获得IPv4地址、授权端口号 的范围、和授权IPv6地址的范围的部件,所述IPv6地址的范围通过将运营商前缀、所述 IPv4地址、和授权IPv4端口号的范围进行级联来构造。根据本发明,该家庭网关具有以下IPv6地址的范围,该家庭网关可以使用该IPv6 地址的范围,以根据从其私有网络的用户终端接收到的数据分组来生成IPv6数据分组。相 反地,该家庭网关从IPv6域接收包括了属于所述地址范围的IPv6构造目的地址的IPv6数 据分组,并且将该家庭网关根据所接收的IPv6分组而生成的IPv4数据分组路由到与该分 组的目的端口号对应的用户终端。在本发明的一个具体实现中,通过计算机程序指令来确定该用于发送和接收数据 分组的方法的步骤。结果,本发明还提供了一种信息介质上的计算机程序,适于在发送、接收或路由装 置中、或更一般地在计算机中执行,此程序包括用于执行如上所述的发送、接收或路由方法 的步骤的指令。此程序可以使用任何编程语言,并且可以采取源代码、目标代码、或介于源代码与 目标代码之间的中间代码的形式(诸如,部分编译形式),或采取任何其他所期望的形式。本发明还提供了一种包含如上所提到的计算机程序的指令的计算机可读信息介 质。该信息介质可以是能够存储该程序的任何实体或装置。例如,该介质可以包括诸 如R0M(例如,CD ROM或微电子电路ROM)之类的存储部件、或者例如软盘或硬盘的磁存储 部件。而且,该信息介质可以是诸如电信号或光信号之类的可传送介质,其可以经由电缆或光缆、通过无线电或通过其他手段而进行路由。具体地,可以在因特网类型的网络上下 载本发明的程序。可替换地,该信息介质可以是其中合并了该程序的集成电路,该电路适于执行正 在讨论的所述方法或适于使用在该方法的执行中。


—旦阅读了仅仅作为说明性和非限制性示例而提供的本发明的一个具体实现的 以下描述、以及附图,本发明的其他优点和特征就变得更加清楚明显,其中·图1概略地示出了根据本发明的互连的IPv6域和IPv4域;·图2示出了根据本发明的构造的IPv6地址前缀的结构;·图3概略地示出了用于在IPv6域中接收来自IPv4域的数据分组的本发明方法 的步骤;·图4示出了根据本发明的根据IPv4地址和目的端口构造的IPv6地址的结构;·图5概略地示出了用于从IPv6域向IPv4目的地址发送数据分组的本发明方法 的步骤;·图6a概略地示出了用于在IPv6域中从IPv4域进行接收的本发明装置的结构; 以及 图6b概略地示出了用于从IPv6域向IPv4目的地址进行发送的本发明装置的结 构。
具体实施例方式本发明的一般原理依赖于根据IPv4地址、预定的运营商前缀和端口号来构造 IPv6地址。这使得能够对进入IPv6域的IPv4分组和离开IPv6域以去往IPv4域的IPv6 分组进行变换,而不必在到IPv6域的接入节点中维持IPv4和IPv6地址之间对应关系的表格。将记起,与4个字节(32个比特)的IPv4地址相比,IPv6地址包括16个字节(1 个比特)。因此,与IPv4地址的数目相比,存在极大的潜在数目的IPv6地址。IPv6地址具 有两个部分·左手部分(前缀),用于标识该域的子网;·右手部分,用于标识连接到该子网的机器。向子网分配的最长前缀一般是“/64”前缀,即包含用于标识该子网的64个比特。 然后,将该地址的右手64个比特用于标识属于该子网的具体机器。更短的前缀(例如, “/56”乃至“/48”)使得能够标识更大的子网,它们自身经常包括“/64”子网。不过,在 IPv6标准中并没有禁止使用比“/64”更长的前缀,并因此,可能构思例如用于标识可以包 括4096台机器的子网的“/116”前缀。要注意,对于比“/64”更长的前缀的唯一限制仅仅在于,对应子网后面的机器将不 能够使用在文献RFC M62中描述的自动配置机制。这个机制使得知道其第2级地址(例 如,其MAC以太网地址)的机器能够在某些条件下独自地配置其IPv6地址的右手64个比 特,使用精确算法而从其中取得该机器的第二级地址。然而,此自动配置机制并不是强制性的,并且其他机制可能是优选的,例如与尤其使得可能从DHCPv6服务器中获得IPv6地址的 DHCPv6协议(参见RFC 3315)对应的机制。现在从简单的IPv6机器转到IPv6路由器(例如,IPv6家庭网关),已知的是,这 样的设备必须具有一个或多个IPv6前缀,该IPv6前缀用于表现该设备对其分组进行路由 的子网。因此,IPv6路由器必须配置有一个或多个前缀。DHCPv6协议的扩展使得需要一个或多个IPv6前缀的路由器(例如,家庭网关)能 够从能够委派(delegate)前缀的设备(典型地,上游路由器)请求所述IPv6前缀。此扩 展被描述在RFC 3633中(用于动态主机配置协议(DCHP)版本6的IPv6前缀选项),并且 此扩展在用于传播所委派的一个或多个前缀的DHCPv6消息中指定用于前缀委派选项的身 份关联性。一旦请求路由器已经被委派了一个或多个IPv6前缀,它就对去往或来自以下机 器的所有IPv6分组进行路由,该机器的地址登记在该路由器所管理的一个或多个前缀中。下面,参考图1来描述IPv6域1,该IPv6域1包括到IPv4域3的IPv6/IPv4接入 节点40、和适于对去往或来自连接到IPv6域1的家庭网关20的数据分组进行路由的接入 路由器30。这种网关管辖与终端21和22连接的私有家庭网络2。在本发明的情境中,考虑双堆栈(DS)家庭网关,即具有激活的IPv4和IPv6协议 堆栈两者的家庭网关。相应地,这样的网关仅仅能够处理(具体地,发送和接收)IPv4或 IPv6数据分组。终端21和22可以是双堆栈(IPv4和IPv6)或者单版本IPv6 (或纯IPv6)终端。 下面,描述了本发明如何使得能够进行用于IPv6终端的IPv6域与至少一个IPv4域的互连。考虑以下“混合”环境 将由IPv4域3的用户终端发送的进入IPv4数据分组路由到与IPv6域1连接的 网关20的家庭网络2的用户终端21、22 ;以及·将由该网关的IPv4私有域2的用户终端21、22发送的进入IPv4数据分组路由 到IPv4域3的用户终端。由于发送纯IPv6或纯IPv4分组的细节为本领域技术人员所已知,所以这里没有 更详细地描述它们。为了能够连接到IPv6域或网络,该家庭网关20具有由连通性服务提供商提供的 IP连通性元素。然而,要注意的是,本发明不限于经由家庭网关来接入IP连通性服务(例如,因特 网或内联网),而是也适用于其他因特网或内联网网络接入情境中的用户终端。一个示例是 从移动网络的简单移动终端或者从可以用作网关的复杂移动终端接入,该复杂移动终端例 如经由蓝牙(Bluetooth)而与其局域网中其他终端通信。根据本发明,家庭网关20具有以下IP连通性元素 下面指定为“@IPv4”的标准IPv4地址;如果该网关在其家庭网络中主管纯IPv6 客户终端,则将此IPv4地址称作“虚拟(dummy) ”地址,这是因为该网关不使用它来发送/ 接收IP业务; 授权端□号的范围(ports_pattern/length_of_unvariable);· IPv6 构造地址前缀(IPv6_prefix_ports_range);以及
·固有(native) IPv6地址前缀(IPv6_prefix_native);然而,此第二前缀不是强 制的;IPv6构造前缀自己就是足够的。iIPv4> IPv6_prefix_ports_range 禾口 IPv6_prefix一native白勺 IPv4 禾口 IPv6情境中的标准信息元素。根据本发明,信息元素IPv6_pref ix_ports_range本征地包含元素@IPv4和 ports_pattern/length_of_urivariable0在本发明的一个实现中,IPv4地址@IPv4是由IPv6域1的多个家庭网关共享的 地址shared@IPV4,并且用于家庭网关20的授权端口号的范围是为这个网关所保留的端口 号的范围。清楚地,在家庭网关之间共享公共地址Shared@IPV4使得可能节省所使用IPv4地 址的数目并且延缓用尽地址的现象。而且,它的使用通过用于互连IPv4域和IPv6域的需 要而证明是有效的。此互连一般借助于表现地址来实行。如果IPv6客户的安装基数大,则 需要许多IPv4表现地址。共享同一地址Shared@IPV4的各个家庭网关通过它们所使用的端口号来唯一地 标识,这是由于它们中的每一个都具有邻接端口号的范围的优点(虽然该范围的确很小, 但却是为它所保留的)。本发明提出了按照需要将IPv4地址分配到功能的方式来互连IPv6和IPv4域,并 因而按照透明的方式确保了异构终端(即,IPv4和IPv6)之间连通性的连续。因此,其中共享IPv4地址的本发明实现的优点在于,在节省IPv4地址的同时促进 了到IPv6寻址的移植。在IPv4和IPv6寻址模式之间转变的情境中,这可以有利地使得可 能避免在完成移植之前地址的匮乏。另一优点是对于IPv6建设(plant)中投资的立即回 报(这是因为IPv6容量的使用不是取决于客户的行为,而是取决于运营商的行为)。在本描述的剩余部分中,向网关20分配的IPv4地址是共享地址shared@IPv4。参考图1,家庭网关20通过双堆栈(此)接入路由器30而连接到IPv6网络或运 营商的域。这是当IPv6和IPv4数据分组离开该家庭网关时它们遇到的第一个路由器。要 注意,此配置仅仅借助于示例而给出。代替地,可以将DS家庭网关与IPv4第一接入路由器 和IPv6第二接入路由器进行互连。下面,考虑了如来自图1的接入路由器的DS接入路由 器30 ο根据在IPv6路由级处采用的网络架构,接入路由器30可以在网络的上游方向中 (即,朝向IP连通性服务提供商的网络1)公告(advertise)它所路由的IPv6前缀,即它所 月艮务的家庭网关的前缀 IPv6_prefixjorts_range 禾口 IPv6_prefix_native。接入路由器30按照在IPv6网络环境中完全传统的方式,来获得它所服务的家庭 网关的IPv6前缀。下面,描述两种方法1)它从它所服务的家庭网关接收IPv6路由公告(IPV6_prefix_ports_range和 IPv6_prefix_native);为此,每个家庭网关在上游方向中公告它的前缀(IPv6_prefix_ ports—range 禾口 IPv6_prefix_native);或者2)它通过如RFC 3633 (用于动态主机配置协议(DCHP)版本6的IPv6前缀选项) 所描述的前缀委派,来获得 IPv6_prefix_ports_range 禾Π IPv6_prefix_native。下面,参考图2来描述根据本发明而构造的IPv6地址前缀的示例(诸如,向家庭网关 20 分配的前缀 IPv6_prefix_ports_range)。此IPv6前缀组合用于网关20的IPv4公共地址Shared_@IPV4和授权端口号的范 围(ports_pattern/length_of_unvariable)的比特,并且使得可能将进入的IPv6分组明 确地路由到目的家庭网关。在IPv6网络中可路由的是IPv6前缀。如果将它选定为在提供 了该家庭网关的网络运营商的前缀中登记的前缀(尤其是,如果在边界网关协议(BGP)中 公告了它),甚至可以在IPv6网络中对它进行路由。在图2的示例中,此前缀从左到右包 括·向接入节点40分配的IPv6前缀IPv6/IPv4_Access_Node_prefix ;有利地选定 此前缀,使得将它登记在由其区域因特网注册管理机构(RIR)向IP连通性服务提供商分配 的IPv6运营商前缀IPv6-prov中,并因而在其第一比特中包括此运营商前缀;·根据本发明的比特IPv6/IPv4_Access_Node_krvice,其用于来向运营商标识 互连服务 IPv6/IPv4_Access_Node ;由之后跟随有比特 IPv6/IPv4_Access_Node_Service 的运营商前缀的比特组成的序列构成了用于标识该服务的前缀IPV6/IPV4_ACCesS_N0de_ Service—prefix ;·补充比特,其用于标识用以服务于该家庭网关的具体接入节点IPv6/IPv4_ Access_Node ;由于负载平衡的原因,所以前缀IPv6/IPv4_Access_Node_prefix可以不专 用于仅仅一个接入节点; 网关20的地址Shared_@IPv4的32个比特; 可选地,8个保留比特,其被设置为0 ;此字节可以用于在不同类型的端口(UDP、 TCP、SCTP等)之间进行区分;对于UDP处理,它可以取值“X”,对于TCP处理,它可以取值 “γ”等等.·用于表现对该网关授权的端口号范围(p0rtS_pattern)的16个比特,其中在这 16个比特的左边具有长度为length_0f_unvariable的不变部分(更加关键的比特);要注 意,如果多个家庭网关没有共享该网关20的IPv4地址,则授权端口号的范围具有用于所有 网关的最大和一致的尺寸。前缀IPv6_prefix_ports_range的长度如下建立U8_16(IPv6地址的长度-端 口编码地址)=112个比特加上length_0f_unvariable (用于表现授权源端口的范围的不 变比特的长度)。要注意,根据本发明的构造的前缀IPv6_prefix_ports_range比由用于IPv6部署 的IPv6标准推荐的前缀更长。不过,它遵守IPv6标准。参考图1所描述的IPv6域1包括至少一个本发明的接入节点40。要注意,它可 以包括本发明的其他接入节点。接入节点40(IPV6/IPV4_ACCesS_NOde)是具体的双堆栈 (IPv4和IPv6)路由器。在本发明的一个实现中,它包括用于对从IPv4网络3去往网络1 的进入IPv4数据分组、和从网络2去往IPv4域3中的目的地的外出IPv6分组进行路由的
直ο在网络1中,接入节点40 (IPV6/IPV4_Access_Node)典型地是接入路由器或路由 器30的上游(即,在与相邻网络的互连段中朝向网络核心),如图1所示。下面,参考图3来描述用于在IPv6域中接收来自IPv4域的数据分组的方法。图 3的示例考虑从IPv4域进入IPv6域并且去往IPv6域1的用户终端(例如,终端21)的数据分组IPv4-in-pt。该终端处于具有IPv4地址@ΙΡν4或shared@IPv4以及授权的范围 ports_pattern/length_of_unvariable 的家庭网关 20 后面。如果进入分组IPv4-in-pt正去往家庭网关20的家庭网络的用户终端21,则它包 括与shared@IPv4相等的IPv4目的地址以及在家庭网关20的端口范围ports_pattern/ length_of_unvariable 中登记的目的端 口。如上面参考图2所述,地址shared@IPv4以及端口号的范围ports_pattern/ length_of_unvariable 位于家网关 20 白勺前罾 IPv6_prefix_ports_range 中。使用本发明的接收方法的接入节点40接收该分组IPv4-in-pt。在预备步骤中,IP 连通性提供商向它具有与其接口的IPv4域公告向它负责将该IPv4分组路由到的域1的家 庭网关分配的IPv4地址。它经由接入节点40自身或者经由使用本领域技术人员已知技术 的自治系统边界路由器(ASBR)来公告这个IPv4地址。分组IPv4-in_pt包括由接入节点40管理的目的地址@IPv4或shared@IPv4以 及目的端口 dest-port。根据本发明,该接收方法包括步骤PA1,用于通过将接入节点40 的前缀 IPv6/IPv4_Access_Node_prefix、所述 IPv4 目的地址 shared@IPv4、和目的端口号 dest-port进行级联来构造IPv6目的地址IPv4inIPv6_dest_address,如参考图4所描述 的。将目的端口号dest-port插入到IPv6构造目的地址的右手部分中。因而,本发明的接 收方法插入了所接收IPv4分组的目的IPv4地址的32比特和目的端口 dest-port的16比 特两者,以构成被称作IPv4inIPv6_dest_address的构造目的IPv6地址。在步骤PA2中,本发明的接收装置根据IPv6构造目的地址IPv4inIPV6_deSt_ address和所接收到的IPv4数据分组来生成IPv6数据分组IPv4inIPV6-pt。本发明的一 个实现在IPv6分组中封装所接收到的IPv4分组 其IPv6源地址是IPv6/IPv4_Access_Node 40拥有的(用于其接口之一的)IPv6 地址之一;以及·其 IPv6 目的地址是地址 IPv4inIPv6_dest_address。另一实现在预先从所接收到的IPv4分组中提取其目的IPv4地址、其目的端口、其 源IPv4地址、和其源端口之后,将所接收到的IPv4分组IPv4-in-pt翻译为构造IPv6地址 与之相关联的IPv6分组。然而,要注意,如果该数据分组的最终目的地是该网关20的家庭 网络2的IPv4终端21、22,则仅仅该封装是有效的。当数据分组正去往家庭网络2的IPv6 终端时,该翻译适用。在步骤PA3中,在IPv6域1中对使用IPv6构造目的地址而生成的IPv6数据分组 IPv4inIPv6-pt进行路由。因此,该分组IPv4inIPv6_pt进入接入节点IPv6/IPv4_Access_ Node 40的IPv6路由核心。通过构造,在家庭网关20的前缀IPV6_prefiX_p0rtS_range中登记其目的地址 IPv4inIPv6_dest_address。将分组IPv4inIPv6_pt路由到用于服务于到家庭网关20的对 应IPv6路由的接入节点IPv6/IPv4_Access_Node 40的接口。要注意,如果在任何前缀IPv6_prefix_ports_range (或包括了前缀的任何项) 中没有登记目的地址IPv4inIPv6_dest_addresS,则因为不能将该分组路由到任何前缀 IPV6_prefiX_p0rtS_range、并因而不能路由到任何家庭网关,所以它将在路由中被破坏。如果在前缀 IPv6_prefix_ports_range 中登记了 目的地址 IPv4inIPv6_dest_address,则分组IPV4inIPV6-pt到达用于服务于家庭网关20的双堆栈接入路由器30,该家 庭网关20在其家庭网络2中主管该用户终端21。双堆栈接入路由器30将该分组路由到该 家庭网关,该家庭网关知道到前缀IPv6_prefiX_p0rtS_range的路由。在本发明的一个实现中,家庭网关20包括使用用于发送数据分组IPV4inIPV6-pt 的本发明方法的装置。下面,参考图5来描述这种方法。当分组IPv4inIPv6-pt到达家庭网关20时,该网关使用所接收到的分组的报头 (具体地,用于标识前缀IPv6/IPv4_Access_Node_Service_pref ix的比特),来确定它是标 准IPv6分组还是封装了 IPv4分组的IPv6分组。如果它是封装了 IPv4分组的IPv6分组,则该发送方法包括第一步骤冊1,用于根 据所接收到的IPv6分组来生成IPv4分组。这可能需要对在分组IPV4inIPV6-pt中包含 的IPv4分组进行解封装。这样的解封装产生由发送者终端在IPv4域3中初始发送的分组 IPv4-in-pt,并且具体地,产生它的目的端口号dest-port。在此情况下,该方法包括步骤 PR2,用于验证此目的端口号dest-port属于为网关20授权的端口号范围ports_pattern/ length_of_unvariable。要注意,如果该家庭网关的IPv4地址是共享地址shared@IPv4并 且为该网关20所保留的端口号的范围小,则这种验证是特别有益的。如果此验证的结果是肯定的,则按照已知的标准方式来执行用于将数据分组 IPv4-in-pt路由到用户终端21的步骤冊3。要注意,如果这种家庭网关服务于其家庭网络中的多个用户终端21、22,则在该家 庭网关中经常包括内部网络地址翻译(NAT)装置。然后,从外部接收到的分组IPv4-in-pt 由家庭网关20的内部NAT进行处理,并重传到该家庭网络中的最终目的终端21。清楚地,封装的数据分组表现了到IPv6寻址的移植的第一阶段。虽然它使得能够 在IPv6域1中在IPv6协议下进行IPv4分组的路由,但是在解封装之后,在IPv4协议下接 收并处理所述IPv4分组,这使得对于家庭网关20而言能够管理IPv4地址是必须的。如果IPv6分组不是封装了 IPv4分组的IPv6分组、而是通过对数据分组 IPv4-in-pt进行翻译而获得的IPv6分组,则家庭网关20按照标准方式来将该IPv6分组路 由到目的终端。清楚地,此情况表现了不再强加双堆栈终端的第二移植阶段。根据本发明的一方面,可以由该网关来执行IPv6地址替换步骤,该步骤在于利 用终端21的固有地址IPv6_address_native-UE来替换构造目的地址IPv4inIPv6_dest_ address。如果数据分组IPv4-in-pt是对由具有其IPv6固有源地址的目的终端21所事先 发送的数据分组的响应的一部分,则这是有利的,并且为此,该网关在发送此固有地址之前 已经有利地在其NAT表中存储了该固有地址。此刻,它利用终端21的构造地址来替换固有 地址,以使得当将外出IPv6变换为IPv4分组时、接入节点40能够从它中提取IPv4源地址。考 虑接下来设立到IPv4目的地(例如,因特网上的IPV4网站服务器)的外出呼 口q。家庭网络2的用户终端(例如,该网关20的IPV6PC 22)向此IPv4方3发送数据分 组。在此情况下,在该PC上运行的应用是IPv6浏览器。源用户终端22可以是DS终端或 纯IPv6终端。考虑其中终端22发送IPv4数据分组的情况。在接收到IPv4数据分组时,家庭网关20执行上面参考图3所描述的、用于接收数 据分组的本发明的方法。因此,它使用参考图4所描述的机制来构造源和目的IPv6地址并 且生成IPv6数据分组。要注意,IPv6源地址的构成经受与IPv6目的地址的构成相同的规贝U。此外,它提取其源端口号,并且当必要时,利用属于向它分配的授权端口号范围的端口 号来替换该源端口号。然后,它将这样构造的IPv6分组路由到路由器30。 在将IPv4分组路由到其最终目的地之前,必须由该网络的具体设备(例如,接入 节点40)来从IPv6分组中提取IPv4分组,该具体设备负责逆操作,然后该具体设备执行已 经参考图5所描述的数据分组发送方法。使用本发明,可以仅仅在IPv6中将家庭网关连接到域1,并且该接入路由器双堆 栈接入路由器30可以仅仅是IPv6的(Ipv6_access_router)。在参考图1所描述的示例中,本发明的家庭网关20和接入节点40包括用于接收 数据分组的、下面参考图6a所描述的装置25。它包括传统地在标准计算机或专用路由器中 找得到的硬件元件,即处理器25i、随机存取存储器(RAM) 252、只读存储器(R0M) 253、和用于 与网络1通信的电信部件254。根据本发明,该装置25包括包含数据库的存储器255,在该数据库中存储有用于 在域1与其家庭网络3之间翻译地址的地址翻译表(NAT表)。要注意,假如装置25可以访问此存储器,则该存储器可以同样适当地处于所述装 置的外部。只读存储器255构成用于存储本发明计算机程序的本发明的存储介质。该程序包 括以下指令,该指令用于执行上面参考图3所描述的用以接收数据分组的本发明方法的步
马聚ο本发明的家庭网关20和接入节点40还包括用于发送离开分组的、下面参考图6b 所描述的装置26。它包括传统地在标准计算机或专用路由器中找得到的硬件元件,即处理 器26i、随机存取存储器(RAM) 262、只读存储器(ROM) 263、和用于与网络1通信的电信部件
264o根据本发明,装置26包括可以包含(用于家庭网关的)数据库的存储器265,在 该数据库中,存储有用于在域1和其家庭网络3之间翻译地址的地址翻译表(NAT表)。要注意,假如装置26可以访问此存储器,则该存储器可以同样适当地处于所述装 置的外部。只读存储器265构成用于存储本发明计算机程序的本发明的存储介质。该程序包 括以下指令,用于执行上面参考图5所描述的用以发送数据分组的本发明方法的步骤。要注意,可以将对于家庭网关20和接入节点40分别使用上述接收和发送方法的 装置25、26组合到适于实现本发明的接收方法和发送方法两者的单一装置中。还要注意,这些装置可以同样适当地被包括在直接连接到连通性服务提供商的网 络1的用户终端中。要注意,本发明不限于图1的示例,这是由于装置25和26可以非常好地在计算机 或网络1的任何其他设备上实现。总之,本发明使用考虑到以下因素的分组路由机制,来使得IP连通性服务朝向 IPv6移植的第一阶段成为可能·服务运营商遭受用尽IPv4地址的问题。·到IPv6的最终移植将需要许多年(最少10年),这主要是因为要“说服”大量 的参与者转向IPv6、因为大量自治系统(AS)、并且因为互连机制的多样性。而且,应该指出,地址问题是 仅仅对于运营商的先验考虑。客户没有理由将他们本地网络(具体地,它的 FTP、HTTP等服务器)的架构修改到IPv6。运营商必须预见到辅助客户进行到IPv6的转变 需要很长一段时间。 简单地将给定域移植到IPv6无法解决全球连通性(与在因特网上存在的任何远 程机器联系)的问题。因此,必须提供与IPv4世界的互连。 不要推荐基于并非无状态(stateless)的NAT-PT的解决方案。由于与由客户配 置的端口转发相关的增值服务将无法工作,所以这将劣化所提供的服务。用于对IP分组进行路由的本发明的机制使得以下成为可能,即通过激活IPv6、并 且提供使得可能基于置于网络中的无状态互连功能而鼓励IPv6业务的解决方案,来鼓励 IPv6协议的使用。本发明的解决方案使用双堆栈(DS)用户终端和家庭网关(即,使得IPv4 和IPv6协议堆栈两者都激活的用户终端和家庭网关)。因为这样,所以这些设备能够处理 (发送和接收)IPv4和IPv6消息。此步骤提出了向多个网关分配同一 IPv4地址,这是有利的,并且还使得可能节省 IPv4地址。为了在共享同一 IPv4地址的家庭网关之间进行区分·向每个网关(或者除了家庭因特网接入之外的情境中的其他设备)分配授权源 端口的范围,以用于外出呼叫;·将具体的IPv6前缀IPv6_prefix_ports_range (涵盖了 IPv4地址和端口的范 围)置于朝向该家庭网关的进入IPv6路由链中。对于进入IPv4呼叫而言,在内部网关协议(IGP)或边界网关协议(BGP)下、经由 专用公告来将IPv4/IPv6互连设备或接入节点插入到该路径中。在接收到IPv4分组时, 它基于目的IPv4信息(地址和端口 )来构造目的IPv6地址,并且在具有这个目的地址的 IPv6分组中封装所接收到的IPv4分组。如果将该IPv4分组寻址到具体的家庭网关X,则 IPv6构造地址事实上包括在家庭网关X的IPv6_prefix_ports_range中。这将接收到封装 了由接入节点构建的IPv4分组的IPv6分组。在接收到它时,它将对此分组进行解封装,以 获得所包含的IPv4分组本身,并且在其LAN中将它正常地路由到有关的设备。对于外出呼叫而言,所述终端可以使用它们的共享IPv4地址或它们的IPv6(固有 或构造)地址。如果使用IPv4地址,则该家庭网关对源端口号进行约束,从而将其登记在 授权范围中。在IPv4下,按照正常方式将该分组路由到其最终目的地。如果远程机器生成 对此分组的响应,则接入节点(使用IGP/BGP路由公告来)截听所生成的响应分组,该接入 节点着手进行本发明的处理。
权利要求
1.一种用于在IPv6域中接收来自IPv4域的数据分组的方法,所述数据分组包括IPv4 目的地址和目的端口号,其特征在于,所述方法包括以下步骤 通过将运营商前缀、所述IPv4地址、和目的端口号进行级联来构造IPv6目的地址; 根据IPv6构造目的地址和所接收的IPv4分组来生成IPv6数据分组;以及 使用该IPv6构造目的地址来在IPv6域中对所生成的IPv6数据分组进行路由,所述 构造地址属于能够向IPv6域与IPv4目的地址的互连设备进行路由的IPv6地址的范围。
2.一种用于从IPv6域向IPv4域的目的地址发送数据分组的方法,其特征在于,所述分 组包括通过将运营商前缀、IPv4目的地址、和目的端口号进行级联而构造的该分组的IPv6 目的地址,所述方法在接收到该数据分组时执行以下步骤 从该IPv6目的地址中提取该IPv4目的地址和该目的端口号; 根据IPv6数据分组来生成IPv4数据分组,所述分组包括所述IPv4目的地址和所述 目的端口号;以及 将该IPv4数据分组路由到其IPv4目的地。
3.一种用于在IPv6域中接收来自IPv4域的数据分组的装置,其特征在于,所述数据分 组包括IPv4目的地址和IPv4目的端口号,所述装置包括 用于通过将运营商前缀、所述IPv4地址、和目的端口号进行级联来构造IPv6目的地 址的部件; 用于根据IPv6构造目的地址和所接收到的IPv4分组来生成IPv6数据分组的部件;以及 用于使用IPv6构造目的地址来在IPv6域中对所生成的IPv6数据分组进行路由的部 件,所述构造地址属于能够向IPv6域与IPv4目的地址的互连设备进行路由的IPv6地址的 范围。
4.一种用于从IPv6域向IPv4域发送数据分组的装置,其特征在于,所述分组包括通过 将运营商前缀、IPv4目的地址、和目的端口号进行级联而构造的该分组的IPv6目的地址, 所述装置在接收到该数据分组时利用 用于从该IPv6目的地址中提取该IPv4目的地址和该目的端口号的部件; 用于根据IPv6数据分组来生成IPv4数据分组的部件,所述分组包括所述IPv4目的 地址和所述目的端口号;以及 用于将该IPv4数据分组路由到其IPv4目的地的部件。
5.一种到IPv6域的接入设备,包括与至少一个IPv4域的接口,其特征在于,该接入设 备包括 用于在IPv6域中接收来自IPv4域的数据分组的、根据权利要求3的装置;以及 用于从IPv6域向IPv4域发送数据分组的、根据权利要求4的装置。
6.根据权利要求5的IPv6域接入设备,其特征在于,该IPv4是公共网络,所述设备包 括第一部件,用于向IPv4域公告连接到IPv6域的网络设备的IPv4地址;以及第二部件, 用于在IPv6域中公告根据IPv4域的IPv4地址而构造的IPv6地址。
7.根据权利要求5的IPv6域接入设备,其特征在于,该IPv4域是私有网络,该接入设 备是适于将私有网络的用户终端连接到IPv6域的家庭网关。
8.根据权利要求7的IPv6域接入设备,其特征在于,该接入设备包括用于获得IPv4地址、端口号的范围、和授权IPv6地址的范围的部件,所述IPv6地址的范围通过将运营商 前缀、所述IPv4地址、和授权IPv4端口号的范围进行级联来构造。
9.一种能从通信网络下载的、和/或在计算机可读介质上存储的、和/或能够由微处理 器执行的计算机程序产品,其特征在于,该计算机程序产品包括用于执行在IPv6域中接收 来自IPv4域的数据分组的、根据权利要求1的方法的程序代码指令。
10.一种能从通信网络下载的、和/或在计算机可读介质上存储的、和/或能够由微 处理器执行的计算机程序产品,其特征在于,该计算机程序产品包括用于执行从IPv6域向 IPv4域的目的地址发送数据分组的、根据权利要求2的方法的程序代码指令。
全文摘要
本发明涉及一种用于在IPv6域中接收来自IPv4域的数据分组的方法,所述数据分组包括IPv4目的地址和目的端口号。根据本发明,该方法包括以下步骤通过将运营商前缀、所述IPv4地址、和目的端口号进行级联来构造(PA1)IPv6目的地址;根据所构造的IPv6目的地址和所接收到的IPv4数据分组来生成(PA2)IPv6数据分组;以及借助于所构造的IPv6目的地址来对在IPv6域中所生成的IPv6数据分组进行路由(PA3),这样构造的所述地址处于可以朝向用于互连IPv6域与IPv4目的地址的设备进行路由的IPv6地址的范围内。
文档编号H04L29/12GK102132545SQ200980133266
公开日2011年7月20日 申请日期2009年6月16日 优先权日2008年6月30日
发明者穆罕麦德·鲍卡戴尔, 让-卢克·格里莫尔特 申请人:法国电信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1