专利名称::从多协议标签交换包中区分出虚拟线路包的方法
技术领域:
:本发明涉及一种从多协议标签交换(multi-protocallabelswitching,MPLS)包中区分出虚拟线路(pseudowire,PW)包的方法。
背景技术:
:在分组交换网络里,从源地址(sourceaddress)传送至目的地址(destinationaddress)的包,可能通过多个中间的网络节点,例如交换机(switch)或路由器(router)来传送。如果中间的网络节点熟悉目的地址,包就会被传送至适当的下一个跳点(nexthop)。如果中间的网络节点不熟悉目的地址,此包可能被传送至此网络节点的区别于接收此包的端口的其他的端口。多协议标签交换技术对要传送的包设置标签,并且遵循己建立的标签交换路径(labelswitchedpath),根据标签内容,将包传递给下一个标签交换路由器(labelswitchingrouter,LSR)。一旦包抵达此标签交换路径的倒数第二个标签交换路由器时,就不需要再保留此标签。如图1所示的公知的多协议标签交换网络的一个工作示意图,入口(ingress)边缘(edge)标签交换路由器101将包110以推入的方式设置标签110a而成为包120a后,将包120a传递给核心(core)标签交换路由器103a。核心标签交换路由器103a将包120a以交换(swap)的方式交换标签110a与标签110b而成为包120b后,将包120b传递给下一个核心标签交换路由器103b。当包120b抵达此核心标签交换路由器103b时,由于已不再需要保留标签110b,于是核心标签交换路由器103b将包120b以弹出(pop)的方式移除标签110b,并更新包110而成为包130后,将包130传递给出口(egress)边缘标签交换路由器lll,并由出口边缘标签交换路由器111更新包130而成为包140后,并做进一步处理与传送。在美国专利6,728,220和美国专利公开申请案2002/0176371的文献里,揭示了一种在标签交换域(labelswitchingdomain)里避免传输回环(transmission10op)的技术。此技术将一物理布局(拓扑结构)(physicaltopology)为环形的多协议标签交换网络,转换为一逻辑性弧形(logicalarc)多协议标签交换网络,以避免在环形网络上相同的传输链路(link)上反复传送相同的包。此技术中,每一标签交换路由器有一个右环端口(right-sideringport)和一个左环端口(left-sideringport),分别连接至其相对应的邻近节点。网络节点必须先得知其环形多协议标签交换网络上的节点数目。当一网络节点要传送一包时,将此包的多协议标签交换报头的生存时间(time-to-live,TTL)字段设定为节点数目的一半,再将此包往该节点的左边与右边传送。所以此技术中,网络节点必须先得知其环形多协议标签交换网络上的节点数目,才能避免传输回环。多协议标签交换技术以使用标签的方式,使表格搜寻(tablelook-up)时间最小化,而可以快速地交换包,且支持服务质量(QualityofService,QoS)。并且,此多协议标签交换技术可以支持多层报头(header),称为标签堆栈(labelsteck》多协议标签交换的报头格式如图2所示,包括一个20比特的标签字段Label、一个3比特的实验用(experimentaluse)字段EXP、一个1比特的堆栈底部(bottomofstack)字段S和一个8比特的生存时间字段TTL。其中,仅最底层的报头的堆栈底部字段设定为1,其他报头的堆栈底部字段则均设定为0。另外,由于标签字段长度为20比特,因此同时可以有22()个不会相互干扰的标签,而称这些标签为处于同一标签空间(labelspace)。虚拟线路(Pseudowire,PW)技术可以采用多协议标签交换技术,包括沿用如图2中所示的多协议标签交换技术的报头格式,在两个客户边缘设备(CustomerEdgeDevice,CE)间,通过分组交换网络(packetswitchednetwork)来仿效帧中继(FrameRela》)、ATM、以太网(Ethernet)、TDM或SONET/SDH等服务。图3是此虚拟线路技术的一个工作示意图。虚拟专用网络(VirtualPrivateNetwork,VPN)技术是指当两个或多个专用网络(PrWateNetwork)有互通需求时,不选择架设一个专属网络,而选择利用一个公共网络(publicnetwork)作为载体(carrier),以连接各个专用网络的方式。图4是此虚拟专用网络技术的概要示意图,其中三个属于专用网络的客户边缘设备CE,通过位于公共网络中的提供商边缘路由器(ProviderEdgeRouter,PE)与提供商路由器(ProviderRouter,P),以到达专用网络间互通的目的。而虚拟专用网络的诸多形式中,采用多协议标签交换技术的虚拟线路技术,以到达虚拟专用局域网服务(VirtualPrivateLANServices,VPLS),可参考图5A所示的一个工作示意图。其中,客户边缘设备连接至多协议标签交换网络中的提供商边缘路由器,而被连接的提供商边缘路由器间,则两两在多协议标签交换网络中,建立虚拟线路和标签交换路径,且其中可能经过一个或多个多协议标签交换网络中的提供商路由器。而当一个客户边缘设备要传送一个局域网包至另一客户边缘设备时,该局域网包将先由提供商边缘路由器封装为--个虚拟线路包,再封装为一个多协议标签交换包,也即虚拟专用局域网服务使用相连的两重报头,分别称为外部报头510与内部报头520。其中,外部报头为多协议标签交换网络的标签交换路径所使用,内部报头为虚拟专用局域网服务的虚拟线路所使用。另外,由于内部报头为多协议标签交换的标签堆栈中最底层的报头,故其堆栈底部字段设定为l,相对的,外部报头的堆栈底部字段则为0。图5B为一个从多协议标签交换包中区分出虚拟线路包的方法的示意图。当收到一个多协议标签交换包后,首先读取此包的最上一层报头,然后检査此报头的堆栈底部字段的值是否为1。若不为1,则读取下一层报头,并重复本检查。若为1,则检查该报头的标签字段的值是否为一个虚拟线路标签。若为是,则将此包交由虚拟线路程序处理,否则将此包交由多协议标签交换程序处理。在这个方法中,由于内部报头与外部报头的标签共用同一个标签空间,也即可同时存在的虚拟线路与标签交换路径的最大数目为22()。而当虚拟专用网络数量增加或者当所连接的提供商边缘路由器数量增加,而导致虚拟线路与标签交换路径数量增加时,可能导致提供商边缘路由器的可用标签快速地耗尽,而无法提供服务。由于前面提到的问题,因此需要提供一种从多协议标签交换包中区分出虚拟线路包的方法,来扩充可同时存在的虚拟线路与标签交换路径的最大数目。
发明内容本发明提供一种从多协议标签交换包中区分出虚拟线路包的方法,可以使得内部报头与外部报头的标签字段的值隶属于分开(separated)而且独立的标签空间,更进一步地,内部报头的标签字段的值可隶属于多个独立的标签空间,而扩充了可同时存在的虚拟线路与标签交换路径的最大数目。本发明在虚拟线路的入口设备(ingressdevice),在封装一个包时,将虚拟线路报头的生存时间字段设定为一特殊值。而在多协议标签交换的出口设备(egressdevice),在接收此包后,检査此包的报头的生存时间字段是否为此特殊值。若是,则此包为虚拟线路包且属于此特殊值的标签空间。根据本发明的优选实施例,本发明提供一种从多协议标签交换包中区分出虚拟线路包的方法,该多协议标签交换的报头格式至少包括一标签字段、一堆栈底部字段、和一生存时间字段,该方法包含下列步骤在一个虚拟线路的入口设备,在封装一个包时,设定该虚拟线路所使用的报头的生存时间字段的值为一特殊值;在一个多协议标签交换的出口设备,接收该包;检査该包的报头的该生存时间字段的值是否为该特殊值;以及若是,决定该包为虚拟线路包且属于该特殊值的标签空间。如上所述的从多协议标签交换包中区分出虚拟线路包的方法,其中该虚拟线路的入口设备为该多协议标签交换的入口设备的一个输入模块;该虚拟线路用于一虚拟专用局域网服务;该特殊值为0和/或255;若该包的报头的生存时间字段的值不为该特殊值,则该包的报头的标签字段的值为一个虚拟线路标签与一多协议标签交换标签的其中一种;在该多协议标签交换的出口设备接收该包之后,还包括下列歩骤检查该包的最上一层报头的堆栈底部字段的值是否为0;以及若为0,则重复读取该包的下一层报头,并检査该读取的报头的堆栈底部字段的值,直到该读取的报头的堆栈底部字段的值为根据本发明提供的从多协议标签交换包中区分出虚拟线路包的方法,可以扩充可同时存在的虚拟线路与标签交换路径的最大数目。现在配合下列附图、实施例的详细说明和权利要求,将上述及本发明的其他目的与优点详述于后,图1为公知的多协议标签交换网络的一个工作示意图。图2说明多协议标签交换的报头格式。图3为公知的虚拟线路技术的一个工作示意图。图4为公知的虚拟专用网络技术的一个概要示意图。图5A为公知的虚拟专用局域网服务的一个工作示意图。图5B为公知的从多协议标签交换包中区分出虚拟线路包的方法的一个示意图。图6A为说明本发明从多协议标签交换包中区分出虚拟线路包的方法的一个示意图。图6B为进一歩说明图6A中一个多协议标签交换的出口设备在接收包后的详细工作。图7为根据本发明,说明区分虚拟线路包为隶属于不同的标签空间的一个示意图。其中,附图标记说明如下101:入口边缘标签交换路由器110、130、140:包110a、110b:标签120a、120b:加标签的包111:出口边缘标签交换路由器103a、103b:核心标签交换路由器Label:标签字段S:堆栈底部字段TTL:生存时间字段EXP:实验用字段PW:虚拟线路510:外部报头520:内部报头601:在一个虚拟线路的入口设备,在封装一个包时,将虚拟线路报头的生存时间字段设定为一特殊值602:在一个多协议标签交换的出口设备,接收此包603:检查此包的报头的生存时间字段的值是否为此特殊值604:决定此包为虛拟线路包且属于此特殊值的标签空间703a:检查此报头的堆栈底部字段的值是否为1703b:检査此报头的生存时间字段的值是否为0703c:检查此报头的生存时间字段的值是否为255704a:决定此包为虚拟线路包且属于生存时间值为0的标签空间704b:决定此包为虚拟线路包且属于生存时间值为255的标签空间704c:决定此包为虚拟线路包且属于生存时间值为1-254之间的标签空间705:检査此报头的标签字段的值是否为一个虚拟线路标签706:将此包交由一多协议标签交换程序来处理具体实施方式如前所述,虚拟线路技术可以采用多协议标签交换技术,包括沿用如图2中所示的多协议标签交换技术的报头格式。而根据InternetRFC3985,虚拟线路的报头的生存时间字段由应用来设定规范(applicationspecific),而根据InternetRFC3032,当多协议标签交换包在经过多协议标签交换设备时,会检查此8比特的生存时间字段的值,而将此字段的值减去l。而且,若此字段的值为0,就不再将包往前传送。换句话说,一般应用仅会将此字段设定为介于1到255的正整数,而不会设定为0。所以,多协议标签交换出口设备所收到的多协议标签交换包的生存时间字段的值必然大于或等于1。并且,此字段的值也必然小于或等于254,而不会等于255。因此,本发明利用此特殊值,0与255,来增加虚拟线路可以隶属的标签空间,也就是内部报头的标签字段的值可以隶属于多个独立的标签空间,且可以使得外部报头与内部报头的标签字段的值分别隶属于独立的标签空间,也就是虚拟线路与标签交换路径所使用的标签分别隶属于独立的标签空间,而扩充了可同时存在的虚拟线路与标签交换路径的最大数目。议标签交换报头的出口设备为例,详细说明如何以生存时间字段的值,从多协议标签交换包中区分出虚拟线路包的步骤流程。图6A说明本发明从多协议标签交换包中区分出虚拟线路包的方法的一个示意图。首先,在一个虚拟线路的入口设备,在封装一个包时,将虚拟线路报头的生存时间字段设定为一特殊值,如步骤601所示。在一个多协议标签交换的出口设备,接收此包,如步骤602所示。然后,如步骤603所示,检查此包的报头的生存时间字段的值是否为此特殊值。若是,决定此包为属于此特殊值的标签空间的虚拟线路包,如步骤604所示。若此包的报头的生存时间字段的值不是此特殊值,则此包的报头的标签字段的值可以是-一个虚拟线路标签或是一个多协议标签交换标签。在步骤602之后与步骤603之前,本发明可再包括下列步骤。如图6B所示,继步骤602后,读取此包的最上一层报头,检查此报头的堆栈底部字段的值是否为0。若此报头的堆栈底部字段的值为0,则重复读取此包的下一层报头,并检查该读取的报头的堆栈底部字段的值,直到该读取的报头的堆栈底部字段的值为。若此报头的堆栈底部字段的值为1,则检査此报头的生存时间字段的值是否为此特殊值,也即步骤603。根据本发明,此虚拟线路的入口设备可以是一多协议标签交换的入口设备的一个输入模块。另外,此虚拟线路可用在虚拟专用局域网服务。使用的特殊值可以仅为0、也可以仅为255、也可以同时使用特殊值0与255。使用的特殊值仅为O时,步骤601、步骤603、和步骤604中,此特殊值则仅为0。类似地,使用的特殊值仅为255时,步骤601、步骤603、和步骤604中,此特殊值则仅为255。进一步地,本发明通过生存时间字段不同的特殊值,来区分虚拟线路包隶属于不同的标签空间。例如,如果同时使用特殊值0与255,则虚拟线路包可被区分为隶属于三个不同的标签空间,而此三个不同的标签空间的虚拟线路包的报头的生存时间字段的值,分别为0、255、以及1-254之间这三类。图7为根据本发明,说明区分虚拟线路包隶属于不同的标签空间的一个示意图。在图7中,继步骤602之后,读取接收的包的最上一层报头,检査此报头的堆栈底部字段的值是否为1,如歩骤703a所示。若此报头的堆栈底部字段的值为o,则重复读取此包的下一层报头,并检查该读取的报头的堆栈底部字段的值,直到该读取的报头的堆栈底部字段的值为1。若此报头的堆栈底部字段的值为1,则检査此报头的生存时间字段的值是否为0,如步骤703b所示。若此报头的生存时间字段的值为0,则决定此包为虚拟线路包且属于生存时间值为0的标签空间,如步骤704a所示。若此报头的生存时间字段的值不为O,则检査此报头的生存时间字段的值是否为255,如步骤703c所示。若此报头的生存时间字段的值为255,则决定此包为虚拟线路包且属于生存时间值为255的标签空间,如步骤704b所示。若此报头的生存时间字段的值不为0且不为255,则检查此报头的标签字段的值是否为一个虚拟线路标签,如步骤705所示。若此报头的标签字段的值是一个虚拟线路标签,则决定此包为虚拟线路包且属于生存时间值为1-254之间的标签空间,如步骤704c所示。若此报头的标签字段的值不是一个虚拟线路标签,则将此包交由一个多协议标签交换程序来处理,如步骤706所示。所以,虚拟线路包可被区分为隶属于三个不同的标签空间,而此三个不同的标签空间的虚拟线路包的报头的生存时间字段的值,分别为O、255、以及1-254之间这三类。综上所述,本发明利用生存时间字段的特殊值,可从多协议标签交换包中区分出虚拟线路包,且可以通过不同的特殊值,增加虚拟线路可以隶属的标签空间,而扩充了可同时存在的虚拟线路与标签交换路径的最大数目。然而,以上所述,仅为发明的较佳实施例而已,应当不能依此限定本发明实施的范围。即凡是根据本发明权利要求所作的等效变化与修饰,都应该仍属本发明专利涵盖的范围内。权利要求1.一种从多协议标签交换包中区分出虚拟线路包的方法,该多协议标签交换的报头格式至少包括一标签字段、一堆栈底部字段、和一生存时间字段,该方法包含下列步骤在一个虚拟线路的入口设备,在封装一个包时,设定该虚拟线路所使用的报头的生存时间字段的值为一特殊值;在一个多协议标签交换的出口设备,接收该包;检查该包的报头的该生存时间字段的值是否为该特殊值;以及若是,决定该包为虚拟线路包且属于该特殊值的标签空间。2.根据权利要求1所述的从多协议标签交换包中区分出虚拟线路包的方法,其中该虚拟线路的入口设备为该多协议标签交换的入口设备的一个输入模块。3.根据权利要求1所述的从多协议标签交换包中区分出虚拟线路包的方法,其中该虚拟线路用于一虚拟专用局域网服务。4.根据权利要求1所述的从多协议标签交换包中区分出虚拟线路包的方法,其中该特殊值为0。5.根据权利要求1所述的从多协议标签交换包中区分出虚拟线路包的方法,其中该特殊值为255。6.根据权利要求1所述的从多协议标签交换包中区分出虚拟线路包的方法,其中该特殊值包括0和255。7.根据权利要求1所述的从多协议标签交换包中区分出虚拟线路包的方法,其中若该包的报头的生存时间字段的值不为该特殊值,则该包的报头的标签字段的值为一个虚拟线路标签与一多协议标签交换标签的其中一种。8.根据权利要求1所述的从多协议标签交换包中区分出虚拟线路包的方法,其中在该多协议标签交换的出口设备接收该包之后,还包括下列步骤检查该包的最上一层报头的堆栈底部字段的值是否为0;以及若为0,则重复读取该包的下一层报头,并检查该读取的报头的堆栈底部字段的值,直到该读取的报头的堆栈底部字段的值为1。全文摘要本发明揭示一种从多协议标签交换包中区分出虚拟线路包的方法,利用生存时间字段的特殊值,区分出虚拟线路包,而增加虚拟线路标签空间,并扩充可同时存在的虚拟线路与标签交换路径的最大数目。本发明在虚拟线路的入口设备,在封装一个包时,将虚拟线路包报头的生存时间字段设定为一特殊值。而在多协议标签交换的出口设备,在接收此包后,检查此包的报头的生存时间字段的值是否为此特殊值。若是,则此包为虚拟线路包且属于此特殊值的标签空间。本发明的从多协议标签交换包中区分出虚拟线路包的方法,可以使得内部报头与外部报头的标签字段的值隶属于分开而且独立的标签空间,而扩充了可同时存在的虚拟线路与标签交换路径的最大数目。文档编号H04L12/56GK101150499SQ20061015400公开日2008年3月26日申请日期2006年9月19日优先权日2006年9月19日发明者侯廷昭,徐伟伦,蔡奋燊申请人:财团法人工业技术研究院