專利名稱:一種報文轉(zhuǎn)發(fā)方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種報文轉(zhuǎn)發(fā)方法、裝置和系統(tǒng)。
背景技術(shù):
根據(jù)IEEE802. 3標(biāo)準(zhǔn)規(guī)定,在一個標(biāo)準(zhǔn)的以太網(wǎng)媒體訪問控制MAC幀中,有目的 MAC地址和源MAC地址,長度都是6個字節(jié),目的MAC地址用以標(biāo)識以太網(wǎng)幀要被送往的物 理設(shè)備,源MAC地址用以標(biāo)識發(fā)出以太網(wǎng)幀的物理設(shè)備。目的MAC地址的第一個bit位(第 一個字節(jié)的最低bit位)表示目的MAC地址是單播地址還是組播地址,如果是0,表示單播 地址;如果是1,表示組播地址;如果目的MAC地址所述bit位全為1,則表示廣播MAC地址, 帶有廣播MAC地址的以太網(wǎng)MAC幀會被轉(zhuǎn)發(fā)到對應(yīng)網(wǎng)絡(luò)的所有物理設(shè)備。當(dāng)收到以太網(wǎng)MAC幀后,設(shè)備會增加相應(yīng)的轉(zhuǎn)發(fā)表項,將以太網(wǎng)MAC幀的源MAC地 址、虛擬局域網(wǎng)標(biāo)識VLAN ID和輸入端口號記錄下來,這叫做MAC地址的學(xué)習(xí)。相同的設(shè)備為了擴展端口或帶寬,會連接起來作為一個設(shè)備來使用,這叫做級連, 級連設(shè)備之間進(jìn)行連接的端口叫做級連端口或互連端口。IEEE 802. 3ad規(guī)定了鏈路聚合的實現(xiàn)方式,兩個或多個物理端口綁定到一起作為 一個邏輯端口來使用,起到負(fù)荷分擔(dān)和鏈路保護(hù)的作用,這個邏輯端口稱為鏈路聚合組。負(fù) 荷分擔(dān)是指根據(jù)特定的聚合選路算法,如根據(jù)報文中的目的MAC地址或源MAC地址,將報 文從鏈路聚合組中的不同物理端口發(fā)送出去。鏈路保護(hù)是指當(dāng)鏈路聚合組中的某個物理 端口出現(xiàn)故障時,本來從這個物理端口轉(zhuǎn)發(fā)出去的報文,可以自動選擇從鏈路聚合組中的 其它物理端口轉(zhuǎn)發(fā)出去。對于多個設(shè)備級連,或?qū)τ谕辉O(shè)備上單板之間互連,如圖1所示,包括第一單 板100,第二單板110以及交換板120,其中,第一單板100包括輸入端口 portl、輸出端口 port3以及級連端口 port22,第二單板110包括port4,其中,port22用于連接第二單板110 實現(xiàn)第一單板100和第二單板110之間的級連,port3和port4聚合。第一單板100通過 portl接收交換板120的以太網(wǎng)MAC幀后,由于port3和port聚合,根據(jù)聚合算法,第一單 板100可能會選擇port3來轉(zhuǎn)發(fā)收到的以太網(wǎng)MAC幀,這樣第二單板110學(xué)習(xí)不到以太網(wǎng) MAC幀的源MAC地址,這樣,當(dāng)?shù)诙伟?10通過port4收到發(fā)送給交換板120的以太網(wǎng)MAC 幀后,會一直進(jìn)行廣播。為解決這個問題,需要進(jìn)行MAC地址的同步,目前常用的做法是,使 用CPU進(jìn)行MAC地址同步,即第一單板100上的CPU定時讀取MAC地址表中所有MAC地址, 將這些MAC地址封裝在以太網(wǎng)MAC幀的數(shù)據(jù)段中,發(fā)送給第二單板110,第二單板110收到 這個以太網(wǎng)報文后,從以太網(wǎng)MAC幀的數(shù)據(jù)段中讀取需要同步的MAC地址,將這些MAC地址 配置到本單板的MAC地址表中。然而在使用CPU進(jìn)行MAC地址的同步時,由于MAC地址的數(shù)量通常比較大,一般在 16k以上,這要占用大量的CPU資源,影響CPU的處理性能,同時,CPU是按照一定周期進(jìn)行 MAC地址的同步,同步不及時,可能會導(dǎo)致在一定時間內(nèi),數(shù)據(jù)報文進(jìn)行廣播,影響網(wǎng)絡(luò)的處 理性能。
發(fā)明內(nèi)容
本發(fā)明公開一種報文轉(zhuǎn)發(fā)方法、裝置和系統(tǒng),用以解決跨板鏈路聚合單板/設(shè)備 或者級連單板/設(shè)備之間的MAC地址的同步問題。本發(fā)明的一個實施例提供一種報文轉(zhuǎn)發(fā)方法,包括步驟接收來自交換板的報文; 獲取所述報文的輸入端口號,根據(jù)輸入端口號查詢存儲有輸入端口號與輸出端口 號或級連端口號的對應(yīng)關(guān)系的轉(zhuǎn)發(fā)策略表,獲取所述輸入端口號對應(yīng)的輸出端口號和級連 端口號;通過級連端口號對應(yīng)的端口將所述報文轉(zhuǎn)發(fā)給級連單板,以使所述級連單板對所 述報文的源MAC地址進(jìn)行學(xué)習(xí)。本發(fā)明的一個實施例提供一種單板,包括存儲單元,用于存儲轉(zhuǎn)發(fā)策略表,所述轉(zhuǎn)發(fā)策略表存儲有輸入端口號與輸出端口 號或級連端口號的對應(yīng)關(guān)系;接收單元,用于接收來自交換板的報文,獲取所述報文的輸入端口號;處理單元,根據(jù)所述輸入端口號查詢轉(zhuǎn)發(fā)策略表,獲取所述輸入端口對應(yīng)的輸出 端口號和級連端口號;發(fā)送單元,通過級連端口號對應(yīng)的端口將所述報文轉(zhuǎn)發(fā)給級連單板,以使所述級 連單板對所述報文的源MAC地址進(jìn)行學(xué)習(xí)。本發(fā)明的一個實施例提供一種報文轉(zhuǎn)發(fā)系統(tǒng),包括第一單板和第二單板,第一單板包含轉(zhuǎn)發(fā)策略表,所述轉(zhuǎn)發(fā)策略表存儲有輸 入端口號與輸出端口號或級連端口號的對應(yīng)關(guān)系,第一單板,收到來自交換板的報文后,獲取報文的輸入端口號,根據(jù)輸入端口號 查詢轉(zhuǎn)發(fā)策略表,獲取所述輸入端口號對應(yīng)的輸出端口號和級連端口號,通過級連端口號 對應(yīng)的端口將所述報文轉(zhuǎn)發(fā)給第二單板,以使得第二單板對所述報文的源MAC地址進(jìn)行學(xué) 習(xí)。本發(fā)明的實施例提供的方法、裝置和系統(tǒng)具有以下優(yōu)點或者有益效果單板/設(shè) 備在獲取報文后根據(jù)轉(zhuǎn)發(fā)策略將報文轉(zhuǎn)發(fā)給級連單板或者跨板鏈路聚合單板,這個過程不 影響CPU的執(zhí)行效率,也不需要將整個MAC地址表的內(nèi)容進(jìn)行同步。
圖1為現(xiàn)有的單板聚合示意圖;圖2為本發(fā)明提供的報文轉(zhuǎn)發(fā)方法流程圖;圖3為本發(fā)明提供的單板結(jié)構(gòu)示意圖;圖4為本發(fā)明提供的報文轉(zhuǎn)發(fā)系統(tǒng)示意圖。
具體實施例方式下面將結(jié)合附圖對本發(fā)明進(jìn)行清楚、完整的說明本發(fā)明第一個實施例提供一種報文轉(zhuǎn)發(fā)方法,該方法涉及第一單板和第二單板,其中,第一單板和第二單板可以屬于同一個設(shè)備,也可以屬于不同的級連設(shè)備,第一單板和 第二單板可以通過802. 3ad協(xié)議聚合或者級連。具體的步驟如圖2所示,包括步驟200,第一單板接收報文(以太網(wǎng)報文或者其他以太網(wǎng)MAC幀)后,從報文中 獲取源MAC地址,根據(jù)源MAC地址查詢MAC地址表,執(zhí)行步驟205。步驟205,如果MAC地址表中有記錄且對應(yīng)的端口號與輸入端口號一致,則執(zhí)行步 驟220 ;否則,對源MAC地址進(jìn)行學(xué)習(xí),執(zhí)行步驟210。其中,對源MAC地址進(jìn)行學(xué)習(xí)包括(1)如果MAC地址表中不存在源MAC地址,則把源MAC地址、虛擬局域網(wǎng)標(biāo)識VLAN ID、輸入端口號作為一個表項添加到MAC地址表中;(2)如果MAC地址表中存在源MAC地址,但是對應(yīng)的端口號與輸入端口號不相同, 則將MAC地址表中源MAC地址對應(yīng)的端口號更新為輸入端口號。步驟210,根據(jù)輸入端口號查詢轉(zhuǎn)發(fā)策略表獲取輸入端口號的控制標(biāo)識。轉(zhuǎn)發(fā)策略表可以是一個單獨的表,也可以嵌套于其它表中,用于反映輸入端口號 與輸出端口號、級連端口號的對應(yīng)關(guān)系,轉(zhuǎn)發(fā)策略表的結(jié)構(gòu)如表1所示,本領(lǐng)域普通技術(shù)人 員可以得知,級連端口可以在級連單板之間互相傳輸報文,因此,當(dāng)級連端口接收報文時, 相當(dāng)于輸入端口 ;當(dāng)級連端口發(fā)送報文時,則相當(dāng)于輸出端口。在表1中,報文輸入端口位 圖可以包括單板上的級連端口,報文輸出端口位圖也可以包括單板上的級連端口,表 1
報文輸入端口位圖 VLAN內(nèi)廣播使能/禁止 報文輸出端口位圖表中字段分別描述如下(1)報文輸入端口位圖表示對從哪些端口進(jìn)入的報文進(jìn)行轉(zhuǎn)發(fā)控制,范圍是單 板上的所有端口,每個端口占用一個bit位。如果一個端口對應(yīng)的bit位為真,則表示要對 從這個端口進(jìn)入的報文進(jìn)行控制,如果對應(yīng)的bit位為假,則不控制,可以同時對多個端口 有效,以下實施例中,bit位為真以“1”表示,bit位為假以“0”表示。(2) VLAN內(nèi)廣播使能/禁止是否需要發(fā)送到當(dāng)前VLAN的所有端口,如果為真,則 報文輸出端口位圖無效,VLAN內(nèi)廣播使能/禁止優(yōu)選取值VLAN內(nèi)廣播使能時為真,取值 VLAN內(nèi)廣播禁止時為假。(3)報文輸出端口位圖當(dāng)VLAN內(nèi)廣播使能/禁止為假時,該字段指定轉(zhuǎn)發(fā)報文 的端口號,范圍是單板上的所有端口,每個端口占用一個bit位。如果一個端口對應(yīng)的bit 位置1,則表示報文要從這個端口轉(zhuǎn)發(fā)出去,可以指定報文從一個或多個端口轉(zhuǎn)發(fā)出去。步驟215,根據(jù)輸入端口號查詢轉(zhuǎn)發(fā)策略表中的報文輸入端口位圖,獲取所述輸入 端口的控制標(biāo)識,如果對應(yīng)的bit位為“ 1 ”,說明該輸入端口需要進(jìn)行控制,執(zhí)行步驟230 ; 如果對應(yīng)的bit位為“0”,則說明該輸入端口不需要控制,執(zhí)行步驟220。步驟220,根據(jù)目的MAC地址查詢MAC地址表獲取發(fā)送報文的端口號。提取報文中的目的MAC地址,根據(jù)目的MAC地址查詢MAC地址表,從MAC地址表中 獲取與目的MAC地址對應(yīng)的端口號,作為輸出端口號,執(zhí)行步驟250。步驟230,根據(jù)輸入端口號查詢轉(zhuǎn)發(fā)策略表中獲取對應(yīng)端口號作為發(fā)送報文的端口號。獲取轉(zhuǎn)發(fā)策略表中與輸入端口號對應(yīng)的VLAN內(nèi)廣播使能/禁止的值,如果VLAN 內(nèi)廣播使能/禁止為真,則查詢VLAN表,獲取VLAN內(nèi)所有的端口號,作為發(fā)送報文的端口 號;如果VLAN內(nèi)廣播使能/禁止標(biāo)識為假,則獲取轉(zhuǎn)發(fā)策略表中對應(yīng)的輸出端口位圖字段 中的端口號,作為發(fā)送報文的端口號。步驟235,發(fā)送報文的端口號包括級連端口號和/或輸出端口號,如果是級連端口 號,則執(zhí)行步驟240 ;如果是輸出端口號,則執(zhí)行步驟250。步驟240,將報文通過級連端口號對應(yīng)的端口發(fā)送出去。如果發(fā)送報文的端口號為級連端口號,則將報文通過級連端口號對應(yīng)的端口發(fā)送 給第二單板,以使得第二單板收到報文以后,對報文中的源MAC地址進(jìn)行學(xué)習(xí),這樣,第二 單板上的MAC地址表中的內(nèi)容可以和第一單板上的MAC地址表中的內(nèi)容保持同步。步驟250,根據(jù)輸出端口號發(fā)送報文。如果輸出端口號屬于聚合組中的端口號,則根據(jù)設(shè)定的聚合算法從聚合組中選擇 至少一個端口發(fā)送報文,或者進(jìn)行VLAN切換、三層轉(zhuǎn)發(fā)等,具體可參照現(xiàn)有流程;如果輸出端口號不屬于聚合組,則將報文從輸出端口號對應(yīng)的端口發(fā)送出去,或 者進(jìn)行VLAN切換或三層轉(zhuǎn)發(fā)等。在如何根據(jù)轉(zhuǎn)發(fā)策略表選擇發(fā)送報文的端口的一個實施例中,如圖1所示,第一 單板200從portl接收報文,查詢第一單板200上的轉(zhuǎn)發(fā)策略表,如果portl對應(yīng)的VLAN 內(nèi)廣播使能/禁止為假,需要根據(jù)轉(zhuǎn)發(fā)策略表中的輸出端口位圖獲取發(fā)送報文的輸出端口號。轉(zhuǎn)發(fā)策略表示意圖可以如表2所示,本領(lǐng)域普通技術(shù)人員可以得知,實際上,輸入 端口位圖字段中portl和port22對應(yīng)的bit位優(yōu)選為“ 1”,對應(yīng)的輸出端口位圖中,port3 和port22對應(yīng)的bit位優(yōu)選為“ 1,,。表2 表中所表示的為從portl和port22接收的報文需要通過port22和port3發(fā)送 出去,其中,從port22收到的報文不需要發(fā)送給port22。因此,通過查詢轉(zhuǎn)發(fā)策略表可知, 從portl收到的報文需要發(fā)送到port22和port3,通過查詢MAC地址表得知port22為級 連端口號,因此,報文會通過port22發(fā)送給第二單板210,以便于第二單板210對報文中的 源MAC地址進(jìn)行學(xué)習(xí)。port3和port4被設(shè)置為聚合,因此,第一單板200會根據(jù)聚合算法 從port3和port4中選擇一個將報文發(fā)送出去,如何根據(jù)聚合算法選擇端口發(fā)送報文可參 照現(xiàn)有流程。本實施例提供的報文發(fā)送方法,實現(xiàn)級連單板之間的MAC地址同步,可以解決由 于多個單板的端口進(jìn)行聚合,根據(jù)聚合算法,在發(fā)送報文時會選擇一個單板上的端口發(fā)送 報文,導(dǎo)致其它級連單板學(xué)習(xí)不到源MAC地址,MAC地址不能同步的問題。如果報文是從級 連端口進(jìn)入的,在進(jìn)行MAC地址學(xué)習(xí)時,在MAC地址表中給源MAC地址設(shè)置一個級連標(biāo)記, 單板在MAC地址老化周期到了以后,讀取沒有級連標(biāo)記的MAC地址,將這些MAC地址通知其它級連單板,其它級連單板同步刪除這些MAC地址。本實施例通過設(shè)定轉(zhuǎn)發(fā)策略,根據(jù)轉(zhuǎn)發(fā)策略將報文通過級連端口轉(zhuǎn)發(fā)給級連單板 /級連設(shè)備,實現(xiàn)MAC地址同步,不影響已有的轉(zhuǎn)發(fā)流程,不影響CPU的處理性能。本發(fā)明第二個實施例提供一種單板,如圖3所示,單板300包括接收單元301、發(fā)送 單元302、處理單元303和存儲單元304,存儲單元304存儲轉(zhuǎn)發(fā)策略表,所述轉(zhuǎn)發(fā)策略表用于存儲輸入端口號與輸出端口 號、級連端口號的對應(yīng)關(guān)系,包括報文輸入端口位圖、虛擬局域網(wǎng)內(nèi)廣播使能/禁止和報文 輸出端口位圖,其中,報文輸入端口位圖用于存儲單板上的端口的控制標(biāo)識,當(dāng)端口號對應(yīng) 的控制標(biāo)識為真時,表明該端口號對應(yīng)端口需要進(jìn)行轉(zhuǎn)發(fā)控制。存儲單元304還用于存儲MAC地址表,MAC地址表如表3所示表3 接收單元301,接收來自交換板的報文;處理單元303,從接收單元301接收的報文中獲取源MAC地址,根據(jù)源MAC地址查 詢MAC地址表,如果沒有找到相同項,則將源MAC地址添加到MAC地址表中;根據(jù)輸入端口號查詢轉(zhuǎn)發(fā)策略表中的輸入端口位圖,獲取轉(zhuǎn)發(fā)策略表中與輸入端 口號對應(yīng)的VLAN內(nèi)廣播使能/禁止的值,如果VLAN內(nèi)廣播使能/禁止為真,則查詢VLAN 表,獲取VLAN內(nèi)所有的端口號,作為發(fā)送報文的端口號;如果VLAN內(nèi)廣播使能/禁止標(biāo)識 為假,則獲取轉(zhuǎn)發(fā)策略表中對應(yīng)的輸出端口位圖字段中的端口號,作為發(fā)送報文的端口號。發(fā)送單元302,根據(jù)處理單元303獲取的發(fā)送報文的端口號發(fā)送所述報文。處理單元303獲取的發(fā)送報文的端口號包括級連端口號和輸出端口號,如果是級 連端口號,發(fā)送單元302將報文通過級連端口號對應(yīng)的級連端口發(fā)送給級連單板。處理單元303還需要判斷輸出端口號是否屬于聚合組的端口號,如果輸出端口號 屬于聚合組中的端口號,則根據(jù)設(shè)定的聚合算法從聚合組中選擇至少一個端口,之后,通知 發(fā)送單元302從該端口發(fā)送報文,或者進(jìn)行VLAN切換、三層轉(zhuǎn)發(fā)等;如果輸出端口不屬于聚 合組,則通知發(fā)送單元302將報文從輸出端口號對應(yīng)的端口發(fā)送出去,或者進(jìn)行VLAN切換、 三層轉(zhuǎn)發(fā)等,具體可參照現(xiàn)有流程。本實施例提供的單板可以用在通信設(shè)備中,通信設(shè)備可以是數(shù)字用戶線接入復(fù)用 器DSLAM、光線路終端0LT、光網(wǎng)絡(luò)單元0NU、交換機等。本實施例提供的單板在收到報文時,查詢轉(zhuǎn)發(fā)策略表,根據(jù)輸入端口號與輸出端 口號、級連端口號的對應(yīng)關(guān)系發(fā)送報文,獲取輸入端口號對應(yīng)的級連端口,通過級連端口將 報文發(fā)送給級連設(shè)備,從而實現(xiàn)MAC地址的同步。本發(fā)明第三個實施例提供一種報文轉(zhuǎn)發(fā)系統(tǒng),包括第一單板100和第二單板110, 第一單板100和第二單板110可以是一個通信設(shè)備中的兩個單板,也可以屬于兩個不同的 通信設(shè)備,第一單板100和第二單板110通過級連端口相連。第一單板100上包括轉(zhuǎn)發(fā)策略表,轉(zhuǎn)發(fā)策略表用于存儲輸入端口號與輸出端口 號、級連端口號的對應(yīng)關(guān)系,結(jié)構(gòu)如表1所示。
第一單板100收到來自交換板的報文后,獲取報文的輸入端口號,根據(jù)輸入端口 號查詢轉(zhuǎn)發(fā)策略表,獲取所述輸入端口號對應(yīng)的輸出端口號和級連端口號,從轉(zhuǎn)發(fā)策略表 中獲取級連端口和輸出端口號的過程,可參照第一個實施例。第一單板100通過級連端口號對應(yīng)的端口將所述報文轉(zhuǎn)發(fā)給第二單板110,以使 得第二單板110對所述報文的源MAC地址進(jìn)行學(xué)習(xí)。如果獲取的輸出端口號屬于聚合組端口號,第一單板100則根據(jù)聚合算法從聚合 組中選擇至少一個端口發(fā)送所述報文、或者進(jìn)行VLAN切換、三層轉(zhuǎn)發(fā)等,具體過程可參照 現(xiàn)有流程;如果所述輸出端口號不屬于聚合組中的端口號,第一單板100通過輸出端口號對 應(yīng)的端口發(fā)送報文、或者進(jìn)行VLAN切換、三層轉(zhuǎn)發(fā)等。本實施例提供的報文轉(zhuǎn)發(fā)系統(tǒng)根據(jù)設(shè)定轉(zhuǎn)發(fā)策略來轉(zhuǎn)發(fā)報文,轉(zhuǎn)發(fā)策略反映輸入 端口號與輸出端口號、級連端口號的對應(yīng)關(guān)系,根據(jù)輸入端口號查詢到對應(yīng)的級連端口號, 則將報文從對應(yīng)的級連端口發(fā)送出去,這樣可以使得級連設(shè)備也能學(xué)習(xí)到報文中的源MAC 地址,從而實現(xiàn)級連設(shè)備之間的MAC地址同步,而不需要將MAC地址表中的所有MAC地址全 部封裝發(fā)送給級連設(shè)備來實現(xiàn)MAC地址的同步。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲 介質(zhì)可以包括ROM、RAM、磁盤或光盤等。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型。這樣,倘若本發(fā)明的 這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些 改動和變型在內(nèi)。
權(quán)利要求
一種報文轉(zhuǎn)發(fā)方法,其特征在于,包括步驟接收來自交換板的報文;獲取所述報文的輸入端口號,根據(jù)輸入端口號查詢存儲有輸入端口號與輸出端口號或級連端口號的對應(yīng)關(guān)系的轉(zhuǎn)發(fā)策略表,獲取所述輸入端口號對應(yīng)的輸出端口號和級連端口號;通過級連端口號對應(yīng)的端口將所述報文轉(zhuǎn)發(fā)給級連單板,以使所述級連單板對所述報文的源MAC地址進(jìn)行學(xué)習(xí)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述轉(zhuǎn)發(fā)策略表包括報文輸入端口位圖、 虛擬局域網(wǎng)內(nèi)廣播使能/禁止和報文輸出端口位圖,所述報文輸入端口位圖存儲有所述輸 入端口號,所述報文輸出端口位圖存儲有所述輸入端口號對應(yīng)的輸出端口號和級連端口 號。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)輸入端口號查詢存儲有輸入端 口號與輸出端口號與級連端口號的對應(yīng)關(guān)系的轉(zhuǎn)發(fā)策略表,獲取所述輸入端口號對應(yīng)的輸 出端口號和級連端口號具體包括根據(jù)輸入端口號查詢報文輸入端口位圖,獲取所述輸入端口號的控制標(biāo)識;如果所述輸入端口號的控制標(biāo)識為真,對應(yīng)的虛擬局域網(wǎng)內(nèi)廣播使能/禁止為真,則 獲取所述報文中的虛擬局域網(wǎng)標(biāo)識,根據(jù)所述虛擬局域網(wǎng)標(biāo)識查詢虛擬局域網(wǎng)表,獲取對 應(yīng)的輸出端口號和級連端口號;如果所述輸入端口號的控制標(biāo)識為真,對應(yīng)的虛擬局域網(wǎng)內(nèi)廣播使能/禁止為假,則 查詢對應(yīng)的報文輸出端口位圖,獲取對應(yīng)的輸出端口號和級連端口號。
4.根據(jù)權(quán)利要求1-3任一項所述的方法,其特征在于,所述報文轉(zhuǎn)發(fā)方法還包括如果所述輸出端口號屬于聚合組中的端口號,則根據(jù)聚合算法從聚合組中選擇至少一 個端口發(fā)送所述報文、或者進(jìn)行虛擬局域網(wǎng)切換或三層轉(zhuǎn)發(fā);如果所述輸出端口號不屬于聚合組中的端口號,則通過所述輸出端口號對應(yīng)的端口發(fā) 送所述報文、或者進(jìn)行虛擬局域網(wǎng)切換或三層轉(zhuǎn)發(fā)。
5.一種單板,其特征在于,包括存儲單元,用于存儲轉(zhuǎn)發(fā)策略表,所述轉(zhuǎn)發(fā)策略表存儲有輸入端口號與輸出端口號或 級連端口號的對應(yīng)關(guān)系;接收單元,用于接收來自交換板的報文,獲取所述報文的輸入端口號;處理單元,根據(jù)所述輸入端口號查詢轉(zhuǎn)發(fā)策略表,獲取所述輸入端口對應(yīng)的輸出端口 號和級連端口號;發(fā)送單元,通過級連端口號對應(yīng)的端口將所述報文轉(zhuǎn)發(fā)給級連單板,以使所述級連單 板對所述報文的源MAC地址進(jìn)行學(xué)習(xí)。
6.根據(jù)權(quán)利要求5所述的單板,其特征在于,所述轉(zhuǎn)發(fā)策略表包括報文輸入端口位圖、 虛擬局域網(wǎng)內(nèi)廣播使能/禁止和報文輸出端口位圖,所述報文輸入端口位圖存儲所述輸入 端口號,所述報文輸出端口位圖存儲所述輸入端口號對應(yīng)的輸出端口號和級連端口號。
7.根據(jù)權(quán)利要求5所述的單板,其特征在于,所述處理單元還用于判斷所述輸出端口 號是否屬于聚合組中的端口,如果所述輸出端口號屬于聚合組中的端口號,則進(jìn)行虛擬局域網(wǎng)切換或三層轉(zhuǎn)發(fā),或者根據(jù)聚合算法從聚合組中選擇至少一個端口號,通知所述發(fā)送單元從所述至少一個端口 號對應(yīng)的端口發(fā)送所述報文;如果所述輸出端口號不屬于聚合組中的端口號,則進(jìn)行虛擬局域網(wǎng)切換或三層轉(zhuǎn)發(fā), 或者通知所述發(fā)送單元通過所述輸出端口號對應(yīng)的端口發(fā)送所述報文。
8.根據(jù)權(quán)利要求5-7任一項所述的單板,其特征在于,所述單板可用在通信設(shè)備中,所 述通信設(shè)備包括數(shù)字用戶線接入復(fù)用器DSLAM、光線路終端0LT、光網(wǎng)絡(luò)單元0NU或交換 機。
9.一種報文轉(zhuǎn)發(fā)系統(tǒng),其特征在于,包括第一單板和第二單板,第一單板包含轉(zhuǎn)發(fā)策略 表,所述轉(zhuǎn)發(fā)策略表存儲有輸入端口號與輸出端口號或級連端口號的對應(yīng)關(guān)系,第一單板,收到來自交換板的報文后,獲取報文的輸入端口號,根據(jù)輸入端口號查詢轉(zhuǎn) 發(fā)策略表,獲取所述輸入端口號對應(yīng)的輸出端口號和級連端口號,通過級連端口號對應(yīng)的 端口將所述報文轉(zhuǎn)發(fā)給第二單板,以使得第二單板對所述報文的源MAC地址進(jìn)行學(xué)習(xí)。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述第一單板和第二單板屬于一個通信 設(shè)備,或者屬于不同的通信設(shè)備。
全文摘要
本發(fā)明公開一種報文轉(zhuǎn)發(fā)方法、裝置和系統(tǒng),其中方法包括第一單板獲取報文中的源MAC地址和輸入端口號,根據(jù)所述源MAC地址查詢MAC地址表;如果沒有找到相同項,則對源MAC地址進(jìn)行學(xué)習(xí);根據(jù)輸入端口號查詢轉(zhuǎn)發(fā)策略表以獲取轉(zhuǎn)發(fā)策略,并根據(jù)所述轉(zhuǎn)發(fā)策略將所述報文發(fā)送給第二單板,使得第二單板對源MAC地址進(jìn)行學(xué)習(xí)從而實現(xiàn)MAC地址同步。本發(fā)明通過獲取轉(zhuǎn)發(fā)策略在不改變現(xiàn)有的轉(zhuǎn)發(fā)流程的情況下實現(xiàn)MAC地址的同步,不影響CPU的執(zhí)行效率。
文檔編號H04L12/46GK101877667SQ200910107028
公開日2010年11月3日 申請日期2009年4月30日 優(yōu)先權(quán)日2009年4月30日
發(fā)明者馬書雷 申請人:華為技術(shù)有限公司