本申請涉及網(wǎng)絡通信技術領域,特別涉及一種MPLS網(wǎng)絡中的報文處理方法及標簽交換路由器。
背景技術:MPLS(MultiprotocolLabelSwitching,多協(xié)議標簽交換)是一種用于快速數(shù)據(jù)包交換和路由的體系,它為網(wǎng)絡數(shù)據(jù)流量提供了目標、路由、轉發(fā)和交換等能力。更特殊的是,它具有管理各種不同形式通信流的機制。MPLS獨立于第二和第三層協(xié)議,它提供了一種方式,將IP地址等映射為簡單的具有固定長度的標簽,用于不同的包轉發(fā)和包交換技術。當MPLS(MultiprotocolLabelSwitching,多協(xié)議標簽交換)網(wǎng)絡中的鏈路不可用時,例如,鏈路故障或LSR(LabelSwitchingRouter,標簽交換路由器)故障,需要通過故障鏈路或故障LSR的傳送才能到達目的地的MPLS報文將會丟棄,MPLS數(shù)據(jù)流的轉發(fā)將會中斷,直到LDP(LabelDistributionProtocol,標簽分發(fā)協(xié)議)沿著新的路徑建立了新的LDPLSP(LabelSwitchedPath,標簽交換路徑),被中斷的MPLS數(shù)據(jù)流才能恢復正常的傳送。LDP快速重路由(FastReroute,F(xiàn)RR)功能可以用來盡可能地縮短網(wǎng)絡故障導致的MPLS數(shù)據(jù)流的中斷時間。例如,在如圖1所示的MPLS網(wǎng)絡中,LSRA、LSRB和LSRC上都配置了LDPFRR功能。LSRA、LSRB和LSRC之間運行路由協(xié)議,互相學習鄰居LSR的環(huán)回口地址,建立LDP鄰居。然后,LSRB將本設備的環(huán)回口地址2.2.2.2/32及其標簽信息發(fā)送給LSRA和LSRC。LSRA收到后,在本地的路由信息中查找到2.2.2.2/32路由,且下一跳是LSRB,于是形成到2.2.2.2/32的LSP,即,LSRA→LSRB。LSRA形成了目的地址為2.2.2.2/32的LSP后,將2.2.2.2/32及LSRA為2.2.2.2/32分配的標簽信息發(fā)送給LSRC。此時,LSRA使能LDPFRR后,LSRA上的2.2.2.2/32路由會形成主備路由,主路由的下一跳為LSRB,備路由的下一跳為LSRC,主路由對應的LSP(稱為主LSP,即LSRA→LSRB)已經形成,根據(jù)備路由及其下一跳(即LSRC)發(fā)來的標簽信息即可形成備份LSP,即LSRA→LSRC→LSRB。同樣,LSRC收到后,在本地的路由信息中查找到2.2.2.2/32的路由,且下一跳是LSRB,于是形成到2.2.2.2/32的LSP,即,LSRC→LSRB。LSRC形成了目的地址為2.2.2.2/32的LSP后,將2.2.2.2/32及LSRC為2.2.2.2/32分配的標簽信息發(fā)送給LSRA。此時,LSRC使能LDPFRR后,LSRC上的2.2.2.2/32路由會形成主備路由,主路由的下一跳為LSRB,備路由的下一跳為LSRA,主路由對應的LSP(稱為主LSP,即LSRC→LSRB)已經形成,根據(jù)備路由及其下一跳(即LSRA)發(fā)來的標簽信息即可形成備份LSP,即LSRC→LSRA→LSRB。從而,通過上述過程,形成了LSRA到LSRB之間的主備LSP,主LSP為LSRA→LSRB,備LSP為LSRA→LSRC→LSRB;形成了LSRC到LSRB之間的主備LSP,主LSP為LSRC→LSRB,備LSP為LSRC→LSRA→LSRB。由于LSRA到LSRB的備LSP以及LSRC到LSRB的備LSP都會經過LSRA與LSRC之間的鏈路,這樣,當LSRB故障或重啟后,LSRA和LSRC都會檢測到該故障,從而都會將數(shù)據(jù)流切換到備LSP。LSRA通過備LSP將數(shù)據(jù)流轉發(fā)給LSRC,而LSRC又通過備LSP將收到的數(shù)據(jù)流再轉發(fā)給LSRA。這樣,在LSRA與LSRC之間就形成了轉發(fā)環(huán)路。
技術實現(xiàn)要素:本申請?zhí)峁┝艘环NMPLS網(wǎng)絡中的報文處理方法及標簽交換路由器,以解決現(xiàn)有技術中存在的轉發(fā)環(huán)路問題。本申請的技術方案如下:一方面,提供了一種MPLS網(wǎng)絡中的報文處理方法,該方法包括:LSR獲取本設備直連的鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;在接收到MPLS報文后,根據(jù)該MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到MPLS報文對應的源LSRID;判斷查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同;若與下一跳LSR的LSRID相同,則在該MPLS報文是只需進行交換標簽操作的報文時,丟棄該MPLS報文。另一方面,還提供了一種MPLS網(wǎng)絡中的報文處理方法,該方法包括:LSR獲取本設備直連的鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;在接收到攜帶有與本設備的跟蹤標簽相同的MPLS報文后,根據(jù)接收的MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找接收的MPLS報文對應的源LSRID,其中,本設備的跟蹤標簽為本設備預先發(fā)送給鄰居LSR的;判斷查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同,若與下一跳LSR的LSRID相同,則丟棄該MPLS報文。又一方面,還提供了一種MPLS網(wǎng)絡中的LSR,包括:獲取模塊,用于獲取本設備直連的鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;接收模塊,用于接收MPLS報文;查找模塊,用于在接收模塊接收到MPLS報文后,根據(jù)該MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到MPLS報文對應的源LSRID;判斷模塊,用于判斷查找模塊查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同;丟棄模塊,用于若判斷模塊的判斷結果是與下一跳LSR的LSRID相同,則在該MPLS報文是只需進行交換標簽操作的報文時,丟棄該MPLS報文。又一方面,還提供了一種MPLS網(wǎng)絡中的LSR,包括:獲取模塊,用于獲取本設備直連的鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;接收模塊,用于接收MPLS報文;查找模塊,用于在接收模塊接收到攜帶有與本設備的跟蹤標簽相同的MPLS報文后,根據(jù)接收的MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找接收的MPLS報文對應的源LSRID,其中,本設備的跟蹤標簽為本設備預先發(fā)送給鄰居LSR的;判斷模塊,用于判斷查找模塊查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同;丟棄模塊,用于若判斷模塊的判斷結果是與下一跳LSR的LSRID相同,則丟棄該MPLS報文。通過本申請的上述技術方案,MPLS網(wǎng)絡中的LSR預先獲取鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中,在接收到MPLS報文后,就可以根據(jù)該MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID,即查找到發(fā)送該MPLS報文給本LSR的上一跳LSR,然后,判斷該上一跳LSR與該MPLS報文要轉發(fā)到的下一跳LSR是否相同,若相同,則在該MPLS報文是只需進行交換標簽操作的報文時,說明出現(xiàn)了轉發(fā)環(huán)路,丟棄該MPLS報文,從而實現(xiàn)了轉發(fā)環(huán)路的阻斷。附圖說明圖1是一種MPLS網(wǎng)絡的實際組網(wǎng)示意圖;圖2是本申請的實施例一的MPLS網(wǎng)絡中的報文處理方法的流程圖;圖3是本申請的實施例三的標簽映射消息中的新定義的FEC封裝的格式示意圖;圖4是本申請的實施例三的轉發(fā)環(huán)路信息的格式示意圖;圖5是本申請的實施例五的MPLS網(wǎng)絡中的LSR的一種格式示意圖;圖6是本申請的實施例五的MPLS網(wǎng)絡中的LSR的另一種格式示意圖。具體實施方式為了解決現(xiàn)有技術中存在的轉發(fā)環(huán)路問題,以下實施例中提供了一種MPLS網(wǎng)絡中的報文處理方法,以及一種可以使用該方法的LSR。以下實施例的MPLS網(wǎng)絡中包括:多個LSR。本申請實施例中的LSR指的是一個實際的LSR設備或一個虛擬的LSR,擁有獨立的LSRID。實施例一本申請的實施例一的MPLS網(wǎng)絡中的報文處理方法可以由任意一個LSR來執(zhí)行。如圖2所示,該方法包括以下步驟:步驟S202,獲取本設備直連的鄰居LSR的MAC(MediaAccessControl,媒體訪問控制)地址、該鄰居LSR的LSRID(標識)與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;在實際實施過程中,可以先在控制層面將本設備上連接鄰居LSR的接口、該鄰居LSR的MAC地址與該鄰居LSR的LSRID關聯(lián)起來,然后將該關聯(lián)關系配置到轉發(fā)層面用于指導報文轉發(fā)。具體的,在控制層面:當MPLS網(wǎng)絡采用了LDP(LabelDistributionProtocol,標簽分發(fā)協(xié)議)時,運行了LDP協(xié)議的LSR之間會交互LinkHello(鏈路握手)報文,可以利用LinkHello報文來獲取步驟S202中的對應關系。LSR執(zhí)行的步驟包括:步驟11:與鄰居LSR交互LinkHello報文;即,向鄰居LSR發(fā)送LinkHello報文,并且,接收鄰居LSR發(fā)來的LinkHello報文。步驟12:從接收到的鄰居LSR發(fā)來的LinkHello報文中獲取到鄰居LSR的IP(InternetProtocol,因特網(wǎng)協(xié)議)地址和LSRID;其中,鄰居LSR發(fā)來的LinkHello報文的源IP地址即為該鄰居LSR的IP地址。步驟13:根據(jù)獲取的鄰居LSR的IP地址,查找到鄰居LSR的MAC地址;由于LSR已經通過ARP(AddressResolutionProtocol,地址解析協(xié)議)學習,學習到了網(wǎng)絡中各個設備的IP地址和MAC地址的對應關系并保存在ARP表中,因此,本LSR可以根據(jù)鄰居LSR的IP地址在ARP表中查找到與該IP地址對應的MAC地址,即,該鄰居LSR的MAC地址。步驟14:將查找到的鄰居LSR的MAC地址、該鄰居LSR的LSRID與LinkHello報文的入接口之間的對應關系添加到鄰居設備映射表中,如表1所示。表1MAC地址接口LSRID1-1-1Intf13.3.3.31-1-2Intf33.3.3.32-2-2Intf22.2.2.2當MPLS網(wǎng)絡采用了RSVP(ResourceReservationProtocol,資源預留協(xié)議)TE(流量工程)時,運行了RSVPTE的LSR之間會交互特定報文,可以利用特定報文來獲取步驟S202中的對應關系,其中,特定報文是RSVPPath(路徑)報文或者Hello報文。LSR執(zhí)行的步驟包括:步驟21:與鄰居LSR交互特定報文;步驟22:從接收到的鄰居LSR發(fā)來的特定報文中獲取到鄰居LSR的IP地址和LSRID;步驟23:根據(jù)獲取的鄰居LSR的IP地址,查找到鄰居LSR的MAC地址;具體的查找過程可以參見上述步驟13,這里不再贅述。步驟24:將查找到的鄰居LSR的MAC地址、該鄰居LSR的LSRID與該報文的入接口之間的對應關系添加到鄰居設備映射表中,如表1所示。經過上述步驟,控制層面在形成LSP之前,即可形成鄰居設備映射表,然后,將鄰居設備映射表中的內容配置到轉發(fā)層面。轉發(fā)層面在按照現(xiàn)有技術形成了到其他LSR的LSP,即,生成了到其他LSR的LSP對應的入標簽映射表項后,在對接收到的MPLS報文進行轉發(fā)的過程中,可以利用鄰居設備映射表來檢測轉發(fā)環(huán)路??梢耘渲肔SR始終檢測轉發(fā)環(huán)路,也可以配置LSR在特定情況下檢測轉發(fā)環(huán)路,例如,在發(fā)生FRR切換后啟動轉發(fā)平面的轉發(fā)環(huán)路檢測。步驟S204,在接收到MPLS報文后,根據(jù)該MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID;可以根據(jù)該MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID,即,查找到的源LSRID所指示的LSR即為發(fā)送該MPLS報文給本LSR的上一跳LSR。步驟S206,判斷查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同,若是,則執(zhí)行步驟S208,否則,執(zhí)行步驟S210;即,判斷發(fā)送該MPLS報文給本LSR的上一跳LSR與本LSR要將該MPLS報文轉發(fā)到的下一跳LSR是否是同一個LSR。步驟S208,在該MPLS報文是只需進行交換標簽操作的報文時,丟棄該MPLS報文;也就是說,如果發(fā)送該MPLS報文給本LSR的上一跳LSR與本LSR要將該MPLS報文轉發(fā)到的下一跳LSR是同一個LSR,則說明本LSR將要把從一個鄰居LSR(即發(fā)送該MPLS報文給本LSR的上一跳LSR)接收的MPLS報文再次轉發(fā)給該鄰居LSR(即本LSR要將該MPLS報文轉發(fā)到的下一跳LSR),檢測到了轉發(fā)環(huán)路。為了阻斷該轉發(fā)環(huán)路,需要將該MPLS報文丟棄,即,不會將該MPLS再次轉發(fā)給發(fā)來該MPLS報文的鄰居LSR。步驟S210,將該MPLS報文按照現(xiàn)有技術進行轉發(fā)。在實際實施過程中,在步驟S206-S208中,根據(jù)接收的MPLS報文中攜帶的標簽,在入標簽映射表中查找到匹配表項,如果該匹配表項中的操作為交換(SWAP),且根據(jù)該匹配表項中的轉發(fā)信息無需再對該MPLS報文進行其他標簽處理操作,例如,壓標簽操作或彈出標簽操作,則該MPLS報文就是只需進行交換標簽操作的報文;在該匹配表項的轉發(fā)信息中包含有該MPLS報文需要轉發(fā)到的下一跳的LSRID。需要注意的是:如表2所示,當匹配表項是存在主備的轉發(fā)表項(即該匹配表項對應于兩個LSR之間的主LSP和備LSP)時,在步驟S206中是將查找到的源LSRID與該匹配表項中生效的轉發(fā)信息中的下一跳的LSRID進行比較。表2在表2中,m表示為主用,b表示為備用,u表示生效。下一跳的信息中可以包括:下一跳的LSRID和MAC地址等。本申請實施例一的技術方案中,MPLS網(wǎng)絡中的LSR預先獲取鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中,在接收到MPLS報文后,就可以根據(jù)該MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID,即查找到發(fā)送該MPLS報文給本LSR的上一跳LSR,然后,判斷該上一跳LSR與該MPLS報文要轉發(fā)到的下一跳LSR是否相同,若相同,則在該MPLS報文是只需進行交換標簽操作的報文時,說明出現(xiàn)了轉發(fā)環(huán)路,丟棄該MPLS報文,從而實現(xiàn)了轉發(fā)環(huán)路的阻斷。實施例二以圖1所示的MPLS網(wǎng)絡中的LSRC為例,詳細說明上述實施例一的方法。在圖1中,LSRA的LSRID為1.1.1.1,連接LSRC的接口對應的MAC地址為1-1-1;LSRB的LSRID為2.2.2.2,連接LSRC的接口對應的MAC地址為2-2-2;LSRC的LSRID為3.3.3.3,連接LSRA的接口為Intf1、對應的MAC地址為3-3-3,連接LSRB的接口為intf2、對應的MAC地址為3-3-4。LSRC按照上述步驟S202形成的鄰居設備映射表如表3所示:表3MAC地址接口LSRID1-1-1Intf11.1.1.12-2-2Intf22.2.2.2LSRA、LSRB和LSRC使能LDPFRR后,按照現(xiàn)有技術,LSRA到LSRB形成主備LSP:主LSP為LSRA→LSRB,備LSP為LSRA→LSRC→LSRB。LSRC到LSRB形成主備LSP:主LSP為LSRC→LSRB,備LSP為LSRC→LSRA→LSRB。從而,LSRA上生成的入標簽映射表如表4-1所示,LSRB上生成的入標簽映射表如表4-2所示,LSRC上生成的入標簽映射表如表4-3所示。表4-1表4-2入標簽操作出標簽轉發(fā)信息標志位1000POP///表4-3其中,m表示為主用,b表示為備用,u表示生效。在LSRB故障后,LSRA和LSRC都會檢測到該故障,從而進行FRR切換,切換到備LSP。從而,表4-1會更新為表5-1,表4-3會更新為表5-3:表5-1表5-3LSRA將數(shù)據(jù)流切換到備LSP:LSRA→LSRC→LSRB,按照表5-1中生效的轉發(fā)信息和交換標簽將數(shù)據(jù)封裝成MPLS報文,其中,該MPLS報文的源MAC為1-1-1,目的MAC為3-3-3,標簽為1200。然后,將該MPLS報文發(fā)送出去。LSRC通過接口Intf1收到該MPLS報文之后,根據(jù)該MPLS報文的源MAC1-1-1和入接口Intf1,在表3中查找到對應的LSRID1.1.1.1,即,確定出發(fā)送該MPLS報文到本LSR的上一跳LSR為LSRA;然后,根據(jù)該MPLS報文的標簽1200,在如表5-3所示的入標簽映射表中查找到匹配表項,該匹配表項中生效的轉發(fā)信息中的下一跳為LSRA,LSRA的LSRID為1.1.1.1,比較查找到的LSRID與該下一跳LSR的LSRID,比較結果為兩者相同,則在對該MPLS進行標簽處理時只需對該MPLS報文進行交換標簽操作(匹配表項中的操作為SWAP)時,丟棄該MPLS報文。實施例三在實施例一中,對于只需進行交換標簽操作的MPLS報文,在檢測到轉發(fā)環(huán)路后,就直接進行丟棄。然而,對于需要彈出標簽或壓標簽的MPLS報文,則無法簡單地在判斷出發(fā)送MPLS報文給本LSR的上一跳LSR與該MPLS報文要轉發(fā)到的下一跳LSR相同時,即認為是轉發(fā)環(huán)路。因為在一些情況下,例如,LSRA→LSRB→LSRA的情況是正常的。如圖1所示,在TEFRR的情況下,LSRA到LSRB的主LSP為LSRA→LSRC→LSRB,在LSRA和LSRC上使能TEFRR功能。為了保護LSRC→LSRB的備份LSP為LSRC→LSRA→LSRB。LSRC上的入標簽映射表如表6所示:表6在表6中,T表示需要走隧道,有壓標簽操作。m表示為主用,b表示為FRR備用,u表示生效。在LSRC與LSRB之間的鏈路故障之后,LSRC會將數(shù)據(jù)流切換到備份LSP:LSRC→LSRA→LSRB,即,LSRC在接收到LSRA發(fā)來的數(shù)據(jù)流之后,會通過LSRC→LSRA→LSRB,將該數(shù)據(jù)流最終發(fā)送到LSRB。此時LSRA到LSRB的路徑為LSRA→LSRC→LSRA→LSRB,即,LSRA→LSRC→LSRA是正常的。為了檢測到此種情況下的轉發(fā)環(huán)路,本申請?zhí)峁┝吮緦嵤├姆椒?。為了描述方便,本實施例三中,以任意兩個相鄰的LSR:第一LSR和第二LSR來進行說明。本實施例中,在每一個LSR上部署LDP或RSVPTE,LDP模塊或RSVPTE模塊會向標簽管理模塊(LSR上用于管理標簽的模塊)申請一個特定的標簽,稱為跟蹤標簽,從而,每一個LSR具有一個跟蹤標簽并發(fā)送給鄰居LSR。本實施例三的方法包括以下步驟:步驟S302,第一LSR獲取鄰居LSR的跟蹤標簽;其中,步驟S302中,獲取鄰居LSR的跟蹤標簽的方法包括步驟31-32:步驟31:與鄰居LSR交互標簽映射消息;在實際過程中,在控制層面上,LDP或RSVPTE將本LSR的跟蹤標簽通過標簽映射消息發(fā)布給鄰居LSR,在協(xié)議交互時,鄰居之間會通過標簽映射消息相互同步跟蹤標簽。從而,在LSP生成之前,LSR會學習到鄰居LSR的跟蹤標簽。本實施例在現(xiàn)有技術的標簽映射消息中定義了一個新的FEC(ForwardingEquivalenceClass,轉發(fā)等價類)封裝,該FEC封裝的格式可以參見圖3。在本實施例的標簽映射消息中攜帶有本LSR的跟蹤標簽的值,并且,通過該FEC封裝來說明該值。下面對該FEC封裝中的主要字段進行解釋。Trace-label(跟蹤標簽):表示本FEC封裝對應的值是跟蹤標簽。Action(動作):表示發(fā)現(xiàn)轉發(fā)環(huán)路后的處理動作,例如,在默認情況下,在發(fā)現(xiàn)轉發(fā)環(huán)路時,停止轉發(fā),即丟棄報文,或者,在發(fā)現(xiàn)轉發(fā)環(huán)路時發(fā)出告警信息,或者,上送管理服務器等。Label-Pro(標簽屬性):表示跟蹤標簽對應的屬性值。步驟32:從接收到的鄰居LSR發(fā)來的標簽映射消息中獲取到鄰居LSR的跟蹤標簽。在實際實施過程中,可以通過鄰居設備跟蹤標簽表記錄獲取到的鄰居LSR的跟蹤標簽,如表7所示:表7LSRID跟蹤標簽1.1.1.111112.2.2.22222步驟S304,第一LSR獲取鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;具體的獲取方法,可以參見實施例一中的步驟S102,這里不再贅述。步驟S306,第一LSR在接收到MPLS報文后,根據(jù)接收的MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID;步驟S308,判斷查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同,若相同,則執(zhí)行步驟S310,否則,執(zhí)行步驟S312;步驟S310:在該MPLS報文是需要進行壓標簽操作或彈出標簽操作的報文時,將查找到的源LSRID所指示的鄰居LSR的跟蹤標簽攜帶在該MPLS報文中轉發(fā)出去;步驟S308-S310中,根據(jù)接收到的MPLS報文攜帶的標簽,在入標簽映射表中查找到匹配表項,如果該匹配表項中的操作為壓(PUSH),則該MPLS報文就是需要進行壓標簽操作的報文;或者,如果該匹配表項中的操作為彈出(POP),則該MPLS報文就是需要進行彈出標簽操作的報文;或者,如果該匹配表項中的操作為交換(SWAP),且根據(jù)該匹配表項中的轉發(fā)信息還需要再對該MPLS報文進行壓標簽操作,則該MPLS報文就是需要進行壓標簽操作的報文;或者,如果該匹配表項中的操作為交換(SWAP),且根據(jù)該匹配表項中的轉發(fā)信息還需要再對該MPLS報文進行彈出標簽操作,則該MPLS報文就是需要進行彈出標簽操作的報文。另外,在該匹配表項的轉發(fā)信息中包含有該MPLS報文需要轉發(fā)到的下一跳的LSRID。需要注意的是:當匹配表項是存在主備的轉發(fā)表項(即該匹配表項對應于兩個LSR之間的主LSP和備LSP)時,在步驟S308中是將查找到的源LSRID與該匹配表項中生效的轉發(fā)信息中的下一跳的LSRID進行比較。在實際實施步驟S310時,根據(jù)查找到的源LSRID,在如表7所示的鄰居設備跟蹤標簽表中查找到對應的跟蹤標簽,然后,在對該MPLS報文進行轉發(fā)時,可以將查找到的跟蹤標簽封裝為最外層標簽,然后轉發(fā)出去。假設,查找到的源LSRID所指示的鄰居LSR是第二LSR,則,第一LSR在接收到第二LSR發(fā)來的MPLS報文后,會再次將該MPLS報文轉發(fā)給第二LSR,并且,轉發(fā)的MPLS報文中攜帶有第二LSR的跟蹤標簽。步驟S312,按照現(xiàn)有技術對該MPLS報文進行轉發(fā)。第二LSR執(zhí)行的操作包括:步驟S402,第二LSR獲取鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;具體的獲取方法,可以參見實施例一中的步驟S102,這里不再贅述。步驟S404,第二LSR在接收到第一LSR發(fā)來的攜帶有跟蹤標簽的MPLS報文后,判斷該MPLS報文中攜帶的跟蹤標簽是否與本設備的跟蹤標簽相同,若相同,則執(zhí)行步驟S406,否則,由于在跟蹤標簽不是本設備的跟蹤標簽時,第二LSR不識別該跟蹤標簽,會將該跟蹤標簽作為普通的標簽處理;步驟S406,根據(jù)接收的MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID,執(zhí)行步驟S408;此時,查找到的源LSRID所指示的鄰居LSR即為第一LSR。步驟S408,判斷查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同,若相同,則執(zhí)行步驟S410,否則,執(zhí)行步驟S412;若相同,則說明MPLS報文的轉發(fā)路徑為:第二LSR→第一LSR→第二LSR→第一LSR,此時,確定檢測到了轉發(fā)環(huán)路。步驟S410,丟棄該MPLS報文,同時,向查找到的源LSRID所指示的鄰居LSR(即第一LSR)發(fā)送轉發(fā)環(huán)路信息,用于指示第一LSR停止轉發(fā)與在步驟S404中接收的MPLS報文具有相同屬性的MPLS報文,其中,該轉發(fā)環(huán)路信息中包含有:在步驟S404中接收的MPLS報文中攜帶的多個標簽,這多個標簽中包括:跟蹤標簽和轉發(fā)標簽,其中,轉發(fā)標簽即為現(xiàn)有技術中用于轉發(fā)MPLS報文所需的標簽,例如,入標簽、出標簽。在實際實施過程中,在轉發(fā)層面檢測到轉發(fā)環(huán)路時,即,在步驟S408中判斷出相同,可以通知協(xié)議層面,由協(xié)議層面向第一LSR發(fā)送轉發(fā)環(huán)路信息,來指示第一LSR停止轉發(fā),即將環(huán)路提前終止??梢詫⒃撧D發(fā)環(huán)路信息攜帶在LDPNotification(通告)報文或RSVPPATHERROR(錯誤)報文中發(fā)送給第一LSR。具體的,轉發(fā)環(huán)路信息可以是一個TLV(TypeLengthValue,類型長度值)格式,如圖4所示,下面對轉發(fā)環(huán)路信息中的主要字段進行解釋。Label-Loop(標簽環(huán)):表示本TLV是轉發(fā)環(huán)路信息;Label-Stack(標簽棧):用于攜帶多個標簽。步驟S412,彈出跟蹤標簽,按照現(xiàn)有技術對該MPLS報文進行轉發(fā)。在步驟S408-S410中,彈出該MPLS報文中的跟蹤標簽,之后根據(jù)接收到的MPLS報文攜帶的標簽,在入標簽映射表中查找到匹配表項,在該匹配表項的轉發(fā)信息中包含有該MPLS報文需要轉發(fā)到的下一跳的LSRID。需要注意的是:當匹配表項是存在主備的轉發(fā)表項(即該匹配表項對應于兩個LSR之間的主LSP和備LSP)時,在步驟S408中是將查找到的源LSRID與該匹配表項中生效的轉發(fā)信息中的下一跳的LSRID進行比較。之后,第一LSR收到第二LSR發(fā)來的轉發(fā)環(huán)路信息之后,會根據(jù)該轉發(fā)環(huán)路信息中包含的轉發(fā)標簽,在入標簽映射表中查找到對應的表項,禁止查找到的表項轉發(fā)MPLS報文,即,停止該表項的轉發(fā)功能。具體的,通過刪除該表項來停止該表項的轉發(fā)功能,或者,通過設置標志位來停止該表項的轉發(fā)功能。實施例四以圖1所示的MPLS網(wǎng)絡為例,來詳細說明上述實施例三中的方法。在TEFRR情況下,在LSRA和LSRC上使能TEFRR功能。LSRA的LSRID為1.1.1.1,跟蹤標簽為5555;LSRB的LSRID為2.2.2.2;LSRC的LSRID為3.3.3.3。LSRA到LSRB的主LSP為LSRA→LSRC→LSRB。LSRC上會按照現(xiàn)有技術產生主LSP中LSRC→LSRB的備份LSP,路徑為LSRC→LSRA→LSRB。這里簡單說明備份LSP的形成過程:LSRC作為主LSP的傳輸節(jié)點,主LSP在LSRC上從LSRC連接LSRB的接口出去,則LSRC需要為此主LSP形成FRR保護,這里以鏈路保護為例。LSRC會創(chuàng)建目的地址為下一跳的LSRID的隧道(可以手工指定路徑,也可以自動計算路徑,假設這里為自動計算),從而LSRC上會計算出LSRC→LSRA→LSRB這條路徑,然后通過現(xiàn)有的RSVP協(xié)議產生這條路徑對應的備份LSP。LSRA上形成的主LSP對應的Ingress(入隧道)表項如表8-1所示:表8-1備份LSP在LSRA上形成的入標簽映射表項如表8-2所示:表8-2入標簽操作出標簽轉發(fā)信息標志位9449SWAP1234FGE0/1/2;1.2.0.2uLSRB上形成的入標簽映射表項如表8-3所示:表8-3入標簽操作出標簽轉發(fā)信息標志位1222POP//NA1234POP//NALSRC上形成的入標簽映射表項如表8-4所示:表8-4LSRC上隧道ID為268435457的Ingress表項如表8-5所示:表8-5正常情況下,數(shù)據(jù)流從LSRA轉發(fā)到LSRC,LSRC再轉發(fā)到LSRB。當LSRC與LSRB之間的鏈路故障之后,LSRC將使用備份LSP,會將如表8-4所示的表項更新為如表9-1所示:表9-1LSRC在接收到LSRA發(fā)來的MPLS報文后,發(fā)現(xiàn)需要再次將該MPLS報文轉發(fā)到LSRA,且在轉發(fā)該MPLS報文時需要對該MPLS報文進行壓標簽操作,則在轉發(fā)該MPLS報文時,除按原有技術將該MPLS報文中的標簽由1149交換為1222,并且,再壓入標簽9449以外,還需要增加LSRA的跟蹤標簽5555。此時,攜帶有跟蹤標簽的MPLS報文的封裝格式如表9-2所示:表9-2LSRA收到格式如表9-2所示的MPLS報文后,檢測到該報文來源于LSRC,且攜帶的跟蹤標簽是本LSR的跟蹤標簽,則檢測該報文要轉發(fā)到的下一跳的LSRID,若發(fā)現(xiàn)下一跳是LSRC,即,下一跳與來源LSR相同,則認為檢測到了轉發(fā)環(huán)路。本例子中,下一跳為LSRB,與來源LSRC不同,則認為沒有產生轉發(fā)環(huán)路,將報文按表項轉發(fā)到LSRB。實施例五針對上述實施例一中的方法,本實施例中提供了一種MPLS網(wǎng)絡中的LSR。如圖5所示,該LSR中包括以下模塊:獲取模塊101、接收模塊102、查找模塊103、判斷模塊104和丟棄模塊105,其中,獲取模塊101,用于獲取本設備直連的鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;接收模塊102,用于接收MPLS報文;查找模塊103,用于在接收模塊102接收到MPLS報文后,根據(jù)該MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID;判斷模塊104,用于判斷查找模塊103查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同;丟棄模塊105,用于若判斷模塊104的判斷結果是與下一跳LSR的LSRID相同,則在該MPLS報文是只需進行交換標簽操作的報文時,丟棄該MPLS報文。其中,當MPLS網(wǎng)絡采用了LDP時,獲取模塊中包括:交互單元、獲取單元、MAC查找單元和添加單元,其中,交互單元,用于與鄰居LSR交互LinkHello報文;獲取單元,用于從交互單元接收到的鄰居LSR發(fā)來的LinkHello報文中獲取到鄰居LSR的IP地址和LSRID;MAC查找單元,用于根據(jù)獲取單元獲取的鄰居LSR的IP地址,查找到鄰居LSR的MAC地址;添加單元,用于將MAC查找單元查找到的鄰居LSR的MAC地址、獲取單元獲取的該鄰居LSR的LSRID與LinkHello報文的入接口之間的對應關系添加到鄰居設備映射表中?;蛘?,當MPLS網(wǎng)絡采用了RSVPTE時,獲取模塊中包括:交互單元、獲取單元、MAC查找單元和添加單元,其中,交互單元,用于與鄰居LSR交互特定報文,其中,特定報文是RSVPPath報文或者Hello報文;獲取單元,用于從交互單元接收到的鄰居LSR發(fā)來的特定報文中獲取到鄰居LSR的IP地址和LSRID;MAC查找單元,用于根據(jù)獲取單元獲取的鄰居LSR的IP地址,查找到鄰居LSR的MAC地址;添加單元,用于將MAC查找單元查找到的鄰居LSR的MAC地址、獲取單元獲取的該鄰居LSR的LSRID與該報文的入接口之間的對應關系添加到鄰居設備映射表中。針對上述實施例三中的方法,本實施例中還提供了一種MPLS網(wǎng)絡中的LSR。如圖6所示,該LSR中包括以下模塊:獲取模塊201、接收模塊202、查找模塊203、判斷模塊204和丟棄模塊205,其中,獲取模塊201,用于獲取本設備直連的鄰居LSR的MAC地址、該鄰居LSR的LSRID與本設備上連接該鄰居LSR的接口之間的對應關系并保存到鄰居設備映射表中;接收模塊202,用于接收MPLS報文;查找模塊203,用于在接收模塊202接收到攜帶有與本設備的跟蹤標簽相同的MPLS報文后,根據(jù)接收的MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找該接收的MPLS報文對應的源LSRID,其中,本設備的跟蹤標簽為本設備預先發(fā)送給鄰居LSR的;判斷模塊204,用于判斷查找模塊203查找到的源LSRID與該MPLS報文要轉發(fā)到的下一跳LSR的LSRID是否相同;丟棄模塊205,用于若判斷模塊204的判斷結果是與下一跳LSR的LSRID相同,則丟棄該MPLS報文。其中,該LSR中還包括:發(fā)送模塊,用于若判斷模塊的判斷結果是與下一跳LSR的LSRID相同,則向查找模塊查找到的源LSRID所指示的鄰居LSR發(fā)送轉發(fā)環(huán)路信息,用于指示該鄰居LSR停止轉發(fā)與接收的MPLS報文具有相同屬性的MPLS報文,其中,轉發(fā)環(huán)路信息中包含有:接收的MPLS報文中攜帶的跟蹤標簽和轉發(fā)標簽。其中,該LSR中還包括:禁止模塊,其中,接收模塊,還用于接收轉發(fā)環(huán)路信息;查找模塊,還用于在接收模塊接收到轉發(fā)環(huán)路信息之后,根據(jù)接收的轉發(fā)環(huán)路信息中包含的轉發(fā)標簽,在入標簽映射表中查找到對應的表項;禁止模塊,用于禁止查找模塊查找到的表項轉發(fā)MPLS報文。另外,獲取模塊,還用于獲取鄰居LSR的跟蹤標簽;查找模塊,還用于在接收模塊接收到MPLS報文后,根據(jù)接收的MPLS報文的源MAC地址和入接口,在鄰居設備映射表中查找到該MPLS報文對應的源LSRID;發(fā)送模塊,還用于若判斷模塊的判斷結果是與下一跳LSR的LSRID相同,則在該MPLS報文是需要進行壓標簽操作或彈出標簽操作的報文時,將查找模塊查找到的源LSRID所指示的鄰居LSR的跟蹤標簽攜帶在該MPLS報文中轉發(fā)出去。其中,獲取模塊中包括:交互單元和跟蹤標簽獲取單元,其中,交互單元,用于與鄰居LSR交互標簽映射消息;跟蹤標簽獲取單元,用于從交互單元接收到的鄰居LSR發(fā)來的標簽映射消息中獲取到鄰居LSR的跟蹤標簽。綜上,本申請以上實施例可以達到以下技術效果:針對FRR和TEFRR的情況,分別提供了一種轉發(fā)環(huán)路的檢測機制,并且能夠終止轉發(fā)環(huán)路。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。