专利名称:执行网络路由选择的方法和装置的制作方法
背景通过网络的路由选择(routing)分组(packet)可能需要大量的网络设备资源。例如,网络设备必需搜索路由选择表以获得路由选择信息。取决于路由选择表的大小,搜索可能耗费相当多的时间。由于网络设备典型地对相对大量的分组进行路由,在每个分组的搜索时间中即使较小的变化也可显著地影响网络设备的总体性能。进一步,当前正在开发的可能需要更复杂的路由选择功能的新路由选择服务的主机,例如动态地更新路由选择表的路由选择功能,因此对网络设备要求更为复杂的硬件和软件。这可能反过来提高网络设备的总体成本。
附图简述在说明书的结束部分中,特别指出并清楚地要求了被视为本发明的实施例的主旨。然而本发明的实施例,关于操作的构造和方法,以及目标,特征,和关于它的优势,可在参照结合附图阅读下列详细的说明时得到更好的理解,其中
图1是适合实施本发明的一个实施例的系统。
图2是根据本发明的一个实施例的主机高级路由选择服务器(HARS)的结构示意图。
图3是根据本发明的一个实施例的高级路由选择服务(ARS)模块执行的编程逻辑的结构流程示意图。
图4是根据本发明的一个实施例的中间节点执行的编程逻辑的结构流程示意图。
详细说明在下列详细说明中,阐述了许多特定的细节以提供对本发明的实施例的彻底的理解。但是,本领域的技术人员将理解可以在没有这些特定细节的情况下实施本发明的实施例。在其它实例中,没有详细说明众所周知的方法,过程,组件和电路,以免本发明的实施例难于理解。
本发明的实施例可提高通信网络的性能,例如分组交换网络。本发明的一个实施例通过改进网络中分组的路由选择提高了分组交换网络的性能。此上下文中的路由选择是指把分组从一个网络设备移动到另外一个网络设备,直到分组到达特定的目的地。
对于语音和数据通信,分组交换继续成为一个有效的技术。此上下文中的分组交换可以指以相对短的分组形式通过网络传递信息。此上下文中的分组是指一组具有有限长度的信息,并且该长度典型地以位或字节表示。分组长度的一个例子可为1000字节。网络典型地包括一些通过通信介质互相连接的节点。节点能够使用一个或多个协议通过通信介质把信息传递到其它节点。此上下文中的节点可包括任何能够传递信息的设备,例如计算机,服务器,交换机,路由器,网桥,网关等。通信介质可以是任何能够传输信息信号的介质,例如双绞线,同轴电缆,光纤,无线电频率等。协议可包括一组指令,通过这些指令使得信息信号通过通信介质进行通信。例如,协议可以是数据传输协议或分组转发协议,例如在1981年9月采用的互联网工程特别任务组(IETF)标准7定义的传输控制协议(TCP),请求注释(RFC)793,和在1981年9月采用的IETF标准5定义的互联网协议(IP),RFC791,都可从“www.Ietf.org”(“TCP/IP规范”)得到。
一个分组交换网络可包括源节点,目的地节点,和多个中间节点。源节点可包括一个产生一组用于传送到目的地节点的信息的节点。信息可包括任何能够表示为信号的数据,例如电信号,光信号,声信号等。此上下文中的信息的例子可包括来自语音通话,视频会议,流视频,电子邮件(“email”)消息,语音邮件消息,图形,图像,视频,文本等的数据。目的地节点可包括一个接收信息的节点。中间节点可包括把信息从源节点传递到目的地节点的节点。
在操作中,源节点可通过一个或多个中间节点将信息以分组的形式发送到目的地节点。源节点把一组信息分成分组序列。每个分组可包含信息的一部分加上一些控制信息。控制信息可帮助网络中的中间节点将每个分组路由到目的地节点。源节点通过网络发送分组,其中中间节点接收分组,暂时地存储它们,并把它们传递到下一个中间节点。这将继续发生直到目的地节点最终接收到全部分组序列,并使用它们重现来自源节点的信息。用于在源节点和目的地节点之间传输分组的各种连接和中间节点典型地被总的称为是“路由选择路径”。
向每个中间节点分配用于路由选择一个分组的一定级别的责任。典型地,每个中间节点都具有一个存储分组的路由选择信息的路由选择表。一旦中间节点接收到一个分组,它将搜索路由选择表以找到适当的路由选择信息。例如,路由选择信息可包括应当接收分组的下一个节点的地址信息。中间节点可随后使用地址信息把分组转发到下一个中间节点。
使用路由选择表可实现多种不同的路由选择算法,就硬件和软件的复杂性而言,其中很多都要求不同级别的复杂性。例如,路由器可使用静态路由选择,默认路由选择或动态路由选择。静态路由选择是指路由至在路由选择表中手工地列出的目的地。典型地当网络改变时路由选择表不改变。默认路由选择类似于静态路由选择,但当分组具有路由器不知道的目的地时,它将被发送到默认地址进行处理。动态路由选择可指通过内部或外部路由选择协议了解的路由。在动态路由选择中,路由选择表可周期性地更新以反映在网络中的变化。例如,如果一个特定的目的地无法继续服务,路由可从路由选择表中消失,并且通信量(traffic)将不会被发送到那个目的地。动态路由选择的例子可包括距离矢量协议,例如由IETF RFC 1058定义的,在1998年11月采用的(“RIP规范”)路由选择信息协议(RIP)版本2标准,以及链路状态协议,例如由IETFRFC 1583定义的开放最短路径优先协议(OSPF)版本2草案标准,1994年3月(“OSPF规范”),这些都可从“www.Ietf.org”和国际标准组织(ISO)10589在1990年2月采用的中间级系统到中间级系统(ISIS)路由选择协议(“ISIS规范”)中得到。在上面讨论的路由选择协议中,使用动态路由选择协议的节点典型地具有更复杂,并因而昂贵的硬件和软件需求。
除路由选择功能之外,中间节点可以提供高级网络服务。这里用到的术语“高级网络服务”可指认为是任何除了路由选择之外的网络服务。例如,中间节点可包括必需的软件和硬件以执行各种功能,例如实现防火墙,网络地址翻译(NAT),端口地址翻译(PAT),标签交换,TCP连接终止,通信量标记,通信量设计或修整服务,或操作为虚拟专有网络(VPN)网关,虚拟路由器,虚拟局域网(VLAN),公共交换电话网络(PSTN)网关,语音可扩展标识语言(XML)处理器等,尽管本发明的实施例不仅限于此上下文。高级网络服务的其它例子可包括根据某些协议进行操作的中间节点,这些操作根据IP的语音(VoIP)标准,例如国际电信联盟(ITU-T)推荐标准H.323定义的,在1998年2月采用的,可从“www.itu.int”(“H.23规范”)得到的“基于分组的多媒体通信系统”,或其它协议例如由IETF建议的标准,RFC2543,定义的并发布于1999年3月可从“www.ietf.org”(“SIP规范”)得到的“SIP会话开始协议”等进行。这些只是例子,并且很多任何其它协议可用在备选实施例中。
因此,中间节点成本和复杂性可能会增加取决于中间节点实现路由选择或高级网络服务的类型。给定在网络中可用的中间节点的全部数量,使每个中间节点实现此类功能可能是没有意义的。此外,很多这些服务的实现可包括两部分,包括在改变了报头和/或队列,以及处理例如路由选择更新,标签更新等的控制信息之后,从一个呼入的物理接口将分组转发到另外一个接口。无需让每个中间节点实现所有这些功能。更适合的是,一些中间节点可仅执行基本的分组转发,而把复杂的控制处理留给其它更复杂的网络节点。
因此,本发明的一个实施例可在一个或多个中间节点中执行高级路由选择服务(ARS)和高级网络服务(ANS)。这些一个或多个中间节点可在这里可称为主机高级路由选择服务器(HARS)。在本发明的一个实施例中,HARS可包括一个或多个服务器。这里用到的术语“服务器”可指任何包括例如,处理器和存储器的计算机系统,可在HARS和各种其它中间节点之间创建虚拟连接。一旦中间节点接收到要求HARS实现ARS或ANS功能的一个分组,中间节点可转发此分组到HARS进行处理,或可选择地,从HARS请求信息以自己处理分组。在这种方式下,耗费资源和复杂的操作可从HARS除去,并从而可能减少一个或多个中间节点的成本和复杂性。
值得注意在规范中任何引用“一个实施例”或“实施例”意味着一个与实施例有关的特定的特征,结构,或特点被包括在本发明的至少一个实施例中。短语“在一个实施例中”在规范中的很多地方的出现并不是都是指的相同的实施例。
现在详细参照附图,其中相似的部分由全部相似的附图标记指定,在中图1说明了适合实现本发明的一个实施例的系统。图1是系统100的结构示意图。系统100包括分别通过通信链路106和108分别连接到客户服务网关(CSG)110和112的局域网(LAN)102和104。CSG110和112都分别通过通信链路116和114连接到中央站点路由器(CSR)120。CSR 120通过通信链路122连接到HARS 118。CSR 120也连接到网络126。在本发明的一个实施例中,系统100可根据一个或多个互联网协议,例如在TCP/IP规范中说明的协议操作。
在本发明的一个实施例中,CSG 110,CSG 112和CSR 120可以是路由器。路由器在这里可被定义为对一个或多个分组执行路由选择的节点。这可通过使用典型地存储在路由选择表中的路由选择信息而完成。在此本发明的实施例中,CSG 110,CSG 112和CSR 120配置为执行基本路由选择功能,例如静态或默认路由选择协议,尽管本发明的实施例不仅限于此上下文。由于它们配置为执行基本路由选择功能,这些路由器的复杂性和因此的成本典型地小于通常的能够执行更高级路由选择算法的路由器。
在本发明的一个实施例中,HARS 118可包括一个服务器。然而,HARS 118也可包括服务器集群,路由器,交换机,网关,网桥,或一些其它网络设备,也落入在本发明的范围中。在本发明的此实施例中,HARS 118可配置为执行ARS或ANS功能。例如,HARS 118可操作以执行ARS功能,例如动态路由选择,因此建立一个路由选择表,该路由选择表包含HARS 118可知道如何到达的关于所有通到所有目的地的最佳路径的共同信息。HARS 118可通告和接收由其它路由器传送的路由选择信息。在本发明的一个实施例中,HARS 118可根据链路状态协议实现ARS。链路状态协议可基于各种网络设备交换信息原理操作,有时被称为“链路状态”,它将传输关于在网络中的链路和节点的信息。该信息将建立,维护并更新它的路由选择表。
一旦HARS 118接收到分组,它从接收到的分组检索控制信息。控制信息可包括,例如,源IP地址,目的地IP地址,源端口号,目的地端口号,状态指示符,服务(TOS)类型指示符等。使用一个或多个控制信息,HARS 118可搜索它的路由选择表以找到高级路由选择信息。一旦高级路由选择信息被定位,分组可被发送至网络中它的下一个目的地,例如其它典型地比较靠近目的地节点的中间节点,或目的地节点本身。重复处理直到分组发现通过网络到达它的最终目的地的路线。HARS 118实现的ARS的例子可包括实现一个或多个高级路由选择协议,例如根据OSPF规范和ISIS规范实现的动态路由选择协议,尽管HARS 118并不仅限于此上下文。
作为此类路由选择实现的结果,由于可在网络中利用比较简单的路由器,可实现充分的成本节约。进一步,由于在网络中引入了新服务和技术,它们可以实现通过更新HARS 118而不是在网络中的所有路由器,因此避免了典型地代价高的和耗时的处理。
在本发明的一个实施例中,可通过安全虚拟连接将CSG 110,CSC112和CSR 120的每一个都连接到HARS 118。每个连接可通过使用,例如,从每个设备到HARS 118的虚拟专有网络(VPN)通道而完成。无论何时CSG 110,CSG 112或CSR 120接收具有指示需要ARS或ANS功能的控制信息的分组,它可通过VPN通道转发分组到HARS 118进行处理。这些指示需要ARS或ANS功能的控制信息可包括,例如,源地址,目的地地址,协议标识符,源端口号,目的地端口号,TOS字节,标签,预定义的标识符,状态标记,控制消息或其它指示符。HARS 118可接收分组并执行适当功能,并可把分组发送回转发设备进行处理,或发送到由存储在HARS 118的路由选择表中的路由选择信息指示的下一个节点。
可以理解尽管在中图1中仅说明了三个网络节点,任何数量的网络节点可出在系统100中,并仍落入本发明的实施例的范围中。系统100说明了用于澄清目的CSG 100,CSG 112,CSR 120,并且不仅限于此上下文。下面将参照图2-4说明关于CSG 110,CSG 112,CSR 120和HARS 118的更多细节。
图2说明了根据本发明的一个实施例的HARS。图2包括可代表HARS118的HARS 200。如在图2中所示,HARS 200包括处理器202,输入/输出(I/O)适配器204,操作员界面206,存储器210和磁盘存储器218。存储器210可存储计算机程序指令和数据。术语“程序指令”可包括计算机代码段,包括来自预定义的当根据预定义的方式或语法结合起来使用时可导致处理器执行特定功能的计算机语言的代码,值和符号。计算机语言的例子可包括C,C++和汇编。处理器202执行程序指令,并处理被存储在存储器210中的数据。磁盘存储器218存储将要传输到和来自存储器210的数据。I/O适配器204通过连接224与其它设备通信,并传输数据入和出计算机系统。操作员界面206可通过接收命令和提供状态信息与系统操作员接口。所有这些组件都通过允许在组件之间互相传送数据的总线208互相连接起来。I/O适配器204表示一个或多个I/O适配器或可以连接到局域网或广域网,例如在图1中说明的网络的网络接口。因此,连接224表示网络或直接到其它设备的连接。
处理器202可以是任何能够提供本发明的实施例要求的速度和功能的类型的处理器。例如,处理器202可以是来自Intel公司,Motorola股份有限公司,Sun微系统股份有限公司,Compaq计算机公司和其它公司制造的处理器家族的处理器。处理器202也可包括数字信号处理器(DSP)和附属的体系结构,例如来自Texas仪器股份有限公司的DSP。
在本发明的一个实施例中,存储器210和磁盘存储器218可包括机器可读的介质,并可包括任何介质能够存储适于由处理器执行的指令。这种介质的一些例子包括,但不仅限于,只读存储器(ROM),随机访问存储器(RAM),可编程ROM,可擦写可编程ROM,电子可擦写可编程ROM,动态RAM,磁盘(例如软盘和硬盘驱动器),光盘(例如CD-ROM)和任何其它可存储数字信息的介质。在本发明的一个实施例中,指令以压缩的和/或加密的格式被存储在介质上。如这里使用的,短语“适于由处理器执行的”意思是包括以压缩的和/或加密的格式存储的指令,以及在由处理器执行前必须编译或由安装者安装的指令。进一步,客户200可包括通过各种I/O控制器的机器可读的存储设备的组合,其由处理器202访问并能够存储计算机程序指令和数据的组合。
通过总线208处理器202可访问存储器210,并且存储器210包括操作系统216,程序分区212和数据分区214。在本发明的一个实施例中,操作系统216可包括Microsoft公司出售的操作系统,例如MicrosoftWindows95,98,2000和NT。程序分区212存储并允许处理器202执行程序指令,这些程序指令实现这里描述的每个分别的系统的功能。在本发明的一个实施例中,程序分区212包含用于VPN模块,ARS模块,ANS模块和调度模块的程序指令。当然,本发明的范围并不仅限于这些特殊的指令集。数据分区214可被处理器202访问,并可存储在执行用于每个模块的程序指令时用到的数据。
在本发明的一个实施例中,VPN模块配置为在一个节点和HARS 200之间管理VPN通道。这可包括创建VPN通道,维护VPN通道,或除去VPN通道,例如,VPN通道提供了可用于在节点和HARS 200之间传送分组的虚拟连接。典型地,单个物理连接可传输通过多个虚拟连接传送的分组,例如多个在HARS 200终止的VPN通道。这里使用的术语“终止”可指虚拟连接的终点。再次参照图I,例如CSR 120可具有多个通过物理连接122连接到HARS 118的虚拟连接。
在本发明的一个实施例中,虚拟连接可使用一个或多个安全方案变得安全,例如根据国家标准和技术学院定义的数据加密标准(DES)或三重DBS(TDES)的对称方案,联邦信息处理标准出版物46-3,1995年10月25,并可从“http//csrc.Nist.gov/cryptval/des/desval.html”(“DBS规范”)获得,IETF信息文档RFC2411定义的,1998年11月(“IPSEC规范”)IP安全(IPSEC),IETF建议的标准RFC2661,1999年8月(“L2TP规范”)定义的层两通道协议(L2TP),IETF实验标准RFC2660,1999年8月(“S-HTTP规范”)定义的安全超文本传输协议(S-HTTP),或根据版本3.0互联网草案IETF,1996年11月(“SSL规范”)定义的安全套接字Socket层(SSL)协议的非对称设计,或IETFRFC2246,1999年1月(“TLS规范”)定义的传输层安全(TLS)协议草案标准,所有这些都可从“www.ietf.org获得,尽管本发明的实施例不仅限于此上下文。
在本发明的一个实施例中,在节点和HARS 200之间的VPN通道可以下列安全的方式创建。一个节点,例如CSG 110或CSG 112,可配置为使用物理安全密钥操作。物理安全密钥可包括存储器。存储器可用于存储节点的安全和配置信息,例如节点的IP地址,用于节点的私钥,用于HARS 200的公钥,用于节点的管理标识符和密码,例如IP子网掩码的路由选择信息,一个例如CSR 120的被连接的设备的IP地址等。一旦节点连接到网络,节点可启动一个可包括使用存储在密钥的存储器中的信息创建到HARS 200的安全VPN通道的初始序列。
在本发明的一个实施例中,ARS模块管理用于HARS 200的路由选择表。ARS模块可执行,例如,从分组接收控制信息,搜索适当的路由选择表以检索相应于控制信息的高级路由选择信息,和发送高级路由选择信息到调度模块的功能。ARS模块也可执行管理一个或多个路由选择表,包括为每个路由选择表根据高级路由选择协议创建,更新和除去高级路由选择信息的功能,例如根据OSPF规范或ISIS规范的动态路由选择协议操作。每个路由选择表可被存储在存储器中,例如存储器210。
在本发明的一个实施例中,ANS模块可执行管理一个或多个ANS服务的功能。例如,HARS 200可配置为执行过滤功能。在此实施例中,HARS 200可配备一个包括一列源和/或目的地IP地址的过滤表(filterlist)。过滤表可用于确定分组是否传递给另一网络设备。在其它例子中,HARS 200可配置为根据一个或多个协议管理资源或带宽分配。在本发明的一个实施例中,HARS 200可配置为根据资源保留协议(RSVP)操作,由IETF RFC2205,1994年6月定义,可从“www.Ieft.org”(“RSVP规范”)获得。根据RSVP,各种控制消息可在源和目的地节点之间发送以建立通信会话,并保留用于通信会话的带宽。带宽保留可包括,例如,用于会话的预先确定的不变的比特率(CBR),或可变比特率(VBR)。关于每个通信会话和它的保留带宽的信息被典型地存储在资源表中,并由源和/或目的地节点周期性地更新。HARS 200可配置为管理并更新此表,并也可协同调度模块以执行分组调度以确保满足对特定的会话的CBR或VBR要求。
在本发明的一个实施例中,调度模块可通过虚拟连接执行接收和发送分组的功能。HARS 200可具有一个或多个到不同节点的虚拟连接。虚拟连接可以是,例如,到CSG 110,CSG 112或CSR 120的VPN通道。调度模块通过VPN通道接收分组,检索由ARS模块使用的控制信息,并从ARS模块接收路由选择信息,用于在将接收到的分组路由选择到它们的下一个目的地中使用。调度模块可根据一个或多个传统的调度协议,通过适当的VPN通道调度每个用于通信的分组。值得注意的是在本发明的一个实施例中,HARS 200是一个具有单个物理网络连接和多个虚拟连接的服务器。在这种方式下,服务器可配置为类似于路由器一样进行操作,其典型地具有多个经常被称为“端口”的物理的网络连接,同时仅有单个物理网络连接。
尽管VPN模块,调度模块和ARS模块在这里说明为独立的软件模块,可以理解这些模块执行的功能可在单个模块,或更多模块中实现,并且仍落入本发明的范围中。
在本发明的一个实施例中,I/O适配器204可包括网络适配器或网络接口卡(NIC),配置为以任何适合的技术操作,用于在计算机或网络设备之间使用希望的一组通信协议,服务和操作过程控制通信信号。在本发明的一个实施例中,I/O适配器204可根据例如TCP/IP规范操作。可以理解I/O适配器204可操作任何适合的用于在计算机,服务器,节点或网络设备之间使用希望的一组通信协议,服务和操作过程控制通信信号的技术,并且仍落入本发明的范围中。
I/O适配器204也包括适当的用于以合适的通信介质连接I/O适配器204的连接器。I/O适配器204可接收通过任何适合的通介质信信号,例如铜导线,双绞线,同轴电缆,光纤,无线电频率等。
可参照图3和4和所附的例子进一步说明系统100和200的操作。尽管这里出现的图3和4包括一个特定的处理逻辑,可以理解处理逻辑仅提供一个如何实现这里说明的普通功能的例子。进一步,除非特指出,每个在给定的处理逻辑中的操作不必按照显示的顺序执行。
图3是根据本发明的一个实施例高级路由选择服务(ARS)模块执行编程逻辑结构流程示意图。根据编程逻辑300,在块302,可通过第一虚拟连接接收分组。在块304,可为分组确定分组分类,以及相应于路由选择信息的分组分类。根据在块304的确定,在块306,路由选择信息可被检索。路由选择信息可从例如,存储在存储器中的路由选择表中检索。在块308,分组可通过第二虚拟连接使用路由选择信息被发送。
在本发明的一个实施例中,第一和第二虚拟连接是安全的。这可通过使用任何数量的传统的加密技术而实现。在本发明的另外一个实施例中,第一和第二虚拟连接可包括VPN连接,例如VPN通道。
在本发明的一个实施例中,路由选择信息可包括网络节点例如在源和目的地节点之间路径上的中间节点的地址。地址可包括,例如,IP地址。
图4是根据本发明的一个实施例的中间节点执行的编程逻辑的结构流程示意图。如图4中所示,当由处理器执行这里说明的功能时,说明编程逻辑400。在块402中,分组可在网络节点处被接收。在块404,网络节点可确定分组是否要求高级路由选择服务。在块406,分组可向服务器发送分组以执行高级路由选择服务。
在本发明的一个实施例中,可通过虚拟连接发送分组。在另一本发明的实施例中,使用任何数量的常规加密技术,虚拟连接可以是安全连接。在本发明的其它实施例中,虚拟连接可为VPN连接,例如VPN通道。
在本发明的另一个实施例中,节点可在由其它节点处理后接收前面发送的分组,例如HARS 200。例如,接收到的分组可具有高级路由选择信息,高级路由选择信息可用于转发分组到在它的在源和目的地节点之间路径上的下一个节点。节点可然后使用高级路由选择信息向下一个节点发送分组。
可通过例子参照图3和4可更好地理解系统100的操作和说明的处理逻辑。再次参照图I和4,CSG 110和CSG 112可配置为执行静态和/或默认路由选择,例如。它们维护人工配置的路由选择表,并且不更新路由选择表以反映在网络中的变化。术语“人工配置”这里使用的在中指用户访问路由选择表并存储路由选择信息。这种路由选择表的一个例子如下表1所示。
表1
在该例子中,表1包括用于一个目的地地址和下一个跳的域。目的地地址可以包括,例如一个IP地址和一个子网掩码。子网掩码可以包括一个32位的值,该值规定了例如在一个IP地址中有多少位比特被用作IP地址的子网标识符部分。在该例子中,用于CSG 110的路由选择表可以被设置用于静态和默认的路由选择。CSG 100可以接收一个包括源IP地址,目的地IP地址和数据的分组。CGS 110可以从接收到的“192.10.1.0”的分组中检索目的地地址。CGS 110可以搜索表1,并发现“下一跳”或下一个节点的地址是“192.10.2.2”。它然后利用适当的连接发送转发分组至“192.10.2.2”。在另一个例子中,CGS可以接收另一个具有目的地地址为“192.10.3.0”的分组。CGS110可以搜索表1,并发现“下一跳”是到地址“192.10.2.4”,该地址是HARS 200的IP地址。如果知道CGS 110可以接收例如需要高级路由选择服务的具有目的地地址“192.10.3.0”的分组,路由选择表可以以这种方式配置。在又一个例子中,CGS 110可以接收具有目的地地址为“192.10.X.X”的分组,X表示“0”或任何正整数。如前述的例子,CGS 110将把该分组转发到HARS 200进行处理。在再一个例子中,CGS 110可以接收目的地地址不在其路由选择列表中的分组。在这种情况下,可以将分组作为默认的下一跳路由至HARS 200。
在上述的例子中,CSG 110可配置为执行基本路由选择功能,并仍可根据需要访问高级路由选择或网络服务。结果,可降低CSG 110的复杂性。进一步,如果存在对高级路由选择或网络服务的希望的修改,这些修改可在HARS 200实现,并从而对任何其它的例如CSG 110,CSG 112或CSR 120的中间节点要求,如果有的话,较少的修改。
再次参照图1,2和3,HARS 200可配置为根据本发明实施例执行高级路由选择或网络服务。在本发明一个实施例中,HARS 200可配置为根据OSPF规范执行高级路由选择服务。在此实施例中,HARS 200可使用类似于下表2中显示的路由选择表。
表2
在该例子中,表2可包括用于目的地地址,下一跳和基于跳跃计数的成本的域。如表1所示,目的地地址可包括,例如,IP地址和子网掩码。在此实施例中,表2说明了可以使用的路由选择表,例如根据OSPF规范实现高级路由选择算法,包括多路径或备选路径的路由选择。HARS 200可通过具有目的地地址“192.10.4.0”的第一虚拟连接接收分组。HARS 200可使用目的地地址“192.10.4.0.”为接收到的分组搜索下一跳。在该例子中,下一跳可是“192.10.3.2”或“192.10.2.2”其中之一。但是,除了下一跳之外,路由选择表可提供考虑到与在网络中的不同连接有关的成本的使用下一跳成本的指示。成本的可能要素在于,例如,如果线路是自有的或租赁的线路成本,可用带宽,在节点之间的距离等。如表2中所示,通过“192.10.3.2”使用路由选择的成本是120,而通过“192.10.2.2”使用路由选择的成本是200。因此,HARS 200可配置为选择“192.10.3.2”,由于它的成本低于“192.10.2.2”。HARS 200可随后通过第二虚拟连接转发分组到“192.10.3.2”。
此外,HARS 200可为分组确定分组分类。这里使用的术语“分组分类”可指可识别路由选择协议,服务提供者,服务等级,TCP连接等的控制信息,尽管本发明的实施例不仅限于此上下文。例如,用于接收到的分组的分组分类可指示此分组是用于特定的服务提供者的虚拟地区网络的一部分。HARS 200可随后搜索在它的存储器中的列表,使用分组分类以检索,例如,用于处理分组的任何特殊指令。例如,HARS200可维护若干路由选择表,并且分组分类可指示一个特定的路由选择表是用于检索用于接收到的分组的路由选择信息。在其它例子中,分组分类可指示接收到的分组应当通过例如防火墙的地址过滤,以确定它是否应当继续传递到下一跳或整个从网络中删除。
在本发明的一个实施例中,HARS 200可配置为执行很多ANS功能。例如,HARS 200可配置为根据RSVP规范实现资源保留。在另一例子中,HARS 200可配置为根据IETF RFC3031,2001年1月(“MPLS规范”定义的协议多标签交换体系架构(MPLS)协议草案标准,或IETFRFC3036,2001年1月(“LDP规范”)定义的标签分发协议(LDP)草案标准执行标签交换,上述协议都可从“www.Ietf.org”获得。为了实现这些或其它协议,HARS 200可配置为使用流程表。根据本发明的一个实施例适用的流程表一个例子显示在表3中。
表3
在该例子中,表3可以以六个域表示流程表源IP地址,目的地IP地址,协议,源端口号,目的地端口号,和区分服务代码点(PSCP)字节。表3可用于实现ANS,例如LDP,RSVP,MPLS,NAT,PAT,过滤,防火墙和很多其它的功能。HARS 200将负责接收任何与管理和维护流程表有关的控制信息。每个具有到HARS 200的安全虚拟连接的中间节点可配置为把任何具有这样的控制信息的分组传递到HARS200。HARS 200可随后根据请求从流程表向中间节点提供信息,或HARS200可以基于希望的设计目标定期或不定期地向每个中间节点发送一部分或整个流程表。
每个中间节点可如下配置为传递分组到HARS 200。在本发明一个实施例中,每个中间节点可配置为基于在分组报头中预先确定的信息传递所有分组到HARS 200。预定信息可包括,例如,IP协议号。分组可包括,例如,数据分组或控制分组。这里使用的术语“数据分组”指用户想要在源和目的地节点之间传送的信息分组。这里使用的术语“控制分组”可指一个或多个网络节点可用于在源和目的地节点之间传送数据分组的信息分组。当所有与ARS或ANS相关的功能被卸载(offload)至HARS 200时这是理想的。在本发明另一实施例中,每个中间节点可配置为仅传递控制分组到HARS 200。当一部分与ARS或ANS相关的功能被卸载至HARS 200时这将是理想的。一个例子可包括用于资源保留的管理流程表。在该例子中,中间节点可转发RSVP控制分组到HARS 200以管理流程表,并且中间节点可基于从HARS 200接收到的信息转发RSVP数据分组到它的下一跳。
虽然已经在这里说明了本发明的实施例的某些特征,现在本领域的技术人员将会想到很多修改,替换,变化和等价物。因此,需要理解所附的权利要求意图把所有这样的修改和变化都落入本发明的实施例真正的精神中。
权利要求
1.一种在网络中执行路由选择的方法,包括在网络节点接收一个分组;确定所述的分组是否要求高级路由选择服务;以及将所述分组发送至一个高级路由选择服务提供者。
2.根据权利要求1的方法,其中所述的发送通过一个虚拟连接执行。
3.根据权利要求2的方法,其中虚拟连接是安全的。
4.根据权利要求1的方法,进一步包括接收具有高级路由信息的所述分组;并且利用所述高级路由选择信息将所述分组发送至另一个网络节点。
5.一种在网络中执行路由选择的方法,包括在网络节点接收一个分组;确定所述分组是否要求高级路由选择服务;以及将一个高级路由选择信息请求发送至一个高级路由选择服务提供者;接收所述高级路由选择信息;以及利用所述高级路由选择信息对所述分组进行路由选择。
6.根据权利要求5的方法,其中所述的发送和接收通过一个虚拟连接执行。
7.根据权利要求6的方法,其中虚拟连接是安全的。
8.一种在网络中执行路由选择的方法,包括接收一个分组和一个来自中间节点的高级路由选择信息请求;为所述分组确定一个分组分类;相应于所述分组分类对高级路由选择信息进行检索;以及利用所述高级路由选择信息对所述分组进行路由选择。
9.根据权利要求8的方法,其中利用虚拟连接接收和路由选择所述的分组。
10.根据权利要求8的方法,其中虚拟连接是安全的。
11.根据权利要求8的方法,其中所述检索包括从路由选择表中检索所述路由信息。
12.一种在网络中执行路由选择的方法,包括接收一个用于来自中间节点的分组的高级路由信息的请求;为所述分组确定一个分组分类;相应于所述分组分类对高级路由选择信息进行检索;以及将所述高级路由信息发送至所述中间节点。
13.根据权利要求12的方法,其中利用虚拟连接接收和路由选择所述的分组。
14.根据权利要求13的方法,其中虚拟连接是安全的。
15.根据权利要求12的方法,其中所述检索包括从路由选择表中检索所述路由信息。
16.一种在网络中执行路由选择的方法,包括通过第一虚拟电路从中间节点接收一个用于分组的高级路由信息的请求;执行用于所述分组的高级网络服务;相应于所述分组分类对高级路由选择信息进行检索;以及通过所述第二虚拟连接发送所述分组。
17.根据权利要求16的方法,其中虚拟连接是安全的。
18.一个产品,包括一个存储介质;所述存储介质包括存储的指令,当处理器执行指令时,通过在网络节点接收分组而导致在网络中执行由路选择,确定所述分组是否要求高级路由选择服务,并将所述分组发送至一个高级路由选择服务提供者。
19.根据权利要求18的产品,其中当由处理器执行存储的指令时,进一步导致通过所述安全的虚拟连接发送所述分组。
20.根据权利要求18的产品,其中当处理器执行存储的指令时,进一步导致接收具有高级路由选择信息的分组,并利用所述高级路由选择信息将所述分组发送至另一个网络节点。
21.一个产品,包括一个存储介质;所述存储介质包括存储的指令,当处理器执行存储的指令时,通过在网络节点接收分组而导致在网络中执行由路选择,确定所述分组是否要求高级路由选择服务,并将所述用于高级路由选择信息的请求发送至一个高级路由选择服务提供者,接收所述高级路由选择信息,并利用所述高级路由选择信息对所述分组进行路由选择。
22.根据权利要求21的产品,其中当由处理器执行存储的指令时,进一步通过所述安全的虚拟连接导致分别发送和接收所述请求和所述高级路由信息。
23.一个产品,包括一个存储介质;所述存储介质包括存储的指令,当处理器执行存储的指令时,通过接收来自一个中间节点的分组和高级路由选择信息的请求导致在网络中执行由路选择,确定用于所述分组的分类,相应于所述分组的分类对高级路由选择信息进行检索,以及利用所述高级路由信息对所述分组进行路由选择。
24.根据权利要求23的产品,其中当由处理器执行存储的指令时,进一步导致通过所述安全的虚拟连接进行接收和路由选择。
全文摘要
在网络中执行路由选择的产品和方法,该方法包括在网络节点接收一个分组的步骤,确定所述的分组是否要求高级路由选择服务的步骤,以及将所述分组发送至一个高级路由选择服务提供者的步骤。该发送是通过一个安全的虚拟连接执行的。
文档编号H04L12/56GK1511399SQ02810708
公开日2004年7月7日 申请日期2002年3月21日 优先权日2001年3月30日
发明者S·亚当斯, R·亚瓦特卡, S 亚当斯, 咛乜 申请人:英特尔公司