标签交换计算机网络中的欺骗检查的制作方法

文档序号:7969849阅读:154来源:国知局

专利名称::标签交换计算机网络中的欺骗检查的制作方法
技术领域
:本发明的原理涉及计算机网络,并且更具体地,涉及防止在计算机网络中的攻击行为。
背景技术
:计算机网络汇集了多个相互连接的计算设备,它们交换数据并共享资源。在基于分组的网络中(例如因特网),计算设备通过将数据分成被称作分组的小块来交换数据。这些分组各自经过网络从源设备路由到目标设备。目标设备从这些分组中提取数据并把这些数据组组装为其原始格式。将数据分割为分组使得源设备可以仅重新发送在传输期间那些可能丢失的个别的分组。基于分组的计算机网络越来越多地使用标签交换协议,该协议用于业务工程及其他目的。在标签交换网络中,标签交换路由器(LabelSwitchingRouters,缩写为LSR)使用多协议标签交换(Multi-ProtocolLabelSwitching,缩写为MPLS)信令协议来建立标签交换路径(LabelSwitchedPath,缩写为LSP)。所述LSR利用MPLS协议从下游LSR中接收MPLS标签映象,然后将MPLS标签映象播发(advertise)给上游LSR。当LSR从上游路由器中接收MPLS分组的时候,其根据在其转发表中的信息来交换MPLS标签,然后传送所述分组到适当的下游LSR。传统的LSR通常假设所连接的任何给定的上游LSR都是“可信任的”,以仅使用实际已被播发给该上游LSR的标签发送MPLS分组。然而,这引起潜在的安全脆弱性问题,这是由于LSR可能从源而不是从已被播发标签映象的上游LSR中接收MPLS分组。换句话说,根据一个或多个LSP的相应的标签映象,通过输出MPLS分组,恶意源可以“欺骗(spoof)”上游LSR。如果下游LSR接收该欺骗的MPLS分组以及标签,交换所述分组并且传送这些分组到下游LSR的话,则出现了安全漏洞。即使并未上行发送该LSP信号给所述源,该恶意源也已经成功地(或者可能非故意地)将MPLS分组插入到了LSP中。检测和避免MPLS欺骗会是一项困难的任务,用于基于分组系统的常规检测方案可能不适用。例如,通常应用于基于分组网络中的常规方法仅仅是检验所接收的分组的源地址。但是,在MPLS上下文中通常没有与分组相关的源地址。因此,某些LSR试图通过检验为MPLS而启动的接口上所接收的分组来防止MPLS欺骗。如果对于特定的接口未启动MPLS,LSR就丢弃该分组。然而,在MPLS启动接口上接收欺骗的MPLS业务时,该方法将避免不了安全漏洞,对于不同服务提供商之间的接口,或MPLS是在服务提供商和客户间的接口上启动而言,这将很容易发生。
发明内容简而言之,本发明的原理旨在维护网络安全的技术,且更具体来说,旨在检测和防范MPLS欺骗。这些技术允许以某种方式扩展与信令协议相关的软件模块,该方式允许标签交换路由器(LSR)检验多协议标签交换(MPLS)分组是否从合法的、MPLS标签实际上已被播发的上游LSR所接收到的。所述技术可被应用到任何信令协议中,例如具有业务工程的资源预留协议(ResourceReservationSetupProtocolwithTrafficEngineering,缩写为RSVP-TE),标签分发协议(LDP),或者边界网关协议(BGP)。在一个实施例中,一种方法,包括播发用于标签交换路径的标签(LSP),其中该标签与接口相关;接收具有该标签的分组;以及校验分组是在该接口上接收到的。在另一个实施例中,一种路由设备,包括路由引擎和播发用于LSP标签的接口卡,其中,标签与接口相关。该接口卡还接收具有标签的分组并校验分组是在该接口上接收的接口。在另一个实施例中,一种计算机可读介质,包括指令,其用于促使可编程处理器播发LSP标签,其中标签与接口相关,接收具有该标签的分组,并且校验分组是在该接口上接收到的。图1是示出根据本发明原理的一个系统实例的方框图,其中,标签交换路由器(LSR)对输入的多协议标签交换(MPLS)分组进行欺骗检查。图2是示出根据本发明原理的对输入的MPLS分组进行欺骗检查的路由器的典型实施例的方框图。图3是示出根据本发明原理的转发表实例的方框图,该转发表已被扩展以结合附加的欺骗检查域。图4是示出用于虚拟路由器的示例性的远程自治系统表的方框图。图5是示出与虚拟路由器和远程自治系统相关的接口表实例的方框图。图6是示出具有欺骗检查域的另一个转发表实例的方框图。图7是示出图2中路由器的操作实例的流程图。具体实施例方式图1是示出根据本发明原理的一个系统10实例的方框图,其中,标签交换路由器(LSR)对输入的多协议标签交换(MPLS)分组15A和15B进行欺骗检查。在图1的例子中,LSR12A、12B、和12C通过MPLS协议进行通信,以发送标签交换路径(LSP)17信号。一旦建立,LSP17就将MPLS业务从作为源LSR的LSR12A携带到作为LSP17叶节点的LSR12C。换句话说,MPLS业务通过图1的LSP17从左向右流动。在建立从LSR12A到LSR12C的LSP的进程期间,LSR12C发送消息14B,播发第一MPLS标签(例如标签“900”)到其上游路由器LSR12B。LSR12B在接口16B上接收该标签播报,并且分配相应的第二MPLS标签,例如标签“300”。LSR12B在接口16A发送消息14A,向LSR12A播发标签300。如下所述,一个或者多个LSR12可以利用与信令协议相关的软件模块,该软件模块已被扩展以实现本文描述的MPLS分组欺骗检查技术。此外,根据本发明的原理,LSR12可基于每个LSP来指定执行欺骗检查的类型,由此提供精确级别(fine-graillevel)的安全性。例如,LSR12可利用与信令协议相关的软件模块来对每个LSP指定是应该为特定的LSP执行欺骗检查、还是虚拟路由器欺骗检查、还是远程自治系统(AS)欺骗检查。作为一个实例,假设LSR12利用扩展的软件模块要求对LSP17的接口欺骗检查。当LSR12B接收标有MPLS标签的MPLS分组时,LSR12B在具有附加的欺骗检查域的MPLS转发表中查找所述标签,以确定接收该MPLS分组的接口是否就是接收具有期望的标签的MPLS分组的接口。这样,当LSR12B在接口16A接收具有标签300的MPLS分组12A时,LSR12B确定接口16A是否就是该最初播发标签300的特定接口。在图1的例子中,LSR12B确定通过接口16A播发标签300。因此,LSR12B接收MPLS分组、用第一MPLS标签900替换所述标签300,并将得到的MPLS分组15C传送给LSR12C。然而,攻击者LSR18可能试图通过在接口16C上将具有标签300的MPLS分组15B发送给LSR12B,而将MPLS插入到所述LSP中,企图将LSR12B标签交换至900并将MPLS分组传送到LSR12C上。在此情形中,LSR12B没有在接口16C上将标签300播发给攻击者LSR18。一旦在接口16C上收到MPLS分组15B,LSR12B就确定没有在接口16C播发标签300。LSR12B丢弃MPLS分组15B且不将其传送至LSR12C。在一个实施例中,将丢弃的分组计数、做日志记录、或收集,以便于进一步分析。由此,LSR12B通过在转发入站的MPLS分组以前对其进行欺骗检查,以验证它们是在播发它们的标签的接口上接收到的,从而防止网络攻击。虽然上面是参照一个点对点的LSP进行了说明,但本发明的原理可以很容易地应用于点对多点的(P2MP)LSP。此外,这些技术可以应用于源发起的(source-initiated)或者叶发起的(leaf-initiated)LSP。图2是示出根据本发明原理的对输入的MPLS分组进行欺骗检查的路由器20的典型实施例的方框图。在图2的典型实施例中,路由器20包括接口卡22A-22N(统称IFC22),其分别通过网络链路24A-24N以及26A-26N接收和发送分组流。路由器20可包括机箱(未示出),其具有许多用于容纳一组包括IFC22的卡的插槽。每块卡都可插入到机箱的相应插槽中,以将卡通过高速交换模块(switch)30和内部数据路径32A-32N(统称为内部数据路径32)电连接(couple)至路由引擎28。交换模块30还在每个IFC22之间提供互连路径。交换模块30可以包括,例如,交换结构(switchfabric)、交换装置(switchgear)、可配置的网络交换机或集线器、或者其它高速交换装置。内部数据路径32可包括任意形式的通信路径,例如在集成电路中的电路径、外部数据总线、光链路、网络连接、无线连接、或其它通信路径。通过多个物理接口(未示出),IFC22可以连接到网络链路24A-24N和26A-26N。通常,路由引擎28用作路由器20的控制单元,并维护反映网络拓扑结构的路由信息34。路由器20可为客户提供虚拟私人网络(VPN)服务。在多VPN的环境中,可将路由信息34组织成逻辑上分离的路由信息数据结构。路由器20可用以下形式维护路由信息34一个或多个表、数据库、链接表、分叉树、平面文件、或者任何其他的数据结构。基于路由信息34,路由引擎28生成IFC22的转发信息40A-40N(转发信息40)。在多VPN的环境中,转发信息40可类似地组织成逻辑上分离的路由信息数据结构。每个IFC22都包括转发部件(未示出),用于根据转发信息40以及由路由引擎28生成的MPLS转发表42A-42N(MPLS转发表42)来转发分组。具体来说,IFC22转发部件基于转发信息40来确定对每个入站分组的下一跳,确定关于该下一跳的相应IFC,并通过交换模块30和数据路径32,将这些分组中继到合适的IFC。虽然未单独示出,但转发信息40可以包括“全局”转发信息(例如,与公共网相关的转发信息)以及与路由器20所提供的任何VPN相关的VPN路由和转发表(VPNRoutingandForwardingtable,缩写为VRF)。在所提供的VPN服务中,路由器20可以对每个VPN维护逻辑上隔离的转发表。例如,路由器20可为每个VPN维护一张VRF表。路由引擎28为至少一个在路由引擎28中执行的信令协议36提供操作环境。信令协议36可以是一个协议,例如,诸如资源预留协议(ResourceReservationProtocol,缩写为RSVP)的协议、标签分发协议(LabelDistributionProtocol,缩写为LDP)、或者边界网关协议(BorderGatewayProtocol,缩写为BGP)。可以扩展与信令协议36相关的软件模块以实现本文描述的MPLS分组欺骗检查技术。例如,与信令协议36相关的软件模块可确定执行的欺骗检查类型,以用于与各自标签相关的各个LSP,由此提供精确级别的安全性。在一个实施例中,对于单个LSP而言,与信令协议36相关的软件模块可指定三种不同类型的MPLS欺骗检查(1)接口欺骗检查,(2)虚拟路由器欺骗检查,或者(3)远程自治系统(AS)欺骗检查。为方便这三种类型的MPLS欺骗检查,路由器20维护远程自治系统表38(“远程AS表38”)、MPLS转发表42A-42N以及MPLS接口表44A-44N。通常,远程AS表38将编号与关于路由器20的远程自治系统关联起来,以高效利用MPLS转发表42欺骗检查域中的位。在IFC22中维护MPLS转发表42和MPLS接口表44A-44N(MPLS接口表44),以用于对输入的MPLS分组进行欺骗检查。MPLS转发表42把与输入的MPLS分组相关的标签与下一跳关联起来。根据本发明的原理,将MPLS转发表42扩展,使其包括附加的欺骗检查域,以存储每个转发项的欺骗检查信息。MPLS接口表44把接口编号与虚拟路由器或VRF或逻辑路由器或独立的路由表、以及远程AS编号关联起来。在下文中更详细地讨论这些表。在一个实施例中,路由引擎28可维护MPLS转发表42和MPLS接口表44的原版拷贝,并可以分发这些表的拷贝给每个IFC22。路由引擎28可对MPLS转发表42和MPLS接口表44增加、去除、或修改项目,并且可分发更新过的拷贝给IFC22。在另一实施例中,路由引擎28可分析在MPLS转发表42和MPLS接口表44中的信息,并基于与每个IFC22都相关的接口,仅仅发送每个IFC22都需要的转发信息。当路由器20经由链路24A在IFC22A中接收输入的MPLS分组时,IFC22A使用MPLS转发表42A和MPLS接口表44A对分组进行指定类型的MPLS欺骗检查。例如,路由器20可确定分组是否是在最初播发该标签的接口上被接收。若是,路由器20则根据相应的一个MPLS转发表42来传送分组。然而,如果接收该分组接口并不是最初用来播发标签的接口的话,则路由器20可以丢弃该分组。可以对丢弃的分组计数、做日志记录、或收集,用于进一步分析。图2中示出的路由器20的实施例示出了典型的用途。可选地,路由器20可以包括具备路由引擎和转发引擎的集中控制单元。在此实施例中,转发功能性没有分配给IFC22,而是集中在传送引擎中。此外,本发明的原理可以在三层交换机(layerthreeswitch)或者其它设备之中实现。但是,为方便图示,本发明的原理在路由器20的前后关系中示出。通常,上述过程,包括所述MPLS分组的欺骗检查,可作为从一个或多个计算机可读介质中取出的可执行指令来实现。这种介质的实例包括随机存储器(RAM)、只读存储器(ROM)、非易失性随机存储器(NVRAM),电可擦可编程只读存储器(EEPROM)、闪存等等。此外,可通过一个或多个处理器、分立的硬件电路、固件、在可编程处理器上执行的软件、或以上的任意组合来执行计算机可读介质的指令来实现上述过程的功能。图3示出了MPLS转发表42实例的方框图,如图所示,扩展了MPLS转发表42,使其每个转发项包括附加的欺骗检查域。路由器(例如图1中的LSR12B)在对输入的MPLS分组进行欺骗检查时使用MPLS转发表42。内标签(in-label)域52包括一组MPLS网络中可能已经播发给LSP的上游LSR的虚拟路由器的标签。下一跳(next-hop)域54包含一组与其标签相对应的分组的目标路由器。当路由器12B接收MPLS分组时,路由器12B就在MPLS转发表42中查找该分组的标签,以确定此分组转发只何处。MPLS转发表42中增加了欺骗检查(spoof-check)域56,以检查从上游LSR接收的MPLS分组是否包含最初播发给在接收该分组的接口上的LSR的MPLS标签。例如,对于每个输入的标签来说,欺骗检查域56包括允许标签到达其上的接口组,即,播发该标签的接口组。当接收到标上标签300的分组时,LSR12B在MPLS转发表42中查找标签300,确定标签300仅能在接口16A上被接收。如以上参照图1的说明,如果标有标签300的分组改为到达接口16C的话,则LSR12B可以丢弃该分组。作为另一实例,当接收标上标签500的分组时,LSR12B在MPLS转发表42中查找标签500,确定标签500可以在接口16B或16H上被接收。可使用诸如内容可寻址存储器(CAM)的硬件来检查每个输入的MPLS分组的欺骗检查域56中的接口组。在MPLS接口为多路访问接口(例如,以太网)的情况下,欺骗检查域56还可以包括被播发标签的上游LSR第二层(L2)地址(如以太网介质访问控制(MediaAccessControl,缩写为MAC)地址)。在此方式中,图3示出了一个实施例,其中MPLS转发表42的欺骗检查域56包括整套可允许的接口。但是,在大系统中,接口的数量可能是相当大的,欺骗检查域56中包含的数据量也可能是相当大的。图4是示出路由器例如图2的路由器20的远程AS表38实例的框图。远程AS表38将编号与每个远程AS关联,其中,路由器20可由这些远程AS接收MPLS分组。例如,编号域60包括编号0-N。远程AS域62包括远程自治系统的号码、名称或其它标识符。在图4的实例中,路由器20从仅仅三个远程自治系统中接收MPLS分组。因此,没有使用编号3-N。随着网络变化,路由引擎28可以更新远程AS表38,以添加增添的远程自治系统。在一个实施例中,可以使用编号“0”指示有路由器20驻留其中的自治系统。可将关于远程自治系统的编号(“远程AS编号”)用在MPLS转发表42和MPLS接口表44中,从而以更高效的方式指示远程自治系统。例如,在一些实施例中,远程AS编号可有助于高效地使用MPLS转发表42欺骗检查域中的位。图5是示出路由器例如图2的路由器20的MPLS接口表44实例的框图。MPLS接口表44将接口与虚拟路由器和远程自治系统关联。编号域68包括编号0-N,其与诸如图1中的接口16的接口相关联。虚拟路由器域70包括号码、名称、或虚拟路由器的其它标识符,指示相应接口为其一部分的虚拟路由器。例如,根据图5,接口0和1为虚拟路由器0的一部分,而接口2、3、4和N为虚拟路由器1的一部分。远程AS编号域72包括远程AS编号,指示远程AS,其中,来自于该远程AS的MPLS业务被期望在相应接口上。如果为到另一个服务提供商的外部BGP(EBGP)会话,其中,通过该会话交换路由和标签,则可以将特定接口与该EBGP会话关联。因此,MPLS接口表44和远程AS表38可以一起用来确定接口,其中,来自于特定的远程AS的MPLS业务被期望在该接口上。在图5的例子中,来自远程AS1000的MPLS业务被期望在接口0、1和2上,来自远程AS2000的MPLS业务被期望在接口3上,来自远程AS3000的MPLS业务被期望在接口4和N上。在一个实施例中,远程AS编号域72中的远程AS编号“0”可以指示该接口通往与路由器20相同的自治系统之中的路由器。这可能意味着或是BGP不在该接口上启动,或是该会话为内部BGP(IBGP)会话。图6是示出具有附加欺骗检查域的MPLS转发表75的另一个实施例的框图。类似于图3的MPLS转发表,内标签域76包括一组标签,其中,在MPLS网络中的虚拟路由器可已经播发给LSP的上游LSR。下一跳域78包括一组与其标签相对应的分组的目标路由器。图6中的MPLS转发表75不同于图3中的MPLS转发表42,因为,在图6中,MPLS转发表75的欺骗检查域不包括整套接口,其中,路由器12B可从这些接口接收分组。相反地,MPLS转发表的欺骗检查域80针对欺骗检查进程的空间和时间效率进行了结构化。在图6的实例中,欺骗检查域80有32位。在另外的实施例中,欺骗检查域80可包括其他数量的位。如图6所示,欺骗检查域80的头两位表示针对相应标签所要求的欺骗检查类型。在此实施例中,可以指定欺骗检查的三种类型中的任意一种。例如,欺骗检查类型可以是设计用于资源预留协议(RSVP)的接口欺骗检查、设计用于标签分发协议(LDP)的虚拟路由器欺骗检查、或者是设计用于边界网关协议(BGP)的远程AS欺骗检查。在一个实施例中,由头两位为“00”指明接口欺骗检查类型。在接口欺骗检查中,欺骗检查域中余下的30位确定内标签栏76中的相应标签必须的接口。在此实施例中,如果接口为多路访问(multi-access)(例如,以太网),仅仅该接口进行欺骗检查,而不是L2地址(例如,MAC地址)。在图6的实例中,标签300和400对应于接口类型欺骗检查,这是由于相应欺骗检查域项中的头两位为“00”。根据欺骗检查栏80中的欺骗检查信息,标签300必须到达接口4上,标签400必须到达接口5上。在另一个实施例中,由头两位为“11”来表示第二类型的接口欺骗检查。在第二类型的接口欺骗检查中,欺骗检查域中余下的30位可以确定两个内标签栏76中的相应标签可以到达的接口。这可以用于检查例如,何处存在将传送MPLS业务的第一接口,以及何处存在可以将MPLS业务快速路由到自己的第二接口。在此实施例中,前15位可以确定第一接口,余下的15位可以确定第二接口。在图6的实例中,标签N对应于第二类型的接口欺骗检查,这是由于相应欺骗检查项的头两位为“11”。根据欺骗检查栏80中的欺骗检查信息,标签N可到达接口0或接口5。欺骗检查域80中的头两位为“01”表示虚拟路由器欺骗检查类型。在虚拟路由器欺骗检查中,欺骗检查域中余下的30位确定包含了内标签栏76中的相应标签可以到达的接口的虚拟路由器。在图6的实例中,标签500对应于虚拟路由器类型的欺骗检查,这是由于相应的欺骗检查域项的头两位为“01”。根据欺骗检查栏80中的欺骗检查信息,标签500必须到达虚拟路由器0中的接口。重新参照图5的MPLS接口表44,其示出了接口0和1在虚拟路由器0之中。因此,标签500既可以到达接口0上又可以到达接口1上。可以由欺骗检查域80中的头两位为“10”表示远程AS欺骗检查类型。在远程AS欺骗检查中,欺骗检查域中余下的30位确定包含有标签内栏76中的相应标签必须到达的接口的远程自治系统组。特别地,每一位从右到左映像到图4的远程AS表38的远程AS编号之一。如果将该位设为“1”,则指示了相应的远程AS编号。在图6的实例中,标签600和700对应于远程AS欺骗检查类型,这是由于相应欺骗检查域项的头两位为“10”。根据欺骗检查栏80中的欺骗检查信息,标签600必须到达与具有编号1的远程AS相关的接口。根据MPLS接口表44,接口3与远程AS编号1相关。因此,标签600必须到达接口3上。根据欺骗检查栏80中的欺骗检查信息,标签700可以到达或是与远程AS编号0相关的接口或是与远程AS编号2相关的接口。根据MPLS接口表44,接口0、1和2与远程AS编号0相关,接口4和5与远程AS编号2相关。因此,标签700可以到达接口0、1、2、4、和5上。图7是示出根据本发明原理来进行MPLS欺骗检查的网络设备的典型操作的流程图。该网络设备可以基本类似于图2中所示出的路由器20。最初,路由器20在接口I(82)上接收具有内标签L的MPLS分组。如图2所示,路由器20在MPLS接口表(84)中查找接口I。如果路由器20在MPLS接口表中没找到接口I,则路由器20丢弃该分组(86),这是由于此就指明了MPLS在接口I上没有启动。在一个实施例中,可以对丢弃的分组计数、做日志记录、或进行收集,用于进一步分析。如图2所示,如果路由器20在该MPLS接口表中确实找到了接口I,则路由器20就在MPLS转发表(88)中查找标签L。如果路由器20在所述MPLS转发表中没找到标签L,则路由器20丢弃该分组(86),这是由于其表明路由器20没有播发标签L。路由器20在对应于标签L的MPLS转发表项中检查欺骗检查域80(图6),以确定所需的欺骗检查类型。在图6的实施例中,欺骗检查域中的头两位表示欺骗检查的类型。如果欺骗检查域表示欺骗检查类型为接口欺骗检查(90)(在一个实施例中由“00”所表示),则路由器20从欺骗检查域80中提取期望的MPLS接口I′。路由器20将分组到达的实际接口I与期望的接口I′(92)相比较。如果实际接口I与期望的接口I′相同,则路由器20根据在用于此内标签(94)的MPLS转发表项中的下一跳来转发该MPLS分组。如果实际接口不同于期望的接口,则路由器20丢弃该分组(86),这是由于该分组是从一个路由器20并没有对其播发该标签的LSR所接收到的。在另一实施例中,由“11”所表示的欺骗检查域可以表示第二类型的接口欺骗检查。可以使用第二类型的接口欺骗检查例如,何处存在传送MPLS业务的第一接口,以及何处存在可以将MPLS业务快速路由到自己的第二接口。在第二类型的接口欺骗检查中,路由器20可从接口欺骗检查域中提取两个期望的接口,其中标签可以到达该接口上。在此情形,路由器20将分组到达的实际接口I与这两个期望接口(92)相比较。如果实际接口与任何一个期望接口相同,则路由器20根据此内标签域(94)的MPLS转发表项中的下一跳来转发MPLS分组。如果实际接口不同于任意一个期望的接口,则路由器20丢弃该分组(86),这是由于所述分组是从一个路由器20并没有对其播发该标签的LSR所接收到的。如果在一个实施例中,通过“01”所表示的欺骗检查域表示欺骗检查类型为虚拟路由器欺骗检查(“VR欺骗检查类型”96)的话,则路由器20从欺骗检查域中提取期望的虚拟路由器R′。路由器20将对应于标签所实际到达的接口的实际虚拟路由器V与期望的虚拟路由器R′(32)相比较。如果实际虚拟路由器V与期望的虚拟路由器R′相同,则路由器20根据此内标签域(94)的MPLS转发表项中的下一跳来转发MPLS分组。如果实际虚拟路由器不同于期望的虚拟路由器,则路由器20丢弃该分组(86),这是由于所述分组是从一个路由器20并没有对其播发该标签的LSR所接收到的。如果在一个实施例中由“10”所表示的欺骗检查域表示欺骗检查类型为远程AS欺骗检查(100),则路由器20从欺骗检查域中提取允许的远程AS编号组A′。路由器20将对应于标签实际到达过的接口的实际远程AS编号A与允许的多个远程AS编号(102)相比较。如果实际远程AS编号在允许的远程AS编号组之中,则路由器20根据此内标签域(104)的MPLS转发表项中的下一跳来转发MPLS分组。如果实际远程AS编号不在允许的远程AS编号组之中,则路由器20丢弃分组(86),这是由于所述分组是从一个路由器20并没有对其播发该标签的LSR所接收到的。以上说明了本发明的各种实施例。这些及其他的实施例均包括在所附的权利要求书的范围内。权利要求1.一种方法,包括以下步骤输出用于播发网络中标签交换路径的标签的消息,其中,在第一网络装置的接口上输出所述消息;在播发所述标签之后,从沿所述标签交换路径位于所述第一网络装置上游的第二网络装置接收分组,其中,所述分组包括所播发的标签;以及校验所述分组是否是在输出所述消息以及播发所述标签的所述接口上接收到的。2.根据权利要求1所述的方法,进一步包括以下步骤维护所述标签所针对播发的接口组;以及确定接收到所述分组的接口是否包括在所述接口组中。3.根据权利要求2所述的方法,其中,所述接口为多路访问接口,所述方法进一步包括以下步骤维护被播发标签的标签交换路由器的第二层地址组;以及确定标签交换路由器的第二层地址是否包括在所述第二层地址组中,其中,从所述标签交换路由器收到所述分组。4.根据权利要求1所述的方法,进一步包括以下步骤维护将编号与远程自治系统相关联起来的远程自治系统表;维护将标签与欺骗检查类型以及欺骗检查信息关联起来的转发表;以及维护将接口编号与虚拟路由器以及远程自治系统编号关联起来的接口表。5.根据权利要求4所述的方法,进一步包括以下步骤将收到所述分组的接口与期望接口相比较,其中,所述期望接口由所述欺骗检查信息所指定;当所述接口不同于所述期望接口时,丢弃所述分组;以及当所述接口与所述期望接口相同时,转发所述分组。6.根据权利要求4所述的方法,进一步包括以下步骤将与收到所述分组的接口相关联的虚拟路由器与期望虚拟路由器相比较,其中,所述期望虚拟路由器由所述欺骗检查信息所指定;当所述虚拟路由器不同于所述期望虚拟路由器时,丢弃所述分组;以及当所述虚拟路由器与所述期望虚拟路由器相同时,转发所述分组。7.根据权利要求4所述的方法,进一步包括以下步骤将与接收所述分组的接口相关的远程自治系统编号与期望远程自治系统编号组相比较,其中,所述期望远程自治系统编号组由所述欺骗检查信息所指定;当所述远程自治系统编号不在所述期望远程自治系统编号组中时,丢弃所述分组;以及当所述远程自治系统编号在所述期望远程自治系统编号组中时,转发所述分组。8.根据权利要求1所述的方法,进一步包括以下步骤确定欺骗检查的类型。9.根据权利要求1所述的方法,其中,所述分组为多协议标签交换分组。10.一种路由装置,包括路由引擎;以及接口卡,其使用接口播发标签交换路径的标签,其中,一旦接收到具有所述标签的分组,则所述接口卡校验所述分组是否是在最初用来播发所述标签的所述接口上接收到的。11.根据权利要求10所述的路由装置,进一步包括转发表,所述转发表维护所述标签所针对播发的接口组,以及,所述接口卡确定接收所述分组的所述接口是否包括在所述接口组中。12.根据权利要求10所述的路由装置,进一步包括远程自治系统表,其将编号与远程自治系统关联起来;转发表,其将标签与欺骗检查类型以及欺骗检查信息关联起来;以及接口表,其将接口编号与虚拟路由器以及远程自治系统编号关联起来。13.根据权利要求12所述的路由装置,其中,当接收所述分组的接口不同于期望接口时,所述接口卡丢弃所述分组。14.根据权利要求12所述的路由装置,其中,当与接收所述分组的接口相关的虚拟路由器不同于期望虚拟路由器时,所述接口卡丢弃所述分组。15.根据权利要求12所述的路由装置,其中,当与接收所述分组的接口相关的远程自治系统编号不在由所述欺骗检查信息所指定的期望远程自治系统编号组中时,所述接口卡丢弃所述分组。16.根据权利要求10所述的路由装置,进一步包括与信令协议相关的软件模块,其被扩展以维护用于校验的所述欺骗检查信息。17.根据权利要求16所述的路由装置,其中,所述信令协议包括资源预留协议、标签分发协议、以及边界网关协议中的一种。18.根据权利要求12所述的路由装置,其中,所述转发表和所述接口表驻留在所述接口卡中,并且,所述远程自治系统表驻留在所述路由引擎中。19.一种计算机可读介质,包括用于使网络装置执行以下步骤的指令播发标签交换路径的标签;将所述标签与网络装置的接口相关联;接收具有所述标签的分组;以及校验在所述接口上接收的所述分组是否与所述标签相关。20.根据权利要求19的所述的计算机可读介质,其中,所述指令进一步使所述网络装置执行以下步骤维护标签交换路由器的第二层地址组,其中,所述标签被播发至所述标签交换路由器;以及确定标签交换路由器的第二层地址是否包括在所述第二层地址组中,其中,从所述标签交换路由器接收到所述分组。全文摘要本文描述了标签交换路由器(LSR),其对多协议标签交换(MPLS)分组进行欺骗检查,以在标签交换路径(LSP)中防止MPLS分组的恶意的或非故意的插入。所述LSR确保从上游标签交换路由器(LSR)接收的MPLS分组包括播发到上游LSR的标签。与诸如资源预订协议(RSVP)、标签分发协议(LDP)、以及边界网关协议(BGP)的信令协议相关的软件模块,被扩展来应用MPLS转发表、MPLS接口表、以及远程自治系统表。可以检查被针对播发标签的接口组,以确定接收分组的接口是否包括在接口组之中。MPLS转发表可以包括欺骗检查域,其被用来表示欺骗检查的几个不同类型中的一种,以及用于指定接口组。文档编号H04L12/56GK1949779SQ20061014018公开日2007年4月18日申请日期2006年10月12日优先权日2005年10月12日发明者布鲁诺·赖斯曼申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1