專利名稱:通過橋接協議數據單元隧道傳輸協議報文的方法和裝置的制作方法
技術領域:
本申請涉及通信技術領域,特別涉及一種通過橋接協議數據單元隧道(BPDUTunnel)傳輸協議報文的方法和裝置。
背景技術:
橋接協議數據單元隧道(BH)U Tunnel)是一種二層隧道技術,它使不同地域的私網用戶的二層協議報文,可以通過運營商網絡內的指定通道進 行透明傳輸,私網用戶不會感知到協議報文在公網中發生了變化。BH)U Tunnel的出現使得私網用戶能夠通過運營商網絡來構建自己的二層網絡,使得同一私網的不同部分位于運營商公網的兩側。參見圖1,圖1是現有技術利用BPDU Tunnel構建的跨越運營商網絡的二層網絡示意圖,包括私網1、私網2以及運營商網絡,其中,私網I通過CEl連接到運營商網絡的PE1,私網2通過CE2連接到運營商網絡的PE2,PEl和PE2之間通過BPDUTunnel進行二層協議報文傳輸。當私網I的CEl向私網2的CE2發送二層協議報文時,報文的傳輸過程如下(I )PE1接收CEl發來的二層協議報文,對報文進行封裝并將報文的目的MAC地址假設為((^0180-0200-0002)替換成一個特定的組播獻(地址(假設為(^01(^4200-0003),然后在運營商網絡中轉發。(2)PE2從運營商網絡接收到封裝后的二層協議報文(也稱為BPDU Tunnel報文),對報文進行解封裝并還原報文的目的MAC地址(也即將二層協議報文的目的MAC地址恢復為 0x0180-C200-0002),然后發送給 CE2。上述過程中,CE2接收到的二層協議報文的目的MAC仍然是0x0180-C200-0002,因此感知不到二層協議報文的變化。目前支持BPDU TunneI的協議很多,例如LACP協議,可以使用LACP協議在本地CE與遠端CE之間建立基于BPDU Tunnel的鏈路聚合組。對于LACP協議來說,報文通常是通過直連鏈路進行一對一的傳輸,不會有問題,然而當報文以BPDU Tunnel的方式通過運營商網絡時,就會出現問題,下面以圖2為例進行說明圖2是現有技術在本地CE和遠端CE之間建立基于BPDU Tunnel的鏈路聚合組的示意圖,如圖2所示,CEl與PEl之間由鏈路11、12、13組成的聚合鏈路連通,CE2與PE2之間由鏈路21、22、23組成的聚合鏈路連通。當PEl接收到CEl通過鏈路11發來的LACP報文后,對LACP報文進行MAC替換后廣播出去,LACP報文到達PE2并經由PE2轉發,CE2將從鏈路21、鏈路22、鏈路23接收到LACP報文并進行計算(本端鏈路發出的報文會廣播到對端的所有端口),這樣就會造成本端的一條鏈路和對端所有鏈路的交互,形成了多對一的連接,其直接后果是協議報文不斷在鏈路間交互(例如=CEl的鏈路I 一會兒和CE2的鏈路I建立通信連接,一會兒和CE2的鏈路2建立通信連接),造成鏈路聚合組不斷震蕩而無法聚合。為了避免上述因從本端的一個鏈路發送的LACP報文廣播到對端的所有端口而導致的鏈路聚合組震蕩問題,需要以一定的方式使運營商網絡兩側的鏈路形成一對一的關系,目前的解決方案是將每條鏈路的端口劃分到不同的VLAN中,通過對跨運營商的LACP使用進行組網限制來規避鏈路聚合組的震蕩。參見圖3,圖3是現有技術在本地CE和遠端CE之間建立基于BPDU Tunnel的鏈路聚合組時的組網限制示意圖,圖3基于圖2,如圖3所示,PEl上連接鏈路11、12、13的端口分別為P11、P12、P13,PE2上連接鏈路21、22、23的端口分別為P21、P22、P23。將鏈路11和鏈路21的端口均加入VLAN1,將鏈路12和鏈路22的端口均加入VLAN2,將鏈路13和鏈路23的端口均加入VLAN3。PEl在通過鏈路11、12、13的端口 P1U P12、P13上使能bpdutunnel dotlq Iacp (LACP 的 BPDU Tunnel 功能),PE2 在通過鏈路 21、22、23 的端口 P21、P22、P23 上使能 bpdu tunnel dotlq Iacp0在圖3中,當PEl接收到來自CEl的LACP報文時,修改LACP報文的目的MAC地址為特定的組播MAC地址,并為LACP報文打上入口所在VLAN的VLAN標簽,然后發送到運營商網絡。在運營商網絡中,修改后的LACP報文被當作數據報文進行轉發;當PE 2接收到修改后的LACP報文時,還原LACP報文的目的MAC地址,并根據LACP報文的VLAN標簽轉發LACP報文到CE2,從而根據連接鏈路的端口加入的VLAN不同而實現鏈路間的隔離,保證通 信鏈路一對一的對應關系,因而可以避免鏈路聚合組震蕩。現有技術通過在PE中為每條通信鏈路提供一個VLAN,來保證鏈路聚合組中通信鏈路的一一對應關系,雖然可以避免鏈路聚合組震蕩的出現,但也造成了公網VLAN資源的浪費。
發明內容
有鑒于此,本發明的目的在于提供一種通過BPDU Tunnel傳輸協議報文的方法,該方法可以減少VLAN資源浪費。為了達到上述目的,本發明提供了一種通過BPDU Tunnel傳輸協議報文的方法,應用于服務商邊緣設備(PE)設備;該方法包括預先建立本地PE與遠端PE對應聚合組端口間的映射關系;本地PE接收到來自本地用戶邊緣設備CE的協議報文時,將接收協議報文的成員端口的端口信息攜帶在協議報文中并通過BPDU Tunnel發送到遠端PE ;所述端口信息包括端口編號、端口所屬聚合組;本地PE接收到遠端PE通過BPDU Tunnel發送來的協議報文時,根據該協議報文中攜帶的端口信息及本地保存的本地PE與遠端PE對應聚合組端口間的映射關系確定本地PE對應的成員端口,將該協議報文通過本地PE對應的成員端口發送到本地CE。本發明還提供了一種通過BPDU Tunnel傳輸協議報文的裝置,應用于PE設備;該裝置包括映射單元、接收單元、控制單元、發送單元;所述映射單元,用于預先建立本PE與遠端PE對應聚合組端口間的映射關系;所述接收單元,用于接收來自本地CE的協議報文;用于接收遠端PE通過BPDUTunnel發來的協議報文;所述控制單元,用于在接收單元接收到來自本地CE的協議報文時,將接收該協議報文的成員端口的端口信息攜帶在該協議報文中并通知發送單元通過BPDU Tunnel發送該協議報文到遠端PE ;所述端口信息包括端口編號、端口所屬聚合組;用于在接收單元接收到遠端PE通過BPDU Tunnel發送來的協議報文時,根據LACP報文中攜帶的端口信息以及本地保存的本PE與遠端PE對應聚合組端口間的映射關系確定本PE對應的成員端口,通知發送單元將該協議報文通過本PE對應的成員端口發送到本地CE。綜上所述,本發明中,本地PE通過建立本地PE與遠端PE對一個聚合組端口之間的映射關系,并根據該映射關系來轉發本地CE及遠端CE之間的協議報文,從而可以保證本地PE設備側的通信鏈路與遠端PE側的通信鏈路一一對應關系,因而能夠避免鏈路聚合組震蕩,而且,與現有技術將對應聚合組端口加入到不同VLAN的技術方案相比,可以減少VLAN資源浪費。
圖1是現有技術利用BPDU Tunnel構建的跨越運營商網絡的二層網絡示意圖;圖2是現有技術在本地CE和遠端CE之間建立基于BPDU Tunnel的鏈路聚合組的 示意圖;圖3是現有技術在本地CE和遠端CE之間建立基于BPDU Tunnel的鏈路聚合組時的組網限制示意圖;圖4是本發明實施例通過BPDU Tunnel傳輸協議報文的方法流程圖;圖5是本發明實施例LACP報文中端口信息TLV的結構示意圖;圖6是現有技術LACP報文中Actor_State的結構示意圖;圖7是本發明實施例通過BPDU Tunnel傳輸協議報文的裝置的結構示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖并舉實施例,對本發明的技術方案進行詳細說明。 本發明中,為了通過BPDU Tunnel傳輸協議報文,需要保證鏈路聚合組中通信鏈路的一一對應關系,為此,本地PE和遠端PE均建立靜態鏈路聚合組,兩個靜態鏈路聚合組相
互對應,另外,還需將兩個靜態鏈路聚合組中的成員端口--對應起來,形成對應聚合組端
口之間的映射關系;本地PE向遠端PE發送來自本地CE的協議報文時,在協議報文中攜帶本地PE接收該協議報文的成員端口的端口信息,以指示該協議報文在遠端PE上對應的出端口,通過本地PE與遠端PE對應聚合組端口間的映射關系將成員端口連接的通信鏈路對應起來,從而可以保證鏈路聚合組中通信鏈路的一一對應關系,在避免鏈路聚合組震蕩的同時,還能夠減少VLAN資源浪費。下面以通過BPUD Tunnel傳輸LADP報文為例進行說明。參見圖4,圖4是本發明實施例通過BPDU Tunnel傳輸協議報文的方法流程圖,該方法應用于PE設備;如圖4所示,該方法主要包括以下步驟步驟401、預先建立本地PE與遠端PE對應聚合組端口間的映射關系。本實施例中,首先將本地PE建立的到本地CE的靜態鏈路聚合組和遠端PE建立的到遠端CE的靜態鏈路聚合組對應起來,可以通過為兩個靜態鏈路聚合組分配相同的聚合組標識來建立兩者的對應關系;其次,將本地PE建立的到本地CE的靜態鏈路聚合組中各成員端口與遠端PE建立的到遠端CE的靜態鏈路聚合組中的各成員端口——對應起來,可以通過為本地PE的每個成員端口和遠端PE上的對應成員端口分配相同的端口編號來建立這端口間的對應關系。例如,在圖3中,PEl建立有包含成員端口 P11、P12、P13的靜態鏈路聚合組baggl,PE2建立郵包含成員端口 P21、P22、P23的靜態鏈路聚合組bagg2,為了建立baggl和bagg2間成員端口的映射關系,可以先為baggl和bagg2分配相同的聚合組標識(例如1),然后為P11、P12、P13分配的端口編號分別為1、2、3 ;為P21、P22、P23分配的端口編號分別為1、2、3 ;這樣,根據鏈路聚合組標識可以確定baggl和bagg2具有對應關系,同時,根據端口編號可以確定baggl中的成員端口 P11、P12、P13分別與bagg2中的成員端口P21、P22、P23分別——對應。綜上可知,本實施例中,建立本地PE與遠端PE對應聚合組端口間的映射關系的具體方法可以為為本地PE建立的到本地CE的靜態鏈路聚合組分配與遠端PE建立的到遠端CE的對應靜態鏈路聚合組相同的聚合組標識,并為本地PE建立的靜態鏈路聚合組中的各端口的端口編號分配與遠端PE建立的對應靜態鏈路聚合組中對應端口相同的端口編號。步驟402、本地PE接收到來自本地CE的LACP報文時,將接收LACP報文的成員端 口的端口信息攜帶在LACP報文中并通過BPDU Tunnel發送到遠端PE。這里,所述端口信息包括端口編號、端口所屬聚合組。例如在圖3中PEl從成員端口 Pll接收到了來自CEl的LACP報文,則會將Pll的端口信息(Pll的端口編號為1,Pll所屬聚合組用baggl的標識1表示)攜帶在LACP報文中發送。本步驟中,通過BPDU Tunnel發送LACP報文到遠端PE包括對LACP報文進行封裝并修改LACP報文的目的MAC地址為特定的組播MAC地址,然后發送到運營商網絡中并經由運營商網絡到達遠端PE。在IEEE802. 3ad標準中,為LACP報文預留了 50Bytes用于LACP協議特性的擴展,本實施例中,可以利用部分預留字段的作為端口信息字段,從而實現在LACP報文中攜帶端口信息。例如,取其中的4Bytes作為端口信息的TLV,如圖5所示的端口信息TLV示意圖,其中,TLV Type占用8個bit位,值為LACP P Mapping ;TLV Length占用8個bit位,取值% 4, TLV Value占用16個bit位,其中,bit_(Tbit_3用來標識端口,如用端口編號來標識端口,則在圖3中,Pll用0001標識,P12用0010標識,P13用0011標識;bit_4 bit_6暫時保留用于擴展;bit_7 bit_E用來標識靜態鏈路聚合組,如PEl側的baggl以及PE2側的bagg2均用00000001標識;另外Bit_F用來標識端口是否可以傳輸數據報文,bit_F的取值將在后續進行說明。步驟403、本地PE接收到遠端PE通過BPDU Tunnel發送來的LACP報文時,根據LACP報文中攜帶的端口信息及本地保存的本地PE與遠端PE對應聚合組端口間的映射關系確定本地PE對應的成員端口,將LACP報文通過確定的本地PE對應的成員端口發送到本地CE。本步驟中,根據LACP報文中攜帶的端口信息及本地保存的本地PE與遠端PE對應聚合組端口間的映射關系確定本地PE對應的成員端口的方法為執行端口信息匹配,將LACP報文中攜帶的端口信息與本地PE建立的到本地CE的靜態鏈路聚合組中的每個成員端口的端口信息進行匹配,將匹配成功的成員端口確定為對應的成員端口。假設PEl將從成員端口 Pll接收到的LACP報文通過BPDU Tunnel發送的PE2,則LACP報文中攜帶的端口信息為Pll的端口信息,PE2接收到該LACP報文后,可以將Pll的端口信息分別與P21、P22、P23的端口信息分別進行比較,由于P21的端口信息與Pll的端口信息相匹配(端口編號均為1,端口所屬鏈路聚合組的標識均為1),因此將P21確定為本地PE對應的成員端口,將LACP報文通過P21發送到CE2。需要說明的是,當本地PE建立有多個靜態鏈路聚合組時,需要遠端PE發來的LACP報文中攜帶的端口信息與本地PE建立的多個靜態鏈路聚合組中每個成員端口的端口信息進行匹配,直至成功匹配到一個成員端口,并將該匹配到的成員端口確定為本地PE對應的成員端口。圖4所示本發明實施例中,本地PE建立到本地CE的靜態鏈路聚合組時,還需在所述靜態鏈路聚合組中各成員端口上使能LACP的BPDU Tunnel功能。當本地PE連接有多個本地CE,且建立有到每個本地CE的靜態鏈路聚合組時,從其中一個本地CE發來的LACP報文,會被本地PE進行BPDU Tunnel封裝后廣播到其它本地CE,從而會導致封裝后的LACP報文的環回發送,出現異構現象。為此,對于本地PE接收到的來自本地CE的LACP報文,需禁止將該LACP報文從本地PE的使能了 LACP的BPDU Tunnel 功能的端口發送,以避免異構現象的出現。圖4所示本發明實施例中,本地PE建立到本地CE的靜態鏈路聚合組后,將靜態鏈路局和組中各成員端口的數據傳輸狀態設置為未選中unselected,以避免數據報文丟失,并在后續根據本地CE發送的LACP報文進行數據傳輸狀態的修改。所述數據傳輸狀態包括選中selected和unselected,如果成員端口的數據傳輸狀態為selected,貝U表不該成員端口可以用來傳輸數據報文,如果成員端口的數據傳輸狀態為unselected,則表示該成員端口不可用來傳輸數據報文(成員端口的數據傳輸狀態的不影響該成員端口對協議報文的傳輸)。在實際應用中,本地CE向本地PE發送的LACP報文中攜帶有Actor_State字段,Actor_State字段如圖6所示,字段中包括有collection和Distribution兩個子字段,如果這兩個子字段都被置位(即值為1),則說明本地PE的接收該LACP報文的成員端口可以用來傳輸數據報文,否則,則說明本地PE的接收該LACP報文的成員端口不可以用來傳輸數據報文。因此,本地PE接收到來自本地CE的LACP報文之后,可以根據LACP報文中的Actor_State字段的置位情況判斷接收LACP報文的成員端口是否可以傳輸數據報文,如果是,則設置該成員端口的數據傳輸狀態為selected,否則,設置該成員端口的數據傳輸狀態為 unselected。本地CE和遠端CE之間的鏈路聚合組正常建立,對于本地CE和遠端CE來說,LACP狀態正常,可以互發數據報文;對于本地PE和遠端PE來說,本地PE需要根據建立的到本地CE的靜態鏈路聚合組中各成員端口的數據傳輸狀態來傳輸從遠端PE發來的數據報文,遠端PE需要根據建立的到遠端CE的靜態鏈路聚合組中各成員端口的數據傳輸狀態來傳輸從本地PE發來的數據報文。下面結合圖3,并舉例進行說明(假設成員端口之間進行負載分擔)。第一個例子,假設PEl建立的到CEl的靜態鏈路聚合組中各成員端口均可傳輸數據報文,且PE2建立的到CE2的靜態鏈路聚合組中各成員端口均可傳輸數據報文,這種情況下,數據報文從CEl發往CE2的過程如下(I)CEl根據本地的負載分擔算法將數據報文通過鏈路11、12、13發送到PEl,經由PEl發送到運營商網絡并通過運營商網絡傳輸到PE2 ;
(2)PE2接收到來自CEl的數據報文,判斷成員端口 P21、P22、P23均可傳輸數據報文,因此根據本地的負載分擔算法將數據報文通過鏈路21、22、23發送到CE2。反過來,數據報文從CE2發往CEl的過程與上述過程的原理相同。第二個例子,假設PEl建立的到CEl的靜態鏈路聚合組中成 員端口 Pll和P12可傳輸數據報文,P13不可以傳輸數據報文,且PE2建立的到CE2的靜態鏈路聚合組中各成員端口均可傳輸數據報文,這種情況下,數據報文從CEl發往CE2的過程如下(I)CEl根據本地的負載分擔算法將數據報文通過鏈路11、12發送到PEl,經由PEl發送到運營商網絡并通過運營商網絡傳輸到PE2 ;(2)PE2接收到來自CEl的數據報文,判斷端口 P21、P22、P23均可傳輸數據報文,因此根據本地的負載分擔算法將數據報文通過鏈路21、22、23發送到CE2。數據報文從CE2發往CEl的過程如下(I )CE2根據本地的負載分擔算法將數據報文通過鏈路21、22、23發送到PE2,經由PE2發送到運營商網絡并通過運營商網絡傳輸到PEl ;(2) PEl接收到來自CEl的數據報文,判斷端口 P11、P12可傳輸數據報文,而P23不可傳輸數據報文,因此根據本地的負載分擔算法將數據報文通過鏈路11、12發送到CE1。以上對本發明實施例通過橋接協議數據單元隧道BPDU Tunnel傳輸協議報文的方法進行了詳細說明,本發明還提供了一種通過橋接協議數據單元隧道BPDU Tunnel傳輸協議報文的裝置。參見圖7,圖7是本發明實施例通過BPDU Tunnel傳輸協議報文的裝置的結構示意圖,該裝置應用于PE設備;如圖7所示,該裝置包括映射單元701,接收單元702、控制單元703、發送單元704 ;其中, 映射單元701,用于預先建立本PE與遠端PE對應聚合組端口間的映射關系;接收單元702,用于接收來自本地CE的協議報文;用于接收遠端PE通過BPDUTunnel發來的協議報文;控制單元703,用于在接收單元702接收到來自本地CE的協議報文時,將接收該協議報文的成員端口的端口信息攜帶在該協議報文中并通知發送單元704通過BPDUTunnel發送該協議報文到遠端PE ;所述端口信息包括端口編號、端口所屬聚合組;用于在接收單元702接收到遠端PE通過BPDU Tunnel發送來的協議報文時,根據LACP報文中攜帶的端口信息以及本地保存的本PE與遠端PE對應聚合組端口間的映射關系確定本PE對應的成員端口,通知發送單元704將該協議報文通過本PE對應的成員端口發送到本地CE。上述裝置中,所述映射單元701在建立本PE與遠端PE對應聚合組端口間的映射關系時,具體包括為本PE建立的到本地CE的靜態鏈路聚合組標識分配與遠端PE建立的到遠端CE的對應靜態鏈路聚合組相同的聚合組標識,并為本地PE建立的靜態鏈路聚合組中的各端口的端口編號分配與遠端PE建立的對應靜態鏈路聚合組中對應端口相同的端口編號;所述控制單元703在根據該協議報文中攜帶的端口信息以及本PE與遠端PE對應聚合組端口間的映射關系確定對應的成員端口時,具體包括將該協議報文中攜帶的端口信息與本PE建立的到本地CE的各靜態鏈路聚合組中的每個成員端口的端口信息進行匹配,將匹配成功的成員端口確定為對應的成員端口。
上述裝置中,所述協議報文為鏈路聚合控制協議LACP報文。所述映射單元701在建立本PE到本地CE的靜態鏈路聚合組時,進一步在該靜態鏈路聚合組中各成員端口上使能LACP的BPDU Tunnel功能;所述控制單元703在接收單元702接收到來自本地CE的LACP報文后,進一步用于禁止發送單元704將該LACP報文從所述PE的使能了 LACP的BPDU Tunnel功能的端口發送。所述映射單元701在建立本PE到本地CE的靜態鏈路聚合組之后,進一步用于將該靜態鏈路聚合組中各成員端口的數據傳輸狀態設置為未選中unselected,所述數據傳輸狀態包括選中selected和unselected ;所述控制單元703在接收單元702接收到來自本地CE的LACP報文之后,進一步用于根據LACP報文中的Actor_State字段的置位情況判斷接收LACP報文的成員端口是否可以傳輸數據報文,如果是,則設置該成員端口的數據傳輸狀態為selected,否則,設置該成員端口的數據傳輸狀態為unselected ;所述接收單元702,進一步用于接收遠端PE通過BPDU Tunnel發來的數據報文;所述發送單元704,用于接收單元702接收到遠端PE通過BPDU Tunnel發來的數據報文時,根據靜態鏈路聚合組中各成員端口的數據傳輸狀態轉發數據報文到本地CE。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
權利要求
1.一種通過橋接協議數據單元隧道BPDU Tunnel傳輸協議報文的方法,應用于服務商邊緣設備PE設備;其特征在于,預先建立本地PE與遠端PE對應聚合組端口間的映射關系; 該方法包括本地PE接收到來自本地用戶邊緣設備CE的協議報文時,將接收協議報文的成員端口的端口信息攜帶在協議報文中并通過BPDU Tunnel發送到遠端PE ;所述端口信息包括端口編號、端口所屬聚合組;本地PE接收到遠端PE通過BPDU Tunnel發送來的協議報文時,根據該協議報文中攜帶的端口信息及本地保存的本地PE與遠端PE對應聚合組端口間的映射關系確定本地PE 對應的成員端口,將該協議報文通過本地PE對應的成員端口發送到本地CE。
2.根據權利要求1所述的通過BPDUTunnel傳輸協議報文的方法,其特征在于,建立本地PE與遠端PE對應聚合組端口間的映射關系的方法為為本地PE建立的到本地CE的靜態鏈路聚合組分配與遠端PE建立的到遠端CE的對應靜態鏈路聚合組相同的聚合組標識,并為本地PE建立的靜態鏈路聚合組中的各端口的端口編號分配與遠端PE建立的對應靜態鏈路聚合組中對應端口相同的端口編號;所述根據協議報文中攜帶的端口信息及本地保存的本地PE與遠端PE對應聚合組端口間的映射關系確定本地PE對應的成員端口的方法為將協議報文中攜帶的端口信息與本地PE建立的到本地CE的各靜態鏈路聚合組中的每個成員端口的端口信息進行匹配,將匹配成功的成員端口確定為本地PE對應的成員端口。
3.根據權利要求2所述的通過BPDUTunnel傳輸協議報文的方法,其特征在于, 所述協議報文為鏈路聚合控制協議LACP報文。
4.根據權利要求3所述的通過BPDUTunnel傳輸協議報文的方法,其特征在于,本地PE建立到本地CE的靜態鏈路聚合組時,進一步在該靜態鏈路聚合組中各成員端口上使能LACP的BPDU Tunnel功能;本地PE接收到來自本地CE的LACP報文后,進一步包括禁止將該LACP報文從本地PE 使能了 LACP的BPDU Tunnel功能的端口發送。
5.根據權利要求3所述的通過BPDUTunnel傳輸協議報文的方法,其特征在于,本地PE建立到本地CE的靜態鏈路聚合組之后,進一步包括將該靜態鏈路聚合組中各成員端口的數據傳輸狀態設置為未選中unselected,所述數據傳輸狀態包括選中 selected和 unselected ;本地PE接收到來自本地CE的LACP報文之后,進一步包括根據LACP報文中的Actor_ State字段的置位情況判斷接收LACP報文的成員端口是否可以傳輸數據報文,如果是,則設置該成員端口的數據傳輸狀態為selected,否則,設置該成員端口的數據傳輸狀態為 unselected ;本地PE從接收到遠端PE發來的數據報文時,根據靜態鏈路聚合組中各成員端口的數據傳輸狀態轉發數據報文到本地CE。
6.一種通過橋接協議數據單元隧道BPDU Tunnel傳輸協議報文的裝置,應用于PE設備;其特征在于,該PE設備包括映射單元、接收單元、控制單元、發送單元;所述映射單元,用于預先建立本PE與遠端PE對應聚合組端口間的映射關系;所述接收單元,用于接收來自本地CE的協議報文;用于接收遠端PE通過BPDUTunnel發來的協議報文;所述控制單元,用于在接收單元接收到來自本地CE的協議報文時,將接收該協議報文的成員端口的端口信息攜帶在該協議報文中并通知發送單元通過BPDU Tunnel發送該協議報文到遠端PE ;所述端口信息包括端口編號、端口所屬聚合組;用于在接收單元接收到遠端PE通過BPDU Tunnel發送來的協議報文時,根據LACP報文中攜帶的端口信息以及本地保存的本PE與遠端PE對應聚合組端口間的映射關系確定本PE對應的成員端口,通知發送單元將該協議報文通過本PE對應的成員端口發送到本地CE。
7.根據權利要求6所述的通過BPDUTunnel傳輸協議報文的裝置,其特征在于,所述映射單元在建立本PE與遠端PE對應聚合組端口間的映射關系時,具體包括為本 PE建立的到本地CE的靜態鏈路聚合組分配與遠端PE建立的到遠端CE的對應靜態鏈路聚合組相同的聚合組標識,并為本地PE建立的靜態鏈路聚合組中的各端口的端口編號分配與遠端PE建立的對應靜態鏈路聚合組中對應端口相同的端口編號;所述控制單元在根據該協議報文中攜帶的端口信息以及本PE與遠端PE對應聚合組端口間的映射關系確定對應的成員端口時,具體包括將該協議報文中攜帶的端口信息與本 PE建立的到本地CE的各靜態鏈路聚合組中的每個成員端口的端口信息進行匹配,將匹配成功的成員端口確定為對應的成員端口。
8.根據權利要求7所述的通過BPDUTunnel傳輸協議報文的裝置,其特征在于,所述協議報文為鏈路聚合控制協議LACP報文。
9.根據權利要求8所述的通過BPDUTunnel傳輸協議報文的裝置,其特征在于,所述映射單元在建立本PE到本地CE的靜態鏈路聚合組時,進一步在該靜態鏈路聚合組中各成員端口上使能LACP的BPDU Tunnel功能;所述控制單元在接收單元接收到來自本地CE的LACP報文后,進一步用于禁止發送單元將該LACP報文從所述PE的使能了 LACP的BPDU Tunnel功能的端口發送。
10.根據權利要求8所述的通過BPDUTunnel傳輸協議報文的裝置,其特征在于,所述映射單元在建立本PE到本地CE的靜態鏈路聚合組之后,進一步用于將該靜態鏈路聚合組中各成員端口的數據傳輸狀態設置為未選中unselected,所述數據傳輸狀態包括選中 selected 和 unselected ;所述控制單元在接收單元接收到來自本地CE的LACP報文之后,進一步用于根據 LACP報文中的Actor_State字段的置位情況判斷接收LACP報文的成員端口是否可以傳輸數據報文,如果是,則設置該成員端口的數據傳輸狀態為selected,否則,設置該成員端口的數據傳輸狀態為unselected ;所述接收單元,進一步用于接收遠端PE通過BPDU Tunnel發來的數據報文;所述發送單元,用于接收單元接收到遠端PE通過BPDU Tunnel發來的數據報文時,根據靜態鏈路聚合組中各成員端口的數據傳輸狀態轉發數據報文到本地CE。
全文摘要
本發明提供了一種通過橋接協議數據單元隧道傳輸協議報文的方法和裝置,技術方案為本地PE建立本地PE與遠端PE對應聚合組端口之間的映射關系;本地PE接收到本地CE的協議報文時,將接收協議報文的成員端口的端口信息攜帶在協議報文中并通過BPDU Tunnel發送遠端PE;本地PE接收到遠端PE通過BPDU Tunnel發來的協議報文時,根據協議報文中攜帶的端口信息以及本地PE與遠端PE對應聚合組端口之間的映射關系確定對應的成員端口,將協議報文通過確定的成員端口發送到本地CE。本發明能夠減少VLAN資源浪費。
文檔編號H04L12/70GK103001847SQ201210526438
公開日2013年3月27日 申請日期2012年12月7日 優先權日2012年12月7日
發明者涂勇軍 申請人:杭州華三通信技術有限公司