報文處理方法和裝置、建立聚合隧道的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種報文處理方法和裝置以及一種建立聚合隧道的方法和裝置。
【背景技術(shù)】
[0002]在支持組播聚合轉(zhuǎn)發(fā)技術(shù)的網(wǎng)絡(luò)中,多個虛擬專用網(wǎng)絡(luò)(英文:VirtualPrivateNetwork,簡稱VPN)可以使用同一個聚合隧道(英文:Aggregate Tunnel)轉(zhuǎn)發(fā)報文。在多個VPN使用同一個聚合隧道轉(zhuǎn)發(fā)報文的情況下,所述聚合隧道對應(yīng)所述多個VPN,所述多個VPN的報文在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)所經(jīng)過的鏈路共同組成了所述聚合隧道,所述多個VPN的報文在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)所經(jīng)過的轉(zhuǎn)發(fā)節(jié)點(diǎn)可以視為所述聚合隧道的轉(zhuǎn)發(fā)節(jié)點(diǎn)。在所述聚合隧道的建立過程中,所述聚合隧道的每個轉(zhuǎn)發(fā)節(jié)點(diǎn)均配置了所述聚合隧道下各自對應(yīng)的隧道標(biāo)簽。對于所述聚合隧道的一個轉(zhuǎn)發(fā)節(jié)點(diǎn)來說,該轉(zhuǎn)發(fā)節(jié)點(diǎn)根據(jù)相同的隧道標(biāo)簽對所述多個VPN的報文進(jìn)行轉(zhuǎn)發(fā)處理。其中,在所述聚合隧道下該轉(zhuǎn)發(fā)節(jié)點(diǎn)對應(yīng)的隧道標(biāo)簽?zāi)軌蛴成涞皆撧D(zhuǎn)發(fā)節(jié)點(diǎn)上所述多個VPN對應(yīng)的所有轉(zhuǎn)發(fā)鏈路。因此,對于接收到的所述多個VPN的任意一個報文,該轉(zhuǎn)發(fā)節(jié)點(diǎn)上所述多個VPN對應(yīng)的所有轉(zhuǎn)發(fā)鏈路上都將轉(zhuǎn)發(fā)該報文。可見,對于整個聚合隧道來說,在使用同一聚合隧道轉(zhuǎn)發(fā)報文的多個VPN中,VPN的報文不僅被轉(zhuǎn)發(fā)到該VPN自身對應(yīng)的目的節(jié)點(diǎn),而且也被轉(zhuǎn)發(fā)到其他VPN對應(yīng)的目的節(jié)點(diǎn)(英文:Egress Node)??梢?,聚合隧道中的許多鏈路被用于轉(zhuǎn)發(fā)大量無用的報文,從而導(dǎo)致了網(wǎng)絡(luò)中流量資源的浪費(fèi)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例所要解決的技術(shù)問題是,提供一種報文處理方法和裝置以及一種建立聚合隧道的方法和裝置,以避免VPN的報文通過聚合隧道被轉(zhuǎn)發(fā)到其他VPN的目的節(jié)點(diǎn),從而避免聚合隧道中的鏈路被用于轉(zhuǎn)發(fā)無用的報文,節(jié)約網(wǎng)絡(luò)中的流量資源。
[0004]第一方面,本發(fā)明實施例提供了一種報文處理方法。該方法包括:
[0005]第一轉(zhuǎn)發(fā)節(jié)點(diǎn)接收目標(biāo)報文,所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)屬于聚合隧道的轉(zhuǎn)發(fā)節(jié)點(diǎn);
[0006]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)識別所述目標(biāo)報文歸屬的目標(biāo)虛擬專用網(wǎng)絡(luò)VPN,所述目標(biāo)VPN屬于使用所述聚合隧道轉(zhuǎn)發(fā)報文的VPN;
[0007]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)查找所述目標(biāo)VPN在所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)上的子樹信息,所述子樹信息記錄有所述目標(biāo)VPN與第二轉(zhuǎn)發(fā)節(jié)點(diǎn)之間的映射關(guān)系,所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)為在所述目標(biāo)VPN對應(yīng)的轉(zhuǎn)發(fā)鏈路上所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)之后的下一個節(jié)點(diǎn);
[0008]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)根據(jù)查找到的子樹信息,在所述目標(biāo)報文中封裝第一隧道標(biāo)簽和所述目標(biāo)VPN的VPN標(biāo)簽,并向所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)封裝有所述隧道標(biāo)簽和所述VPN標(biāo)簽的目標(biāo)報文;
[0009]所述第一隧道標(biāo)簽為所述聚合隧道下所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)對應(yīng)的隧道標(biāo)簽;所述第一隧道標(biāo)簽是所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)分配給所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)的;所述第一隧道標(biāo)簽攜帶有語義標(biāo)記;所述語義標(biāo)記,用于指示所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)在所述目標(biāo)報文中讀取到所述第一隧道標(biāo)簽時讀取所述目標(biāo)報文的所述VPN標(biāo)簽;所述VPN標(biāo)簽,用于指示所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)識別出所述目標(biāo)報文歸屬的所述目標(biāo)VPN。
[0010]可選的,所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)為所述目標(biāo)VPN對應(yīng)的源節(jié)點(diǎn);
[0011 ]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)識別所述目標(biāo)報文歸屬的目標(biāo)虛擬專用網(wǎng)絡(luò)VPN,具體為:所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)根據(jù)所述目標(biāo)報文中的入接口或封裝信息,確定所述目標(biāo)報文歸屬的目標(biāo)VPN0
[0012]可選的,所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)為所述目標(biāo)VPN對應(yīng)的中間節(jié)點(diǎn);
[0013]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)識別所述目標(biāo)報文歸屬的目標(biāo)虛擬專用網(wǎng)絡(luò)VPN,包括:
[0014]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)讀取所述目標(biāo)報文中封裝的第二隧道標(biāo)簽,所述第二隧道標(biāo)簽為在所述聚合隧道下所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)對應(yīng)的隧道標(biāo)簽,所述第二隧道標(biāo)簽攜帶有所述語義標(biāo)記;
[0015]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)響應(yīng)于識別到所述第二隧道標(biāo)簽攜帶的所述語義標(biāo)記,讀取所述目標(biāo)報文中所述第二隧道標(biāo)簽的下一層標(biāo)簽,得到所述VPN標(biāo)簽;
[0016]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)根據(jù)所述VPN標(biāo)簽與所述目標(biāo)VPN之間的映射關(guān)系,確定所述VPN標(biāo)簽歸屬的所述目標(biāo)VPN。
[0017]可選的,所述方法還包括:
[0018]第一轉(zhuǎn)發(fā)節(jié)點(diǎn)從所述目標(biāo)報文中彈出所述第二隧道標(biāo)簽。
[0019]可選的,所述方法還包括:
[0020]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)接收網(wǎng)絡(luò)設(shè)備下發(fā)的所述第二隧道標(biāo)簽、所述語義標(biāo)記、所述VPN標(biāo)簽和所述子樹信息。
[0021]可選的,所述網(wǎng)絡(luò)設(shè)備為控制節(jié)點(diǎn),所述第一隧道標(biāo)簽通過開放流OpenFlow通道下發(fā),所述語義標(biāo)記通過OpenFlow通道下發(fā),所述VPN標(biāo)簽通過OpenFlow通道或邊界網(wǎng)關(guān)協(xié)議BGP通道下發(fā),所述子樹信息通過OpenFl ow通道下發(fā)。
[0022]可選的,所述聚合隧道位于虛擬接入系統(tǒng),所述虛擬接入系統(tǒng)中所有的轉(zhuǎn)發(fā)節(jié)點(diǎn)均為接入節(jié)點(diǎn)。
[0023]第二方面,本發(fā)明實施例提供了一種建立聚合隧道的方法。該方法包括:
[0024]網(wǎng)絡(luò)設(shè)備為所述聚合隧道的轉(zhuǎn)發(fā)節(jié)點(diǎn)分配在所述聚合隧道下所述轉(zhuǎn)發(fā)節(jié)點(diǎn)對應(yīng)的隧道標(biāo)簽,并向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述隧道標(biāo)簽;
[0025]所述網(wǎng)絡(luò)設(shè)備向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述隧道標(biāo)簽的語義標(biāo)記,以指示所述轉(zhuǎn)發(fā)節(jié)點(diǎn)在所述隧道標(biāo)簽中攜帶所述語義標(biāo)記;
[0026]所述網(wǎng)絡(luò)設(shè)備為目標(biāo)VPN分配VPN標(biāo)簽,并向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述VPN標(biāo)簽;
[0027]所述網(wǎng)絡(luò)設(shè)備確定在所述目標(biāo)VPN對應(yīng)的轉(zhuǎn)發(fā)鏈路上所述轉(zhuǎn)發(fā)節(jié)點(diǎn)之后的下一個節(jié)點(diǎn),生成所述目標(biāo)VPN在所述轉(zhuǎn)發(fā)節(jié)點(diǎn)上的子樹信息,并向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述子樹信息,其中,所述子樹信息記錄有所述目標(biāo)VPN與所述下一個節(jié)點(diǎn)之間的映射關(guān)系;
[0028]所述隧道標(biāo)簽的語義標(biāo)記,用于指示所述轉(zhuǎn)發(fā)節(jié)點(diǎn)在接收到的目標(biāo)報文中讀取到所述隧道標(biāo)簽時讀取所述目標(biāo)報文的所述VPN標(biāo)簽,所述目標(biāo)報文是所述目標(biāo)VPN的報文;所述VPN標(biāo)簽,用于指示所述轉(zhuǎn)發(fā)節(jié)點(diǎn)識別出所述目標(biāo)報文歸屬的所述目標(biāo)VPN;所述子樹信息,用于指示所述轉(zhuǎn)發(fā)節(jié)點(diǎn)向所述下一個節(jié)點(diǎn)轉(zhuǎn)發(fā)所述目標(biāo)報文。
[0029]可選的,所述網(wǎng)絡(luò)設(shè)備為控制節(jié)點(diǎn);[°03°]所述向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述隧道標(biāo)簽,具體為:通過開放流OpenFlow通道向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述隧道標(biāo)簽;
[0031 ]所述向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述隧道標(biāo)簽的語義標(biāo)記,具體為:通過OpenFl ow通道向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述語義標(biāo)記;
[OO32 ]所述向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述VPN標(biāo)簽,具體為:通過OpenF I ow通道或邊界網(wǎng)關(guān)協(xié)議BGP通道向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述VPN標(biāo)簽;
[0033]所述向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述子樹信息,具體為:通過OpenFlow通道向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)下發(fā)所述子樹信息。
[0034]可選的,所述聚合隧道位于虛擬接入系統(tǒng),所述虛擬接入系統(tǒng)中所有的轉(zhuǎn)發(fā)節(jié)點(diǎn)均為接入節(jié)點(diǎn)。
[0035]第三方面,本發(fā)明實施例提供了一種報文處理裝置。該裝置配置于第一轉(zhuǎn)發(fā)節(jié)點(diǎn)。該裝置包括:
[0036]第一接收單元,用于接收目標(biāo)報文,所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)屬于聚合隧道的轉(zhuǎn)發(fā)節(jié)點(diǎn);
[0037]識別單元,用于識別所述目標(biāo)報文歸屬的目標(biāo)虛擬專用網(wǎng)絡(luò)VPN,所述目標(biāo)VPN屬于使用所述聚合隧道轉(zhuǎn)發(fā)報文的VPN;
[0038]查找單元,用于查找所述目標(biāo)VPN在所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)上的子樹信息,所述子樹信息記錄有所述目標(biāo)VPN與第二轉(zhuǎn)發(fā)節(jié)點(diǎn)之間的映射關(guān)系,所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)為在所述目標(biāo)VPN對應(yīng)的轉(zhuǎn)發(fā)鏈路上所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)之后的下一個節(jié)點(diǎn);
[0039]封裝單元,用于根據(jù)查找到的子樹信息,在所述目標(biāo)報文中封裝第一隧道標(biāo)簽和所述目標(biāo)VPN的VPN標(biāo)簽;
[0040]轉(zhuǎn)發(fā)單元,用于向所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)封裝有所述隧道標(biāo)簽和所述VPN標(biāo)簽的目標(biāo)報文;
[0041]所述第一隧道標(biāo)簽為所述聚合隧道下所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)對應(yīng)的隧道標(biāo)簽;所述第一隧道標(biāo)簽是所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)送給所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)的;所述第一隧道標(biāo)簽攜帶有語義標(biāo)記;所述語義標(biāo)記,用于指示所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)在所述目標(biāo)報文中讀取到所述第一隧道標(biāo)簽時讀取所述目標(biāo)報文的所述VPN標(biāo)簽;所述VPN標(biāo)簽,用于指示所述第二轉(zhuǎn)發(fā)節(jié)點(diǎn)識別出所述目標(biāo)報文歸屬的所述目標(biāo)VPN。
[0042]可選的,所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)為所述目標(biāo)VPN對應(yīng)的源節(jié)點(diǎn);
[0043]所述識別單元,具體用于根據(jù)所述目標(biāo)報文中的入接口或封裝信息,確定所述目標(biāo)報文歸屬的目標(biāo)VPN。
[0044]可選的,所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)為所述目標(biāo)VPN對應(yīng)的中間節(jié)點(diǎn);
[0045]所述識別單元,具體用于:
[0046]讀取所述目標(biāo)報文中封裝的第二隧道標(biāo)簽,所述第二隧道標(biāo)簽為在所述聚合隧道下所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)對應(yīng)的隧道標(biāo)簽,所述第二隧道標(biāo)簽攜帶有所述語義標(biāo)記;
[0047]響應(yīng)于識別到所述第二隧道標(biāo)簽攜帶的所述語義標(biāo)記,讀取所述目標(biāo)報文中所述第二隧道標(biāo)簽的下一層標(biāo)簽,得到所述VPN標(biāo)簽;
[0048]所述第一轉(zhuǎn)發(fā)節(jié)點(diǎn)根據(jù)所述VPN標(biāo)簽與所述目標(biāo)VPN之間的映射關(guān)系,確定所述VPN標(biāo)簽歸屬的所述目標(biāo)VPN。
[0049]可選的,所述裝置還包括:
[0050]彈出單元,用于從所述目標(biāo)報文中彈出所述第二隧道標(biāo)簽。
[0051 ] 可選的,所述裝置還包括:
[0052]第二接收單元,用于接收網(wǎng)絡(luò)設(shè)備下發(fā)的所述第二隧道標(biāo)簽、所述語義標(biāo)記、所述VPN標(biāo)簽和所述子樹信息。
[0053]可選的,所述網(wǎng)絡(luò)設(shè)備為控制節(jié)點(diǎn),所述第一隧道標(biāo)簽通過開放流OpenFlow通道下發(fā),所述語義標(biāo)記通過OpenFlow通道下發(fā),所述VPN標(biāo)簽通過OpenFlow通道或邊界網(wǎng)關(guān)協(xié)議BGP通道下發(fā),所述子樹信息通過OpenFlow通道下發(fā)。
[0054]可選的,所述聚合隧道位于虛擬接入系統(tǒng),所述虛擬接入系統(tǒng)中所有的轉(zhuǎn)發(fā)節(jié)點(diǎn)均為接入節(jié)點(diǎn)。
[0055]第四方面,