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