專利名稱:一種基于運營商骨干橋接網(wǎng)的負載均衡方法和beb設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種基于運營商骨干橋接網(wǎng)的負載均衡方法和骨干網(wǎng)邊緣網(wǎng)橋(Backbone Edge Bridge, BEB)設(shè)備。
背景技術(shù):
運營商骨干橋(ProviderBackbone Bridge, PBB),由 IEEE 802. Iah 標準草案定義,全稱為運營商骨干橋接技術(shù)。PBB是采用MinM (MAC-in-MAC)封裝,PBB基于運營商MAC地址,而不是基于用戶MAC地址轉(zhuǎn)發(fā)流量。PBB技術(shù)主要定義了雙層MAC地址的幀結(jié)構(gòu),在轉(zhuǎn)發(fā)行為上并沒有改變,仍然是采用了傳統(tǒng)的MAC交換,這體現(xiàn)在PBB技術(shù)它的名字仍然是橋接(Bridge)上。不過交換的MAC地址是運營商定義的MAC地址,而不是用戶的MAC地址,因而這個MAC交換從某種角度上,也可以看成是MAC標簽交換。參見圖1,圖I為PBB技術(shù)的典型組網(wǎng)結(jié)構(gòu)示意圖。圖I中BEB設(shè)備101通過下行口接收到主機設(shè)備A發(fā)送主機設(shè)備B的報文時,根據(jù)該報文的目的MAC地址在本地MAC地址表中查找,如查找到對應(yīng)的出端口為上行口 C,則通過上行口 C發(fā)送所述報文;若未查找到對應(yīng)的出端口,則將該報文通過接收所述報文的下行口之外的端口將所述報文轉(zhuǎn)發(fā),由于通過上行口 C和上行口 B發(fā)送的報文都能到達BEB設(shè)備102,在現(xiàn)有實現(xiàn)中使用STP協(xié)議阻塞一個端口,假設(shè)阻斷的是上行口 B,則該報文進行MinM封裝并從上行口 C發(fā)送到BEB設(shè)備102,BEB設(shè)備102接收到該報文時,將該報文進行MinM解封裝,并將該報文的源MAC地址直接學習到上行口 C上,并將該解封裝后的報文進行轉(zhuǎn)發(fā)。當BEB設(shè)備接收到發(fā)送目的MAC地址為主機設(shè)備A的MAC地址時,將從上行口 C發(fā)送出去。通過上述的實現(xiàn)方式,所有BEB設(shè)備101到BEB設(shè)備102的流量都只能走同一上
行口,容易發(fā)生擁塞。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種基于運營商骨干橋接網(wǎng)的負載均衡方法和BEB設(shè)備,能夠避免端口流量過大造成的擁塞。為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種基于運營商骨干橋接網(wǎng)PBBN的負載均衡方法,所述PBBN包括多個骨干網(wǎng)邊緣網(wǎng)橋BEB設(shè)備,所述方法包括任一所述BEB設(shè)備通過任一下行口接收到報文時,將所述報文的源MAC地址學習到所述下行口,并通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā);通過任一上行口接收到報文時,所述BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口,將所述接收的報文進行 MinM解封裝后的報文的源MAC地址學習到所述選擇的上行口,并通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā);
其中,所述下行口為所述BEB連接用戶網(wǎng)絡(luò)的端口,所述上行口為所述BEB設(shè)備連接所述PBBN的端口。一種骨干網(wǎng)邊緣網(wǎng)橋BEB設(shè)備,可應(yīng)用于運營商骨干橋接網(wǎng)PBBN中,所述BEB設(shè)備包括接收單元,學習單元和發(fā)送單元;所述接收單元,用于通過任一下行口接收報文;通過任一上行口接收報文;其中,所述下行口為自身所在BEB連接用戶網(wǎng)絡(luò)的端口,所述上行口為自身所在BEB設(shè)備連接所述PBBN的端口 ;所述學習單元,用于當所述接收單元通過任一下行口接收到報文時,將所述報文的源MAC地址學習到所述下行口 ;當所述接收單元通過任一上行口接收到報文時,將自身所在BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口,將所述接收的報文進行MinM解封裝后的報文的源MAC地址學習到所 述選擇的上行口;所述發(fā)送單元,用于將所述接收單元通過任一下行口接收到的報文,通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā);將所述接收單元通過任一上行口接收到的報文,通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)。綜上所述,本發(fā)明在BEB設(shè)備通過上行口接收到報文,進行源MAC學習時,在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,將該源MAC地址學習到學習源MAC地址數(shù)量最少的上行口上,實現(xiàn)兩個BEB設(shè)備之間流量的負載分擔,避免端口流量過大造成的擁塞。
圖I為PBB技術(shù)的典型組網(wǎng)結(jié)構(gòu)示意圖;圖2為本發(fā)明實施例中基于PBBN的負載均衡方法流程示意圖;圖3為本發(fā)明具體實施例中BEB設(shè)備通過下行口接收到報文時的處理流程示意圖;圖4為本發(fā)明具體實施例中BEB設(shè)備通過上行口接收到報文時的處理流程示意圖;圖5為本發(fā)明具體實施例中PBB組網(wǎng)結(jié)構(gòu)示意圖;圖6為本發(fā)明具體實施例中在PBBN中實現(xiàn)負載均衡的BEB設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進一步地詳細說明。本發(fā)明實施例中提出一種基于PBBN的負載均衡方法,該PBBN包括多個BEB設(shè)備。參見圖2,圖2為本發(fā)明實施例中基于PBBN的負載均衡方法流程示意圖。具體步驟為步驟201,PBBN中的任一 BEB設(shè)備通過任一端口接收到報文時。步驟202,當所述端口為下行口時,所述BEB設(shè)備將所述報文的源MAC地址學習到所述下行口。
本步驟中的下行口為所述BEB連接用戶網(wǎng)絡(luò)的端口,所述BEB設(shè)備將所述報文的源MAC地址學習到所述下行口包括將所述源MAC地址與所述下行口標識綁定作為一條MAC地址表項添加到本地MAC地址表中,所述下行口標識對應(yīng)的端口為該MAC地址對應(yīng)的出端口。在作為一條表項添加時,為該表項設(shè)置老化時間,在老化時間到時,未接收到用戶源MAC地址為添加表項中的MAC地址時,將所述MAC地址對應(yīng)的MAC地址表項老化。步驟203,所述BEB設(shè)備通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā)。本步驟中,當將所述報文通過其他下行口轉(zhuǎn)發(fā)時,修改該報文的源MAC地址為所述BEB設(shè)備的MAC地址,并將該報文通過下行口轉(zhuǎn)發(fā);當將所述報文通過上行口轉(zhuǎn)發(fā)時,將該報文進行MinM封裝,通過各上行口轉(zhuǎn)發(fā)到PBBN中。
步驟204,當所述端口為上行口時,所述BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口,將所述接收的報文進行MinM解封裝后的報文的源MAC地址學習到所述選擇的上行口。 本步驟中的上行口為所述BEB設(shè)備連接所述PBBN的端口,將所述接收的報文進行MinM解封裝后的報文的源MAC地址學習到所述選擇的上行口包括將所述源MAC地址與所述上行口標識綁定作為一條MAC地址表項添加到本地MAC地址表中,所述上行口標識對應(yīng)的端口為該MAC地址對應(yīng)的出端口。在作為一條表項添加時,為該表項設(shè)置老化時間,在老化時間到時,未接收到用戶源MAC地址為添加表項中的MAC地址時,將所述MAC地址對應(yīng)的MAC地址表項老化。步驟205,所述BEB設(shè)備通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)。本步驟中不將報文通過所述與連接發(fā)送所述報文BEB設(shè)備的其他上行口進行轉(zhuǎn)發(fā),防止環(huán)路的形成。當將所述報文通過下行口轉(zhuǎn)發(fā)時,修改該報文的源MAC地址為所述BEB設(shè)備的MAC地址,并將該報文通過下行口轉(zhuǎn)發(fā);當將所述解封裝的報文通過上行口轉(zhuǎn)發(fā)時,將該報文進行MinM封裝,通過上行口轉(zhuǎn)發(fā)到PBBN中。參見圖3,圖3為本發(fā)明具體實施例中BEB設(shè)備通過下行口接收到報文時的處理流程示意圖。具體步驟為步驟301,BEB設(shè)備通過下行口接收到報文時。步驟302,在本地MAC地址表中查找該接收的報文的源MAC地址。步驟303,如果查找到,刷新對應(yīng)的MAC地址表項;否則,將所述報文的源MAC地址學習到所述下行口。步驟304,在本地MAC地址表中查找該接收的報文的目的MAC地址。步驟305,如果查找到所述目的MAC地址對應(yīng)的出端口,則通過所述查找到的出端口將所述報文轉(zhuǎn)發(fā);否則,通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā)。參見圖4,圖4為本發(fā)明具體實施例中BEB設(shè)備通過上行口接收到報文時的處理流程示意圖。具體步驟為步驟401,BEB設(shè)備通過上行口接收到報文時,將該報文進行MinM解封裝。步驟402,在本地MAC地址表中查找解封裝后的報文源MAC地址。步驟403,如果查找到,刷新對應(yīng)的MAC地址表項;否則,所述BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口,將所述接收的報文進行MinM解封裝后的報文的源MAC地址學習到所述選擇的上行口。步驟404,在本地MAC地址表中查找所述解封裝后的報文的目的MAC地址。步驟405,如果查找到所述目的MCA地址對應(yīng)的出端口,則將所述報文通過所述查找到的出端口進行轉(zhuǎn)發(fā);否則,通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)。所述BEB設(shè)備周期性的從各上行口發(fā)送連續(xù)性檢測報文,并接收PBBN中其它BEB設(shè)備發(fā)送的連續(xù)性檢測報文;在預設(shè)時間內(nèi)接收到其他BEB設(shè)備發(fā)送的連續(xù)性檢測報文,則確定自身同所述發(fā)來連續(xù)性檢測報文的BEB設(shè)備之間的路徑正常;否則確定所述路徑故障。該種實現(xiàn)方式是802. lag協(xié)議中連續(xù)性檢測功能,該功能用來檢測設(shè)備之間的連同狀態(tài)。預設(shè)時間可以根據(jù)具體需要設(shè)置,也可以設(shè)置為協(xié)議中默認的3. 5個周期。確定 路徑故障時,可以通過日志報告的形式進行記錄,以備管理員及時處理問題。在接收連續(xù)性檢測報文時,當所述BEB設(shè)備從不同的上行口接收到同一 BEB設(shè)備發(fā)送的連續(xù)性檢測報文時,確定自身通過所述不同的上行口分別與所述發(fā)送連續(xù)性檢測報文的BEB設(shè)備連接。本發(fā)明具體實施例中給出了當兩臺BEB設(shè)備之間的路徑故障或新增路徑時如何處理兩臺設(shè)備之間轉(zhuǎn)發(fā)的流量,具體如下當所述BEB設(shè)備檢測到與其他BEB設(shè)備連接的一條路徑故障時,將該故障路徑上的流量均衡地切換到與所述其他BEB連接的正常的鏈路上,并相應(yīng)地更新本地MAC地址表中對應(yīng)MAC地址的出端口。其中路徑上的流量均衡切換指同一目的MAC地址的流量為一份流量,這里的均衡實現(xiàn)實質(zhì)是上行口上學習到的MAC地址數(shù)量的均衡。當所述BEB設(shè)備檢測到與其他BEB設(shè)備連接的路徑增加了一條時,將與所述其他BEB設(shè)備正常連接的路徑上的流量均衡地切換到該新增路徑上,并相應(yīng)地更新本地MAC地址表中對應(yīng)MAC地址的出端口。其中,路徑上流量的均衡切換同上文描述。這里的增加的路徑可能是通過設(shè)置新增加一條路徑,也可能是原先故障的路徑,現(xiàn)在恢復了路徑。下面結(jié)合附圖,通過舉例詳細說明本發(fā)明具體實施例中是如何實現(xiàn)PBBN中的負載均衡的。參見圖5,圖5為本發(fā)明具體實施例中PBB組網(wǎng)結(jié)構(gòu)示意圖。圖5中以BEB設(shè)備501接收發(fā)送報文為例。當BEB設(shè)備501接收到從下行口 A接收到報文時,在本地MAC地址表中查找該報文的源MAC地址,即確定對該MAC地址是否進行學習過,如果存在,則刷新該源MAC地址對應(yīng)的MAC地址表項;否則,將報文的源MAC地址學習到下行口 A上。同時在本地MAC地址表中查找該報文的目的MAC地址,如果查找到,確定該地址對應(yīng)的出端口,從圖I中可知,出端口應(yīng)該為上行口 F、上行口 C或上行口 E,這里假設(shè)為上行口 F,將該報文進行MinM封裝,即為該報文再封裝一層MAC地址,封裝的源MAC地址為BEB設(shè)備501的MAC地址,目的MAC地址為BEB設(shè)備502的MAC地址,將封裝后的報文通過上行口 F發(fā)送;如果未查找到,則將該報文通過下行口 A之外的端口即下行口 B,上行口 F、上行口 E、上行口 C和上行口 D廣播發(fā)送。當BEB設(shè)備501通過上行口接收到報文時,如上行口 F,根據(jù)該報文的外層源MAC地址獲知該報文從BEB設(shè)備502發(fā)送來的,將該報文進行MinM解封裝,則在本地的MAC地址表項中查找接收報文的源MAC地址,如果存在,說明進行過該源MAC地址的學習,將該源MAC地址對應(yīng)的MAC地址表項刷新;否則,對該源MAC地址進行學習,通過連續(xù)性檢測報文,獲知通過上行口 F、上行口 E和上行口 D均能同BEB設(shè)備502相連,獲知學習到上行口 F上的MAC地址總數(shù)量,學習到上行口 E上的MAC地址總數(shù)量,以及學習到上行口 D上的MAC地址做總數(shù)量,將該源MAC地址學習到各上行口上學習到的MAC地址總數(shù)量少的上行口上。同時,在MAC地址表項中查找解封裝后的報文的目的MAC地址,如果存在,獲得該目的MAC地址的出端口,并通過該查找到的出端口將所述報文轉(zhuǎn)發(fā);否則,將該報文通過上行口 F、上行口 E和上行口 D之外的上行口 C、下行口 A和下行口 B轉(zhuǎn)發(fā)。BEB設(shè)備501會周期性地向BEB設(shè)備502和BEB設(shè)備503發(fā)送連續(xù)性檢測報文,同時接收BEB設(shè)備502和BEB設(shè)備503發(fā)送的連續(xù)性檢測報文。在預設(shè)時間內(nèi)接收到BEB設(shè)備502從上行口 F發(fā)送的連續(xù)性檢測報文,則確定通過上行口 F與BEB設(shè)備502連接的路徑正常,同理,確定其他路徑是否正常。 當確定通過上行口 F與BEB設(shè)備502連接的路徑故障時,故障路徑上的上行口 F學習到MAC地址的數(shù)量為3,上行口 E上學習的MAC地址的數(shù)量為2,上行口 D上學習的MAC地址數(shù)量為3,則將通過上行口 F發(fā)送到BEB設(shè)備502的流量均衡切換到通過上行口 E和上行口 D發(fā)送,達到均衡的目的,應(yīng)該將學習到的3個MAC地址2個分配給上行口 E,I個分配給上行口 D。具體實現(xiàn)時可以根據(jù)學習到的MNAC地址的順序選擇分配,也可以根據(jù)設(shè)置端口的順序分配,這里不再詳細贅述。當檢測到BEB設(shè)備501和BEB設(shè)備502之間新增一條路徑,或故障的路徑恢復,以通過上行口 F與BEB設(shè)備502相連的路徑故障恢復為例,將上行口 E和上行口 D上的流量均衡地切換到上行口 F上,并更新對應(yīng)MAC地址的出端口。若統(tǒng)計上行口 E和上行口 D的學習到的MAC地址總數(shù)量分別為3,則將上行口 E上學習的I個MAC地址和上行口 D學習的I個MAC地址更新為出端口為上行口 F?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明具體實施例中還提出一種BEB設(shè)備,可應(yīng)用于PBBN中。參見圖6,圖6為本發(fā)明具體實施例中在PBBN中實現(xiàn)負載均衡的BEB設(shè)備的結(jié)構(gòu)示意圖。該BEB設(shè)備包括接收單元601,學習單元602和發(fā)送單元603。接收單元601,用于通過任一下行口接收報文;通過任一上行口接收報文;其中,所述下行口為自身所在BEB連接用戶網(wǎng)絡(luò)的端口,所述上行口為自身所在BEB設(shè)備連接所述PBBN的端口。學習單元602,用于當接收單元601通過任一下行口接收到報文時,將所述報文的源MAC地址學習到所述下行口 ;當接收單元601通過任一上行口接收到報文時,將自身所在BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口,將所述接收的報文進行MinM解封裝后的報文的源MAC地址學習到所述選擇的上行口。發(fā)送單元603,用于將接收單元601通過任一下行口接收到的報文,通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā);將接收單元601通過任一上行口接收到的報文,通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)。
較佳地,該BEB設(shè)備進一步包括查找單元604。查找單元604,用于當接收單元601通過任一下行口接收到報文時,根據(jù)所述接收的報文的目的MAC地址在本地MAC地址表中查找;用于當接收單元601通過任一上行口接收到報文時,將所述報文進行MinM解封裝,通過解封裝后的報文的目的MAC地址在所述MAC地址表中查找。發(fā)送單元603,用于查找單元604查找到所述接收報文的目的MCA地址對應(yīng)的出端口,則通過所述查找到的出端口將所述報文轉(zhuǎn)發(fā);否則,通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā);查找單元604查找到所述解封裝后的報文的目的MAC地址對應(yīng)的出端口時,將所述解封裝后的報文通過所述查找到的出端口進行轉(zhuǎn)發(fā);否則,通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)。 較佳地,該BEB設(shè)備進一步包括老化單元605 ;老化單元605,用于為本地MAC地址表中的各MAC地址對應(yīng)的MAC地址表項設(shè)置老化時間。學習單元602,進一步用于在老化單元605設(shè)置的老化時間到時,接收單元601未接收到用戶源MAC地址為本地MAC地址表中的MAC地址的報文時,將將所述MAC地址對應(yīng)的MAC地址表項老化。較佳地,查找單元604,進一步用于接收單元601通過任一下行口接收到報文時,在本地MAC地址表中查找所述報文的源MAC地址,若查找到,觸發(fā)學習單元602刷新對應(yīng)的MAC地址表項的老化時間的操作;接收單元601通過任一上行口接收到報文時,將所述報文進行MinM解封裝,并在本地MAC地址表中查找所述解封裝后的報文的源MAC地址;若查找到,觸發(fā)學習單元602刷新對應(yīng)的MAC地址表項的老化時間的操作;否則,觸發(fā)學習單元602執(zhí)行在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口的操作。較佳地,該BEB設(shè)備進一步包括確定單元606。發(fā)送單元603,進一步用于周期性的從各上行口發(fā)送連續(xù)性檢測報文。接收單元601,進一步用于接收其他BEB設(shè)備發(fā)送的連續(xù)性檢測報文。確定單元606,用于當接收單元601在預設(shè)時間內(nèi)通過任一上行口接收到其他BEB設(shè)備發(fā)送的連續(xù)性檢測報文,則確定通過所述接收連續(xù)性檢測報文的上行口與所述發(fā)來連續(xù)性檢測報文的BEB設(shè)備連接的路徑正常;否則確定所述路徑故障。較佳地,確定單元606,進一步用于當接收單元601從不同的上行口接收到同一 BEB設(shè)備發(fā)送的連續(xù)性檢測報文時,確定自身所在BEB設(shè)備分別通過所述不同的上行口與所述發(fā)送連續(xù)性檢測報文的BEB設(shè)備連接。較佳地,該BEB設(shè)備進一步包括處理單元607。處理單元607,用于當確定單元606確定自身所在BEB設(shè)備與其他BEB設(shè)備連接的一條路徑故障時,將該故障路徑上的流量均衡地切換到與所述其他BEB連接正常的鏈路上。
學習單元602,進一步用于處理單元607將該故障路徑上的流量均衡地切換到與所述其他BEB連接正常的鏈路上時,相應(yīng)地更新本地MAC地址表中本地MAC地址表中對應(yīng)MAC地址的出端口。較佳地, 處理單元607,進一步用于當確定單元606確定自身所在BEB設(shè)備與其他BEB設(shè)備連接的路徑新增一條時,將與所述其他BEB設(shè)備正常連接的路徑上的流量均衡地切換到該新增路徑上。學習單元602,進一步用于處理單元607將與所述其他BEB設(shè)備正常連接的路徑上 的流量均衡地切換到該新增路徑上時,相應(yīng)地更新本地MAC地址表中本地MAC地址表中對應(yīng)MAC地址的出端口。上述實施例的單元可以集成于一體,也可以分離部署;可以合并為一個單元,也可以進一步拆分成多個子單兀。綜上所述,本發(fā)明具體實施例在BEB設(shè)備通過上行口接收到報文,進行源MAC學習時,在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,將該源MAC地址學習到學習源MAC地址數(shù)量最少的上行口上,實現(xiàn)兩個BEB設(shè)備之間流量的負載分擔,避免端口流量過大造成的擁塞。本發(fā)明具體實施例中還通過發(fā)送接收連續(xù)性檢測報文,判斷路徑是否故障,當兩個BEB設(shè)備之間的某條路徑故障時,將故障路徑流量負載分擔到正常路徑上;當兩個BEB設(shè)備之間的路徑增加時,將其他路徑上的流量負載分擔到該新增路徑。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于運營商骨干橋接網(wǎng)PBBN的負載均衡方法,所述PBBN包括多個骨干網(wǎng)邊緣網(wǎng)橋BEB設(shè)備,其特征在于,所述方法包括 任一所述BEB設(shè)備通過任一下行口接收到報文時,將所述報文的源MAC地址學習到所述下行口,并通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā); 通過任一上行口接收到報文時,所述BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口,將所述接收的報文進行MinM解封裝后的報文的源MAC地址學習到所述選擇的上行口,并通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā); 其中,所述下行口為所述BEB連接用戶網(wǎng)絡(luò)的端口,所述上行口為所述BEB設(shè)備連接所述PBBN的端口。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于, 所述任一所述BEB設(shè)備通過任一下行口接收到報文之后,所述通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā)之前,所述方法進一步包括根據(jù)所述接收的報文的目的MAC地址在MAC地址表中查找,若查找到所述目的MCA地址對應(yīng)的出端口,則通過所述查找的出端口將所述報文轉(zhuǎn)發(fā);否則,執(zhí)行所述通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā)的操作及后續(xù)步驟; 所述通過任一上行口接收到報文之后,所述通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)之前,所述方法進一步包括將所述報文進行MinM解封裝,通過解封裝后的報文的目的MAC地址在所述MAC地址表中查找,若查找到所述目的MCA地址對應(yīng)的出端口,則將所述報文通過所述查找到的出端口進行轉(zhuǎn)發(fā);否則,執(zhí)行所述通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)及后續(xù)步驟。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法進一步包括為本地MAC地址表中的各MAC地址對應(yīng)的MAC地址表項設(shè)置老化時間,在老化時間到時,未接收到用戶源MAC地址為本地MAC地址表中的MAC地址的報文時,將所述MAC地址對應(yīng)的MAC地址表項老化。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述任一所述BEB設(shè)備通過任一下行口接收到報文之后,所述將所述報文的源MAC地址學習到所述下行口之前,所述方法進一步包括在本地MAC地址表中查找所述報文的源MAC地址,若查找到,則刷新對應(yīng)的MAC地址表項;否則,執(zhí)行所述將所述報文的源MAC地址學習到所述下行口的操作及后續(xù)步驟; 所述通過任一上行口接收到報文之后,所述BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口之前,所述方法進一步包括將所述報文進行MinM解封裝,并在本地MAC地址表中查找所述解封裝后的報文的源MAC地址,若查找到,刷新對應(yīng)的MAC地址表項;否則,執(zhí)行所述BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口的操作及后續(xù)步驟。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法進一步包括 所述BEB設(shè)備周期性的從各上行口發(fā)送連續(xù)性檢測報文,在預設(shè)時間內(nèi)通過任一上行口接收到其他BEB設(shè)備發(fā)送的連續(xù)性檢測報文,則確定通過所述接收連續(xù)性檢測報文的上行口與所述發(fā)來連續(xù)性檢測報文的BEB設(shè)備連接的路徑正常;否則確定所述路徑故障。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法進一步包括 當所述BEB設(shè)備從不同的上行口接收到同一 BEB設(shè)備發(fā)送的連續(xù)性檢測報文時,確定自身通過所述不同的上行口分別與所述發(fā)送連續(xù)性檢測報文的BEB設(shè)備連接。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述方法進一步包括 當所述BEB設(shè)備檢測到與其他BEB設(shè)備連接的一條路徑故障時,將該故障路徑上的流量均衡地切換到與所述其他BEB連接的正常的鏈路上,并相應(yīng)地更新本地MAC地址表中對應(yīng)MAC地址的出端口。
8.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述方法進一步包括 當所述BEB設(shè)備檢測到與其他BEB設(shè)備連接的路徑新增一條時,將與所述其他BEB設(shè)備正常連接的路徑上的流量均衡地切換到該新增路徑上,并相應(yīng)地更新本地MAC地址表中對應(yīng)MAC地址的出端口。
9.一種骨干網(wǎng)邊緣網(wǎng)橋BEB設(shè)備,可應(yīng)用于運營商骨干橋接網(wǎng)PBBN中,其特征在于,所述BEB設(shè)備包括接收單元,學習單元和發(fā)送單元; 所述接收單元,用于通過任一下行口接收報文;通過任一上行口接收報文;其中,所述下行口為自身所在BEB連接用戶網(wǎng)絡(luò)的端口,所述上行口為自身所在BEB設(shè)備連接所述PBBN的端口 ; 所述學習單元,用于當所述接收單元通過任一下行口接收到報文時,將所述報文的源MAC地址學習到所述下行口 ;當所述接收單元通過任一上行口接收到報文時,將自身所在BEB設(shè)備在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口,將所述接收的報文進行MinM解封裝后的報文的源MAC地址學習到所述選擇的上行口 ; 所述發(fā)送單元,用于將所述接收單元通過任一下行口接收到的報文,通過所述下行口之外的端口將所述接收的報文進行轉(zhuǎn)發(fā);將所述接收單元通過任一上行口接收到的報文,通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)。
10.根據(jù)權(quán)利要求9所述的BEB設(shè)備,其特征在于,所述BEB設(shè)備進一步包括查找單元; 所述查找單元,用于當所述接收單元通過任一下行口接收到報文時,根據(jù)所述接收的報文的目的MAC地址在本地MAC地址表中查找;用于當所述接收單元通過任一上行口接收到報文時,將所述報文進行MinM解封裝,通過解封裝后的報文的目的MAC地址在所述MAC地址表中查找; 所述發(fā)送單元,用于所述查找單元查找到所述接收報文的目的MCA地址對應(yīng)的出端口,則通過所述查找的出端口將所述接收到的報文轉(zhuǎn)發(fā);否則,通過所述下行口之外的端口將所述接收到的報文進行轉(zhuǎn)發(fā);所述查找單元查找到所述解封裝后的報文的目的MAC地址對應(yīng)的出端口時,將所述解封裝后的報文通過所述查找到的出端口進行轉(zhuǎn)發(fā);否則,通過接收報文的上行口以及與連接發(fā)送所述報文的BEB設(shè)備的其他上行口之外的端口將所述解封裝后的報文進行轉(zhuǎn)發(fā)。
11.根據(jù)權(quán)利要求9所述的BEB設(shè)備,其特征在于,所述BEB設(shè)備進一步包括老化單元; 所述老化單元,用于為本地MAC地址表中的各MAC地址對應(yīng)的MAC地址表項設(shè)置老化時間; 所述學習單元,進一步用于在所述老化單元設(shè)置的老化時間到時,所述接收單元未接收到用戶源MAC地址為本地MAC地址表中的MAC地址的報文時,將所述MAC地址對應(yīng)的MAC地址表項老化。
12.根據(jù)權(quán)利要求11所述的BEB設(shè)備,其特征在于, 所述查找單元,進一步用于所述接收單元通過任一下行口接收到報文時,在本地MAC地址表中查找所述報文的源MAC地址,若查找到,觸發(fā)所述學習單元刷新對應(yīng)的MAC地址表項的老化時間的操作;所述接收單元通過任一上行口接收到報文時,將所述報文進行MinM解封裝,并在本地MAC地址表中查找所述解封裝后的報文的源MAC地址;若查找到,觸發(fā)所述學習單元刷新對應(yīng)的MAC地址表項的老化時間的操作;否則,觸發(fā)所述學習單元執(zhí)行在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,選擇一個學習到用戶MAC地址數(shù)量最少的上行口的操作。
13.根據(jù)權(quán)利要求9所述的BEB設(shè)備,其特征在于,所述BEB設(shè)備進一步包括確定單元; 所述發(fā)送單元,進一步用于周期性的從各上行口發(fā)送連續(xù)性檢測報文; 所述接收單元,進一步用于接收其他BEB設(shè)備發(fā)送的連續(xù)性檢測報文; 所述確定單元,用于當所述接收單元在預設(shè)時間內(nèi)通過任一上行口接收到其他BEB設(shè)備發(fā)送的連續(xù)性檢測報文,則確定通過所述接收連續(xù)性檢測報文的上行口與所述發(fā)來連續(xù)性檢測報文的BEB設(shè)備連接的路徑正常;否則確定所述路徑故障。
14.根據(jù)權(quán)利要求13所述的BEB設(shè)備,其特征在于, 所述確定單元,進一步用于當所述接收單元從不同的上行口接收到同一 BEB設(shè)備發(fā)送的連續(xù)性檢測報文時,確定自身所在BEB設(shè)備分別通過所述不同的上行口與所述發(fā)送連續(xù)性檢測報文的BEB設(shè)備連接。
15.根據(jù)權(quán)利要求13或14所述的BEB設(shè)備,其特征在于,所述BEB設(shè)備進一步包括處理單元; 所述處理單元,用于當所述確定單元確定自身所在BEB設(shè)備與其他BEB設(shè)備連接的一條路徑故障時,將該故障路徑上的流量均衡地切換到與所述其他BEB連接正常的鏈路上; 所述學習單元,進一步用于所述處理單元將該故障路徑上的流量均衡地切換到與所述其他BEB連接正常的鏈路上時,相應(yīng)地更新本地MAC地址表中本地MAC地址表中對應(yīng)MAC地址的出端口。
16.根據(jù)權(quán)利要求15所述的BEB設(shè)備,其特征在于, 所述處理單元,進一步用于當所述確定單元確定自身所在BEB設(shè)備與其他BEB設(shè)備連接的路徑新增一條時,將與所述其他BEB設(shè)備正常連接的路徑上的流量均衡地切換到該新增路徑上; 所述學習單元,進一步用于所述處理單元將與所述其他BEB設(shè)備正常連接的路徑上的流量均衡地切換到該新增路徑上時,相應(yīng)地更新本地MAC地址表中對應(yīng)MAC地址的出端口。
全文摘要
本發(fā)明公開了一種基于運營商骨干橋接網(wǎng)的負載均衡方法,該方法包括BEB設(shè)備通過上行口接收到報文,進行源MAC學習時,在連接發(fā)送所述報文的BEB設(shè)備的各上行口中,將該源MAC地址學習到學習源MAC地址數(shù)量最少的上行口上,實現(xiàn)兩個BEB設(shè)備之間流量的負載分擔。基于同樣的發(fā)明構(gòu)思,本發(fā)明還提出一種BEB設(shè)備,能夠避免端口流量過大造成的擁塞。
文檔編號H04L12/46GK102710526SQ201210205209
公開日2012年10月3日 申請日期2012年6月20日 優(yōu)先權(quán)日2012年6月20日
發(fā)明者彭劍遠 申請人:杭州華三通信技術(shù)有限公司