專利名稱:Trill網(wǎng)絡中的報文轉發(fā)方法和路由網(wǎng)橋的制作方法
技術領域:
本申請涉及通信技術領域,特別涉及一種多鏈接透明互聯(lián)(TRILL, TransparentInterconnection of Lots of Links)網(wǎng)絡中的報文轉發(fā)方法和路由網(wǎng)橋。
背景技術:
TRILL是互聯(lián)網(wǎng)工程任務組(IETF, Internet Engineering Task Force)推薦的連接層(L2)網(wǎng)絡標準,用于解決大型數(shù)據(jù)中心生成樹協(xié)議(STP, Spanning Tree Protocol)的不足。在L2網(wǎng)絡中,STP通過阻塞冗余鏈路來避免環(huán)路,但同時也造成了冗余鏈路帶寬的浪費,而TRILL則通過將中間系統(tǒng)對中間系統(tǒng)(ISIS, Intermediate system to intermediatesystem)路由協(xié)議引入L2網(wǎng)絡,不僅解決了 L2環(huán)路問題,而且還能夠支持冗余路徑和負載分擔。在TRILL網(wǎng)絡中,運行TRILL協(xié)議的設備稱為路由網(wǎng)橋(RB,Router Bridge),且該RB是交換機和路由器功能的綜合體。圖I給出了現(xiàn)有單播報文轉發(fā)方法的過程示意圖,如圖I所示,以主機C向主機A發(fā)送單播報文為例,該單播報文轉發(fā)過程可包括a、主機C發(fā)送單播報文,由交換機對該單播報文進行普通二層轉發(fā);b、RB2的交換功能模塊對交換機發(fā)送的單播報文進行普通MAC學習和查找,查找 到主機A的表項出端口為2,并且出口 RB為RB4后,對該單播報文進行TRILL封裝,從端口2發(fā)送到路由功能模塊;路由功能模塊進行TRILL路由查找,查找到RB4的下一跳為RB1,查找鄰接表獲取RBl的MAC地址F和控制VLAN200,進行封裝后將單播報文發(fā)送給RBl ;c、RBl對接收到的單播報文進行TRILL路由查找轉發(fā)過程,發(fā)送到RB4 ;d、RB4發(fā)現(xiàn)出口 RB為自身,則對接收到的單播報文進行解封裝過程,剝離TRILL頭,進行內(nèi)層MAC地址查找,得到出端口,進而將單播報文發(fā)送給主機A。通過上述分析可以看出,現(xiàn)有在TRILL網(wǎng)絡中轉發(fā)單播報文時,在入口 RB和出口RB都要進行MAC地址查找得到出端口,進而根據(jù)查找到的出端口轉發(fā)該單播報文。然而,由于MAC地址表很大,因而查找MAC地址的過程可能會很長,不僅延長了報文轉發(fā)時間,而且提高了轉發(fā)復雜度。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種TRILL網(wǎng)絡中的報文轉發(fā)方法,能夠實現(xiàn)依據(jù)標簽對報文的轉發(fā),減少對MAC地址表的查找,降低報文轉發(fā)的復雜度。本發(fā)明還提供了一種路由網(wǎng)橋,能夠實現(xiàn)依據(jù)標簽對報文的轉發(fā),減少對MAC地址表的查找,降低報文轉發(fā)的復雜度。為了達到上述目的,本發(fā)明提出的技術方案為一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的報文轉發(fā)方法,該方法應用于TRILL網(wǎng)絡中的入口 RB,包括入口 RB為每個本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;入口 RB接收到由本地主機發(fā)送的待轉發(fā)報文后,在本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝,將封裝后的TRILL報文發(fā)送給出口 RB ;所述入口標簽為入口 RB為接收所述待轉發(fā)報文的端口分配的標簽,所述出口標簽由入口 RB根據(jù)目的MAC地址查找的結果確定;所述出口標簽用于指示出口 RB在完成對所述TRILL報文的解封裝后根據(jù)該出口標簽對解封裝后的TRILL報文進行轉發(fā)。當所述入口 RB接收到的待轉發(fā)報文為已知單播報文時,則所述出口標簽為交換標簽類型,所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā);當所述入口 RB接收到的待轉發(fā)報文為未知單播報文時,所述出口標簽為單播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪;當所述入口 RB接收到的待轉發(fā)報文為已知組播報文時,所述出口標簽為組播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā);當所述入口 RB接收到的待轉發(fā)報文為未知組播報文或廣播報文時,所述出口標簽為廣播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB對解封裝后的報文進行本地端口泛洪。當MAC地址遷移時,所述方法還包括入口 RB在本地檢測到有主機遷入時,更新本地MAC地址表中該遷入主機對應的MAC表項關聯(lián)的標簽。當入口 RB的接收所述待轉發(fā)報文的端口不能正常工作時,該方法進一步包括入口 RB向其它每一個RB發(fā)送標簽無效消息,所述標簽無效消息包含入口 RB的標號Nickname和為所述接收待轉發(fā)報文的端口分配的標簽;所述標簽無效消息用于指示收到標簽無效消息的RB將本地MAC地址表中包含相同入口 RB的標號Nickname和相同標簽的MAC地址表項中的標簽更新為單播標簽。一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的報文轉發(fā)方法,該方法應用于TRILL網(wǎng)絡中的出口 RB,包括出口 RB為每個本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;出口 RB接收到由入口 RB發(fā)送的包含入口 RB、入口標簽、出口 RB和出口標簽的TRILL報文后,進行TRILL解封裝,并進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中;所述入口標簽為入口 RB為接收主機發(fā)送的報文的端口分配的標簽,所述出口標簽為入口 RB根據(jù)目的MAC地址查找的結果所確定的標簽;
出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)。當所述出口標簽為交換標簽類型時,所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā);當所述出口標簽為單播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪;當所述出口標簽為組播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā);
當所述出口標簽為廣播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB對解封裝后的報文進行本地端口泛洪。在MAC地址遷移的情況下,所述出口 RB對接收到的TRILL報文進行解封裝,進行內(nèi)層源MAC地址學習時,該方法還包括當出口 RB判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的RB有變化,則使用報文中的入口 RB更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的RB ;和/或,當出口 RB判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的標簽有變化,則使用報文中的入口標簽更新本地MAC地址表項中該源MAC地址對應的MAC地址表項中的標簽。該方法進一步包括當出口 RB接收到入口 RB發(fā)送的包含入口 RB的標號Nickname和不能正常工作的端口對應的標簽的標簽無效消息時,查看本地MAC地址表項,當本地MAC地址表項中RB的Nickname為標簽無效消息中入口 RB的Nickname、且本地MAC地址表項中包含標簽無效消息中的標簽時,將本地MAC地址表項中的標簽更新為單播標簽。一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的路由網(wǎng)橋,該路由網(wǎng)橋為接收報文的入口路由網(wǎng)橋RB,該路由網(wǎng)橋包括標簽處理單元,用于為每個端口分配本地唯一的標簽;將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;報文接收單元,用于接收由本地主機發(fā)送的待轉發(fā)報文;報文封裝單元,用于在本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝;所述入口標簽為入口 RB為接收所述待轉發(fā)報文的端口分配的標簽,所述出口標簽根據(jù)目的MAC地址查找的結果確定;所述報文發(fā)送單元,用于將所述報文封裝單元進行TRILL封裝后的報文發(fā)送給出口 RB,以使出口 RB根據(jù)目的MAC和出口標簽對報文進行轉發(fā)。當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為已知單播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為交換標簽類型,所述交互標簽指示出口 RB將解封裝后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā);當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為未知單播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為單播標簽類型,所述單播標簽指示出口 RB對解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪;當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為已知組播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為組播標簽類型,所述組播標簽指示出口 RB對解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā);當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為未知組播報文或廣播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為組播標簽類型,所述組播標簽指示出口 RB對解封裝后的報文進行本地端口泛洪。該路由網(wǎng)橋還包括標簽更新單元,用于在本地檢測到有主機遷入時,更新本地MAC地址表中該遷入主機對應的MAC表項關聯(lián)的標簽。該路由網(wǎng)橋還包括無效發(fā)送單元,用于當所述報文接收單元的接收報文的端口不能正常工作時,向其它每一個RB發(fā)送標簽無效消息,所述標簽無效消息用于指示每一個收到標簽無效消息的RB在判定本地MAC地址表項中RB的Nickname為標簽無效消息中攜帶的入口 RB的Nickname、且該本地MAC地址表項中包含標簽無效消息中攜帶的標簽時,將本地MAC地址表項中的標簽更新為單播標簽。一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的路由網(wǎng)橋,該路由網(wǎng)橋為轉發(fā)報文的出口路由網(wǎng)橋RB,該路由網(wǎng)橋包括標簽處理單元,用于為每個端口分配本地唯一的標簽;將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;報文接收單元,用于接收由入口 RB發(fā)送的由入口 RB進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝后的TRILL報文,所述入口標簽為入口 RB為接收主機發(fā)送的報文的端口分配的標簽,所述出口標簽由入口 RB根據(jù)目的MAC地址查找的結果確定;報文解封裝單元,用于對所述報文接收單元接收到的報文進行TRILL解封裝;地址學習單元,用于對報文解封裝單元解封裝后的報文進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中;報文轉發(fā)單元,用于根據(jù)出口標簽對所述報文解封裝單元解封裝后的報文進行轉發(fā)。當所述報文接收單元接收的TRILL報文中的出口標簽為交換標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文從出口標簽所對應的端口進行轉發(fā);當所述報文接收單元接收的TRILL報文中的出口標簽為單播標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪;當所述報文接收單元接收的TRILL報文中的出口標簽為組播標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā);當所述報文接收單元接收的TRILL報文中的出口標簽為廣播標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文進行本地端口泛洪。所述地址學習單元還用于在判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的RB有變化時,使用報文中的入口 RB更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的RB ;和/或,在判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的標簽有變化時,使用報文中的入口標簽更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的標簽。該路由網(wǎng)橋還包括無效接收單元和標簽更新單元,其中,所述無效接收單元,用于當入口 RB的接收報文的端口不能正常工作時,接收由入口 RB發(fā)送的標簽無效消息,所述標簽無效消息包含入口 RB的Nickname和為該端口分配的標簽;所述標簽更新單元,用于當所述無效接收單元接收到標簽無效消息后,查看本地MAC地址表,當判定本地MAC地址表項中RB的Nickname為標簽無效消息中攜帶的入口 RB的Ni ckname、且該本地MAC地址表項中包含標簽無效消息中攜帶的標簽時,將本地MAC地址 表項中的標簽更新為單播標簽。綜上所述,本發(fā)明所采用的TRILL網(wǎng)絡中的報文轉發(fā)方法,是通過由入口 RB和出口 RB分別為本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中,當入口 RB接收到由本地主機發(fā)送的待轉發(fā)報文后,在本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝,將封裝后的TRILL報文發(fā)送給出口 RB,由出口 RB將接收到的包含入口 RB、入口標簽、出口 RB和出口標簽的TRILL報文進行TRILL解封裝,并進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中,并根據(jù)出口標簽對解封裝后的報文進行轉發(fā)。由于本發(fā)明建立標簽與接收主機報文的端口之間的對應關系,RB進行源MAC地址的學習后,能夠實現(xiàn)基于標簽的報文轉發(fā),從而減少了 MAC地址查找,因此,本發(fā)明方法不僅避免了由于查找大的MAC地址表可能造成的時間浪費問題,而且還降低了轉發(fā)復雜度。
圖I為現(xiàn)有TRILL網(wǎng)絡中單播報文轉發(fā)方法的過程示意圖;圖2為本發(fā)明TRILL網(wǎng)絡中報文轉發(fā)方法的工作流程圖;圖3為本發(fā)明擴展后的TRILL報文結構示意圖;圖4為本發(fā)明所采用的路由網(wǎng)橋實施例一的結構示意圖;圖5為本發(fā)明所采用的路由網(wǎng)橋實施例二的結構示意圖。
具體實施例方式為了解決本發(fā)明提出的技術問題,本發(fā)明所述方案的具體實現(xiàn)包括入口 RB為每個本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;入口 RB接收到由本地主機發(fā)送的待轉發(fā)報文后,在本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝,將封裝后的TRILL報文發(fā)送給出口 RB ;所述入口標簽為入口 RB為接收所述待轉發(fā)報文的端口分配的標簽,所述出口標簽由入口 RB根據(jù)目的MAC地址查找的結果確定;所述出口標簽用于指示出口 RB在完成對所述TRILL報文的解封裝后根據(jù)該出口標簽對解封裝后的TRILL報文進行轉發(fā);出口 RB為每個本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;出口 RB接收到由入口RB發(fā)送的包含入口 RB、入口標簽、出口 RB和出口標簽的TRILL報文后,進行TRILL解封裝,并進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中;所述入口標簽為入口 RB為接收主機發(fā)送的報文的端口分配的標簽,所述出口標簽為入口 RB根據(jù)目的MAC地址查找的結果所確定的標簽;出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)。為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖及具體實施例對本發(fā)明作進一步地詳細描述。 圖2為本發(fā)明TRILL網(wǎng)絡中報文轉發(fā)方法的工作流程圖,如圖2所示,該流程包括步驟201 :定義標簽類型,TRILL網(wǎng)絡內(nèi)的每個RB都需要為每個本地端口分配本地唯一的標簽。本發(fā)明中,在各個RB啟動時,會給本地的每個端口分配一個本地具有唯一性的標簽;本發(fā)明對TRILL報文的結構進行了擴展,在TRILL報文中增加入口標簽和出口標簽的信元,擴展后的TRILL報文結構示例如圖3所示。在本發(fā)明優(yōu)選實施例中,在TRILL報文的出口標號Egress Nickname和入口標號Ingress Nickname的后面添加出口標簽Egress Label和入口標簽Ingress Label。其中Ingress Label信兀表不報文進入入口 RB時的入端口,只能是交換標簽;Egress Label信元表示報文從出口 RB發(fā)送報文時對應的出端口信息,出端口的信息通過標簽值來揭示,即根據(jù)標簽的取值范圍可獲知標簽的類型,根據(jù)標簽的類型執(zhí)行相應的處理。本發(fā)明根據(jù)報文類型將標簽分為五類,并定義了不同類型的標簽的取值或取值范圍,所述五種標簽類型定義如下廣播標簽(例如取值為OxFFFFFFFF):表示出口 RB在接收到帶有該類型的出口標簽的報文時,需要在出口 RB進行本地端口泛洪,從所有本地端口復制發(fā)送所接收到的報文;組播標簽(例如取值為OxFFFFFFFE):表示出口 RB在接收到帶有該類型的出口標簽的報文時,需要在出口 RB進行本地二層組播組查找,即根據(jù)報文的內(nèi)層目的MAC地址查詢組播MAC地址表,根據(jù)查找結果對接收到的報文進行組播復制,從組播MAC地址表項指定的出端口發(fā)送;單播標簽(例如取值范圍為OxFFFFFFFD):表示出口 RB在接收到帶有該類型的出口標簽的報文時,需要在出口 RB要進行本地二層單播MAC地址表查找,根據(jù)查找結果進行轉發(fā);交換標簽(例如取值范圍為1-OxOFFFFFFC):表示出口 RB在接收到帶有該類型的出口標簽的報文時,直接從該出口標簽對應的本地端口發(fā)送即可。
保留標簽(OxOOFFFFOl-OxFFFFFFFO):保留后續(xù)使用。步驟202 :每個RB將本地連接的主機MAC地址及對應的為本地端口分配的標簽學習到本地MAC地址表項中。網(wǎng)絡中的每個RB都需要學習與自身連接的主機的MAC地址,不同的是,本發(fā)明中,每個RB還需要學習與本地主機MAC地址對應的標簽,本發(fā)明不限定采用何種方式或協(xié)議學習包含本地主機MAC地址和為本地端口分配的標簽。一具體實例中,RB在接收到本地主機發(fā)送的報文后,將該主機MAC地址與接收該主機發(fā)送的報文的端口對應的標簽關聯(lián)起來,將該主機MAC地址及關聯(lián)的標簽一同學習到本地MAC地址表中。步驟203 :入口 RB接收到由主機發(fā)送的待轉發(fā)報文后,入口 RB根據(jù)待轉發(fā)報文中 的目的MAC,在本地MAC地址表中進行目的MAC查找,在需要通過TRILL隧道轉發(fā)時,根據(jù)查找結果對主機發(fā)送的待轉發(fā)報文進行TRILL封裝。在入口 RB對主機發(fā)送的報文進行封裝時,TRILL報文中的入口標簽為入口 RB上接收所述主機發(fā)送的報文的端口對應的標簽即入口 RB為該端口分配的標簽,出口標簽根據(jù)目的MAC查找的結果來確定,當查找到(表示已知)目的MAC地址時,所述出口標簽是為接收報文的出口 RB的端口分配的標簽;當查找不到(表示未知)目的MAC地址時,所述出口標簽根據(jù)入口 RB接收到的報文類型來確定?;谏鲜鲈瓌t,確定出口標簽的方式如下如果是已知單播報文即查找到目的MAC的單播報文,則出口標簽為交換標簽類型,即出口標簽為本地查找到MAC地址表項中的標簽;如果是未知單播報文即未查找到目的MAC的單播報文,則出口標簽為單播標簽類型;如果是未知組播報文即未查找到目的MAC的組播報文,則出口標簽為廣播標簽類型;如果是已知組播報文即查找到目的MAC的組播報文,則出口標簽為組播標簽類型;如果是廣播報文,則出口標簽為廣播標簽類型。步驟204 :對所述封裝后的TRILL報文進行TRILL路由表查找,根據(jù)查找到的路由,將TRILL報文發(fā)送給出口 RB。在本步驟中,所述封裝后得到的TRILL報文進行路由查找封裝后,由中間RB將所述路由查找封裝后的TRILL報文發(fā)送給出口 RB。步驟205 :出口 RB對接收到的報文進行TRILL解封裝后,進行內(nèi)層源MAC地址學習,將TRILL報文的內(nèi)層源MAC地址(即源主機的MAC地址)與內(nèi)層標簽即入口標簽關聯(lián),將解封裝后的報文的內(nèi)層源MAC地址即源主機MAC地址、入口 RB的Nickname及入口標簽學習到本地MAC表項中。當執(zhí)行完步驟205后,需要根據(jù)出口標簽將報文進行轉發(fā),具體如何轉發(fā)報文需要根據(jù)出口標簽類型而定,當出口標簽為交換標簽時,執(zhí)行步驟206 ;當出口標簽為單播標簽時,執(zhí)行步驟207 ;當出口標簽為組播標簽時,執(zhí)行步驟208 ;當出口標簽為廣播標簽時,執(zhí)行步驟209。下面具體說明報文轉發(fā)過程
步驟206 :當出口標簽為交換標簽時,由出口 RB將進行源MAC地址學習后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā)后,結束當前報文轉發(fā)流程。當所述入口 RB接收到的報文為已知單播報文時,所述出口標簽為交換標簽,即為接收到的報文的出口 RB的端口分配的標簽,則,所述根據(jù)出口標簽將報文進行轉發(fā)包括所述出口 RB將進行源MAC地址學習后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā)。步驟207 :當出口標簽為單播標簽時,由出口 RB將進行源MAC地址學習后的報文進行目的MAC地址查找,根據(jù)查找結果對報文進行組播復制轉發(fā)后,結束當前報文轉發(fā)流程。當所述入口 RB接收到的報文為未知單播報文時,所述出口標簽為單播標簽,則, 所述根據(jù)出口標簽將報文進行轉發(fā)包括所述出口 RB將進行源MAC地址學習后的報文進行目的MAC地址查找,如果查找到對應的目的MAC地址,則從該目的MAC地址對應的端口轉發(fā);如果未查找到,則進行泛洪。步驟208 :當出口標簽為組播標簽時,由出口 RB將進行源MAC地址學習后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā)后,結束當前報文轉發(fā)流程。當所述入口 RB接收到的報文為已知組播報文時,所述出口標簽為組播標簽,則,所述根據(jù)出口標簽將報文進行轉發(fā)包括所述出口 RB將進行源MAC地址學習后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā)。步驟209 :當出口標簽為廣播標簽時,由出口 RB將進行源MAC地址學習后的報文在查找到的目的MAC地址對應的MAC地址表項中的標簽所對應的出口 RB的端口進行泛洪后,結束當前報文轉發(fā)流程。當所述入口 RB接收到的報文為未知組播報文或廣播報文時,所述出口標簽為廣播標簽,則,所述根據(jù)出口標簽將報文進行轉發(fā)包括所述出口 RB將進行源MAC地址學習后的報文從出口標簽所對應的出口 RB的端口進行泛洪,也即從所有端口對報文進行復制轉發(fā)?;谏鲜鯰RILL網(wǎng)絡中的報文轉發(fā)方法,本發(fā)明還進一步公開了如下在發(fā)生MAC地址遷移時,數(shù)據(jù)平面實時更新MAC地址表中的RB和標簽信息的方法入口 RB檢測到本地有遷移的主機接入后,更新本地MAC地址表中該主機的MAC地址對應的表項中關聯(lián)的標簽。在TRILL隧道的出口 RB,對TRILL報文進行解封裝得到原始的以太幀之后,進行內(nèi)層源MAC學習時進行如下判斷和操作如果原來MAC地址表中的該源MAC對應的RB變化,則使用報文中的入口 RB更新MAC地址表中該源MAC地址對應表項中的RB ;和/或如果原來MAC地址表中的該源MAC對應的標簽變化,則使用報文中的入口標簽更新MAC地址表中該源MAC地址對應表項中的標簽。還需說明的是,當RB的本地端口不能正常工作或者其他原因導致不能收發(fā)數(shù)據(jù)報文時,本發(fā)明還進一步給出如下處理流程步驟SI、該RB通過IGP協(xié)議向其他所有的RB通告標簽無效消息,消息包含該RB的標號Nickname和該端口對應的標簽等內(nèi)容。
步驟S2、TRILL網(wǎng)絡中的其他RB收到該通告時,查找本地MAC地址表的每個表項,如果MAC地址表項對應的RB的標號Nickname為無效消息中的RB的Nickname,且該MAC地址表項對應的標簽為無效消息中的標簽,則將MAC地址表中的對應的標簽更新為單播標簽。上述IGP協(xié)議為TRILL-ESADI。至此,即完成了本發(fā)明所采用的TRILL網(wǎng)絡中報文轉發(fā)方法的整個工作流程?;谏鲜龇椒?,圖4給出了本發(fā)明所采用的路由網(wǎng)橋實施例一的結構,如圖4所示,該路由網(wǎng)橋為接收報文的入口 RB,該路由網(wǎng)橋包括標簽處理單元41,用于為每個端口分配本地唯一的標簽;將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;報文接收單元42,用于接收由本地主機發(fā)送的待轉發(fā)報文;報文封裝單元43,用于在標簽處理單元41學習到的本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對報文接收單元42接收的待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝;所述入口標簽為入口RB為接收所述待轉發(fā)報文的端口分配的標簽,所述出口標簽根據(jù)目的MAC地址查找的結果確定;所述報文發(fā)送單元,用于將所述報文封裝單元進行TRILL封裝后的報文發(fā)送給出口 RB,以使出口 RB根據(jù)目的MAC和出口標簽對報文進行轉發(fā)。當所述報文接收單元42接收到的主機發(fā)送的待轉發(fā)報文為已知單播報文時,所述報文封裝單元43封裝的TRILL報文的出口標簽為交換標簽類型,所述交互標簽指示出口RB將解封裝后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā);當所述報文接收單元42接收到的主機發(fā)送的待轉發(fā)報文為未知單播報文時,所述報文封裝單元43封裝的TRILL報文的出口標簽為單播標簽類型,所述單播標簽指示出口RB對解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪;當所述報文接收單元42接收到的主機發(fā)送的待轉發(fā)報文為已知組播報文時,所述報文封裝單元43封裝的TRILL報文的出口標簽為組播標簽類型,所述組播標簽指示出口RB對解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā);當所述報文接收單元42接收到的主機發(fā)送的待轉發(fā)報文為未知組播報文或廣播報文時,所述報文封裝單元43封裝的TRILL報文的出口標簽為組播標簽類型,所述組播標簽指示出口 RB對解封裝后的報文進行本地端口泛洪。進一步地,該路由網(wǎng)橋還包括標簽更新單元45,用于在本地檢測到有主機遷入時,更新標簽處理單元41學習的本地MAC地址表中該遷入主機對應的MAC表項關聯(lián)的標簽。更進一步地,該路由網(wǎng)橋還包括無效發(fā)送單元46,用于當所述報文接收單元42的接收報文的端口不能正常工作時,向其它每一個RB發(fā)送標簽無效消息,所述標簽無效消息用于指示每一個收到標簽無效消息的RB在判定本地MAC地址表項中RB的Nickname為標簽無效消息中攜帶的入口 RB的Nickname、且該本地MAC地址表項中包含標簽無效消息中攜帶的標簽時,將標簽處理單元41學習的本地MAC地址表項中的標簽更新為單播標簽。
同樣地,基于上述方法,圖5給出了本發(fā)明所采用的路由網(wǎng)橋實施例二的結構,如圖5所示,該路由網(wǎng)橋為轉發(fā)報文的出口 RB,包括
標簽處理單元51,用于為每個端口分配本地唯一的標簽;將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中;報文接收單元52,用于接收由入口 RB發(fā)送的由入口 RB進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝后的TRILL報文,所述入口標簽為入口 RB為接收主機發(fā)送的報文的端口分配的標簽,所述出口標簽由入口 RB根據(jù)目的MAC地址查找的結果確定;報文解封裝單元53,用于對所述報文接收單元52接收到的報文進行TRILL解封裝;地址學習單元54,用于對報文解封裝單元53解封裝后的報文進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中; 報文轉發(fā)單元55,用于根據(jù)出口標簽對所述報文解封裝單元53解封裝后的報文進行轉發(fā)。當所述報文接收單元52接收的TRILL報文中的出口標簽為交換標簽類型時,所述報文轉發(fā)單元55用于將報文解封裝單元53解封裝后的報文從報文接收單元52接收到的出口標簽所對應的端口進行轉發(fā);當所述報文接收單元52接收的TRILL報文中的出口標簽為單播標簽類型時,所述報文轉發(fā)單元55用于將報文解封裝單元53解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪;當所述報文接收單元52接收的TRILL報文中的出口標簽為組播標簽類型時,所述報文轉發(fā)單元55用于將報文解封裝單元53解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā);當所述報文接收單元52接收的TRILL報文中的出口標簽為廣播標簽類型時,所述報文轉發(fā)單元55用于將報文解封裝單元53解封裝后的報文進行本地端口泛洪。進一步地,所述地址學習單元54還用于在判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的RB有變化時,使用報文中的入口 RB更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的RB ;和/或,在判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的標簽有變化時,使用報文中的入口標簽更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的標簽。更進一步地,該路由網(wǎng)橋還包括無效接收單元56和標簽更新單元57,其中,所述無效接收單元56,用于當入口 RB的接收報文的端口不能正常工作時,接收由入口 RB發(fā)送的標簽無效消息,所述標簽無效消息包含入口 RB的Nickname和為該端口分配的標簽;所述標簽更新單元57,用于當所述無效接收單元56接收到標簽無效消息后,查看本地MAC地址表,當判定本地MAC地址表項中RB的Nickname為標簽無效消息中攜帶的入口 RB的Nickname、且該本地MAC地址表項中包含標簽無效消息中攜帶的標簽時,將標簽處理單元51學習的本地MAC地址表項中的標簽更新為單播標簽。至此,即得到了本發(fā)明所采用的TRILL網(wǎng)絡中的路由網(wǎng)橋。圖4和圖5所述路由網(wǎng)橋的工作流程具體可參見圖2所述方法的工作流程,這里不再贅述??傊景l(fā)明所采用的TRILL網(wǎng)絡中的報文轉發(fā)方法,通過由入口 RB和出口 RB分別為本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中,當入口 RB接收到由本地主機發(fā)送的待轉發(fā)報文后,在本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝,將封裝后的TRILL報文發(fā)送給出口 RB,由出口 RB將接收到的包含入口 RB、入口標簽、出口 RB和出口標簽的TRILL報文進行TRILL解封裝,并進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中,并根據(jù)出口標簽對解封裝后的報文進行轉發(fā)。由于本發(fā)明建立標簽與接收主機報文的端口之間的對應關系,RB進行源MAC地址的學習后,能夠實現(xiàn)基于標簽的報文轉發(fā),從而減少了 MAC地址查找,因此,本發(fā)明方法不僅避免了由于查找大的MAC地址表可能造成的時間浪費問題,而且還降低了轉發(fā) 復雜度。進一步地,當MAC地址遷移時,本發(fā)明方法在入口 RB更新本地MAC地址表中該遷入主機對應的MAC表項關聯(lián)的標簽,并在出口 RB判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的RB或標簽有變化時,使用報文中的入口 RB或入口標簽更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的RB或標簽,也就解決了 MAC地址遷移可能造成的報文不能正常轉發(fā)的問題。最后,當入口 RB接收待轉發(fā)報文的端口不能正常工作時,本發(fā)明方法通過由該入口 RB向其它每一個RB發(fā)送包含入口 RB的Nickname和為接收待轉發(fā)報文的端口分配的標簽的標簽無效信息,進而每一個收到標簽無效信息的RB查看本地MAC地址表,當MAC地址表項中RB的Nickname為標簽無效消息中入口 RB的Nickname、且MAC地址表項中標簽為標簽無效消息中的標簽時,將MAC地址表項中的標簽更新為單播標簽,也就避免了由于接收報文的端口不能正常工作而帶來的報文不能正常轉發(fā)的問題。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
權利要求
1.一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的報文轉發(fā)方法,其特征在于,該方法應用于TRILL網(wǎng)絡中的入口 RB,包括 入口 RB為每個本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中; 入口 RB接收到由本地主機發(fā)送的待轉發(fā)報文后,在本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝,將封裝后的TRILL報文發(fā)送給出口 RB ;所述入口標簽為入口 RB為接收所述待轉發(fā)報文的端口分配的標簽,所述出口標簽由入口 RB根據(jù)目的MAC地址查找的結果確定; 所述出口標簽用于指示出口 RB在完成對所述TRILL報文的解封裝后根據(jù)該出口標簽對解封裝后的TRILL報文進行轉發(fā)。
2.根據(jù)權利要求I所述的方法,其特征在于, 當所述入口 RB接收到的待轉發(fā)報文為已知單播報文時,則所述出口標簽為交換標簽類型,所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā); 當所述入口 RB接收到的待轉發(fā)報文為未知單播報文時,所述出口標簽為單播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找至IJ,則進行本地端口泛洪; 當所述入口 RB接收到的待轉發(fā)報文為已知組播報文時,所述出口標簽為組播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā); 當所述入口 RB接收到的待轉發(fā)報文為未知組播報文或廣播報文時,所述出口標簽為廣播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB對解封裝后的報文進行本地端口泛洪。
3.根據(jù)權利要求I或2所述的方法,其特征在于,當MAC地址遷移時,所述方法還包括入口 RB在本地檢測到有主機遷入時,更新本地MAC地址表中該遷入主機對應的MAC表項關聯(lián)的標簽。
4.根據(jù)權利要求I或2所述的方法,其特征在于,當入口RB的接收所述待轉發(fā)報文的端口不能正常工作時,該方法進一步包括 入口 RB向其它每一個RB發(fā)送標簽無效消息,所述標簽無效消息包含入口 RB的標號Nickname和為所述接收待轉發(fā)報文的端口分配的標簽; 所述標簽無效消息用于指示收到標簽無效消息的RB將本地MAC地址表中包含相同入口 RB的標號Nickname和相同標簽的MAC地址表項中的標簽更新為單播標簽。
5.一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的報文轉發(fā)方法,其特征在于,該方法應用于TRILL網(wǎng)絡中的出口 RB,包括 出口 RB為每個本地端口分配本地唯一的標簽,將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中; 出口 RB接收到由入口 RB發(fā)送的包含入口 RB、入口標簽、出口 RB和出口標簽的TRILL報文后,進行TRILL解封裝,并進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中;所述入口標簽為入口 RB為接收主機發(fā)送的報文的端口分配的標簽,所述出口標簽為入口 RB根據(jù)目的MAC地址查找的結果所確定的標簽; 出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)。
6.根據(jù)權利要求5所述的方法,其特征在于, 當所述出口標簽為交換標簽類型時,所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā); 當所述出口標簽為單播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪; 當所述出口標簽為組播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB將解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā); 當所述出口標簽為廣播標簽類型,則所述出口 RB根據(jù)出口標簽對解封裝后的報文進行轉發(fā)包括出口 RB對解封裝后的報文進行本地端口泛洪。
7.根據(jù)權利要求5或6所述的方法,其特征在于,在MAC地址遷移的情況下,所述出口RB對接收到的TRILL報文進行解封裝,進行內(nèi)層源MAC地址學習時,該方法還包括 當出口 RB判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的RB有變化,則使用報文中的入口 RB更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的RB ;和/或, 當出口 RB判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的標簽有變化,則使用報文中的入口標簽更新本地MAC地址表項中該源MAC地址對應的MAC地址表項中的標簽。
8.根據(jù)權利要求5或6所述的方法,其特征在于,該方法進一步包括 當出口 RB接收到入口 RB發(fā)送的包含入口 RB的標號Nickname和不能正常工作的端口對應的標簽的標簽無效消息時,查看本地MAC地址表項,當本地MAC地址表項中RB的Nickname為標簽無效消息中入口 RB的Nickname、且本地MAC地址表項中包含標簽無效消息中的標簽時,將本地MAC地址表項中的標簽更新為單播標簽。
9.一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的路由網(wǎng)橋,該路由網(wǎng)橋為接收報文的入口路由網(wǎng)橋RB,其特征在于,該路由網(wǎng)橋包括 標簽處理單元,用于為每個端口分配本地唯一的標簽;將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中; 報文接收單元,用于接收由本地主機發(fā)送的待轉發(fā)報文; 報文封裝單元,用于在本地MAC地址表中查找待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝;所述入口標簽為入口 RB為接收所述待轉發(fā)報文的端口分配的標簽,所述出口標簽根據(jù)目的MAC地址查找的結果確定; 所述報文發(fā)送單元,用于將所述報文封裝單元進行TRILL封裝后的報文發(fā)送給出口RB,以使出口 RB根據(jù)目的MAC和出口標簽對報文進行轉發(fā)。
10.根據(jù)權利要求9所述的路由網(wǎng)橋,其特征在于, 當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為已知單播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為交換標簽類型,所述交互標簽指示出口 RB將解封裝后的報文從出口標簽所對應的出口 RB的端口進行轉發(fā); 當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為未知單播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為單播標簽類型,所述單播標簽指示出口 RB對解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪; 當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為已知組播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為組播標簽類型,所述組播標簽指示出口 RB對解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā); 當所述報文接收單元接收到的主機發(fā)送的待轉發(fā)報文為未知組播報文或廣播報文時,所述報文封裝單元封裝的TRILL報文的出口標簽為組播標簽類型,所述組播標簽指示出口RB對解封裝后的報文進行本地端口泛洪。
11.根據(jù)權利要求9或10所述的路由網(wǎng)橋,其特征在于,該路由網(wǎng)橋還包括標簽更新單元,用于在本地檢測到有主機遷入時,更新本地MAC地址表中該遷入主機對應的MAC表項關聯(lián)的標簽。
12.根據(jù)權利要求9或10所述的路由網(wǎng)橋,其特征在于,該路由網(wǎng)橋還包括無效發(fā)送單元,用于當所述報文接收單元的接收報文的端口不能正常工作時,向其它每一個RB發(fā)送標簽無效消息,所述標簽無效消息用于指示每一個收到標簽無效消息的RB在判定本地MAC地址表項中RB的Nickname為標簽無效消息中攜帶的入口 RB的Nickname、且該本地MAC地址表項中包含標簽無效消息中攜帶的標簽時,將本地MAC地址表項中的標簽更新為單播標簽。
13.一種多鏈接透明互聯(lián)TRILL網(wǎng)絡中的路由網(wǎng)橋,該路由網(wǎng)橋為轉發(fā)報文的出口路由網(wǎng)橋RB,其特征在于,該路由網(wǎng)橋包括 標簽處理單元,用于為每個端口分配本地唯一的標簽;將本地主機的MAC地址及為接收本地主機發(fā)送報文的本地端口分配的標簽學習到本地MAC地址表項中; 報文接收單元,用于接收由入口 RB發(fā)送的由入口 RB進行包含入口 RB、入口標簽和出口 RB、出口標簽的TRILL封裝后的TRILL報文,所述入口標簽為入口 RB為接收主機發(fā)送的報文的端口分配的標簽,所述出口標簽由入口 RB根據(jù)目的MAC地址查找的結果確定; 報文解封裝單元,用于對所述報文接收單元接收到的報文進行TRILL解封裝; 地址學習單元,用于對報文解封裝單元解封裝后的報文進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口 RB及入口標簽學習到本地MAC地址表項中; 報文轉發(fā)單元,用于根據(jù)出口標簽對所述報文解封裝單元解封裝后的報文進行轉發(fā)。
14.根據(jù)權利要求13所述的路由網(wǎng)橋,其特征在于, 當所述報文接收單元接收的TRILL報文中的出口標簽為交換標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文從出口標簽所對應的端口進行轉發(fā); 當所述報文接收單元接收的TRILL報文中的出口標簽為單播標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文進行目的MAC地址查找,如果查找到對應的MAC地址,則從對應的端口轉發(fā);如果未查找到,則進行本地端口泛洪; 當所述報文接收單元接收的TRILL報文中的出口標簽為組播標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文進行組播組查找,根據(jù)查找結果對報文進行組播復制轉發(fā);當所述報文接收單元接收的TRILL報文中的出口標簽為廣播標簽類型時,所述報文轉發(fā)單元用于將解封裝后的報文進行本地端口泛洪。
15.根據(jù)權利要求13或14所述的路由網(wǎng)橋,其特征在于,所述地址學習單元還用于 在判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的RB有變化時,使用報文中的入口 RB更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的RB ;和/或, 在判定本地MAC地址表中該TRILL報文中的內(nèi)層源MAC地址對應的MAC地址表項中的標簽有變化時,使用報文中的入口標簽更新本地MAC地址表中該源MAC地址對應的MAC地址表項中的標簽。
16.根據(jù)權利要求13或14所述的路由網(wǎng)橋,其特征在于,該路由網(wǎng)橋還包括無效接收單元和標簽更新單元,其中, 所述無效接收單元,用于當入口 RB的接收報文的端口不能正常工作時,接收由入口RB發(fā)送的標簽無效消息,所述標簽無效消息包含入口 RB的Nickname和為該端口分配的標簽; 所述標簽更新單元,用于當所述無效接收單元接收到標簽無效消息后,查看本地MAC地址表,當判定本地MAC地址表項中RB的Nickname為標簽無效消息中攜帶的入口 RB的Nickname、且該本地MAC地址表項中包含標簽無效消息中攜帶的標簽時,將本地MAC地址表項中的標簽更新為單播標簽。
全文摘要
本發(fā)明公開了一種TRILL網(wǎng)絡中的報文轉發(fā)方法和路由網(wǎng)橋入口RB和出口RB都為本地端口分配本地唯一的標簽,將本地主機的MAC地址及為本地端口分配的標簽學習到本地MAC地址表項中;入口RB在本地MAC地址表中查找由本地主機發(fā)送的待轉發(fā)報文的目的MAC地址對應的MAC地址表項,根據(jù)查找結果對待轉發(fā)報文進行包含入口RB、入口標簽和出口RB、出口標簽的TRILL封裝,將封裝后的TRILL報文發(fā)送給出口RB;出口RB將TRILL報文進行TRILL解封裝,進行內(nèi)層源MAC地址學習,將內(nèi)層源MAC地址、入口RB及入口標簽學習到本地MAC地址表項中,并根據(jù)出口標簽對解封裝后的報文進行轉發(fā)。應用本發(fā)明所述的方法和路由網(wǎng)橋,能夠實現(xiàn)依據(jù)標簽對報文的轉發(fā),減少對MAC地址表的查找,降低報文轉發(fā)的復雜度。
文檔編號H04L12/761GK102868614SQ201210337378
公開日2013年1月9日 申請日期2012年9月13日 優(yōu)先權日2012年9月13日
發(fā)明者周萬 申請人:杭州華三通信技術有限公司