具有标签交换协议接口的动态构造的标签交换路由器的制作方法

文档序号:7971153阅读:211来源:国知局
专利名称:具有标签交换协议接口的动态构造的标签交换路由器的制作方法
技术领域
本发明涉及计算机网络,更具体地,涉及计算机网络上的接口构造。
背景技术
个人和企业通过计算机网络进行通信。因为建造和维护计算机网络很昂贵,所以个人和企业常常与网络服务提供商(NSP)签定合同。通过达成协议,NSP同意提供对计算机网络的访问。在签署这样的合同之后,个人或企业就可使用该计算机网络进行通信。在NSP协议的环境中,所述个人和企业被称为用户(subscriber,也可称为签约用户)。
使用计算机网络进行通信会有一个或多个不利之处。例如,网络的拥塞会显著阻碍各位置(location)之间的通信。此外,网络上的恶意用户可能会截取各位置间的通信流。
为了解决这些不利之处,NSP可以给用户提供服务质量(QoS)保证。例如,NSP可通过从用户处沿着NSP已预先指定的低阻塞路径将通信路由穿越网络,以减少发生拥塞时延的可能性。指定用于典型网络通信的路径的处理,被称为流量工程。此外,为增强安全性,NSP可以为用户提供虚拟专用网络(VPN)。在此情形下,NSP就可对网络通信进行加密,并仅通过信得过的中间网络设备来路由所述网络通信。NSP可在计算机网络上使用各种通信协议来提供QoS保证和/或VPN。例如,NSP可使用标签交换协议,如,多协议标签交换(Multi-Protocol Label Switching,缩写为MPLS)协议或通用多协议标签交换(Generalized Multiprotocol LabelSwitching,缩写为GMPLS)协议,来通过网络提供工程化的和/或安全的标签交换通路(Label Switched Path,缩写为LSP)。

发明内容
总体上,本发明的原理旨在提供用于在网络设备上动态构造软件接口栈的技术。更具体地,这些技术允许网络服务提供商(NSP)为特定用户动态构造包括标签交换协议接口的软件接口栈。通过为用户动态构造这种软件接口栈,NSP为用户提供由标签交换协议支持的通信。
某些与NSP提供给用户的与标签交换协议相关的服务可能会要求NSP为用户提供包括标签交换协议接口的软件接口栈。例如,NSP可能必须提供这种接口,以允许用户访问第二层VPN(L2VPN)或虚拟专用LAN业务(VPLS)。此外,为便于用户和NSP根据标签交换协议来交换分组(与互联网协议(IP)或IPv6相反),NSP通常必须为用户提供包括用于标签交换协议的接口的软件接口栈。由于各种各样的原因,用户和NSP会根据标签交换协议而不是IP来进行通信,这些原因包括载波的载波应用、域间VPN应用、域间流量工程应用、域间快速重新路由应用或循规一致性。通过为用户动态构造这种软件接口栈,NSP可以为用户提供这种与标签交换协议相关的服务。
用于用户的软件接口栈可以由NSP使用的网络设备来维护,以对用户提供网络接入。通常的软件接口栈通常为静态的,因此不管接口是否正被用户所使用,这些栈的维护都消耗网络接入设备的存储器和处理资源。根据本发明,通过为用户动态构造包括标签交换协议接口的软件接口栈,在该栈不为用户所需之时,网络设备就可免于维护与用户的软件接口栈相关的状态,如,用户没有通过LSP进行通信或者不在线的时候。
根据某些实施例,一旦接收到来自用户的网络请求,路由器或者由NSP所提供的其它网络接入设备,就确定用户要求根据标签交换协议进行通信,如,为便于访问由NSP所提供的L2VPN服务。响应于该确定,路由器创建用于用户的包括用于标签交换协议(如MPLS)的接口的软件接口栈。当接收来自用户的后续分组的时候,路由器可以使用标签交换协议接口,将后续分组封装在标签交换协议分组(如MPLS分组)中。
在一个实施例中,本发明旨在提供一种方法,该方法包括以下步骤接收来自用户的网络通信,以及确定在接收网络通信时,用户是否要求标签交换协议接口。该方法还包括以下步骤基于上述确定,为用户构造包括标签交换协议接口的软件接口栈。
在另一个实施例中,本发明旨在提供一种包括指令的计算机可读介质。这些指令使可编程的处理器接收来自用户的网络通信,并在接收到网络通信时,确定用户是否要求标签交换协议接口。这些指令还使处理器基于上述确定,为用户构造包括标签交换协议接口的软件接口栈。
在另一个实施例中,本发明旨在提供一种网络设备。该网络设备包括网络接口卡,其接收来自用户的网络通信;以及控制单元,其在接收网络通信时确定用户是否要求标签交换协议接口,并基于上述确定,控制包括标签交换协议接口的软件接口栈的构造。
在另一个实施例中,本发明旨在提供一种方法,该方法包括以下步骤用网络设备的网卡接收来自用户的网络通信;响应于网络通信发送认证请求到远程认证服务;响应于该请求,接收来自所述远程认证服务的用户档案(profile),而用户档案指明用户要求标签交换协议接口;以及根据用户档案,在网卡上为用户构造包括标签交换协议接口的软件接口栈。
下面将结合附图和说明书中来阐述本发明的一个或多个实施例的细节。本发明的其它特征、目的和优点将从说明书、附图和权利要求书中变得显而易见。


