协调网络事件的装置和方法

文档序号:7740010阅读:218来源:国知局
专利名称:协调网络事件的装置和方法
技术领域
本发明涉及网络事件的协调,特别地但不唯一地,涉及对网际协议地址管理事件进行协调的应用。
背景技术
目前所有的商业网际协议(IP)网络为IP版本4(IPv4)网络;但是,在未来的某个时间,商业IP网络将是IP版本6(IPv6)网络。同时将会存在一段过渡时期,在此期间商业IP网络会包括IPv4网络和IPv6网络的混合体。IPv6是一个与IPv4完全不同的协议并且基本上与IPv4不兼容。因此,至少在过渡时期,网络设备和/或网络会需要一些机制,使得IPv4网络中具有IPv4地址的节点和/或主机能够与IPv6网络中具有IPv6地址的节点和/或主机进行通信。
已经开发了若干种迁移机制;例如,由因特网工程任务组(IETF)在2000年11月份公布的并可从IETF的网址http//www.ietf.org/internet-drafts/draft-ietf-ngtrans-introduction-to-ipv6-transition-05.txt获得的文献,名称是“An Overview ofthe Introduction of IPv6 in the Internet”(在因特网中采用IPv6的概况),作者W.Biemolt等人,IETF状态针对信息RFC的起草工作。
称为双栈过渡机制(DSTM)的一种特定的迁移方法使主机能够同时发送和接收IPv4数据和IPv6数据。当一个位于IPv6网络中的主机运行一个或更多个IPv4应用、并因此需要与位于IPv4网络中的主机进行通信时,通常使用这种机制。此后将这种主机称为双栈主机。DSTM方法的一个特征在于当IPv4分组离开双栈主机时,将它们封装成IPv6分组,随后由位于IPv4网络和IPv6网络的边界上的路由器进行解封装。
为双栈主机分配一个IPv4地址,该地址用作双栈主机的别名并构成封装分组的源地址。在一段指定时间内双栈主机“租用”该分配的IPv4地址,此后该地址可以被续展或者被释放以供另一个双栈主机使用。
DSTM方法的问题在于续展和释放信息通常并不被实时地传达给路由器,使得分组在去往其预期的双栈主机目的地的途中出现方向错误、和/或被丢失和被窃取的问题。

发明内容
根据本发明的第一方面,提供一种对选路设备和主机装置上的地址分配事件进行协调的方法,其中选路设备被设置成对主机装置与至少一个其他主机装置之间的数据进行路由选择,其中所述主机装置位于第一网络中,该第一网络依据第一传输协议操作,其中所述其他主机装置位于第二网络中,该第二网络依据第二传输协议操作,并且其中所述主机装置可操作地处理与任何传输协议对应的数据的分组,该方法包括以下步骤接收一分配的地址,供主机装置使用以与其他主机装置进行通信;接收一代表所分配的地址的分配状态的指示符;向选路设备发送所分配的地址和主机装置的地址;存储所分配的地址与主机装置的地址之间的映射;对指示符进行监视,并且如果指示符指示所分配的地址对于主机装置不再有效,则使存储的映射不可用。
优选地,该方法包括利用该映射建立选路设备与主机装置之间的隧道(tunnel),该隧道用于对主机装置与其他主机装置之间的数据进行的所述路由选择中。
更为方便地,该方法还包括如果指示符指示所分配的地址对于主机装置不再有效,则请求对所分配的地址进行续展。
有利的是,该方法包括检查主机的至少一个接口以确定是否要续展所分配的地址。这实质上提供了一种确立主机是否处于发送和/或接收数据的过程中的手段。
更为方便地,使存储的映射不可用这一步骤使存储的映射被从选路设备中删除,从而去除了该隧道。
根据本发明的第二方面,提供了实施前述方法的装置。该装置优选分布在多个设备和选路设备之间,使得由该装置提供的至少一些功能可以在主机装置上;在选路设备上;在位于第一网络中的预定设备上。或者该装置分布在被设置以发出所分配地址的设备与主机装置之间。被设置以把地址分配给请求主机装置的设备优选为动态主机配置协议服务器。
在下面的说明中使用术语“主机”;其定义如下“主机”——双向接入一个网络(例如因特网或者企业内部网)中的其他计算机的任何计算机。主机的例子包括客户机、路由器、交换机和服务器。


