Mac地址學(xué)習(xí)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及地址學(xué)習(xí)技術(shù),尤其涉及一種學(xué)習(xí)介質(zhì)訪問控制(Media AccessControl, MAC)地址學(xué)習(xí)方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,虛擬專用局域網(wǎng)(Virtual Private Lan Service,VPLS)為用戶網(wǎng)絡(luò)模擬了一個以太網(wǎng)橋,跟一個特定的VPLS服務(wù)關(guān)聯(lián)的每個運(yùn)營商路由器(Provider Edge, PE)設(shè)備都為該VPLS實(shí)例建立一個虛擬交換接口(Virtual Switch Interface,VSI),每個VSI維護(hù)一張介質(zhì)訪問控制(Media Access Control,MAC)地址表,并具有洪泛和轉(zhuǎn)發(fā)、MAC地址學(xué)習(xí)和老化的功能,以便實(shí)現(xiàn)報(bào)文的轉(zhuǎn)發(fā)。機(jī)架式PE設(shè)備一般有多塊的業(yè)務(wù)盤,在進(jìn)行VPLSMAC地址學(xué)習(xí)時(shí)PE的每個業(yè)務(wù)盤收到業(yè)務(wù)報(bào)文時(shí)就觸發(fā)MAC地址學(xué)習(xí),業(yè)務(wù)盤先將報(bào)文的SMAC, VS1、SVP和源槽位等信息保存到本盤的MAC地址表,為了保證反向流量的正確轉(zhuǎn)發(fā),入口業(yè)務(wù)盤還需要將該MAC地址廣播到VSI中的其他業(yè)務(wù)盤,其他業(yè)務(wù)盤收到MAC地址同步信息后再將對應(yīng)的MAC地址寫入到本盤的MAC地址表。
[0003]然而,其他業(yè)務(wù)盤的MAC地址學(xué)習(xí)是通過報(bào)文入口業(yè)務(wù)盤的MAC地址同步信息觸發(fā)的,這些同步信息會占用系統(tǒng)的帶內(nèi)通道,容易出現(xiàn)阻塞或丟包,當(dāng)出現(xiàn)同步信息丟失時(shí),入口業(yè)務(wù)盤無法進(jìn)行重傳,這樣就出現(xiàn)入口業(yè)務(wù)盤MAC地址表與VSI中其他業(yè)務(wù)盤MAC地址表不一致的情況,從而造成反向流量轉(zhuǎn)發(fā)錯誤,導(dǎo)致MAC地址學(xué)習(xí)不穩(wěn)定。MAC地址同步完成后所有業(yè)務(wù)盤的MAC地址表完全相同,而只有需要轉(zhuǎn)發(fā)反向流量的業(yè)務(wù)盤才需要保存入口業(yè)務(wù)盤學(xué)習(xí)的MAC地址,其他業(yè)務(wù)盤會保存一些無用的MAC地址,設(shè)備的MAC地址表容量僅相當(dāng)于一塊業(yè)務(wù)盤的MAC地址表容量,浪費(fèi)業(yè)務(wù)盤的硬件資源。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種能提高M(jìn)AC地址學(xué)習(xí)的穩(wěn)定性及MAC地址表容量的MAC地址學(xué)習(xí)方法及系統(tǒng)。
[0005]一種MAC地址學(xué)習(xí)方法,其用于在VPLS網(wǎng)絡(luò)中一個PE設(shè)備建立的VSI的各個VP所在業(yè)務(wù)盤之間收發(fā)報(bào)文時(shí)學(xué)習(xí)MAC地址,每個報(bào)文在一個入口業(yè)務(wù)盤與至少一個出口業(yè)務(wù)盤之間進(jìn)行收發(fā),所述MAC地址學(xué)習(xí)方法包括以下步驟:
[0006]報(bào)文的入口業(yè)務(wù)盤獲取所接收報(bào)文的VS1、SVP及源槽位信息并添加到所述報(bào)文信息中;
[0007]根據(jù)所述報(bào)文的DMAC將所述報(bào)文發(fā)送至所述至少一個出口業(yè)務(wù)盤;
[0008]報(bào)文的至少一個出口業(yè)務(wù)盤讀取所接收報(bào)文的VS1、SVP及源槽位信息;
[0009]判斷所述報(bào)文的SVP與所述至少一個出口業(yè)務(wù)盤的VP是否相同并在SVP與VP不相同時(shí)在所述至少一個出口業(yè)務(wù)盤的MAC地址表中查詢報(bào)文的SMAC ;
[0010]判斷是否查詢到報(bào)文的SMAC并在未查詢到時(shí)將報(bào)文的SMAC學(xué)習(xí)到所述至少一個出口業(yè)務(wù)盤的MAC地址表中;
[0011]根據(jù)所述報(bào)文的目的出口業(yè)務(wù)盤是否為所述至少一個出口業(yè)務(wù)盤來確定是否轉(zhuǎn)發(fā)所述報(bào)文。
[0012]一種MAC地址學(xué)習(xí)系統(tǒng),其用于在VPLS網(wǎng)絡(luò)中一個PE設(shè)備建立的VSI的各個VP所在的各業(yè)務(wù)盤之間收發(fā)報(bào)文時(shí)學(xué)習(xí)MAC地址,每個報(bào)文在一個入口業(yè)務(wù)盤與至少一個出口業(yè)務(wù)盤之間進(jìn)行收發(fā),所述MAC地址學(xué)習(xí)系統(tǒng)包括一個添加模塊、一個發(fā)送判斷模塊、一個讀取模塊、一個端口判斷模塊、一個MAC學(xué)習(xí)模塊及一個出口盤判斷模塊。所述添加模塊用于在報(bào)文的入口業(yè)務(wù)盤獲取所接收報(bào)文的VS1、SVP及源槽位信息并添加到所述報(bào)文信息中,所述發(fā)送判斷模塊用于判斷所述報(bào)文的DMAC并根據(jù)判斷結(jié)果將述報(bào)文發(fā)送至所述至少一個出口業(yè)務(wù)盤,所述讀取模塊用于在報(bào)文的至少一個出口業(yè)務(wù)盤讀取所接收報(bào)文的VSI, SVP及源槽位信息,所述端口判斷模塊用于判斷所述報(bào)文的SVP與所述至少一個出口業(yè)務(wù)盤的VP是否相同并在SVP與VP不相同時(shí)在所述至少一個出口業(yè)務(wù)盤的MAC地址表中查詢報(bào)文的SMAC,所述MAC學(xué)習(xí)模塊判斷是否查詢到報(bào)文的SMAC并在未查詢到時(shí)將報(bào)文的SMAC學(xué)習(xí)到所述至少一個出口業(yè)務(wù)盤的MAC地址表中,所述出口盤判斷模塊用于判斷所述報(bào)文的目的出口業(yè)務(wù)盤是否為所述至少一個出口業(yè)務(wù)盤并根據(jù)判斷結(jié)果來確定是否轉(zhuǎn)發(fā)所述報(bào)文。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明提供的MAC地址學(xué)習(xí)方法及系統(tǒng)中,MAC地址的學(xué)習(xí)在報(bào)文相對應(yīng)的出口業(yè)務(wù)盤進(jìn)行,出口業(yè)務(wù)盤的MAC地址學(xué)習(xí)是通過業(yè)務(wù)流量觸發(fā)的,只要業(yè)務(wù)盤有流量經(jīng)過MAC地址就有機(jī)會被學(xué)習(xí)到,不存在MAC地址同步信息丟失的問題,提高了MAC地址學(xué)習(xí)的可靠性,同時(shí)每個業(yè)務(wù)盤的MAC地址表保存的都是本盤轉(zhuǎn)發(fā)反向流量時(shí)需要使用的MAC地址,系統(tǒng)的MAC地址表容量相當(dāng)于所有業(yè)務(wù)盤MAC地址表容量之和,提高了整個設(shè)備的MAC地址表容量,避免浪費(fèi)業(yè)務(wù)盤硬件資源。
【附圖說明】
[0014]圖1是本發(fā)明提供的MAC地址學(xué)習(xí)系統(tǒng)的模塊示意圖。
[0015]圖2是本發(fā)明提供的MAC地址學(xué)習(xí)方法的流程圖。
[0016]圖3是報(bào)文在入口業(yè)務(wù)盤的MAC地址學(xué)習(xí)方法的流程圖。
[0017]圖4是報(bào)文在出口業(yè)務(wù)盤的MAC地址學(xué)習(xí)方法的流程圖。
[0018]主要元件符號說明
[0019]MAC地址學(xué)習(xí)系統(tǒng)100
[0020]添加模塊110
[0021]報(bào)文類型判斷模塊111
[0022]發(fā)送判斷模塊120
[0023]判斷單元122
[0024]洪泛單元124
[0025]第一目的地址查詢單元125
[0026]第一更新單元126
[0027]讀取模塊140
[0028]端口判斷模塊160
[0029]端口判斷單元162
[0030]源地址查詢單元164
[0031]槽位判斷單元166
[0032]第二目的地址查詢單元168
[0033]MAC學(xué)習(xí)模塊180
[0034]地址學(xué)習(xí)單元182
[0035]源地址判斷單元184
[0036]第二更新單元186
[0037]地址迀移同步單元188
[0038]出口盤判斷模塊190
[0039]如下【具體實(shí)施方式】將結(jié)合上述附圖進(jìn)一步說明本發(fā)明。
【具體實(shí)施方式】
[0040]請參閱圖1,其為本發(fā)明實(shí)施方式提供的一種MAC地址學(xué)習(xí)系統(tǒng)100,其用于在虛擬專用局域網(wǎng)(Virtual Private Lan Service,VPLS)網(wǎng)絡(luò)中一個運(yùn)營商路由器(ProviderEdge, PE)設(shè)備建立的虛擬交換接口 (Virtual Switch Interface,VSI)的虛端口 (visualport,VP)下各業(yè)務(wù)盤之間收發(fā)報(bào)文時(shí)學(xué)習(xí)介質(zhì)訪問控制(Media Access ControI,MAC)地址,各VP下的業(yè)務(wù)盤根據(jù)所接收報(bào)文的不同既可以作為入口業(yè)務(wù)盤來處理所接收的報(bào)文,也可以作為出口業(yè)務(wù)盤來處理所接收的報(bào)文,每個報(bào)文在一個入口業(yè)務(wù)盤與至少一個出口業(yè)務(wù)盤之間進(jìn)行收發(fā)。本實(shí)施方式中,一個VSIl下設(shè)置兩個VP (VPl、VP2),VPl下設(shè)置一個業(yè)務(wù)盤A,VP2下設(shè)置一個業(yè)務(wù)盤BI及一個業(yè)務(wù)盤B2。
[0041]所述MAC地址學(xué)習(xí)系統(tǒng)100包括一個添加模塊110、一個發(fā)送判斷模塊120、一個讀取模塊140、一個端口判斷模塊160、一個MAC學(xué)習(xí)模塊180及一個出口盤判斷模塊190。
[0042]所述添加模塊110用于在報(bào)文的入口業(yè)務(wù)盤獲取所接收報(bào)文的VS1、源VP (以下簡稱SVP)及源槽位信息并添加到所述報(bào)文信息中,本實(shí)施方式中,各業(yè)務(wù)盤在初始狀態(tài)時(shí),源MAC (以下簡稱SMAC)地址為macA,目的MAC (以下簡稱DMAC)為macB的報(bào)文從入口業(yè)務(wù)盤A發(fā)到出口業(yè)務(wù)盤BI,即報(bào)文從VPl發(fā)送至VP2下的BI槽位,其中,報(bào)文的VSI為VSIl,報(bào)文的SVP為VPl,報(bào)文的源槽位為A盤。
[0043]所述發(fā)送判斷模塊120包括一個判斷單元122、一個洪泛單元124、一個第一目的地址查詢單元125及一個第一更新單元126。
[0044]所述判斷單元122用于判斷所接收報(bào)文的DMAC來確定發(fā)送方式,其中,報(bào)文的發(fā)送方式包括廣播、單播及組播三種。所述洪泛單元124用于在所述發(fā)送判斷單元122判斷所述報(bào)文為廣播的發(fā)送方式時(shí)將所述報(bào)文洪泛到VSIl下的其他業(yè)務(wù)盤,本實(shí)施方式中,報(bào)文為廣播時(shí)洪泛單元124將洪泛到業(yè)務(wù)盤BI及業(yè)務(wù)盤B2。所述第一目的地址查詢單元125在報(bào)文不是廣播發(fā)送方式時(shí)用報(bào)文的VSI與報(bào)文的DMAC作為關(guān)鍵字在入口業(yè)務(wù)盤A的MAC地址表中查詢是否存在報(bào)文的DMAC地址。
[0045]可以理解的是,本實(shí)施方式中,第一目的地址查詢單元125根據(jù)報(bào)文的VSI與報(bào)文的DMAC在入口業(yè)務(wù)盤的MAC地址表中查到的是DMAC與VP的對應(yīng)關(guān)系,即查詢VSIl的其他VP是否收到過從地址macB發(fā)送的報(bào)文