图1是示出一个典型系统的方框图,在该系统中,网络服务提供商为用户提供标签交换协议网络的接入;图2是示出一个典型网络接入设备的方框图;图3A是示出包括MPLS接口的用户软件接口栈的一个典型实施例的方框图;图3B是示出包括MPLS接口的用户软件接口栈的另一个典型实施例的方框图;以及图4是示出根据本发明原理的动态构造包括标签交换协议接口的软件接口栈的典型方法的流程图。
具体实施例方式
图1是示出典型系统2的方框图,在该系统中,网络服务提供商(NSP)为用户6提供对标签交换协议网络的接入。在图示的例子中,标签交换协议网络为多协议标签交换协议(MPLS)网络8。然而,本发明并不限于NSP提供对MPLS网络的接入的实施例。在某些实施例中,NSP可以提供对其他类型的标签交换网络(如通用多协议标签交换协议(GMPLS)网络)的接入。
MPLS网络8可以是任何可与MPLS兼容的计算机网络。可兼容MPLS的计算机网络可以是任何包括多个网络设备(诸如与MPLS协议兼容的路由器)的网络。网络8可以包括各种网络化的资源,这些资源包括路由器、集线器、网关、服务器、工作站、网络打印机、传真机、网络电话等等。网络8可以位于更大的网络诸如Internet上,或者可以就是Internet。
如图1所示,网络8可以包括,或者被连接到,第一位置10A以及第二位置10B(统称,“位置10”)。位置10可以表示用户6能够通过网络8与其进行通信的远程网络。例如,用户位置10可以是更大实体(例如,公司,其中用户为其一部分)的位于远端的办公室。NSP 4可为用户6提供对MPLS网络8的接入,以例如在用户和位置间提供流量工程化的(traffic engineered)和/或虚拟专用网络(VPN)的连接。在某些实施例中,NSP 4可为用户6提供对MPLS网络8的接入,以在用户和位置间提供第二层VPN(L2VPN)或虚拟专用LAN。用户6可以是个人,或者是包括多个人的实体。
用户6使用用户设备12来和用户位置10通信。用户设备12可以是个人计算机、电缆调制解调器、无线接入点、路由器或者另一种能够为一个或多个计算设备提供网络连接的网络设备。当用户6要求发起与位置10中的一个或两个的通信(例如需要VPN的连接)时,用户设备12就产生网络通信。然后,用户设备12发送网络通信到NSP 4。例如,用户设备12可以在动态主机配置协议(DHCP)发现消息中发送通信或者请求。作为其他的实例,用户设备可以通过点对点协议(PPP)、异步传输模式(ATM)、以大网协议、帧中继协议、令牌环协议、无线保真协议(Wireless-Fidelityprotocol)、或者光纤通道协议等等来发送通信。
在NSP 4中的接入设备14接收来自用户6的网络通信。接入设备14可以是任何的网络设备,其由NSP 4所维护,以允许一个或多个用户6访问网络8。例如,接入设备14可以是在提供商网络边缘的路由器,如在网络8边缘的提供商边缘路由器,或者宽带远程访问服务器(BRAS)。当接入设备14接收网络通信时,接入设备14就确定用户6是否要求MPLS接口。基于此确定,接入设备14可以构造包括MPLS接口的用户软件接口栈。
例如,当接入设备14接收来自用户6的网络通信时,接入设备14可以检查用于用户6的软件接口栈是否存在。如果用于用户6的软件接口栈不存在,接入设备14可以尝试对该用户进行认证。例如,接入设备14可以请求用户6提供认证证书。这种认证证书可以是用户名和密码、生物测定、一次性密码、唯一令牌,或者其他识别用户6的信息和凭证。
在其他实施例中,从用户6接收的初始网络通信可以包括连接请求以及认证证书。在这样的实施例中,接入设备14可以不必确定软件接口栈是现存的,或者可以不必请求认证证书。不管哪种情形,接入设备14都可以为认证服务提供认证证书。例如,接入设备提供认证证书给远程访问拨号用户服务(RADIUS)服务器16。可选地,接入设备14可以在本地基于认证证书来对用户6进行认证、发送认证证书给DIAMETER服务器(未示出)、或者使用另一认证方式。
如果RADIUS服务器16成功认证了用户6,则接入设备14确定用户6是否要求MPLS接口。特别地,接入设备14可以确定与用户6相关的用户档案是否说明用户6要求MPLS接口。NSP 4可以配置该用户档案的内容,以反映NSP 4和用户6之间的服务协议条款。因此,用户档案可以说明用户6要求如L2VPN服务或VPLS,并因此要求MPLS接口。在某些实施例中,可以不需要用户6的认证。在这样的实施例中,接入设备可以访问用户档案而无需首先认证用户6。
接入设备14可以通过各种装置来访问用户档案。例如,接入设备14可以本地高速缓存用户档案。可选地,接入设备14可以从远程数据存储器中提取用户档案。例如,在某些实施例中,由RADIUS服务器16来维护数据存储器。在这种实施例中,当RADIUS服务器16成功认证用户6的时候,RADIUS服务器16就返回该用户档案。在这种情况下,接入设备14和RADIUS服务器16可以以修改版本的RADIUS协议进行通信,该修改版本的RADIUS协议包括有用于说明用户需要哪种协议接口的属性。如上所述,本发明并不限于其中认证服务器为RADIUS服务器的实施例。
在使用用户档案确定用户6要求哪种接口之后,接入设备14构造包括该接口的用于用户6的软件接口栈。如果用户档案表明用户6要求MPLS接口、或者要求另一标签交换协议的接口,则接入设备14构造包括MPLS接口、或者其它标签交换协议的接口的接口栈。
用户档案可以指明该用户是要求MPLS“补充(shim)”接口,还是MPLS“主(major)”接口。本文中所用的术语“主”接口是指既支持根据标签交换协议在接口的用户一侧又支持在接口的网络一侧进行通信的接口。本文中所用的术语“次”接口是指支持根据标签交换协议在接口的网络一侧进行通信,并且支持根据另一非标签交换协议在接口的用户一侧进行通信的接口。因此,如果用户设备12能够支持MPLS通信,即,能够根据MPLS协议与接入设备14进行通信,则用户档案就可以说明用户6要求MPLS“主”接口。另一方面,如果用户设备12不能支持MPLS通信,则用户档案可以说明用户6要求MPLS“补充”接口。
如果接口栈包括MPLS“补充”接口,则接入设备14可以接收来自于用户6的非MPLS分组。非MPLS分组可以是PPP、ATM、以太网协议、帧中继协议、令牌环协议、无线保真协议、或者光纤通道协议分组或帧。于是接入设备14可以使用MPLS接口来创建MPLS分组,其封装了用户6发送的非MPLS分组。MPLS分组包括MPLS报头,其包含标签栈项。每个标签栈项包含指示中间网络设备如何转发MPLS分组的标签。例如,MPLS报头可以使MPLS分组跟随指定的路径18A经由MPLS网络8到达位置10A。
此外,接入设备14可以接收来自网络8例如,来自位置10A的MPLS分组。然后,接入设备14可以通过从MPLS分组中去除MPLS报头,使用MPLS接口来创建非MPLS分组。以此方式,MPLS“补充”接口就可以使接入设备14作为通过网络8的虚拟隧道的终点。该虚拟隧道可以是保证带宽的通路、L2VPN隧道等。
此外,如果接口栈包括了MPLS“主”接口,则接入设备14可以接收来自用户6的MPLS分组。于是接入设备14可以使用MPLS接口将MPLS分组发送至网络8。类似地,接入设备14可以接收从网络8寻址到用户6的MPLS分组。于是接入设备14可以使用MPLS接口将MPLS分组发送给用户6。例如,这样的“主”接口可用于例如服务提供商4的载波(carrier)的载波应用、域间VPN应用、域间流量工程应用、域间快速重新路由应用、循规一致性(regulatory compliance)或其他目的。
用户接口栈的动态结构可以具有一个或多个优点。例如,接入设备14允许NSP 4轻松地管理多个用户的QoS协议。为添加、删除、或者修改QoS保证,NSP 4仅需要修改与用户相关的用户档案。此外,NSP 4可使用接入设备14来容易地给某些顾客提供诸如L2VPN服务的VPN服务,或者提供VPLS。此外,NSP 4可以应用本发明具有现有的宽带远程访问服务架构这一原理。另外,如上所述,当不再要求接口栈时(如在静态接口栈情形中会出现的一样),接口栈的动态结构可使接入设备14免于维护用户6的状态。
图2是一种网络接入设备14的典型实施例的方框图。在图例中,网络接入设备采用提供商边缘路由器(PER)30的形式。PER30包括从34A到34N的多个网络接口卡(NIC)(统称,“NIC 34”)。通常,NIC 34转发分组至用户且转发来自用户的分组。NIC 34之一也接收来自用户6的网络通信,其可以使PER以上述方式动态构造用户MPLS接口。
此外,PER 30包括控制单元32,其在接收网络通信时,确定用户6是否要求MPLS接口。在此实施例中,基于该确定,可以在NIC 34之一上构造包括MPLS接口的用于用户6的接口栈。此外,PER 30包括高速交换模块(switch)36。交换模块36允许在NIC 34中以及在NIC与控制单元32之间进行通信。
如图2所示,控制单元32包括至少一个协议说明(protocol-specific)的翻译模块,其从网络通信中提取标识用户6的信息。控制单元32中的协议说明模块可以包括MPLS模块44、DHCP模块46以及PPP模块48。此外,控制单元32包括接口创建模块50,其基于用户6的用户档案来创建用户6的接口栈。控制单元32也可以包括档案接口54,接口创建模块50通过其来提取用户档案。此外,控制单元32可以包括用户档案高速缓存器52,用于本地高速缓存用户档案。
如上所述,NIC 34接收来自NSP 4用户的网络通信。例如,NIC 34A可以接收来自用户6的网络通信。每个NIC 34都包括转发部件(FC)42,其接收来自用户的网络通信。此外,每个NIC 34都包括接口控制器38,其确定用户6的动态接口栈是否存在于NIC34之上。此外,每个NIC 34都包括动态结构管理器(DCM)40,其在NIC 34上构造接口栈。
当NIC 34A接收来自用户6的网络通信时,FC 42A请求接口控制器38A处理和与用户6相关的接口栈进行的网络通信。如果NSP 4未曾认证过用户6,则NIC 34A就不包括用于用户6的接口栈。在此情形下,接口控制器38A发送创建用于用户6的接口栈的请求到DCM 40A。当DCM 40A接收到该请求时,DCM 40A就通过交换模块36将来自用户6的网络通信转发到控制单元32。
一接收到由DCM 40A转发的网络通信,控制单元32就确定用户6是否要求MPLS接口。特别地,控制单元32中的协议说明模块从该网络通信中提取信息。例如,如果网络通信是DHCP请求,则DHCP模块46可从该网络通信中提取介质访问控制(MAC)地址。然后,协议说明模块就转发此信息到接口创建模块50。
当接口创建模块50从协议说明模块接收到信息时,接口创建模块50就可发起认证序列。例如,接口创建模块50可以通过NIC34A发送指令请求用户6提供一个或多个认证证书。然后,NIC 34A可从用户6接收认证证书,并将认证证书转发到接口创建模块50。在其他实施例中,如上所述,来自用户6的初始网络通信可以包括认证证书。不管以上哪种情形,接口创建模块50都可以通过档案接口54将认证证书发送到RADIUS服务器16、或者其他的认证服务器。此外,在某些实施例中,如上所述,接口创建模块50或者PER 30的另一部件例如基于存储在档案高速缓存器中的信息,可以本地认证用户。此外,在某些实施例中,如上所述在提取用户档案或者生成接口栈之前,不需要用户认证。
在某些实施例中,在接收到来自用户6的认证信息之后,接口创建模块50确定用户档案是否存在于用户6的档案高速缓存器52中。如果档案高速缓存器52不包括用户6的档案,则接口创建模块50发送档案请求到档案接口54。然后,档案接口54可以传送该档案请求到数据存储器。例如,档案接口54可发送档案请求到RADIUS服务器16。在某些实施例中,档案请求可以是认证证书。在这种实施例中,如果RADIUS服务器16接受认证证书,则RADIUS服务器16可以将用户档案发送到档案接口54。不管以上哪种情形,一旦接收到来自数据存储器的用户档案,档案接口54就将该用户档案拷贝到档案高速缓存器52中。
在接收来自档案高速缓存器52或档案接口54的用户档案之后,接口创建模块50使用用户档案来确定用户要求哪些接口。例如,如果用户档案说明用户6要求NSP 4提供VPN服务,则接口创建模块50就可以确定用户要求MPLS接口。此外,用户档案可包括关于每个接口的附加构造信息。例如,当通过MPLS L2VPN传送信息时,用户档案可指定NSP 4必须将特定量的宽带分配到用户6所使用的接口。一旦接口创建模块50已经确定用户6要求哪些接口,接口创建模块50就将有关这些接口的接口构造指令发送到NIC 34A上的DCM 40A。
DCM 40A处理来自接口创建模块50的接口构造指令,并在NIC 34A上构造用于用户6的接口栈。特别地,DCM 40A配置较低层接口以使用特定接口作为下一较高接口,并配置较高接口以使用特定接口作为下一较低接口。例如,NIC 34A可通过以太网协议与用户6进行通信。如果DCM 40A接收到接口构造指令,其命令DCM 40A构造MPLS“补充”接口以及用于用户6的虚拟局域网(VLAN)接口,则DCM 40配置以太网接口,以使用MPLS接口作为下一最高接口。接下来,DCM 40配置VLAN接口以使用MPLS接口作为下一最高接口。此外,DCM 40A配置MPLS接口以使用VLAN 接口作为下一较低接口,并配置VLAN接口以使用以太网接口作为下一较低接口。
在DCM40A构造用户6的接口栈之后,NIC 34A可以接收和处理来自用户6的分组。例如,FC 42A可以从用户6接收以太网帧。然后,FC 42A请求接口控制器38A使用与以太网帧源即用户6相关的接口栈,来处理以太网帧的内容。如以上实例中,接口控制器38A可以通过以太网接口、VLAN接口以及MPLS接口处理以太网帧。在通过这些接口处理帧之后,FC 42A就具有封装了VLAN分组的MPLS分组,而VLAN分组又封装了以太网帧。然后,FC 42A可以通过MPLS网络8转发该MPLS分组给正确的目的地,例如通过通路18A转发到位置10A。在前例中确定的各种协议都仅仅是示例性的。根据本发明的接入设备可以构造协议栈,以包括用于标签交换协议的接口,以及任何其他必要的或所希望的协议,以有助于用户和其他设备之间通过标签交换网络进行通信。
图3A是示出包括MPLS“补充”接口的用于用户的接口栈51的典型实施例的方框图。接口栈51的操作可基本类似于通过上例所述的图2中的PER 30所使用的接口栈。在图3A的典型实施例中,用户接口栈51包括以太网接口53、VLAN接口55、以及MPLS接口59。接口的这种组合可用于为用户提供VPLS。
当以太网接口53接收来自用户6的以太网帧时,以太网接口53将该帧传送到VLAN接口55。VLAN接口55使接入设备14模拟跨越另一网络的以太网。即,VLAN接口55使得加入VLAN的每个用户设备彼此看起来都连接于相同的以太网,而不管用户设备是否实际连接到相同的以太网。特别地,VLAN接口55通过将虚拟电路ID(VCID)附加到以太网帧来创建VPLS分组。VCID唯一地确定与用户相关的VLAN。在创建该VPLS分组之后,VLAN接口55将该VPLS组传送到MPLS“补充”接口59。
当MPLS“补充”接口59接收来自VLAN接口55的VPLS分组时,MPLS“补充”接口59通过将一个或多个标签添加到该VPLS分组来创建MPLS分组。这些标签指示设备如何在MPLS网络8中转发MPLS分组。在MPLS“补充”接口59创建MPLS分组之后,PER 30可以转发MPLS分组到MPLS网络8。以此方式,即使用户4初始就不曾发送过MPLS分组,用户接口栈51也允许PER 30使用MPLS。
当PER 30通过核心接口栈从MPLS网络接收MPLS分组时,核心接口栈将MPLS分组传送到用户接口栈51,在用户接口栈51中,MPLS 59和VLAN接口55将MPLS标签从MPLS分组中去掉,并将VCID从VPLS分组中去掉。然后如有必要,以太网接口53处理产生的以太网帧,并通过以太网网络把以太网帧发送到用户6上。
图3B是示出包括MPLS“主”接口的用户接口栈60的一个典型实施例的方框图。接口栈60包括SONET接口62、异步传输模式(ATM)接口64、点对点协议(PPP)接口66、以及MPLS“主”接口。这些接口对于载波的载波应用特别有用。
当PER 30接收来自用户4的SONET通信时,PER 30采用用户接口栈60中的SONET接口62。SONET接口62将SONET通信转换为ATM信元。然后,ATM接口64可以从ATM信元中提取PPP帧。如果PPP帧的协议域指明PPP帧封装了MPLS分组,则PPP接口66将PPP帧解包,并将产生的MPLS分组传送到MPLS接口68。在接收MPLS分组之后,MPLS接口68解析MPLS分组的标签,以确定如何经由MPLS网络8来转发MPLS分组。以此方式,在用户网络栈60中的MPLS“主”接口68允许用户4将用户4生成的MPLS分组传输穿越MPLS网络8。当PER 30通过核心接口栈接收到来自MPLS网络8的MPLS分组时,核心接口栈将MPLS分组传送到用户接口60,在该用户接口处,PPP 66和ATM接口64封装MPLS分组,并将所产生的ATM信元通过SONET链路传送到用户6。
图4是示出根据本发明原理的动态构造MPLS接口的典型方法的流程图。虽然此方法在结构实现上可能不同于图2所示,但是为了说明的目的将参照图2来描述图4的流程。
最初,FC 42A接收来自用户6的网络通信(70)。作为响应,FC 42A请求接口控制器38A使用与用户6相关的用户接口栈处理该网络通信(72)。如果NIC 34A包括与用户6相关的用户接口栈(74),则接口控制器38A处理与用户接口栈进行的通信(92)。另一方面,如果NIC 34A不包括用户接口栈(74),则接口控制器38A请求DCM 40A为用户6构造用户接口栈(76)。为了构造用户接口栈,DCM 40A将网络通信从用户6转发到控制单元32(78)。
当控制单元32接收来自DCM 40A的网络通信时,控制单元32中的协议说明模块对通信进行解码(80)。例如,如果网络通信以PPP协议格式化,则PPP模块48对该通信进行解码。特别地,所述协议说明模块提取关于网络通信的信息。例如,提取的信息可以指示客户6正要求访问Internet。在协议说明模块对通信进行解码之后,协议说明模块就将信息转发到接口创建模块50。
然后,接口创建模块50可以向用户请求一个或多个认证证书(82)。特别地,接口创建模块50可使用协议说明模块之一来产生网络通信,其要求用户提示用户名和密码。例如,接口创建模块50可使用PPP模块48创建通信,该通信对认证证书的要求进行编码。然后,接口创建模块50可以通过交换模块36和NIC 34A将PPP通信发送到用户6。
当接口创建模块50接收来自用户6所请求的认证证书时,接口创建模块50使用档案接口54发送包含认证证书的认证请求到RADIUS服务器16(84)。假设RADIUS服务器16成功地验证了由用户6所提供的用户证书,则接口创建模块50从RADIUS服务器16接收与用户6有关的用户档案(86)。在其他的实施例中,如上所述,来自用户6的初始网络通信可以包括认证证书。此外,在某些实施例中,在为用户动态构造用户接口之前,不需要用户的认证。另外,用户档案可被本地存储,或者可被远程存储在不同于RADIUS服务器的数据存储器中。
接口创建模块50使用用户档案将接口构造指令发送到DCM40A(88)。这些接口构造指令通知DCM 40A用户6要求哪些接口。一旦接收到来自接口创建模块50的接口构造指令,DCM 40A就基于这些指令构造用于用户6的用户接口栈(90)。在某些实施例中,DCM 40A可通过配置现有的接口来构造用户接口栈与各种其他的用户接口进行交互。例如,DCM 40A可以配置PPP接口来与用于用户6的MPLS接口进行交互。
在DCM 40A为用户6构造用户接口栈之后,接口控制器38A可以使用用户接口栈来处理用户6的后续网络通信(92)。例如,若用户6请求MPLS VPN服务,则接口控制器38A可以使用用户接口栈中的MPLS接口来封装来自MPLS分组之中用户6的出站网络通信,以及对从MPLS网络8所接收的MPLS分组进行解包。
已经说明了本发明的各种实施例。例如,图2根据路由器说明了本发明。此外,上述说明书将某些功能与特定的模块或者设备结合起来。然而,本发明并不限于这些实施例。例如,在图2中,接口控制器40以及转发控制器42可位于PER 30的其它部件(如控制单元32)中而不是位于NIC 34中。此外,本发明可在不同于路由器的,如服务器或交换机的网络设备中实施。此外,本发明还可应用于与MPLS协议不同的标签交换协议中。例如,本发明可与诸如RSVP或GMPLS的其它协议一起使用,来为用户提供服务。在本文中使用的术语“分组”并不限于IP分组,可以指分组、帧、信元等中的任何一种。这些及其它实施例都包含在权利要求书的范围之内。
权利要求
1.一种方法,包括以下步骤接收来自用户的网络通信;当接收所述网络通信时,确定所述用户是否要求标签交换协议接口;以及基于所述确定,构造包括所述标签交换协议接口的用于所述用户的软件接口栈。
2.根据权利要求1所述的方法,其中,所述标签交换协议为多协议标签交换协议。
3.根据权利要求1所述的方法,其中,接收网络通信包括接收第二层通信。
4.根据权利要求1所述的方法,还包括认证所述用户,其中,构造所述软件接口栈包括基于所述确定和所述认证来构造所述软件接口栈。
5.根据权利要求4所述的方法,其中,认证所述用户包括以下步骤从所述用户接收认证证书,作为所述网络通信的一部分;以及将所述认证证书提供给认证服务。
6.根据权利要求5所述的方法,其中,将所述认证证书提供给认证服务包括以下步骤将所述认证证书提供给远程访问拨号用户服务服务器。
7.根据权利要求1所述的方法,其中,确定所述用户是否要求标签交换协议接口包括以下步骤确定与所述用户相关的用户档案是否说明所述用户要求所述标签交换协议接口。
8.根据权利要求7所述的方法,还包括将所述用户档案本地存储在用于从所述用户接收所述网络通信的网络设备中。
9.根据权利要求7所述的方法,还包括从数据存储器中提取所述用户档案。
10.根据权利要求9所述的方法,其中,从所述数据存储器中提取所述用户档案包括以下步骤从远程访问拨号用户服务服务器中提取所述用户档案。
11.根据权利要求1所述的方法,其中,从用户接收网络通信包括接收与网络设备的网卡所进行的网络通信;构造软件接口栈包括在所述网络设备的所述网卡中构造所述软件接口栈。
12.根据权利要求1所述的方法,还包括以下步骤从所述用户接收非标签交换协议分组;以及使用所述标签交换协议接口创建包括所述非标签交换协议分组的标签交换协议分组。
13.根据权利要求1所述的方法,还包括以下步骤从网络中接收被指定到所述用户的标签交换协议组;通过去掉所述标签交换协议分组的标签交换协议报头,使用所述标签交换协议接口创建非标签交换协议分组;以及将所述非标签交换协议组转发给所述用户。
14.一种计算机可读介质,其包括使处理器执行如下步骤的指令接收来自用户的网络通信;当接收所述网络通信时,确定所述用户是否要求标签交换协议接口;以及基于所述确定,构造包括所述标签交换协议接口的用于所述用户的软件接口栈。
15.根据权利要求14所述的计算机可读介质,其中,使处理器确定是否要求标签交换协议接口的所述指令包括使处理器进行以下确定的指令确定与所述用户相关的用户档案是否说明所述用户要求所述标签交换协议接口。
16.根据权利要求14所述的计算机可读介质,还包括使处理器从数据存储器中提取所述用户档案的指令。
17.根据权利要求16所述的计算机可读介质,其中,使处理器提取所述用户档案的所述指令包括使处理器从远程访问拨号用户服务服务器中提取所述用户档案的指令。
18.根据权利要求14所述的计算机可读介质,还包括使处理器执行如下步骤的指令从所述用户接收非标签交换协议分组;以及使用所述标签交换协议接口创建包括所述非标签交换协议分组的标签交换协议分组。
19.根据权利要求14所述的计算机可读介质,还包括使处理器执行如下步骤的指令从网络中接收被指定到所述用户的标签交换协议分组;通过去掉所述标签交换协议分组的标签交换协议报头,使用所述标签交换协议接口创建非标签交换协议分组;以及将所述非标签交换协议分组转发给所述用户。
20.一种网络设备,包括网络接口卡,接收来自用户的网络通信;以及控制单元,其在接收所述网络通信时,确定所述用户是否要求标签交换协议接口,并基于所述确定,控制在所述网络接口卡上包括所述标签交换协议接口的用于所述用户的软件接口栈的构造。
21.根据权利要求20所述的网络设备,其中,所述标签交换协议为多协议标签交换协议。
22.根据权利要求20所述的网络设备,其中,所述网络通信为第二层通信。
23.根据权利要求20所述的网络设备,其中,所述控制单元对所述用户进行认证,并且基于所述认证来控制所述软件接口栈的构造。
24.根据权利要求20所述的网络设备,其中,所述控制单元确定与所述用户相关的用户档案是否说明所述用户要求所述标签交换协议接口。
25.根据权利要求24所述的网络设备,其中,所述控制单元从远程访问拨号用户服务服务器中提取所述用户档案。
26.根据权利要求24所述的网络设备,还包括用户档案高速缓存器,其在本地高速缓存所述用户档案。
27.根据权利要求20所述的网络设备,其中,所述网络接口卡包括转发部件,其从所述用户接收所述网络通信;接口控制器,其确定所述网卡上是否存在所述接口栈;以及动态构造管理器,其在所述控制单元的控制下在所述网卡上构造所述接口栈。
28.根据权利要求20所述的网络设备,其中,所述网络接口卡从所述用户接收非标签交换协议分组,并使用所述标签交换协议接口创建包括所述非标签交换协议分组的标签交换协议分组。
29.根据权利要求20所述的网络设备,其中,所述网络接口卡从所述网络中接收被指定到所述用户的标签交换协议分组,通过从所述标签交换协议分组中去掉标签交换协议报头,使用所述标签交换协议接口创建非标签交换协议分组,然后将所述非标签交换协议分组转发给所述用户。
30.根据权利要求20所述的网络设备,其中,所述网络设备是路由器。
全文摘要
本发明公开了一种用于在网络设备中动态构造标签交换协议接口的技术。例如,该技术允许动态构造多协议标签交换(MPLS)接口。根据一些实施例,一旦接收到来自用户的网络通信,网络设备就确定该用户是否要求所述标签交换协议的支持。如果所述用户要求这样的支持,则所述网络设备创建包括该标签交换协议的用于该用户的接口栈。以此方式,网络设备就可将来自用户的分组路由穿过使用标签交换协议的计算设备网络,并将分组从这种网络转发到用户。在典型实施例中,用户及网络设备不必根据该标签交换协议进行通信,而是代之以根据第二层通信协议来进行通信。
文档编号H04L29/10GK1968284SQ20061014572
公开日2007年5月23日 申请日期2006年11月14日 优先权日2005年11月14日
发明者布鲁诺·赖斯曼 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1