专利名称:电信路由选择的制作方法
技术领域:
本发明涉及电信信号的路由选择,具体涉及基于分组的通信的路由选择,例如,使用所谓的“因特网协议”(IP)在“因特网”中使用的那些通信的路由选择。本发明在一个实施例中涉及一种把这种通信路由选择到固定和移动电信介质的方法,使得用户可以在任何一种介质上以相同方式使用类似的服务,并通过交换设备和其他基于网络的设备的更大的通用性来允许系统运营商降低成本。
背景技术:
当前的移动介质系统的设计结构是,移动用户和相关的系统在网络接口(通常是无线电基站)合作以使得一个移动节点能够从与一个基站通信改变为与另一个基站通信,并使得网络能够更新该新位置的智能点。在蜂窝网络中,这些智能点是本地位置寄存器和访问者位置寄存器(HLR和VLR),而在“移动IP”中这些位置被称为本地代理和外部代理。在两种情况下,“访问者”位置寄存器或“外部”代理都保持一个只与那些正在与在它们监管下的基站合作的用户有关的记录,而它们对应的“本地”位置寄存器或“本地”代理则保持一个有关它们的相关用户的永久记录,其中包括一个有关每个“本地”单元正与哪个VLR或外部代理合作的记录。一个入局消息中的地址标识出相关的HLR/本地代理,参考该信息来识别适当的VLR/外部代理以得到更具体的路由选择细节。这允许在靠近用户当前位置的VLR/外部代理内实现微小的位置变化,而无需通知距离较远的HLR/本地代理,从而大大减少了信令开销。
移动性的其他成本是提供该本地代理/外部代理接口,尤其是对于分组系统,还包括隧穿(把消息从一个地址转发到另一个地址)的成本,地址用尽(无法重新使用一个正发生转发的地址),和三角路由选择。
在固定介质系统中,IP路由选择基于从潜在目的地到潜在发送者的IP地址块或前缀的分配(具有相关的度量或路由成本),使得发送者和中间路由器可以确定到目的地的最好的下一个跳点(相邻路由器)。为网络中的所有目的地预先计算这些路由,使得发送者可以在产生信息时立即发送。当源和目的地具有固定位置,并且通信带宽足以满足路由的穷尽交换时,路由的预先计算和所配置的路由选择交换技术是可能的。但是,随着漫游比例的增加,这种模型趋于失败,需要一个更动态的路由选择方法。
R.Ramjee,T.La Por,S.Thuel,K.Varadh在1999年2月19日公开了一个作为因特网草案的称为“HAWAII”的提议,名称是“使用HAWAII的IP微移动性支持”,刊登在因特网工程工作组网站HTTP//www.ietf.org/internet-drafts/draft-rimjee-micro-mobility-hawaii-00.txt。HAWAII使用专门的路径建立方案,当在一个路由选择域中时在特定的路由器中安装基于主机的转发记录,以支持域内微移动性,并且默认使用“移动IP”用于域间微移动性。在HAWAII中,当移动主机在域内移动的同时,保留它们的网络地址。HAWAII体系结构依赖于域中的一个网关路由器(称为域根路由器),该域中的默认路由被指向该域根路由器。基于每个移动主机的永久IP地址为其分配一个本地域。路径建立方案更新一个域中的单个路由选择路径,使得在无线链路层的越区切换之前和之后到移动主机的接续都是可能的。只有那些沿着域根路由器和当前服务于移动主机的基站之间的单个路由选择路径设置的路由器具有用于移动主机IP地址的路由选择表记录。该域中的其余路由器把任何寻址到移动主机的分组沿着依赖于路由选择域的树型性质的默认路由(以域根路由器为根)上行路由选择,以提供与沿着该单个路由选择路径(对于该单个路由选择路径,路由器具有用于移动主机IP地址的单独主机记录)向移动主机进行的下行路由选择的交叉。
在HAWAII中,域之间的移动性由“移动IP”机制支持。本地域根路由器被指定为本地代理,通过外部域根路由器转发被封装的IP分组。
HAWAII提议的缺陷包括移动IP隧道集中在网络的核心中的很少几个节点(域根路由器)中,使得任何这些节点的故障都可能导致由故障节点处理的所有移动IP状态和相关话路的大规模故障。此外,由于从本地域外部到本地域内以及相反方向的所有路由选择都必须通过本地域根路由器发生,因此本地域根路由器的故障也可能导致大规模故障。
本发明人所提出的提议被称为“边沿移动性体系结构”(EMA),该提议提供了“移动增强路由选择”(MER),从而通过改变分组交换网络的基础结构中的路由选择,允许分配给移动节点的IP地址的移动。一种提议类型的路由选择更新通过在移动节点的新接入路由器和旧接入路由器之间传播单点传送更新消息,对改变IP地址的路由所需的信令量加以限制。在移动站在各接入节点之间移动时,产生的路由选择路径不太有效。
发明内容
期望的是提供一种用于在分组通信网络的基础结构中改变路由选择的改进方法和设备。
在本发明的一个方面,提供一种在通信网络中对分组的路由选择进行控制的方法,该通信网络包括由分组传输链路互连的分组交换节点的基础结构,以及多个接入节点,在所述基础结构中可以为一个给定网络地址把一个路由选择路径指向所述接入节点,该路由选择路径是由沿着该路由选择路径设置的分组交换节点中保持的数据来定义的;所述方法包括沿着第一路由选择路径为第一网络地址对分组进行路由选择,该路由选择路径通过通信链路指向服务于使用所述第一网络地址的移动节点的第一接入节点,所述分组去往所述移动节点,使得所述分组被渐进地从上游邻居节点转发到下游邻居节点;执行路由重定向处理以重定向所述第一路由选择路径的至少一部分,所述重定向是通过把一个路由选择更新消息从下游邻居传递到第一个上游邻居执行的,所述第一个上游邻居响应于所述路由选择更新消息改变它的路由选择方向性并把一个路由选择更新消息传递到第二个上游邻居;
其中所述路由重定向处理包括在所述路由重定向处理期间,所述第一上游邻居临时封锁去往所述移动节点的分组的转发。
可以实现本发明的这个方面以防止在一个路由选择方向处理期间不希望的路由选择循环。
本发明的其他方面和优点将从下面参考附图以示例方式描述的实施例中得到更好的理解,其中图1示意性表示根据本发明一个实施例的固定/移动拓扑结构的示例;图2到11示意性表示根据本发明一个实施例的基站间越区切换和伴随的路由选择更新;图12到16表示根据本发明另一个实施例的基站间越区切换和伴随的路由选择更新;图17到25表示根据本发明一个实施例把路由选择恢复到一个分配接入节点;图26示意性表示根据本发明一个实施例在路由选择节点中保持的一个路由选择协议数据表;图27表示根据本发明一个实施例在路由选择节点中保持的一个下一跳点转发表;图28到38表示根据本发明实施例的路由选择更新程序;图39是示意性表示移动节点的不同可能状态的状态图;图40表示根据本发明一个实施例的循环防止程序(loop preventionprocedure);以及图41表示根据本发明一个实施例的网络布置。
具体实施例方式
现在参见图1,示出了根据本发明一个实施例的固定/移动拓扑结构的示例。举例来说,该拓扑结构包括形成了一个自主系统(AS)的三个分组交换网络2,4,6,其范围由图1中的深阴影部分示意性表示。对术语“自主系统”的一个定义是“在相同管理下的一组路由器和网络”(“因特网中的路由选择”,Christian Huitema,Prentice-Hall,1995,page158)。此处,术语“自主系统”还表示本领域中的一个路由选择域,并且还表示一个网络,或一组网络,该网络具有运行相同路由选择协议的路由器。一个自主系统可以连接到其他自主系统,形成一个全球互连网络,例如因特网(下面以此为例)。路由选择协议是内部网关协议,并且与其他自主系统的通信是通过诸如边界网关协议(BGP)之类的外部网关协议实现的。已知的内部网关协议的例子是路由选择信息协议(RIP)和最短路径优先开放(OSPF)。
形成自主系统的固定基础结构的网络2,4,6包括多个因特网协议(IP)分组交换节点,其形式是在AS中把不同网络2,4,6互连的多个核心路由器(CR),多个边沿路由器(ER)和桥式路由器(BR)。AS中的所有这些分组交换节点运行单个内部IP路由选择协议,在下面将更详细地描述其一个实施例。
一个或多个外部网关路由器(EGR)把自主系统连接到全球因特网的其他自主系统。
图1所示的自主系统同时为移动主机和固定主机(即静止主机)执行路由选择,对移动主机来说,根据移动主机的移动性的结果改变AS内的路由选择,对固定主机来说,没有这种路由选择改变发生。
可以通过无线链路把移动节点连接到网络基础结构,在所示例子中,无线链路是一个使用由网络运营商提供的形成AS接入节点的至少一部分的基站的蜂窝无线电链路(另一个可能类型的无线链路是红外链路)。蜂窝无线电链路可以是时分多址(TDMA)系统链路,例如“GSM”,或码分多址(CDMA)系统链路,例如“CDMA 2000”。移动节点的形式是单独的移动主机14,和/或具有连接到其上的多个主机的移动路由器16,它们在任何给定时间分别与一个或多个(例如,在CDMA“软越区切换”情况下)接入节点进行无线电通信。基站可以连接到包括无线电天线在内的一个或多个基地收发信台(BTS),在无线电天线周围形成蜂窝系统的各个“小区”。
移动节点14,16在蜂窝无线电通信网络的小区间移动。如果一个接入节点服务于多个小区,则一个在小区间越区切换的移动节点可以继续通过相同的接入节点接收分组数据。但是,一旦一个移动节点移动到它接收服务所用的接入节点的范围之外,越区切换到一个新小区可能需要改变AS内的路由选择。从所述移动节点始发和去往所述移动节点的、并且在越区切换前通过一个给定接入节点使用该节点的IP地址的标识符进行路由选择的数据分组,可能需要在越区切换后通过一个不同的接入节点为相同的IP地址进行路由选择。一个移动节点可以在从一个接入节点到另一个接入节点的越区切换期间通过AS加入与一个不同的主机的通信话路。因为在传输层的连接(例如,在TCP/IP连接中)是部分地由移动节点的IP地址定义的,当一个移动节点接收来自一个不同的接入节点的服务时,希望这种路由选择中的变化能允许使用相同的IP地址使这种连接继续。
固定主机可以通过局域网(LAN)10连接到一个接入节点,局域网10运行诸如以太网协议的局域网协议。固定主机也可以使用由因特网接入提供商提供的网络接入服务器(NAS)20通过公共服务电话网络(PSTN)12连接到一个接入节点。NAS 20使用诸如PPP或SLIP的协议,在拨号的基础上动态地把固定IP地址分配给连接到NAS 20的固定主机,并通过一个相关的接入节点对从每个固定主机始发或去往每个固定主机的IP分组进行路由选择。虽然NAS 20在动态基础上分配IP地址,在一个接入话路期间或一个较长时段期间,为所分配的IP地址对分组进行路由选择所用的接入节点并不改变。因此,除非是由于AS内部的因素(例如链路故障或业务量管理),在自主系统内的路由选择不需要为每个固定主机改变。
内部网关协议,即本发明的该实施例中在AS中使用的单个IP路由选择协议,是时间定序路由选择算法(TORA)路由选择协议的修订版本,该协议在以下参考文献中描述Vincent D Park和M Scott Corson在INFOCOM’97会议论文中发表的“用于移动无线网络的高度自适应分布式路由选择算法”,4月7-11日,日本神户;Vincent D Park和M ScottCorson在ISCC’98会议论文中发表的“时间定序路由选择算法和理想链路状态路由选择的性能比较”,1999年6月30日至7月2日,希腊雅典。
TORA路由选择算法分布地执行,提供无循环路由(loop-free route),提供多路由选择(以缓解拥塞),快速建立路由(使得可以在拓扑结构改变前使用该路由),并通过在可能的情况下把算法对拓扑结构变化的反应局部化来使通信开销最小(保存可用带宽并提高可升级性)。
把算法分布在那些只需要有关邻近节点的维护信息(即,一个跳点知识)的节点中。这确保所有路由是无循环的,并且通常为需要一个路由的任何源/目的地对提供多径路由选择。由于通常建立多个路由,很多拓扑结构的变化不需要AS内的路由选择更新,因为有单个路由就足够了。在需要反应的拓扑结构的变化之后,协议重新建立有效的路由。
TORA协议把一个网络建模为一个图形G=(N,L),其中N是一个有限的节点集合,L是一个初始未定向链路的集合。每个节点i∈N具有一个唯一节点标识符(ID),并且每个链路(i,j)∈L允许双向通信(即,由一个链路连接的节点可以在两个方向中任何一个方向相互通信)。可以随后对每个初始未定向的链路(i,j)∈L指定下面三个状态之一(1)未定向,(2)从节点i指向节点j,或(3)从节点j指向节点i。如果链路(i,j)∈L从节点i指向节点j,可以说节点i来自节点j的“上游”,而节点j来自节点i的“下游”。对于每个节点i,i的“邻居”Ni∈N被定义为节点j的集合,使得(i,j)∈L。每个节点i总是知道集合Ni中的它的邻居。
为需要路由选择的每个目的地(例如,由一个主机IP地址标识)运行该协议的一个逻辑上分离的版本。
TORA协议可以分离为三个基本功能产生路由,保持路由,和删除路由。产生从一个给定节点到目的地的路由需要建立从该节点导向该目的地的定向链路的序列。产生路由实质上对应于把方向指定给一个未定向网络或网络部分中的链路。用于完成该任务的方法是一个询问/答复过程,其建立一个以该目的地为根的定向非循环图形(DAG)(即,该目的地是唯一不具有下游链路的节点)。这种DAG可以称为“面向目的地的”DAG。保持路由涉及到以一定方式对网络中的拓扑结构变化作出反应,使得在一个有限时间内重新建立到该目的地的路由。在检测到一个网络分区时,把(在已经与目的地分隔的网络部分中的)所有链路标记为未定向以删除无效路由。
该协议通过使用以下三个不同的控制分组来完成这三个功能询问(QRY),更新(UPD),和清除(CLR)。QRY分组用于产生路由,UPD分组同时用于产生和保持路由,CLR分组用于删除路由。
在任何给定时间,对于每个目的地,把一个称为“高度”Hi=(τi,oidi,ri,δi,i)的定序五元组与每个节点i∈N相关联。概念上,与每个节点相关联的五元组代表由以下两个参数定义的节点高度一个参考水平和一个相对于该参考水平的增量。参考水平由五元组中的前三个值代表,而增量由后两个值代表。每当一个节点由于链路故障丢失了它的最后一个下游链路时,定义一个新参考水平。代表参考水平的第一个值τi是一个被设置为该链路故障的“时间”的标记。第二个值oidi是始发者ID(即,定义该新参考水平的节点的唯一ID)。这确保可以完全按照字典顺序对参考水平排序。第三个值ri是一单个位,用于把每个唯一参考水平划分为两个唯一子水平。该位用于区分原始的参考水平和它的对应的、较高反射的参考水平。代表增量的第一个值δi是一个整数,用于相对于一个公共参考水平对节点排序。这个值有助于参考水平的传播。最后,代表增量的第二个值i是该节点自身的唯一ID。这确保具有公共参考水平和相同δi值的节点(和实际上所有节点)总可以完全按照字典顺序排序。
每个节点i保持它的高度Hi。最初,网络中每个节点(除了目的地)的高度被设置为NULL,Hi=(-,-,-,-,i)。随后,可以根据协议的规则修改每个节点i的高度。除了其自己的高度外,每个节点i在一个路由选择协议数据表中保持有针对具有网络中的一个现有DAG的主机IP地址的记录,这些记录包括一个高度阵列,其中每个邻居j∈Ni有一个记录HNij。
每个节点i(除了目的地)还在路由选择协议数据表中保持一个链路状态阵列,其中每个链路(i,j)∈L有一个记录LSij。链路的状态由高度Hi和HNij确定,并从较高节点指向较低节点。如果一个邻居j高于节点i,那么把该链路标记为上游。如果一个邻居j低于节点i,那么把该链路标记为下游。
TORA协议最初被设计用于移动Ad-Hoc网络(MANET),其中路由器是移动的并且通过无线链路互连。但是,在本发明的该实施例中,在一个包括由固定链路互连的固定路由器的固定基础结构的自主系统(例如图1所示系统)中使用一个改进的TORA协议,以便在一个移动主机改变它到自主系统的连接点,即接入节点时规定自主系统中的路由选择改变。
图26示意性地表示根据该实施例可以在分组交换节点中保持的一个路由选择协议数据表的例子。
对于网络中的每个主机IP地址(或者,在下面将要详细描述的聚集DAG的情况下,对于每个地址前缀)IP1,IP2等等,存储该存储节点的高度Hi(IP1),Hi(IP2)等等。而且,存储每个邻近邻居(例如w,x,y,z)的身份和该邻居的高度HNiw(IP1,IP2,…),HNix(IP1,IP2,…),HNiy(IP1,IP2,…)和HNiz(IP1,IP2,…)。最后,可以针对对应于每个邻居的每个链路身份(L1,L2,L3,L4)把每个IP地址(或前缀)的链路状态阵列存储为多个标记的形式,这些标记用于表示一个上游链路(U),一个下游链路(D),或一个未定向链路(-)。
在路由选择协议数据表中保持的链路状态阵列允许在保持该数据的路由器中本地地进行下一跳点转发判定。对于一个充分互连的网络,每个路由器应该具有至少一个下游链路。如果只存在一个下游链路,则选择该链路作为下一跳点转发链路。如果存在多于一个的下游链路,可以例如根据两个链路上的当前业务量负载来选择一个最佳下游链路。在任何情况下,把所选择的链路输入到按IP地址列出的下一跳点转发数据表中。例如图27所示的下一跳点转发表被保持在高速缓存存储器中,以便在需要路由选择的IP分组到达该路由器时进行快速访问。该表按每个IP地址(或前缀)IP1,IP2等等存储所选择的下一跳点转发链路(L2,L1,…)。
对路由器的固定基础结构以及下面将描述的本发明其他方面的使用可以允许AS内的路由选择聚集,特别是对于移动主机的IP地址。下面将给出IP定址的一个简单描述,特别是如何使用可变长度前缀来提供IP路由选择网络中的路由选择聚集。
IP地址目前由预定数量(32)的位组成。在过去,IP地址是在非结构化基础上分配的(称为“平面”定址方案)。类定址通过把地址拆分为网络前缀和主机字段引入了两级路由选择分层结构的概念。用户被分配A类,B类或C类IP地址以简化路由选择和管理。
在A类中,位0标识A类,位1-7标识网络(126个网络),位8-31标识主机(16百万个主机)。
在B类中,位0-1标识B类,位2-15标识网络(16,382个网络),位16-31标识主机(64,000个主机)。
在C类中,位0-2标识C类,位3-23标识网络(2,097,152个网络),位24-31标识主机(256个主机)。
一个两级分层结构仍然在网络中的主机之间留下一个平面路由选择分层结构。例如,A类地址块具有16百万个主机,这将导致网络中的所有路由器包含16百万个路由选择表记录。已经开发了子网划分来允许一个主机地址块被拆分为一个可变长度子网字段和主机字段。这允许AS中的路由器仅保持子网的路由选择表记录(为每个子网上的所有主机提供路由选择聚集)。使用子网掩码来使路由器能够识别地址的子网部分。
根据本发明的该实施例,通过把一个主机IP地址块(即,共享一个或多个前缀的IP地址的邻接序列)分配给一个接入节点,例如,用于来自该块内的所有IP地址的、在本文中被称为分配接入节点的接入节点,来提供路由选择聚集。在移动主机的接入话路期间,或者在较长期间,即在各接入话路之间不进行重新分配,可动态地把来自该块内的IP地址分配给移动主机。在一个移动主机在加电后向蜂窝网络登记时的动态分配情况下,当该移动主机被分配一个IP地址时,该服务接入节点高速缓存移动主机的无线链路标识符与所分配的IP地址之间的绑定关系(binding)。一个聚集路由选择方案(在本实施例中的一个聚集DAG)是在移动主机被分配IP地址之前在AS内预先计算的。当IP地址被取消分配时,在移动主机断电之后的动态分配情况下,IP地址被返回到分配接入节点,然后,该分配接入节点可以把该IP地址分配给另一个移动主机。由一个接入节点分配的移动主机IP地址将具有一个聚集DAG,直到至少一个移动主机远离,在此情况下,聚集DAG将保留在原位,但是在受一个移动性专用路由选择更新程序影响的路由器上将产生一个主机特定异常(该更新仅改变已经远离的单个移动站的路由选择)。
在AS中为由一个接入节点拥有的地址前缀进行的路由预先计算是由注入每个前缀的一个更新消息(此处称为“优化”(OPT)分组)并建立聚集DAG的该拥有接入节点实现的,该更新消息跨越AS溢出并有效地作为一个前缀通告。OPT分组由拥有该IP地址前缀并控制聚集DAG的接入节点发送。OPT分组传播到网络中的所有其它节点(不管它们的当前高度(如果设置的话)),并把这些高度设置(重新设置)为“全零”参考水平,即TORA高度的前三个值(τi,oidi,ri)都被设置为零。第四个高度值δi被设置为该OPT分组自接入节点发送开始所经历的跳点数目(这类似于已知的TORA源启动的DAG产生机制中的UPD分组传播)。可以增加一个1的增量以表示从接入节点到移动节点的跳越。第五个高度值i被设置为节点ID。
一旦AS中存在一个聚集DAG,AS中的每个分组交换节点具有用于所关注的IP地址前缀的下一跳点转发表记录。当一个分组到达一个需要路由选择的节点时,该节点在它的下一跳点转发表中搜索最长的匹配地址记录,下一个路由选择判定就基于该最长匹配地址记录,如果使用该IP地址的移动节点还没有远离该拥有接入节点,那么该最长匹配地址记录就将是该IP地址前缀。通过规定AS内的聚集DAG,可以使每个分组交换节点上的路由选择表大小和路由选择处理最小。
但是,当一个移动节点在无线链路层从它首先接收网络中服务的接入节点越区切换时,在由移动节点的移动性造成的路由选择更新影响的(有限数目的)分组交换节点中的路由选择协议数据表和下一跳点转发表中产生一个单独的主机地址记录。这些节点继续存储对应的聚集地址记录,但是根据最长匹配搜索,使用主机地址记录来把分组路由选择到移动节点的IP地址。
TORA高度保持算法属于由E Gafni和D Bertsekas在1991年1月在IEEE通信学报中发表的“用于在具有频繁改变的拓扑结构的网络中产生无循环路由的分布式算法”中最初定义的相同算法类别。在该类别内,一个节点可以仅“增加”它的高度;它不可以降低它的高度。但是,在本发明的该实施例中,提供一个算法改进以确保在一个接入节点间的越区切换后,一个节点的转发行为是当存在邻居节点的多个路由选择接口时,它通过一个路由选择接口把分组转发到一个邻居节点,其中从该邻居节点最后接收到了一个有关移动性的路由选择更新。路由器的路由选择协议数据表中存储的高度五元组(τi,oidi,ri,δi,i)中的τ时间值(作为一个按移动节点的IP地址和邻居列出的记录)被允许变成“负的”,即小于零,以表示一个有关移动性的更新已经发生,并且负τ时间值的数值随着一个给定IP地址的每个有关移动性的路由选择更新的发生而增加。因此,最近的有关移动性的更新由较大的负τ时间值指示。应注意,虽然有关移动性的路由选择更新由一个负τ时间值区分,也可以使用其它指示符,例如一个一位标记来代替该负标记。
当一个移动节点改变接入节点联属(affiliation)时,它通过把τ时间值降低例如一个整数来降低它的高度值,并且把该新值作为一个与移动节点的IP地址相关的DAG的由移动站启动的更新的一部分传播到AS中的有限数量的节点,这将在下面进一步描述。一个具有多个下游邻居的节点向最近激活的下游链路进行路由选择。高度仍然被全部排序(因此保护了路由选择循环自由)。
本发明的再一个方面是,在无线链路层进行的移动节点的越区切换期间,提供一个临时的短期隧穿机制,从而使到达移动节点所越区切换离开的接入节点的数据分组可以被转发到移动节点被越区切换到的接入节点。IP分组交换网络中的隧穿可以通过利用一个新IP首部(寻址到新接入节点的IP地址)封装该数据分组来实现,称为“IP-in-IP隧穿”。在新接入节点,把分组解封装并通过无线链路转发到该移动节点。隧道设置、信令和验证机制可以是那些在C Perkins在1996年10月的1ETF RFC2002中发表的“IP移动性支持”中描述的“移动IP”中使用的机制。利用具有“移动IP”功能的所有接入节点,“移动IP”还可以用于允许把分组转发到移动到一个不同AS的移动节点。其它可能的隧穿协议包括UDP隧穿(其中把一个UDP首部添加到一个入局分组),GRE隧穿(一个CISCO(TM)协议),第二层隧穿协议(L2TP),和协商或配置IPSEC隧道模式。
当一个移动节点要从一个接入节点越区切换时,该接入节点与该移动节点被越区切换到的新接入节点进行交互,以进行以下步骤(a)准备一个到新接入节点的单向隧道,使得可以在旧接入节点和移动节点之间的无线链路丢失后把分组转发到移动节点。可以通过映射到一个预先存在的接入节点间的隧道或一个主机专用隧道来准备隧道,并通过移动IP机制动态地协商。
(b)在无线链路层对移动节点进行越区切换。
(c)从新接入节点注入一个用于移动节点的IP地址(或多个地址,在移动路由器的情况下)的路由选择更新。
(d)通过一个到新接入节点的隧道链路转发去往移动节点的IP地址和到达旧接入节点的数据分组。
(e)更新到旧接入节点的无效路由选择。
(f)如果是主机专用的,则解除该隧道,或者在路由选择的会聚之后,去除一个预先存在的隧道中的主机专用状态。
在越区切换前,通过在经过旧接入节点的基础结构中的一个或多个路由把所有分组直接路由选择到移动节点。在路由选择的会聚之后,通过经过新接入节点的基础结构中的一个或多个路由把所有分组直接路由选择到移动节点。
当(或者作为隧道建立的一部分从旧接入节点,或者通过一个移动站辅助的越区切换从移动节点)把越区切换通知给新接入节点时,新接入节点产生一个定向路由选择更新消息,该消息被单点传送到使用现有DAG的旧接入节点用于移动节点的IP地址(其仍保持指向旧接入节点)。该更新沿着到旧接入节点的反向最低邻居路径(一个近似最短路径)选择性地修改移动站的DAG。在该更新的结尾,在移动节点在无线电链路层越区切换后,旧接入节点将具有DAG中的一个新下游链路用于移动节点的IP地址。一个交叉路由器(crossover router)将在更新过程期间接收单点传送的定向更新,此时一个现有数据流被重定向到移动节点的新接入节点。
该更新程序不依赖于拓扑结构,并且在使用时可以不考虑新和旧接入节点之间的拓扑距离(这可以根据接入节点的相对位置而实质性变化)。
在到旧接入节点的无线链路丢失时没有建立到新接入节点的路由选择,和或者在旧接入节点中没有进行有效数量的高速缓存的情况下,该短期隧道避免了分组丢失。
但是,短期隧道的使用不必总是必须的,这取决于以下两个事件的相对排序(i)在旧接入节点的接入节点到移动节点无线链路的丢失(ii)定向路由选择更新到达旧接入节点。
如果路由选择更新在旧无线链路丢失前到达,就无需隧道,因为由于重新路由选择将不会有进一步的数据分组到达旧接入节点(提供具有相同排队优先级和处理的控制和数据分组;如果不是,那么已经排队的数据分组仍将在路由选择更新之后到达),并且所有过去的数据分组将通过旧无线链路被转发到移动站。如果不需要隧道,通过在旧接入节点标记一个虚拟下游链路直到路由选择会聚,可以防止由于在丢失旧无线链路时所有下游链路的丢失而导致的在旧接入节点的一个TORA更新的过早触发。因此,仅仅通过信令就可以实现在旧接入节点的路由选择抑制。
仅通过信令实现的路由选择抑制也可以在旧接入节点用作一个高速缓存(例如一个透明高速缓存)的情况下使用,允许旧接入节点存储相对大量的数据直到路由选择会聚,并且一旦路由选择会聚就重新发送该数据。
如上所述,当一个移动节点结束它的接入话路时,该移动节点的IP地址的路由选择可以被返回到始发该路由选择的接入节点,即IP地址的分配接入节点。提供一种机制来有效地把DAG的目的地恢复到分配接入节点,这仅需要AS中有限数量的节点的加入。
当一个移动节点结束它的接入话路时,当前接入节点联系该IP地址的分配接入节点,并启动DAG的目的地到分配接入节点的传送。同样,也可以把一个隧道链路用作一个抑制机制来抑制在当前接入节点的路由选择更新的启动,或更简单地,如果不转发任何数据,可以使用一个虚拟链路(一个在当前接入节点的无作用的下游链路标记)。当前接入节点建立一个指向分配接入节点的隧道链路或虚拟下游链路。作为响应,分配接入节点产生一个定向“恢复”更新,该更新被发送到使用现有DAG的当前接入节点用于移动节点的IP地址(其仍保持为指向当前接入节点)。该更新删除了由移动节点的先前移动性产生的所有主机专用路由选择协议数据表记录和下一跳点转发表记录,以把预先计算的聚集DAG恢复为用于移动节点的IP地址的有效路由选择方案。该更新行进经过由移动节点的过去移动性造成的路由选择更新先前所产生的路径。因此,删除了移动性专用更新产生的负高度值的集合,并且具有“全零”参考水平的聚集DAG(假设网络中没有造成新高度产生和反转的故障)被重新激活。隧道链路或虚拟链路可以被保持直到在当前接入节点接收到恢复更新,此时把隧道解除或者把虚拟链路去除。
周期性地,或者在检测到一个触发事件时,移动节点或一个用作移动节点的接入节点可以利用“全零”参考水平、使用TORA更新机制来为一个IP地址重新初始化DAG,从而消除DAG的任何有关移动性的路由选择表记录。以此方式传播的“全零”参考水平优先于所有其它高度值(正和负),并可以在整个AS中传播(一个全AS的DAG重新优化)。这提供了一个用于软状态路由维护的机制,其越控于有关移动性的更新机制。
下面参考图2到11对在无线链路层的BS间越区切换和AS的固定基础结构内的路由选择更新的一个详细示例进行说明。另一个示例参考图12到16进行说明。参考图17到25对在移动主机接入话路结束后把路由选择恢复到分配接入节点的一个详细示例进行说明。参考图28到31对在AS的固定基础结构内的路由选择更新的一个详细示例进行说明。参考图32和33对另一个这种实施例进行说明。参考图34和35对主机专用路由选择数据删除程序进行说明。参考图36到38对主机专用路由选择注入程序进行说明。
在图2到25和图28到38所示的每个TORA高度五元组中,为简单起见,使用符号i表示节点ID。但是,应该理解,这个值对于每个节点是不同的,以便唯一地标识AS内的节点。还应该注意,为简单起见,只显示了AS的一部分。
在所有下面的示例中,AS包括多个固定核心路由器(CR1,CR2…),多个固定中间路由器(IR1,IR2,…),和多个固定边沿路由器(ER1,ER2,…),根据它们对AS的固定基础结构的拓扑结构“边沿”的相对接近性来分类。核心路由器适于处理比中间路由器更大量的业务量,中间路由器适于处理比边沿路由器更大量的业务量。例如,核心路由器可以处理全国业务量,中间路由器可以处理区域业务量,边沿路由器可以处理子区域业务量。
分组交换路由器与无线基站组合或相关,以形成实体的实施例,该实体此处被称为一个接入节点(BS1,BS2,…),尽管可以理解,术语“接入节点”不是为了限制为一个包括无线基站功能的路由选择节点。可以在一个在拓扑结构上远离一个无线基站的节点提供一个“接入节点”,例如参见下面参考图40所述的布置。
在下面所述的所有示例的情况下,在接口处的逐跳点路由选择方向性由沿着网络的节点之间和接入节点与移动节点之间的链路(这些链路包括无线链路)标记的箭头表示。分布式路由选择方案的形式是一个指向单个接收移动主机MH2的TORA DAG。在移动主机MH2开始一个接入话路并被动态分配一个IP地址之前,AS内存在用于该IP地址的一个预先计算和聚集的DAG,其是作为一个全AS的更新从分配该IP地址的接入节点(节点BS2)注入的。在图2到25和图28到38中,至少那些涉及路由选择更新或分组转发的节点被用它们的TORA高度五元组(τi,oidi,ri,δi,i)标记。如前所述,该TORA高度还被存储在每个邻居节点的路由选择协议数据表中,已经从应用该高度的节点通告过来。
当移动节点MH2向分配接入节点BS2登记时,分配接入节点按所分配的IP地址在无线链路层高速缓存移动主机的身份,因此在节点BS2中保持的一个路由选择表中形成一个移动站专用记录。
图2表示在移动节点MH2和另一个主机(在此情况下是一个移动主机MH1)之间发生的示例通信话路(例如,一个TCP/IP连接)。在下面的示例中,不发生对应移动主机MH1的移动性,尽管使用要关于节点MH2的移动性描述的相同功能时这种移动性是可能的。也可以利用一个对应的固定主机进行类似的通信话路。应注意,在AS中存在一个指向节点MH1的单独DAG,因而从节点MH2始发的数据分组被路由选择到节点MH1。由于该指向节点MH1的DAG不改变,并且存在从节点MH2所联属的每个接入节点到节点MH1的路由选择,因此将不再提供到节点MH1的路由选择的进一步说明。
如图2所示,从节点MH1始发并去往节点MH2的数据分组最初通过其聚集DAG(例如,通过固定节点BS1,ER1,IR1和ER2)被路由选择到分配接入节点BS2。
现在参见图3,可以由节点MH2自己或节点BS2进行无线链路层BS间越区切换判定。在一个移动节点启动的越区切换的情况下,可以根据从节点BS2和BS3接收的信号之间的无线链路质量的比较来进行该判定。在移动节点MH2移动时,从接入节点BS3接收的信号可能改善,而从接入节点BS2接收的信号变差,并且在一个阈值判定事件,移动主机通过启动节点BS2和BS3之间的越区切换来响应。如果在节点BS2进行越区切换判定,可以根据其他因素(例如业务量负载)来进行判定。在此情况下,接入节点BS2把越区切换指令发送到节点MH2。
不管BS间越区切换是由移动节点MH2还是分配接入节点BS2启动的,移动节点MH2都选择一个新接入节点BS3并把一个隧道启动(TIN)分组发送到分配接入节点BS2。该TIN分组包括新接入节点BS3的IP地址,该IP地址是由移动节点从接入节点BS3所广播的一个信标信道读取的。移动节点MH2还通过把其高度的τ时间值减小到一个负值,-1(表示远离分配接入节点BS2的第一个有关移动性的路由选择更新),来计算一个新高度,并将其包括在TIN分组中。
现在参见图4,当分配接入节点BS2接收到来自移动节点MH2的TIN分组时,分配接入节点BS2建立一个到新接入节点BS3的短期IP-in-IP隧道链路。分配接入节点BS2把到BS3的隧道接口输入到它的路由选择表中,新接入节点BS3的TORA高度被设置为等于(-1,0,0,1,i)以确保隧道接口被标记为下游链路以用于越区切换程序的剩余部分期间的数据分组转发。
当已经从分配接入节点BS2到新接入节点BS3建立了短期隧道链路时,分配接入节点BS2通过隧道接口把从移动节点MH2接收的TIN分组转发到新接入节点BS3。
在本实施例中,所使用的无线链路系统的性质使得,移动节点MH2能够(如同一个允许软越区切换的CDMA蜂窝无线电系统中一样)在越区切换期间通过到每个接入节点BS2和BS3的两个同时无线链路进行通信。因此,接下来,移动节点MH2建立与新接入节点BS3的一个第二无线链路,并在节点BS3中建立一个路由选择表记录以表示一个到移动节点MH2的下游链路。
新接入节点BS3产生一个单点传送定向更新(UUPD)分组,该分组具有分配接入节点BS2的地址作为目的地。该地址是它的IP地址块的前缀,因此UUPD分组跟随在AS中存在的用于分配接入节点BS2的聚集DAG。因此,UUPD分组要沿着新接入节点BS3和分配接入节点BS2之间的单点传送路径行进。UUPD分组的处理使得沿着更新路径的所有节点以及与沿着路径的节点紧邻的所有节点的路由选择协议数据表和至少一些下一跳点转发表中的记录得到更新(沿着路径的节点把它们的新高度通告给每个紧邻的节点,该通告的传播被限制为一个跳点)。
现在参见图6,在移动主机MH2建立了与新接入节点BS3的新无线链路后,到分配接入节点BS2的旧无线链路被取消。指向移动节点MH2的数据分组在到达分配接入节点BS2后通过短期隧道被转发到新接入节点BS3,并通过新无线链路向前转发到移动节点MH2。
尽管旧无线链路现在丢失了,在分配接入节点BS2还没有触发路由选择更新(而根据TORA协议,会发生触发),这是因为沿着已经在分配接入节点BS2和新接入节点BS3之间建立的隧道存在一个剩余的下游链路。因此,到分配接入节点BS2的路由选择仍保留原位直到从新接入节点BS3启动的路由选择更新到达分配接入节点BS2。如图6所示,从接收UUPD分组的第一节点ER3把UUPD分组转发到节点IR2,第一节点ER3还利用一个与移动性更新相关联的负τ时间值(-1)来更新它的高度。节点IR2进而利用与有关移动性的更新相关的负τ时间值来更新它的高度。
沿着该路由选择更新单点传送路由的每个节点还针对路由选择更新UUPD分组的每一跳点把其TORA高度五元组中的δ值递增1,使得δ值代表通过新接入节点BS3到移动节点的跳点数目,以代替先前的路由选择表记录的δ值(表示通过分配接入节点BS2到移动节点的跳点数目)。因此,沿着单点传送定向更新路由的每个链路依次被指向新接入节点BS3。
现在参见图7,接着把UUPD分组转发到沿着单点传送更新路由的下一个节点,节点ER2。节点ER2是一个路由器,它标记出从发送节点MH1到分配接入节点BS2的路由选择路径与从节点MH1发送到新接入节点BS3的分组所要经过的路由选择路径(当前建立的路由选择路径)之间的交叉点。如图8所示,一旦在接收到UUPD分组时更新了节点ER2中的路由选择协议数据表记录,交叉节点ER2就具有两个下游链路,一个下游链路指向分配接入节点BS2,一个下游链路指向新接入节点BS3。但是,因为指向新接入节点BS3的下游链路包括一个(最高)负τ时间值,该时间值表示一个(最近的)有关移动性的更新,因此最好选择指向新接入节点BS3的下游链路作为下一跳点转发链路。沿着到新接入节点BS3的路由选择路径,把到达节点ER2的、指向移动主机MH2的数据分组转发到节点IR2。在交叉路由器ER2处路由选择路径的转向之后,不再有数据分组被转发到BS2,并且不再通过节点BS2和节点BS3之间的隧道接口转发数据分组。但是,隧道接口此时仍在分配接入节点BS2保留原位,以便确保不(由于所有它的下游链路的丢失)从分配接入节点BS2产生路由选择更新,直到UUPD分组到达分配接入节点BS2。在UUPD分组到达分配接入节点BS2时,删除BS2的路由选择表中的隧道状态记录,从而解除MH2的隧道接口。
现在参见图9,注意到,由于分配接入节点BS2形成了单点传送更新路径的结尾,在接收到UUPD分组时不重新定义分配接入节点BS2的高度(但是,因为节点ER2的高度中定义了负τ时间值,节点BS2和ER2之间的链路方向被反转,因此允许其他通过BS2接收服务的移动主机把分组发送到MH2)。
最后,在接收到UUPD消息时,分配接入节点BS2可以把一个更新完成确认(UUPD-Ack)发送到新接入节点BS3。UUPD-Ack分组沿着DAG中建立的到达新接入节点BS3的单点传送更新路由选择路径。在发送UUPD-Ack分组时,旧接入节点BS2放弃为它最初分配给移动节点MH2的IP地址而对路由选择进行的试验性控制。在接收到UUPD-Ack分组时,新接入节点BS3开始为移动节点的IP地址对路由选择进行试验性控制。
现在完成了在无线电链路层进行的与移动站的BS间越区切换相关的路由选择更新,涉及到沿着单点传送更新路径的仅有限数量节点(在图9所示例子中,仅5个节点)的高度的重新定义。此外,也限制了路由选择协议数据表记录的更新,这种更新仅在接收UUPD消息的节点及其每个紧邻节点(接收新高度的通告并把新高度存储在它们的路由选择表中)中是需要的。在图9所示的例子中,还在节点IR1,CR1,CR2,和CR3中的各方内进行路由选择协议数据表更新。
图10和11显示在一个随后的有关移动性的更新之前和之后AS内的主机专用DAG(包括在还未进行有关移动性的高度更新的节点的聚集DAG组分)的状态。在此情况下,把移动节点MH2从接入节点BS3越区切换到另一个接入节点BS4,移动节点之前是从接入节点BS2越区切换到接入节点BS3的。这里所采用的程序与在关于由移动节点从接入节点BS2到接入节点BS3的第一次越区切换造成的有关移动性的更新的描述中的程序相同,只不过UUPD分组把接入节点BS3作为其目的地。并且,从新接入节点BS4发送的单点传送更新所产生的新高度包括负τ时间值中的再一个增量(因此,τ时间值被增加到-2),以便把由移动性的第二次发生导致的有关移动性的更新高度,移动性的第一次发生的有关移动性的更新高度(具有τ时间值-1),和来自在聚集DAG中指定的高度的有关移动性的更新高度(具有τ时间值0)相区别。如图1所示,新更新中涉及的节点最初具有包括τ时间值0的高度,表示高度与聚集DAG中定义的相同。
下面参考图12到16说明有关移动性的路由选择更新的另一实施例,其中移动节点(与GSM蜂窝无线电系统中一样)能够在任何特定时间仅通过单个无线链路进行通信。在此情况下,在前面的例子中参考图2到4说明的步骤相同。如图12所示,响应沿着隧道接口接收到的TIN分组,产生从新接入节点BS3发送的UUPD分组。
现在参见图13,移动节点MH2首先丢失它与分配接入节点BS2的无线链路,并且在经过一个短时间段后(以允许在无线链路层等与新接入节点BS3重新同步),可以建立与新接入节点BS3的新无线链路。在移动节点MH2没有无线链路的期间中,到达分配接入节点BS2的数据分组通过隧道接口从分配接入节点BS2转发,并在新接入节点BS3排队,直到建立新无线链路。接着,要么建立新无线链路,要么UUPD分组到达分配接入节点BS2。如果首先建立新无线链路,则新接入节点BS3立即为移动节点的IP地址采取对路由选择的试验性控制。否则,新接入节点BS3将一直等待,直到它接收到来自分配接入节点BS2的UUPD-Ack消息。在前面的例子中描述的其余步骤(隧道解除,随后的移动性,等等)也适用于本示例。
图17到25表示在IP地址被动态分配给移动节点的情况下使用的一个程序。当一个移动节点结束一个接入话路时,可以进行路由选择更新,以把移动节点的IP地址的DAG恢复到在IP地址被最初分配给移动节点之前的DAG的状态,即完全恢复聚集DAG。该路由选择更新程序涉及把路由选择更新仅发送到AS中有限数量的节点(沿着先前单点传送有关移动性的更新的路径),并且仅在有限数量的节点(恢复的定向路由选择更新消息所经过的节点以及每个紧邻节点)的路由选择协议数据表中需要更新。
参见图17,当移动节点MH2结束接入话路时,当前接入节点BS4把一个恢复请求(RR)分组发送到用于该IP地址的分配接入节点BS2。RR分组的目的地是分配接入节点BS2的IP地址,它是移动节点的IP地址的前缀。
因此,要沿着用于移动节点的IP地址的聚集DAG路由选择路径对RR分组进行路由选择,该聚集DAG路由选择路径在整个接入话路期间保持指向分配接入节点。
响应RR分组的接收,分配接入节点BS2在它的路由选择表中标记一个到移动主机MR2的下游链路。该下游链路是一个虚拟链路,这是因为该移动主机当前并没有与任何接入节点进行无线通信并且实际上位于一个不同的接入节点(接入节点BS4)的服务区中。任何在移动节点MH2结束它的接入话路之后到达BS4的分组可以沿着到分配接入节点BS2的隧道被转发,并可以被存储以便在将来移动节点MH2开始一个新接入话路时被转发到移动节点MH2。
如图18所示,在接收到RR分组时,分配接入节点BS2还把(目前虚拟的)移动节点MH2的高度重置为“全零”参考水平,并通过AS的固定基础结构把一个单点传送定向恢复更新(UDRU)分组发送到当前接入节点BS4。沿着一个单点传送路由转发UDRU分组,该单点传送路由仅包括其高度由于有关移动性的更新而在以前被重新定义的节点。在图18的示例中,这些节点是节点ER2,IR2,ER3,IR3,CR4,IR4,ER4和BS4。
当在沿着单点传送路径的每个节点接收到UDRU分组时,每个节点的TORA高度被重置为在聚集DAG中存在的值,即“全零”参考水平。高度的δ值被重新定义以便代表经过分配接入节点到达(现在虚拟的)移动节点的跳点数量,从而代替表示经过当前接入节点到达移动节点的跳点数量的先前记录值。该过程在图18到22的每个图中表示。
除了沿着单点传送更新路由来更新高度,还把更新的高度通告给每个紧邻节点。任何在其自己的高度中具有负τ时间值的节点在接收到一个表示把负τ时间值重置为0的通告时,与在接入节点BS3(如图20所示)的情况一样,也把其自己的高度重置为“全零”参考水平,定义其δ值以表示经过分配接入节点到达(现在虚拟的)移动站的跳点数量,并产生一个其自己的新高度的通告,并将该通告发送到所有其自己的邻居。任何接收到一个通告的新高度并且不重置其自己的高度的邻居不进一步传播该通告。
如图23所示,一旦在当前接入节点BS4接收到UDRU分组,当前接入节点就删除在它的路由选择表中与移动节点MH2相关的状态,并沿着刚刚由单点传送更新产生的路由选择路径把一个UDRU-Ack消息发送到分配接入节点BS2,从而放弃为移动节点MH2先前使用的IP地址而对路由选择进行的试验性控制。
如图24所示,UDRU-Ack分组最终传播到分配接入节点BS2。在接收时,分配接入节点BS2删除所有与移动节点MH2相关的状态,并为IP地址重新采取对路由选择的控制。然后,如图25所示,可以再次把该IP地址动态地分配给一个不同的移动节点MH3,该移动节点MH3在接入节点BS2的服务区中开始一个接入话路。
在下面参见的图28到38中,表示了指向所述IP地址的分配接入节点BS2的聚集DAG中的各节点的高度。在对专用于移动节点的IP地址的主机专用DAG高度作了定义(由于有关移动性的更新已发生)的场合,这些负高度被表示成低于聚集DAG高度。
图28到31表示一个程序,当一个移动节点由于在分配接入节点BS2被分配IP地址而在多个接入节点之间进行了越区切换时,通过沿着一个使新的或当前的接入节点BS5和分配接入节点BS2链接的路径发送基础机构中各节点之间的路由选择更新重定向链路,可改善基础结构内的路由选择。在所示例子中,移动节点MH2正在旧接入节点BS4和新接入节点BS5之间进行越区切换。该越区切换可根据参照图2到11或图12到16所述过程中的任何一种进行。从新接入节点BS5发送到基础结构ER5内的单点传送更新分组UUPD可以与参照图2到11或图12到16的过程所述的相同,并且可以出现在越区切换程序中与参照该过程所述的相同点。
UUPD分组的发送启动了基础结构中的路由选择更新程序,这构成移动节点MH2的移动性的另一情况。因此,有关移动性的更新高度利用在新定义的TORA高度中使用的τ值-3来表示第三次发生移动性。如图28所示,在产生UUPD分组并把该分组发送到节点ER5之前,移动节点MH2和新接入节点BS5都使用τ值-3来更新它们的高度。UUPD被寻址到旧接入节点BS4,并且该UUPD沿着在新接入节点BS5和旧接入节点BS4之间的单点传送路由更新路径通过。这可通过沿着在AS中为旧接入节点BS4自身定义的DAG转发UUPD分组来实现。
如图29所示,UUPD分组从节点ER5(其在接收到UUPD分组时更新其自己的高度)沿着单点传送路径被转发到下一节点,即节点IR4。在本实施例中,AS的各节点被布置成通过判定UUPD分组是否表示在预定阈值以上发生移动性来处理单点传送定向路由选择更新消息,例如UUPD分组。在该例中,该阈值是在两种情况的移动性时设置的。因此,由UUPD分组表示的第三种情况的移动性在预定阈值以上。如果一个节点检测出UUPD分组表示在阈值以上的移动性的情况,则该节点判定沿着指向旧接入节点BS4的单点传送更新路径的下一节点是否与指向分配接入节点BS2的聚集DAG中的下一节点重合。
对于节点IR4,沿着单点传送更新路径的下一节点是ER4,而聚集DAG中的下一节点是节点CR3。因此,在此情况下,这些节点不重合。节点IR4仍然沿着在新接入节点BS5和旧接入节点BS4之间的单点传送路径把UUPD分组转发到下一节点ER4。但是,响应于检测到的非重合,节点IR4还产生一个新消息(在本文中称为优化单点传送更新(OUUPD)消息),并把该消息寻址到分配接入节点BS2,使得该消息沿着指向分配接入节点BS2的用于移动节点IP地址的聚集DAG行进。该情况如图30所示。UUPD分组按照以上所述进行转发和处理。OUUPD分组沿着聚集DAG被转发到分配接入节点BS2,并通过在遍历的每个节点附加主机专用的负TORA高度进行处理,以便把链路重新指向新接入节点BS5,其中该高度具有的τ值等于由原始UUPD分组注入的τ值。
实际上,OUUPD分组定义分配接入节点BS2和新接入节点BS5之间的路由选择路径,该路由选择路径(在反向)遵循先前当聚集DAG被启动时作为分配接入节点BS2和新接入节点BS5之间的最优路由而计算的路由选择路径。这与由随后的UUPD分组更新引起的各自有关移动性的更新所定义的路由选择路径对比,使得不会为来自AS中的所有节点的路由选择分组而使由多个单独有关移动性的更新所定义的路由选择路径得到良好优化。以经过核心路由器节点CR1到达AS的数据分组为例。参见图28,如果仅靠近位于新接入节点BS5和旧接入节点BS4之间的路径的链路在移动节点MH2的移动性方面被重定向,则通过节点CR1到达的分组将通过节点IR2,ER3,IR3,CR4,IR4和ER5中的各方被路由选择到新接入节点BS5。经过改善的路由选择路径将是仅分别遍历节点CR2,CR3,IR4和ER5的路由选择路径。如图31所示,OUUPD消息的作用是使AS内的链路,特别是(但并非排他地)那些位于诸如节点CR2和节点CR3之类的在网络分层结构中较高的节点之间的链路重定向。多个单独UUPD分组更新的作用是使靠近位于诸如BS4和BS5之类的往往是在AS的拓扑“边沿”的相邻接入节点之间的最短路径的链路重定向。因此,UUPD分组更新可以被称为“浅”路由选择更新。另一方面,OUUPD分组更新的作用是使沿着使诸如当前接入节点BS5和分配接入节点BS2之类的在拓扑结构上较远的接入节点连接的一个优化路径的链路重定向。如果AS以分层结构方式构成,则位于这些在拓扑结构上较远的接入节点之间的优化路径很可能会包括在基础结构分层结构中较高的诸如CR2和CR3之类的节点。因此,OUUPD分组更新可以被称为“深”路由选择更新。
如图31所示,OUUPD分组的最后接收者是分配接入节点BS2。一旦分配接入节点BS2接收到OUUPD分组,分配接入节点BS2就可根据路由选择协议的一个变型结束该程序,并从而允许OUUPD消息不予确认(默认方式),以获得信令效率。虽然在大多数情况下,OUUPD消息将安全到达其目的地,但是OUUPD消息会由于某种原因,例如由于链路故障或者网络过载而在其传送到分配接入节点BS2的过程中被丢失。然而,由于由浅路由选择更新提供的路由仍然存在,因而OUUPD分组的极少的丢失不会影响AS中的服务。
在根据本发明的替代路由选择协议中,通过沿着位于分配接入节点BS2和新接入节点BS5之间的新定义的路由选择路径发送OUUPD-ack消息,对OUUPD消息予以确认作为默认方式。这允许新接入节点BS5对OUUPD-ack分组的接收进行监视,并且如果在超时期间内未接收到确认,则允许新接入节点BS5重新发送OUUPD分组,从而使深路由选择更新可靠。在另一替代例中,可根据OUUPD分组的特性,在分配接入节点BS2判定是否对OUUPD分组进行确认。该特性可以是由OUUPD分组表示的更新高度,这些高度表示较高实例(higher instances)的移动性被予以确认,而较低实例(lower-instance)的更新则不予确认。另一个或者替代的特性可以是由新接入节点BS5发送的OUUPD分组的类型。例如,第一类型的OUUPD分组可以是包含表示需要确认的标记的分组,而另一类型可以是包含表示不需要这种确认的标记的分组。其他这种特性包括自发送分组时起经过的时间量,发生发送的跳点的距离或数量,分组的序号(例如,在分配接入节点每第n个OUUPD分组被确认),从近路由选择区域或者位置区域到达。确认判定也可以基于用户配置文件(customerprofiles)。
在本发明的一个实施例中,主机专用路由选择记录作为软状态记录保持在AS的路由选择节点中,软状态定时器在一预定时间期间后被触发,使由于浅路由选择更新而注入的路由选择记录被删除。与此结合,可使用一种周期性进行周期性路由选择更新(该周期性路由选择更新在当前接入节点产生如上所述优选地不进行确认的OUUPD消息),使得在单个软状态超时期间中执行多个OUUPD消息更新程序。这确保深注入的路由选择将逐渐替代浅路由选择。
虽然在上述过程中,深路由选择更新与浅路由选择更新一起触发,但是这两种类型的更新可以附加地或者交替地单独触发。深路由选择更新的触发是在上述过程中根据移动性的实例数量(即接入节点之间的越区切换次数)进行的。深路由选择更新可以附加地或者交替地由以下各项来触发,即移动节点或者当前接入节点中的一个或多个定时器(深路由选择更新每隔一定时间触发);区域(AS的子区域)改变,在该区域中,移动节点正在接收服务;单独的路由选择控制节点(该节点可根据业务量或路由选择性能的知识来确定最优时间以触发深路由选择更新)和/或移动节点中的服务质量监视程序。服务质量或其它用户配置文件要求可以用于确定深路由选择更新的频率。根据上述任一替代触发器与浅路由选择更新一起进行的触发,可使用由移动节点或者当前接入节点附加给UUPD消息的专用标记来实现。
图32和33表示参照图28到31所述的路由选择更新程序的变型。在该变型中,当进行OUUPD分组更新时,产生另一个路由选择更新消息,以删除以前由于移动节点的移动性产生的次优化路由。为了确保保留到新接入节点BS5的路由选择路径,在新接入节点BS5产生的UUPD分组是表示在接收到OUUPD分组时需要从分配接入节点BS2确认的分组(或者,路由选择协议可设置成使所有OUUPD分组被确认)。在本实施例中,在接收到OUUPD-ack分组时,由新接入节点BS5产生单点传送未定向部分删除(UUPE)消息。UUPE分组被传送到任何具有已由于有关移动性的更新而产生的主机专用高度的邻居节点(任何“负”高度节点)。UUPE消息被发送到每个这种节点,以便删除“中间”负高度,即除最后的有关移动性的更新高度以外的高度。在图32和33所示的例子中,由最后的UUPD和OUUPD分组产生的高度包括τ值-3。因此,在AS内产生和转发的一个UUPE分组或多个UUPE分组具有删除一个或多个主机专用高度的作用,其中该主机专用高度的非零τ值大于规定值(在本例中为-3),即-2或-1(删除高度最大为-2)。
因此,UUPE沿着聚集DAG路由传送到具有负高度的任何邻居。因此,节点IR4不仅把UUPE分组转发到聚集DAG中的下一节点,而且把UUPE分组发送到节点CR4和ER4。具有中间负高度并接收UUPE分组的每个节点从它的路由选择数据表中删除主机专用高度,以便然后使用聚集DAG高度来计算它的链路的方向性,并且该每个节点把UUPE消息转发到它检测出的具有负高度的每个邻居。在接收时,节点BS3和BS4从它们的路由选择数据表中删除主机专用高度值,并停止UUPE分组的任何进一步发送。
UUPE分组采用未定向方式转发,使得当最初产生该分组时,不对UUPE分组的任何最终目的地进行定义。删除仅是部分的,使得其他主机专用高度可以保留,或者至少移动节点MH2保留IP地址并可随后注入主机专用高度。UUPE更新的作用是删除由以前路由选择更新提供的状态,从而减少需要保持在AS中的主机专用数据量。UUPE更新一般还改善AS中到新接入节点BS5的路由选择路径。在UUPE更新后,最初将沿着所述IP地址的聚集DAG进行从例如一个中间接入节点的路由选择,直到与由OUUPD分组更新定义的路由选择路径,其中该中间接入节点例如是与当前或新接入节点BS5距离较远但是在先前的有关移动性的更新中涉及的节点BS3。由于由OUUPD分组更新定义的路由选择路径一般是优化路由选择路径,因而通过删除以前并且现在是无需的浅路由选择路径而提供的路由选择一般得到改善。移动节点MH2离它的分配接入节点BS2行进得越远,一般改善程度就越大。
图34和35表示另一个更新程序,该程序由于移动节点MH2的非活动而启动。例如,到移动节点MH2的无线链路可能会由于进入未由无线电接入网络涵盖的区域的移动节点而丢失。或者,移动节点MH2可能被断电一个给定期间。并且或者,移动节点MH2可以保持通电状态,但是可以在相当长期间不接收任何分组数据。在当前接入节点BS4和/或移动节点MH2中设有非活动定时器,该非活动定时器触发一个删除程序,因而从AS中删除主机专用路由选择数据表记录。UUPE消息用于此目的,并且规定的最大删除高度设定为以前的最低τ值。最初,一旦非活动定时器已检测到经过预定期间,触发器就启动,这使原先的当前接入节点BS4删除它的主机专用路由选择数据表记录,从而把移动节点MH2的相关高度重新定义为用于移动节点IP地址的聚集DAG中的接入节点BS4的高度(“全零”设置)。当前接入节点BS4还发送一个或多个UUPE消息。如图35所示,UUPE分组更新通过以前具有在路由选择表中存储的主机专用高度的所有节点(在所示例子中,BS4,ER4,IR4,CR4,IR3,ER3,BS3,IR2和ER2)进行,并且这些主机专用高度被删除。注意,与前述的UDRU分组更新程序相比,移动节点MH2的IP地址未在该程序中释放,用于由分配接入节点BS2重新分配。而是,移动节点MH2保留最初由分配接入节点BS2分配的IP地址,使得在移动节点MH2随后处于活动状态时的任何时刻,它可重新使用相同的IP地址。或者,在分配接入节点BS2的第二个更加延长的非活动定时器可以在另一预定期间之后启动IP地址的重新分配,而该另一预定期间跟在该地址的主机专用路由选择的删除的后面。
图36到38表示一个程序,即临时非活动的移动节点MH2可以启动一个路由选择更新,该路由选择更新引起AS中重新指向接入节点BS5的路由选择,其中移动节点MH2将通过接入节点BS5接收服务。在图36到38所示的例子中,移动节点MH2事先在通过接入节点BS3接收AS中的服务之后,由于断电或者由于缺乏覆盖范围而临时丢失了它的无线链路。如图36所示,一个有关移动性的更新依靠UUPE路由选择更新事先在AS中进行,并在与以前接入节点BS3的无线链路丢失之后,由于非活动而予以删除。
当移动节点MH2由于断电或者缺乏覆盖范围而经受它的无线链路丢失时,它存储它的最后接入节点的IP地址,该损失的时间以及至少表示所发生的有关移动性的更新的以前实例数量的指示符,使得在它通过新无线电链路连接时启动的下一更新可容易被表示为最近有关移动性的更新。因此,如图37所示,移动节点MH2在形成到无线电接入网络和到接入节点BS5的新无线电链路时,把它的τ时间值减少到-2,并把它的新TORA高度值连同它的最后接入节点的IP地址和丢失的时间一起发送到新接入节点BS5。在接收时,新接入节点BS5启动一个UUPD更新。该UUPD分组的目的地依赖于自最后链路丢失时起经过的时间,该经过时间由新接入节点BS5计算。
如果该经过时间显著大于预置时间(在该预置时间之后,非活动定时器触发部分删除),使得可假设未保留任何主机专用高度,则目的地是分配接入节点BS2。UUPD消息沿着由移动节点IP地址的聚集DAG定义的到分配接入节点BS2的路径而行。如图38所示,每个接收UUPD消息的后续节点根据在UUPD消息中接收到的数据,把新的主机专用高度设置在它的路由选择协议数据中。因此,在UUPD更新后,AS中的所有节点都具有由主机专用DAG定义的到新接入节点和BS5的路由选择路径。
如果该经过时间未显著较大(允许定时器间的任何偏差),则为UUPD分组所选的目的地是最后的接入节点BS3。如果在接收到UUPD分组时,最后的接入节点BS3仍然存在主机专用路由选择,则在整个AS中的路由选择被正确指向新接入节点BS5。另一方面,如果主机专用路由选择已被删除,则最后的接入节点BS3把一个负确认(N-ack)发送到新接入节点BS5,新接入节点BS5通过把另一个UUPD分组发送到分配接入节点BS2来对该负确认作出反应,以便在整个AS中建立正确的路由选择。
图39表示一个移动节点可以处于的五个状态(活动;热备用;温备用;冷备用;断开),并且箭头表示MN可进行的状态迁移。MN当以活动方式与AR进行数据收发时处于活动状态。它的无线电链路级接口正在发送数据业务量(无线链路上升);它具有一个分配的IP地址;并且主机专用路由选择存在在用于把数据分组路由选择到MN的域中。MN当不再以活动方式与AR进行数据业务量的收发时(即当IP活动定时器已到期时),但是当路由保持定时器还未到期时处于热备用状态。MN在网络基础结构内具有IP地址和主机专用路由选择,然而,MN不具有到AR的无线电接口链路。接入节点之间的移动在活动状态和热备用状态中产生越区切换处理和主机专用路由注入。
当网络节点不再保持MN的主机专用路由选择时(即当软状态路由保持定时器已到期或者当主机专用路由选择已删除时),MN处于温备用状态。MN仍然具有IP地址,即在该状态中可防止IP地址的重新分配,但是在接入节点之间的移动节点的移动不会产生越区切换处理。而是,MN周期性(即在位置更新定时器到期时)或者根据从位置得到最后更新的小区行进的距离产生位置更新。当入局数据需要传送到MN时,MN必须被寻呼。MN当不具有IP地址时处于冷备用状态,这是因为以前指配的地址由于非活动(即IP地址保持定时器在最后的接入节点和/或移动节点到期)被返回,用于重新分配给分配接入路由器(使用上述方法)。当数据正在入局时,MN必须使用静态身份(例如国际移动用户身份(IMSI))被寻呼。而且,MN必须向一个新接入节点登记,并必须被分配一个IP地址。最后,MN当已断电时,或者(例如由于网络覆盖范围长时间丢失)而无法联系时处于断开状态。MN在此状态中无法被寻呼。
图40表示在进行主机专用路由删除过程的节点中执行的一个程序,例如由UUPE更新生成的程序,该程序可防止在该过程期间在AS中发生不想要的循环。在删除过程期间,一个特定节点(在此情况下为节点i)接收来自最初下游邻居,即节点j的UUPE消息。图39用短划线箭头100表示链路的最初下游方向。在接收到UUPE消息之前,节点i还具有一个或多个上游邻居,用节点k来表示。该链路的最初方向用箭头102来表示。当节点i在接收到UUPE消息时删除它的主机专用高度,它的路由选择表记录把节点k表示为一个下游节点,这是因为节点k的主机专用高度是由于一个以前的有关移动性的更新而定义的。从节点i的角度来看,该链路的方向用箭头104来表示。另一方面,在节点k接收到UUPE消息并更新它自己的路由选择表之前,根据节点k的角度,链路的方向保持向下游朝向i,该方向用箭头102来表示。因此,在节点k接收到的数据分组将被发送到节点i,节点i将把该分组重新发回到节点k,直到节点k重新定义它自己的高度时为止。因此,该程序会在网络中产生不想要的循环。为了解决该问题,在接收UUPE消息时,一个节点(在此情况下为节点i)在重新定义它自己的TORA高度时,在最初知道删除的主机高度的节点的所有接口(在此例中为节点k的接口)上对所述主机的主机专用转发施加临时封锁。在进行封锁时,这可由节点I通过以下操作来实现节点i高速缓存在该主机的那些接口上接收到的所有分组,和/或丢弃(或者例如通过缩短生存时间(TTL)值来造成后续丢弃)这些分组。一旦节点i接收到来自相关节点(在此情况下为节点k)的确认,即已接收到从节点i转发的UUPE消息的确认,节点i的封锁状态就被删除。接口封锁程序是在进行主机专用高度删除的每个节点中执行的,从而进行链路的重定向。
图41表示适用于所提出的第三代移动通信系统(被称为UMTS)(ETSI(欧洲电信标准学会)标准的本发明的一个实施例。关于该标准的当前版本,提供一个IP分组数据网络(被称为GPRS(通用分组无线电服务)网络)用于在服务GPRS服务节点(SGSN)和网关GPRS服务节点(GGSN)之间对数据分组进行路由选择,服务GPRS服务节点(SGSN)把网络分层结构布置成近似无线电接入基站,网关GPRS服务节点(GGSN)实现对诸如因特网之类的其他数据网络的接入。一个隧穿协议,即GPRS隧穿协议(GTP)用于在SGSN和GGSN之间发送数据分组。另一方面,本发明允许使用本地路由选择协议在SGSN和GGSN之间对数据分组进行路由选择。上述经过改进的TORA路由选择协议可在用于使SGSN 202与GGSN 204连接的IP网络200和/或用于提供移动节点208的无线电接口的无线电接入网络(RAN)206内使用。
图41表示仅在IP网络200中使用经过改进的TORA路由选择协议的一个实施例。无线电接入网络的单独部分210与每个SGSN 202相关联。因此,第一部分210A与第一SGSN 202A相关联,第二部分210B与第二SGSN 202B相关联,第三部分210C与第三SGSN 202C相关联。在无线电接入网络206中的任何点接收服务的移动站208可以通过任何GGSN,204A或204B接收来自外部分组数据网络的服务。
图41表示移动站208从第一部分210A到第二部分210B的移动性,以及从第二部分210B到第三部分210C的移动性的另一实例。这些移动性实例中的各实例需要SGSN之间的越区切换。在本地路由选择协议网络200中可以使用前述的越区切换程序,并且可以设置前述的所有路由选择更新程序,并且SGSN 202作为所述的接入节点。图41中未表示IP网络200内的分组路由选择节点,但是应该理解,多个分组路由选择节点采用分层方式布置在SGSN 202和GGSN 204之间。
粗箭头212示意性表示根据前述程序,响应于移动节点208从无线电网络部分210A到无线电网络部分210B的移动性而在IP网络200中发生的浅路由选择更新。粗箭头214示意性表示由于移动节点208从无线电接入网络部分210B到无线电接入网络部分210C的移动性的另一实例而在IP网络200中发生的类似的浅路由选择更新。粗箭头216示意性表示在到无线电接入网络部分210C内的移动性的后续实例之后在IP网络200中发生的使用与上述类似程序的深路由选择更新。细箭头218示意性表示在深路由选择更新216之后IP网络200内的路由选择路径。
总之,本发明提供的可以单独或以任何组合形式使用的路由选择协议改进包括1.存储作为移动性的结果产生的不同路由选择协议数据(在TORA协议的情况下,“负”高度参考水平),从而把分组转发到最近指定的下游邻居。
2.结合单点传送定向移动性更新,以便通过改变存储在AS的仅一个有限节点集合中的路由选择协议数据来调节越区切换时的路由选择。
3.结合恢复更新,以至少部分消除基于越区切换的移动性的影响(在TORA的情况下,“负”高度参考水平)。
应该理解,上述实施例不用于限制,本领域技术人员可以构想出改进和变型。
上述实施例描述了一个基于TORA路由选择协议的改进的路由选择协议。但是,可以使用本发明的各个方面来改进其他已知的路由选择协议,例如OSPF,RIP等等。
此外,尽管在上述实施例中自主系统的基础结构是固定的,应该理解,基础结构中的一个或多个路由器可以是移动路由器,例如在卫星通信领域和其他系统(其中,基础结构中的一个或多个路由器表现出长期移动性)中使用的移动路由器。
权利要求
1.一种在通信网络中对分组的路由选择进行控制的方法,该通信网络包括由分组传输链路互连的分组交换节点的基础结构,以及多个接入节点,在所述基础结构中可以为一个给定网络地址把一个路由选择路径指向所述接入节点,该路由选择路径是由沿着该路由选择路径设置的分组交换节点中保持的数据来定义的;所述方法包括沿着第一路由选择路径为第一网络地址对分组进行路由选择,该路由选择路径通过通信链路指向服务于使用所述第一网络地址的移动节点的第一接入节点,所述分组去往所述移动节点,使得所述分组被渐进地从上游邻居节点转发到下游邻居节点;执行路由重定向处理以重定向所述第一路由选择路径的至少一部分,所述重定向是通过把一个路由选择更新消息从下游邻居传递到第一个上游邻居执行的,所述第一个上游邻居响应于所述路由选择更新消息改变它的路由选择方向性并把一个路由选择更新消息传递到第二个上游邻居;其中所述路由重定向处理包括在所述路由重定向处理期间,所述第一个上游邻居临时封锁去往所述移动节点的分组的转发。
2.根据权利要求1所述的方法,其中所述第二个上游邻居把一个表示接收到所述路由选择更新消息的消息发送到所述第一个上游邻居,并且所述第一个上游邻居保持所述临时封锁,直到接收到所述表示接收的消息。
3.根据权利要求1或2所述的方法,其中所述封锁包括所述第一个上游邻居对分组进行高速缓存。
4.根据权利要求1,2或3所述的方法,其中所述封锁包括所述第一个上游邻居使分组被丢弃。
5.根据上述任何一个权利要求所述的方法,其中所述第一路由选择路径包括指定给所述移动节点的主机专用路由选择路径。
6.根据权利要求5所述的方法,其中所述路由重定向包括除去所述主机专用路由选择路径的至少一部分,以便为所述第一网络地址指定一个聚集路由选择路径。
7.根据上述任何一个权利要求所述的方法,其中所述通信链路是无线链路。
8.根据上述任何一个权利要求所述的方法,其中所述网络地址是因特网协议(IP)地址。
9.一种路由选择装置,用于执行上述任何一个权利要求的方法。
全文摘要
一种在通信网络中对分组的路由选择进行控制的方法,该通信网络包括由分组传输链路互连的分组交换节点的基础结构,以及多个接入节点,在所述基础结构中可以为一个给定网络地址把一个路由选择路径指向所述接入节点,该路由选择路径是由沿着该路由选择路径设置的分组交换节点中保持的数据来定义的;所述方法包括沿着第一路由选择路径为第一网络地址对分组进行路由选择,该路由选择路径通过通信链路指向服务于使用所述第一网络地址的移动节点的第一接入节点,所述分组去往所述移动节点,使得所述分组被渐进地从上游邻居节点转发到下游邻居节点;执行路由重定向处理以重定向所述第一路由选择路径的至少一部分,所述重定向是通过把一个路由选择更新消息从下游邻居传递到第一个上游邻居执行的,所述第一个上游邻居响应于所述路由选择更新消息改变它的路由选择方向性并把一个路由选择更新消息传递到第二个上游邻居;其中所述路由重定向处理包括在所述路由重定向处理期间,所述第一个上游邻居临时封锁去往所述移动节点的分组的转发。
文档编号H04L29/06GK1471783SQ01817969
公开日2004年1月28日 申请日期2001年10月26日 优先权日2000年10月26日
发明者阿兰·威廉·奥尼尔, 马修·斯科特·考森, 斯科特 考森, 阿兰 威廉 奥尼尔 申请人:英国电讯有限公司