通过参考附图并仅以示例的方式给出的本发明优选实施例的以下说明,可以更清楚地理解本发明的其他方面和优点,在附图中图1是作为本发明实施例的操作环境的网络的示意图;图2是显示已知双栈过渡机制的操作的流程图;图3是一个构成图1网络一部分的设备的各部件的示意图;图4是显示位于第一网络中的双栈主机与位于第二网络中的主机之间通信中涉及的处理的示意流程图,该图包括本发明第一实施例的多个方面;图5是显示本发明第一实施例的协调方面中涉及的一些处理的示意流程图;图6是显示本发明第一实施例的协调方面中涉及的另一些处理的示意流程图;图7是显示本发明第一实施例的协调方面中涉及的再一些处理的示意流程图;图8是显示本发明第一实施例的协调方面中涉及的又一些处理的示意流程图;图9是显示本发明第一实施例的协调方面中涉及的一些处理的示意流程图;图10是显示本发明第一实施例的另一些协调方面中涉及的一些处理的示意流程图;图11是显示未使用本发明实施例的地址分配方面涉及的处理的示意流程图;图12是显示未使用本发明实施例的地址分配的另一些方面涉及的处理的示意流程图;图13是显示根据本发明另一实施例设置的图3的部件的示意图;图14是显示位于第一网络中的双栈主机与位于第二网络中的主机之间的通信涉及的处理的示意流程图,该图包括图13中的实施例的多个方面;图15是显示图13的实施例的协调方面涉及的另一些处理的示意流程图;图16是显示图13的实施例的协调方面涉及的又一些处理的示意流程图;图17是显示根据本发明的另一个实施例设置的图3的部件的示意图。
具体实施例方式
本发明的实施例涉及关于从IPv4网络迁移到IPv6网络的问题。具体地说,本发明的实施例涉及使位于IPv6网络内的主机上运行的IPv4应用与IPv4网络内运行的对应IPv4应用之间能够进行通信。
本发明的一个实施例涉及被称为双栈过渡机制(DSTM)的过渡机制,该机制由因特网工程任务组(IETF)在文献draft-ietf-ngtrans-dstm-04.txt(注意到该文献的引用是基于在2001年8月份给出的标题;作为IETF公布,标题通常可能在后来发生变化,所以读者在有疑问的情况下应该询问IETF)中进行了记载,可以从IETF获得。运行DSTM的主机在内部同时具有IPv4栈和IPv6栈,这意味着要根据IPv4协议传输的数据通过IPv4栈(或层),要根据IPv6协议传输的数据通过IPv6栈,由此进行处理。
因此,入局和出局IPv4分组和IPv6分组分别通过栈的IPv4部分或IPv6部分进行路由选择。因此当根据DSTM进行操作时,运行DSTM的主机可以位于IPv6网络中并保留其IPv4功能。
图1示出了在根据第一传输协议操作的第一网络NW1和根据第二传输协议操作的第二网络NW2之间的操作中实施DSTM。在该例子中第一网络是IPv6网络,第二网络是IPv4网络。
图2示出了DSTM的常规操作。在该技术领域中已知,当IPv6网络NW1中的双栈主机H1参与IPv4通信时,由地址池将IPv4地址动态地分配给双栈主机H1。该地址池由IPv6动态主机配置协议(DHCPv6)服务器103提供,该服务器存储了一池IPv4地址,从而当收到请求时该服务器将地址租用给网络中的其他装置。
因此,在步骤S2.1,双栈主机H1向DHCPv6服务器请求IPv4地址。在步骤S2.2,DHCPv6服务器103通过向双栈主机H1分配IPv4地址来作出响应,然后在步骤S2.3,将分配的IPv4地址发送到双栈主机H1。该分配的地址伴随有两个超时设定值优选的(preferred)和有效的(valid),这两个值分别是可续展的和不可续展的地址超时设定。当优选型的超时设定期满时,如果双栈主机H1希望继续参与出局通信,则其必须请求对所分配的地址进行续展;当有效型的超时设定期满时,所分配的地址对于任何类型的通信都不能进行续展。如果续展了优选计时器,则优选计时器和有效计时器被同时更新。
双栈主机H1为了向/从位于一个或更多个IPv4网络中的一个或更多个主机发送/接收信息,必须建立一个位于两种类型的网络NW1、NW2之间的、连接双栈主机H1和边界路由器BR的隧道。如该技术领域已知的,术语“隧穿”(tunnelling)用于指将分组封装在另一个分组中的处理;在已知的方法中,如本发明的实施例中实际指出的,在IPv6分组中封装IPv4分组。因此,隧道是用于执行隧穿处理的手段,本质上包括多个接入点(被称为端点,并在下面描述)来执行分组封装。
如该领域的技术人员已知的那样,隧道可以手动或自动构建;已存在若干种公知的隧穿方法,包括6to4、6over4、动态隧穿、隧道代理(tunnel brokering)和一种由本申请人开发的方法,该方法在共同待审的已公布专利申请WO01/22683(申请人的案卷号A25800)中进行了描述。要获得更多信息,读者可参考以下文献“Request for comments numberRFC2529”;draft-ietf-ngtrans-6to4-02.txt(或者RFC3056);draft-ietf-ngtrans-dstm-04.txt;draft-ietf-ngtrans-broker-00.txt(或者RFC3053),上述文献都可以从IETF获得。(注意到,这些文献的引用是基于在2001年8月份给出的标题;作为IETF公布,标题通常可能在后来发生变化,所以读者在有疑问的情况下应该询问IETF)。
因此,在步骤S2.4,双栈主机H1配置IPv6隧道105的第一端点EP1。在步骤S2.5,双栈主机H1将其IPv6地址以及在步骤S2.2由DHCPv6分配的IPv4地址一起发送到边界路由器BR,使得边界路由器BR能够配置IPv6隧道105的第二端点EP2(当双栈主机H1发送其去往IPv4主机H2的第一分组时)。
然后在步骤S2.6,边界路由器BR配置IPv6隧道105的第二端点EP2,使得IPv4分组能够隧穿通过两个端点EP1、EP2之间的IPv6网络NW1。
对地址分配的管理本质上由双栈主机H1执行,因此,如果优选的超时设定已期满,并且双栈主机H1仍处于与IPv4网络NW2中的IPv4主机H2进行通信的过程中,则双栈主机H1必须启动对地址和计时器的“续展”。
目前的DSTM草案(draft-ietf-ngtrans-dstm-04.txt)并没有解决定时问题,尤其是协调双栈主机与边界路由器BR之间地址分配的续展和释放。如果双栈主机H1已经完成与IPv4主机H2的通信并且已经释放在步骤S2.2分配的IPv4地址,而没有通知边界路由器BR,则会引起问题。如果DHCPv6服务器103之后将IPv4地址分配给另一个双栈主机Hd,并且边界路由器BR还没有修改第二隧道端点EP2,则第二端点EP2将会“指向”错误的双栈主机(因为隧道将会指向主机H1的IPv6地址,而不是指向新分配的主机Hd的IPv6地址)。
因此本发明的实施例涉及协调IPv4地址的分配和释放,具体地说,是确保隧道端点EP1、EP2仅在IPv4地址分配的使用期限内存在。其第一优点在于,在双栈主机H1方面发生计时器期满或者地址分配的显式注销(explicit cancellation)时,释放隧道端点EP1、EP2,第二优点在于,当计时器期满时双栈主机H1续展IPv4地址分配的情况下,实施例确保了保留正确的隧道端点EP1、EP2。
在第一实施例中,分别构成隧道105一端的双栈主机和边界路由器BR之间的地址分配的协调由第一隧道端点EP1处的双栈主机控制。这有利于使网络通信量最小化,因为当隧道发生变化时仅将信息发送到边界路由器BR。在其他实施例中,双栈主机和边界路由器BR之间的地址分配的协调由边界路由器BR或者位于第一网络NW1中的独立设备控制。
参考图3,对本发明的第一实施例进行更详细地说明。
图3示出了双栈主机H1,该双栈主机H1包括中央处理器(CPU)301、存储器单元303、用于连接主机H1和网络NW1的输入/输出设备305、存储器307和一组操作系统程序309,操作系统程序309控制并协调主机H1的低级操作,尤其是处理IPv4栈和IPv6栈的操作。这种配置在本领域是众所周知的。
通常本发明的实施例被看作是协调器300,并包括至少一些程序311、313、315。这些程序存储在存储器307中并可由CPU301进行处理。
这些程序包括程序311,用于监视计时器状态;程序313,用于请求所分配地址的续展或再分配;和程序315,用于利用地址分配信息对边界路由器BR进行更新。
监视程序311监视优选计时器和/或有效计时器以识别其是否期满,续展程序313与DHCPv6服务器103进行交互以请求对先前分配的IPv4地址进行续展;并且更新程序315将对地址分配和/或计时器信息作出的任何变化通知给边界路由器BR。
如上所述,在一个实施例中,协调器300可位于双栈主机H1上,该双栈主机H1请求并从DHCPv6服务器103接收地址分配信息,在第二实施例中,协调器300可位于专用于管理地址分配和再分配的控制器设备107(参见图1),用作双栈主机H1、边界路由器BR和DHCPv6服务器103之间的一种代理,在第三实施例中,协调器300可位于边界路由器BR内。
参考图4-9所示的流程对根据本发明的第一实施例协调器300的操作进行说明。在第一实施例中,假设协调器300位于双栈主机H1上。
在端对端通信处理情况下,最容易说明本发明的功能,因此图4示出了当双栈主机H1启动通信时,在IPv6网络中的双栈主机H1与IPv4主机H2之间建立通信所涉及的步骤。这些步骤中的大多数是标准的并在上述文献draft-ietf-ngtrans-dstm-04.txt中有所记载,而其他步骤利用协调器300的功能。图5和6示出了由协调器300对建立的通信进行的后序管理中涉及的步骤,并示出了本发明的创造性概念。
在图4、5和6(和以此形式表示信息的后序图)中列举了出这些步骤,一些步骤带有箭头。箭头的开始和结束分别表示通信的发起者和接收者,箭头的垂直位置表示在事件的时间序列中对应的步骤的位置。
首先考虑图4,双栈主机H1以IPv6格式向位于IPv6网络NW1中的DNSv6服务器111发送(402)对主机H2的IP地址的IPv4域名服务器(DNS)请求。该DNS请求被转发到边界路由器BR上,该边界路由器BR向DNSv4服务器109发送(404)DNS请求。步骤404涉及到将该分组从边界路由器“中继”到DNSv4服务器109。
在以下的任何事例情况下都可以使用中继当IPv6 DNS记录被保持在IPv4 DNS服务器上时;当IPv4 DNS记录被保持在IPv6 DNS服务器上时;或者当IPv6 DNS消息需要通过IPv4网络以便到达一个应答DNS服务器(即,中继使得能够处理不同类型的DNS请求)时。在后一种情况中,DNS服务器可以是IPv4服务器或者IPv6服务器。在图4所示的当前的例子中,使用中继以便双栈主机能够通过IPv6 DNS消息来访问IPv4 DNS服务器109上保持的DNS记录。
从双栈主机H1到达边界路由器BR的DNS请求源自一个IPv4应用。因此该DNS请求具有IPv4 DNS有效负载(包含双栈主机H1希望与之进行通信的IPv4主机H2的域名)和IPv6首部,需要该IPv6首部来通过第一网络NW1对分组进行路由选择。边界路由器BR将接收到的IPv6分组首部转换成IPv4首部,用于在第二网络NW2中向前路由选择到IPv4 DNS服务器109。在该转换处理中,有效负载保持不变。
当DNS消息到达DNSv4服务器109时,DNSv4服务器109检索(406)与IPv4有效负载对应的IPv4地址。然后IPv4 DNS服务器109生成并发送(408)DNS响应,该响应包括被检索的IPv4有效负载(包含在步骤406检索的主机H2的IPv4地址),该IPv4有效负载被存储在包含IPv4首部的分组内。当到达边界路由器BR时,将IPv4 DNS响应分组的首部转换成IPv6首部,用于在第一网络NW1内进行向前路由选择。同样,在该转换处理中,分组的有效负载不变。当IPv4 DNS响应到达双栈主机H1时,发出DNS请求的IPv4应用将对该IPv4 DNS有效负载进行释译。
然后双栈主机H1向DHCPv6服务器103发送(410)要求分配给它IPv4地址的请求,由此DHCPv6服务器103返回(412)所分配的IPv4地址以及优选计时器和有效计时器。尽管可以使用诸如传输控制协议(TCP)之类的另选协议,通常双栈主机H1和DHCPv6服务器103根据用户数据报协议(UDP)发送请求和响应消息(分别为步骤410和412)。
接着,双栈主机H1上运行的更新程序315向边界路由器BR发送(414)在步骤412从DHCPv6服务器103返回的IPv4地址详情。这是由协调器300执行的第一操作,本质上涉及到更新程序315优选采用UDP协议向边界路由器BR发送分组。例如,更新程序315可以将在步骤412接收的响应分组的拷贝发送给边界路由器BR。
关于DSTM程序的现有文献(上述的draft-ietf-ngtrans-dstm-04.txt)没有涉及是否IPv4地址分配信息的定时是个问题,当然没有建议IPv4地址分配信息的预先(proactive)通信。因此,如果要按照该标准文献来操作DSTM通信,则当双栈主机H1发送去往IPv4网络NW2中的IPv4主机H2的分组时,边界路由器BR获知IPv4分配地址。
在本发明的实施例中,因为双栈主机H1在发送去往IPv4主机H2的分组之前,向边界路由器BR发送(如在步骤414所述)一个详述所分配的IPv4地址的分组,所以边界路由器BR可以建立隧道105,为分组在两个主机H1、H2之间通过作准备。
当接收到在步骤414发送的地址分配消息时,边界路由器BR检索(416)其中的地址信息并建立所分配的IPv4地址与双栈主机H1的IPv6地址之间的映射。随后将该映射用于建立隧道105的第二端点EP2。
在双栈主机H1将地址信息发送到边界路由器(步骤414)之后,主机H1生成并发送(418)一个去往IPv4网络中的主机H2的封装IPv4数据分组。该数据分组包含来自双栈主机H1上运行的IPv4应用的数据,其已经被封装成IPv6分组以便在IPv6网络上传输。这种分组封装对于本领域的技术人员是已知的,读者请参考可从IETF获得的RFC2893以了解更多情况。
因此,双栈主机H1设置其IPv6地址作为出局封装分组的源地址,并设置边界路由器BR的IPv6地址作为封装分组的目的地址。该分组的有效负载包括具有在步骤412分配的作为源地址的IPv4地址和在步骤408由DNSv4服务器109返回的作为目的地址的IPv4地址(即,H2的IPv4地址)的IPv4分组。当接收到该封装分组时,边界路由器BR解封装(420)该接收到的分组,并将当前的IPv4分组发送到(422)IPv4网络NW2中。
假设IPv4主机H2发送(424)一个应答分组,该应答分组具有作为源地址的IPv4主机H2的IPv4地址和作为目的地址的IPv4分配地址,这样的应答分组将在边界路由器BR被接收。响应于对该应答分组的接收,边界路由器BR通过访问在步骤416存储的隧道信息来检索(426)与所接收分组的IPv4目的地址对应的IPv6地址。
边界路由器BR随后利用检索的IPv6地址作为目的地址以及利用其IPv6地址作为源地址来封装(428)所接收的分组。然后将该分组发送到(430)IPv6网络中,由此该分组由双栈主机H1接收。
如果隧道105是激活的(并且因此分配给双栈主机H1的IPv4地址是激活的),那么根据步骤418-430,数据可以在双栈主机H1和IPv4主机H2之间连续发送。如上所述,当DHCPv6服务器103向请求的双栈主机分配IPv4地址时,其发送DHCPv6响应消息,该消息包括所分配的IPv4地址和优选计时器和有效计时器。当将地址分配给双栈主机H1时(步骤412)优选计时器就开始递减,因此为了在优选计时器期满之后继续通信,对应的地址分配和计时器需要续展。未能续展地址分配和计时器会导致IPv4地址分配的期满以及隧道105的去除(这将在后面作说明)。
如图5所示由协调器300处理该续展过程。通常所分配的IPv4地址被应用在双栈主机H1的特定接口(在此称为封装接口),使得所有出局和入局IPv4封装分组通过该接口。监视程序311被设置来监视(502)优选计时器的递减计数和到达该封装接口的分组,因此,如果优选计时器已经期满,并且,例如一个出局IPv4分组到达封装接口,则触发续展程序313向DHCPv6服务器103请求(504)对先前分配的IPv4地址进行续展。
另选地,可将分配的地址存储在地址分配数据库(未示出)中,使用一个标记来表示地址状态。在步骤502,监视程序311可以同时递减优选计时器和有效计时器,同时不断检查它们是否已期满。当优选计时器被识别到已超时时,监视程序311将检查地址分配数据库中的分配地址的状态,并且如果标记的状态表示继续通信,则在步骤504,续展程序3 13将请求续展所述先前分配的IPv4地址。通过在双栈主机H1上运行的应用可以对标记进行修改。如果该标记不表示继续通信,则311可以持续监视标记,直到有效计时器被识别为已超时为止。如果在有效计时器期满前的任何一时刻,标记表示继续通信,则在步骤504,续展程序313将请求所述先前分配的IPv4地址的续展。
可以响应于对到达封装接口的IPv4分组的接收或者响应主机H1上IPv4 TCP或UDP套接字的生成,对标记进行修改。
作为对接收一个续展请求的响应,DHCPv6服务器103将续展的分配IPv4地址与重置的优选计时器和有效计时器一起发送到(506)双栈主机H1。这些被监视程序311接收,监视程序311将双栈主机H1上保持的优选计时器和有效计时器设置为(508)在步骤506发送的计时器值。如果双栈主机H1上至少一个应用需要到IPv4网络的通信路径(或者地址分配数据库中标记的状态表示通信将继续),那么该过程(步骤502-508)无限地持续下去。
在该实施例中,如果分配的IPv4地址没有被续展,即如果隧道105要被中断,则双栈主机H1仅需要与边界路由器BR进行通信。因此,对于该实施例,续展处理不涉及与边界路由器BR的通信。
如果没有应用程序要求对分配的IPv4地址进行续展(或者如果不管出于什么原因,地址分配数据库中的标记被设置为空),则当优选计时器期满时,监视程序311触发(602)所分配的IPv4地址的释放。该释放可通过以下两种方式之一实现参考图6,或者续展程序313向DHCPv6服务器103发送(604)释放消息,或者双栈主机H1等待有效计时器期满(可记起,当有效计时器期满时,对分配的IPv4地址的分配自动取消)。
在每一种情况中,更新程序315都向边界路由器BR发送(606)释放消息,由此边界路由器BR去除(608)在步骤416存储的映射。这具有去除双栈主机H1和边界路由器BR之间的隧道105的作用。如上所述,另选地,协调器300可以存储在、并运行于独立的控制器设备107或者边界路由器BR上。图7-10示出了当由控制器设备107进行控制时的分配、续展和释放处理。该实施例总体上与参考图1-6所述的第一实施例类似,所以在图7-10中,相同的部分使用相同的标号表示并且不再作进一步的详细说明。
首先参考图7,步骤402-412与上述步骤相同。之后双栈主机H1向控制器107发送(414)关于分配的IPv4地址和优选计时器及有效计时器的详情,由此控制器107向边界路由器BR发送(415)所分配的IPv4地址,使得边界路由器BR能够在步骤416生成隧道105。后序步骤按照第一实施例进行。
在图8示出了优选计时器的续展监视程序311(在控制器107上运行)监视(502)优选计时器的递减。当优选计时器已经期满时,控制器107向双栈主机H1发送(503a)消息,询问是否应该续展IPv4地址。如果控制器107从双栈主机H1接收到(503b)肯定的响应,则续展程序313向DHCPv6服务器103请求对先前分配的IPv4地址进行续展504。与第一实施例相同,双栈主机H1可以具有地址分配数据库,在该数据库中存储所分配的地址和表示该分配状态的标记。因此步骤503a将涉及对所述地址分配数据库中存储的标记状态进行查询。
作为响应,DHCPv6服务器103将续展的分配IPv4地址与新的优选计时器与有效计时器一起发送(506)给控制器107。这些被监视程序311接收,监视程序311将控制器107上保持的优选计时器与有效计时器设置为(508)在步骤506所发送的计时器值。如果双栈主机H1上的至少一个应用需要到IPv4网络的通信路径,那么无限地继续该过程(步骤502-508)。
参考图9,如果在步骤503b发送的响应是否定的,意味着,例如双栈主机H1上运行的应用不要求与IPv4网络进行通信,那么监视程序311允许有效计时器期满(605)。当有效计时器期满时,更新程序315向边界路由器BR发送(606)释放消息,由此边界路由器BR去除(608)在步骤416存储的映射。此外,更新程序315向双栈主机H1发送(610)消息,该消息通知双栈主机H1所分配的IPv4地址不再有效,由此主机H1从其内部保持的地址表中去除分配的IPv4地址,这具有去除双栈主机H1与边界路由器BR之间的隧道105的作用。
另选地,如图10所示,双栈主机H1可以预先通知(1002、1004)DHCPv6服务器不再需要所分配的IPv4地址。在该情况中,DHCPv6服务器103将所述期满通知(1006)给控制器107,由此更新程序315向边界路由器BR发送(1008)释放消息。如图8和9所示,当接收到该释放消息时,边界路由器BR去除(1010)在步骤416存储的映射。
如果协调器300位于边界路由器BR(未示出)上,步骤414将涉及到直接向边界路由器BR发送IPv4地址分配和计时器信息,如图4所示,并且如图8、9和10所示,由协调器300对地址和计时器信息的管理进行监视和续展,但相关处理在边界路由器BR上运行。
另选地,协调器300可运行在DHCPv6服务器103上,使得DHCPv6服务器103本质上用作控制器107。在该设置中,由续展程序313执行的步骤(例如图8所示的步骤504)是内部运行处理。
另选地,协调器300可分布在主机H1和DHCPv6服务器103之间,如图13所示;然后如图14和15(分别对应于图4和图6)所示,进行与所分配的IPv4地址的分配与续展有关的处理步骤。首先参考图13,在主机H1上运行监视程序311和续展程序313,而在DHCPv6服务器103上运行更新程序315。因此唯一与边界路由器BR交互的设备是DHCPv6服务器103。
现在参考图14,步骤402-410按照第一实施例进行。然后,在步骤1401,在DHCPv6服务器103上运行的更新程序315向边界路由器BR发送分组,该分组包括在步骤412中DHCPv6服务器103向主机H1发送的IPv4地址,以及主机H1的IPv6地址。然后边界路由器BR检索(416)分组中的地址信息并生成所分配的IPv4地址与双栈主机H1的IPv6地址之间的映射。步骤418-430按照第一实施例进行。
如上所述,在该实施例中监视程序311和更新程序313运行在主机H1上;当在步骤412主机H1已经接收到其被分配的IPv4地址和计时器信息时,根据第一实施例,监视程序311监视优选计时器的递减,使得如图5所示进行计时器的续展(步骤502-508)。但是,当主机准备释放所分配的IPv4地址时,DHCPv6服务器103向边界路由器传达释放消息。这显示在图15中,在图中可以看出,作为对接收来自主机H1的释放消息的响应(步骤604),在DHCPv6服务器103上运行的更新程序315通知(1501)边界路由器BR该地址期满。
图16示出了一种另选情况,其中在默认情况下因有效计时器期满而释放所分配的IPv4地址。由于在分配IPv4地址(步骤412)时从DHCPv6服务器103发送计时器,所以优选计时器和有效计时器的状态也由DHCPv6服务器103上运行的处理进行观察。因此,当DHCPv6服务器103没有接收到对续展所分配地址的续展请求时(按照图5),其等待有效时间期满并随后通知(1601)边界路由器BR所分配的地址对主机H1不再有效。边界路由器BR随后删除与此对应的映射,如第一实施例的情况中在步骤608所述的那样。
图17示出了在单个装置中组合边界路由器BR和DHCPv6服务器103的设置。由于网络管理者的工作的复杂性与因需要管理的装置数量成比例,该设置的优点在于减少了与DSTM网络管理有关的系统开销。尤其是,由于DHCPv6服务器103本质上是IPv4地址池,将边界路由器BR与DHCPv6服务器103的功能组合在一个装置中会减少与地址池的管理有关的系统开销。此外,该设置便于边界路由器BR处理分组,因为边界路由器BR需要存储或者访问已由DHCPv6服务器103分配的IPv4地址列表以利用这些分配的地址来检测(和处理)分组。
参考图11和12可以看到本发明的实施例的其他优点,图11和12示出了缺少协调器300的双栈主机H1、DHCPv6服务器103和边界路由器BR的操作。与图7-10一样,对第一实施例与图11和12(缺乏协调的通信)之间共同的部分和步骤不作进一步地详细说明。
图11示出了有效计时器的期满之后的情况,其中分配给双栈主机H1的IPv4地址已经被释放(1102)。如果在步骤424,IPv4主机H2随后利用先前有效的分配的IPv4地址作为目的地址,向双栈主机H1发送分组,则边界路由器BR将封装(426)所接收的分组(参考图4如上所述),并将该封装的分组发送到(430)双栈主机H1。当分组到达双栈主机H1时,由于双栈主机H1已经释放了该分配的IPv4地址,所以双栈主机H1上没有接口识别该分组的IPv4地址,该分组因此被丢弃。
相反,对于本发明的实施例,将所分配的IPv4地址的释放通知给边界路由器BR,由此隧道105被去除。随后到达边界路由器BR的、目的地址为释放的IPv4地址的任何分组将在路由器BR被丢弃。
在第二种情况中,同样如图11所示,该释放的IPv4地址随后被DHCPv6服务器103分配给(1104)另一个双栈主机Hd,由此所述另一个双栈主机Hd利用分配的IPv4地址生成一个封装的IPv4分组(步骤418),并将封装的分组发送到IPv6网络NW1(可记起,没有本发明实施例的功能,边界路由器BR a)无法觉察双栈主机H1对所分配的IPv4地址的释放,并且b)无法觉察随后向其他双栈主机Hd进行分配)。
当分组到达边界路由器BR时,会出现混淆,这是因为IPv6地址(封装分组的源地址,在此为其他双栈主机Hd)与边界路由器期望的源地址(先前存储的双栈主机H1的IPv6地址)不匹配。利用标准的DSTM方法,边界路由器BR有可能用该IPv6地址与分配的IPv4地址之间的新映射替代任何现有端点EP2映射。该方法可能存在严重的安全隐患,相当重要的原因是边界路由器BR无法评估“正确的”IPv4地址分配。
本质上,边界路由器BR无法知道双栈主机H1实际上是否已经释放了所分配的IPv4地址。有可能是,例如,另一个双栈主机Hd正在欺骗(spoofing)分配的IPv4地址,以试图截接去往网络NW1中另一个双栈主机的分组。显然在此情况中,边界路由器BR不应改变端点EP2映射,但是,没有本发明的实施例,边界路由器BR有可能改变端点EP2的映射,因此使双栈主机Hd能够访问去往另一个双栈主机的数据。
如图12所示,第三种情况是上述情况的另选方案,其中边界路由器BR在收到来自另一个双栈主机Hd的分组时修改端点EP2的映射。因此图12代表这样一种情况当从另一个双栈主机Hd接收分组时,边界路由器BR不改变双栈主机与分配的IPv4地址之间的映射。但是,这对于边界路由器BR的方面也引起一些问题——显然当该IPv4地址被合理地分配给其他双栈主机Hd时,边界路由器BR应该修改端点映射。
由于边界路由器BR没有修改端点EP2的映射,所以当分组从第二网络NW2中的IPv4主机到达边界路由器BR时,边界路由器BR将使用过期的IPv6目的地址对接收到的分组进行封装,使得分组到达错误的双栈主机H1。
因此以上描述的和图11与12所示的情况显示出在没有某种地址分配协调机制的情况下,分组会出现被丢弃、被窃取和方向错误的问题,这会产生额外的网络流通量并增大了出现安全问题的可能性。本发明的实施例提供了这种协调机制,因此提供了一种对于管理DSTM迁移方法的分组选路的改进方法。
事实上,本发明的实施例可以应用到任何通信方法,其中动态地分配地址;可以将分配的地址分配给多个设备中的一个;和将分配的地址用于在网络中对数据进行路由选择。
如本领域的技术人员所理解的那样,可以在一个或更多个计算机程序中实施上述发明。这些程序可以被包含在诸如软盘、CD-ROM、或其他光学可读介质、或者磁带这样的各种传输和/或存储介质中,使得程序可以被装载到一个或更多个通用计算机上或者使用适当传输介质通过计算机网络下载。
使用C编程语言可以方便地编写本发明的程序311、313、315,但应该理解到,这对于本发明来说不是必须的。
权利要求
1.一种对选路设备和主机装置的地址分配事件进行协调的方法,设置该选路设备使其对所述主机装置和至少一个其他主机装置之间的数据进行路由选择,其中该主机装置位于第一网络中,该第一网络根据第一传输协议操作,并且其中所述其他主机装置位于第二网络中,该第二网络根据第二传输协议操作,其中所述主机装置可操作地处理与上述任何传输协议对应的数据分组,该方法包括以下步骤(i)接收一分配的地址,用于供主机装置与其他主机装置进行通信;(ii)接收表示所分配地址的分配状态的指示符;(iii)将所分配的地址与主机装置的地址一起发送到选路设备;(iv)存储所分配的地址与主机装置的地址之间的映射;(v)监视该指示符,并且如果该指示符指示所分配的地址对于主机装置不再有效,(vi)则使存储的映射不可用。
2.根据权利要求1所述的方法,包括利用该映射建立选路设备与主机装置之间的隧道,该隧道用于所述主机装置与所述其他主机装置之间数据的所述路由选择。
3.根据上述权利要求中任何一个所述的方法,其中该指示符包括计时器,并且该方法包括当该指示符指示向主机装置分配该分配地址已经期满时请求续展该分配地址。
4.根据权利要求3所述的方法,包括检查主机的至少一个接口以确定该分配的地址是否要被续展。
5.根据权利要求1-3中任何一个所述的方法,其中该指示符包括通信状态,该方法包括检查该通信状态以确定该分配的地址是否要被续展。
6.根据上述权利要求中任何一个所述的方法,其中使存储的映射不可用的步骤使存储的映射被删除。
7.一种用于协调选路设备和主机装置的地址分配事件的装置,设置选路设备使其对主机装置与至少一个其他主机装置之间的数据进行路由选择,其中该主机装置位于第一网络中,第一网络根据第一传输协议操作,并且其中所述其他主机装置位于第二网络中,第二网络根据第二传输协议操作,其中该主机装置可操作地处理与上述任何传输协议对应的数据分组,该装置包括(a)接收装置,被设置以接收用于供主机装置与其他主机装置进行通信的分配地址,并接收表示该分配地址的分配状态的指示符;(b)发送装置,被设置以将分配的地址与主机装置的地址一起发送到选路设备;(c)监视装置,被设置以监视该指示符,并可操作地将指示符的变化通知给选路设备,其中当接收到该分配地址时,设置选路装置来存储所分配地址与主机装置的地址之间的映射,并且当接收到该通知时,使存储的映射不可用。
8.一种用于协调选路设备和主机装置的地址分配事件的装置,设置选路设备使其对主机装置与至少一个其他主机装置之间的数据进行路由选择,其中该主机装置位于第一网络中,第一网络根据第一传输协议操作,其中所述其他主机装置位于第二网络中,第二网络根据第二传输协议操作,其中该主机装置可操作地处理与上述任何传输协议对应的数据分组,该装置包括(a)分配装置,被设置以向主机装置分配地址,用于供主机装置与其他主机装置之间进行通信,(b)发送装置,被设置以将分配的地址与主机装置的地址一起发送给选路设备;(c)更新装置,被设置以接收表示所分配地址的分配状态的指示符,并且如果该指示符指示该分配地址要被续展,则该更新装置被设置向主机装置发送用于标识所述续展的数据,如果该指示符指示该分配地址不被续展,则更新装置被设置向选路设备发送通知;其中该主机被设置用来监视该指示符,并且可操作地向该装置发送用于标识指示符变化的数据;并且其中选路装置被设置用于当接收到所分配的地址时,存储所分配地址与主机装置地址之间的映射,当接收到该通知时,使存储的映射不可用。
9.根据权利要求7或8所述的装置,其中选路设备被设置用于当收到通知时,去除所存储的映射。
10.根据权利要求7-9中任何一个所述的装置,其中指示符包括计时器,并且当该计时器期满时,该分配的地址对于主机装置来说被认为是无效的。
11.根据权利要求7-10中任何一个所述的装置,其中主机装置可操作地根据第二传输协议来处理至少一个应用。
12.一种用于管理网络的设备,包括根据权利要求7-11中任何一个所述的装置。
13.一种计算机程序,或一组计算机程序,其中当将该程序加载到一个计算机或一组计算机上时,该程序可操作地实施根据权利要求1-6中任何一个所述的方法。
全文摘要
本发明的实施例涉及协调选路设备与主机装置的地址分配事件。其中选路设备被设置以对主机装置和至少一个其他主机装置之间的数据进行路由选择。该选路设备可以是路由器,并且主机装置可以是位于第一网络中的计算机,该第一网络根据第一传输协议操作。所述其他主机装置可以是位于第二网络的计算机,该第二网络根据第二传输协议操作。该方法特别适于主机根据第二传输协议运行一个或更多个应用的情况中。本发明的实施例涉及协调地址分配事件,这些事件要求能够将第二传输协议的数据通过第一网络传送到其他主机装置。该方法包括以下步骤接收所分配的地址,用于主机装置与其他主机装置进行通信;接收表示所分配地址的分配状态的指示符;将分配的地址与主机装置地址一起发送到选路设备;存储所分配地址与主机装置的地址之间的映射;监视指示符,并且如果该指示符指示该分配地址对于主机装置不再有效,则使存储的映射不可用。
文档编号H04L12/66GK1547722SQ02816624
公开日2004年11月17日 申请日期2002年8月27日 优先权日2001年8月24日
发明者约翰·罗伯特·金, 约翰 罗伯特 金, 威利斯 莫特拉姆, 斯蒂芬·威利斯·莫特拉姆 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1