報(bào)文轉(zhuǎn)發(fā)方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種報(bào)文轉(zhuǎn)發(fā)裝置和方法,其中該方法包括:根據(jù)IP報(bào)文的IP地址查找ARP信息;根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭;將以太網(wǎng)頭添加于所述IP報(bào)文并通過所述ARP信息中的出端口發(fā)送。本發(fā)明提供的報(bào)文轉(zhuǎn)發(fā)方法和裝置,使TRILL網(wǎng)絡(luò)內(nèi)的網(wǎng)關(guān)路由橋執(zhí)行下行三層轉(zhuǎn)發(fā)無需將完成三層轉(zhuǎn)發(fā)的報(bào)文封裝為TRILL報(bào)文。
【專利說明】報(bào)文轉(zhuǎn)發(fā)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種報(bào)文轉(zhuǎn)發(fā)方法和裝置。
【背景技術(shù)】
[0002]多鏈接透明互連(TRILL,Transparent Interconnect1n of Lots of Links)協(xié)議是IETF制定的一種二層網(wǎng)絡(luò)技術(shù)。TRILL協(xié)議將三層路由技術(shù)ISIS (IntermediateSystem-to-1ntermediate System,中間系統(tǒng)到中間系統(tǒng))的設(shè)計(jì)思路引入二層網(wǎng)絡(luò),將二層網(wǎng)絡(luò)的簡單、靈活性與三層網(wǎng)絡(luò)的穩(wěn)定、可擴(kuò)展和高性能有機(jī)融合起來,可用于構(gòu)建數(shù)據(jù)中心的二層網(wǎng)絡(luò)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于,提供了一種報(bào)文轉(zhuǎn)發(fā)方法,使TRILL網(wǎng)絡(luò)內(nèi)的網(wǎng)關(guān)路由橋執(zhí)行下行三層轉(zhuǎn)發(fā)無需將完成三層轉(zhuǎn)發(fā)的報(bào)文封裝為TRILL報(bào)文。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種報(bào)文的轉(zhuǎn)發(fā)方法,該方法包括:根據(jù)IP報(bào)文的IP地址查找ARP信息;根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭;將以太網(wǎng)頭添加于IP報(bào)文并通過ARP信息中的出端口發(fā)送。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種報(bào)文的轉(zhuǎn)發(fā)裝置,該裝置包括存儲(chǔ)裝置,用于存儲(chǔ)已學(xué)習(xí)的ARP信息;轉(zhuǎn)發(fā)單元,根據(jù)IP報(bào)文的IP地址在存儲(chǔ)的ARP信息中執(zhí)行查找,根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭;將以太網(wǎng)頭添加于IP報(bào)文并通過ARP信息中的出端口發(fā)送;
[0006]第一本地MAC地址關(guān)聯(lián)的虛擬交換接口與目的IP地址屬于相同VLAN。
[0007]綜上,本發(fā)明所采用的報(bào)文轉(zhuǎn)發(fā)方法,使TRILL網(wǎng)絡(luò)內(nèi)的網(wǎng)關(guān)路由橋執(zhí)行下行三層轉(zhuǎn)發(fā)無需將完成三層轉(zhuǎn)發(fā)的報(bào)文封裝為TRILL報(bào)文。
【專利附圖】
【附圖說明】
[0008]圖1為本發(fā)明實(shí)施例中報(bào)文轉(zhuǎn)發(fā)流程圖;
[0009]圖2為本發(fā)明實(shí)施例提供的數(shù)據(jù)中心的二層網(wǎng)絡(luò)的示意圖;
[0010]圖3為本發(fā)明實(shí)施例提供的另一數(shù)據(jù)中心的二層網(wǎng)絡(luò)的示意圖;
[0011]圖4本發(fā)明實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)裝置的示意圖。
[0012]圖5是本發(fā)明實(shí)施例提供另一報(bào)文轉(zhuǎn)發(fā)裝置的示意圖。
【具體實(shí)施方式】
[0013]為使本發(fā)明的技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
[0014]圖1所示的本發(fā)明實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)流程包括:
[0015]步驟101,根據(jù)IP報(bào)文的IP地址查找ARP信息;
[0016]步驟102,根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭;
[0017]步驟103,將以太網(wǎng)頭添加于所述IP報(bào)文并通過所述ARP信息中的出端口發(fā)送。
[0018]利用圖1所示的報(bào)文轉(zhuǎn)發(fā)方法和裝置,TRILL網(wǎng)絡(luò)內(nèi)的網(wǎng)關(guān)路由橋執(zhí)行下行三層轉(zhuǎn)發(fā)無需將完成三層轉(zhuǎn)發(fā)的報(bào)文封裝為TRILL報(bào)文。
[0019]圖2所示本發(fā)明實(shí)施例提供的數(shù)據(jù)中心內(nèi)Trill網(wǎng)絡(luò)示意圖。
[0020]圖2中,trill網(wǎng)絡(luò)200包括網(wǎng)關(guān)路由橋(RB,Routing fcidge) 231?234以及非網(wǎng)關(guān)路由橋221?226。網(wǎng)關(guān)路由橋231?234具有三層轉(zhuǎn)發(fā)能力。
[0021]路由橋231 — 234構(gòu)成的虛擬路由器230。針對(duì)Trill網(wǎng)絡(luò)200內(nèi)的VLAN1,為該虛擬路由器230分配虛擬IPl和虛擬MACl作為VLANl網(wǎng)關(guān)的IP地址和MAC地址,針對(duì)TRILL網(wǎng)絡(luò)200內(nèi)的VLAN2為虛擬路由器230分配虛擬IP2和虛擬MAC2作為VLAN2網(wǎng)關(guān)的IP地址和MAC地址。路由橋231 - 234可通過HSRP協(xié)議或VRRP協(xié)議構(gòu)成虛擬路由器230。路由橋231被選舉為虛擬路由器230主設(shè)備,為請(qǐng)求VLANl網(wǎng)關(guān)IP地址或請(qǐng)求VLAN2網(wǎng)關(guān)IP地址的ARP (地址解析協(xié)議,Address Resolut1n Protocol)請(qǐng)求報(bào)文回復(fù)ARP響應(yīng)報(bào)文。
[0022]路由橋RB231?234均保持轉(zhuǎn)發(fā)(active)狀態(tài),作為VLANl和VLAN2的網(wǎng)關(guān)。
[0023]屬于VLANl的終端(end — stat1n)的網(wǎng)關(guān)IP地址被設(shè)置為虛擬IP1,屬于VLAN2的終端的網(wǎng)關(guān)IP地址被設(shè)置為虛擬IP2。
[0024]路由橋231 - 234各自在Trill網(wǎng)絡(luò)內(nèi)通知VLANl的網(wǎng)關(guān)信息以及VLAN2的網(wǎng)關(guān)信息。路由橋231 - 234通知的網(wǎng)關(guān)信息至少包括:指示網(wǎng)關(guān)MAC地址的信息以及指示本設(shè)備作為網(wǎng)關(guān)的信息。這樣,TRILL網(wǎng)絡(luò)內(nèi)所有路由橋可以獲知VLANl網(wǎng)關(guān)的MAC地址是虛擬MACl、VLAN2網(wǎng)關(guān)的MAC地址是虛擬MAC2,路由橋231 — 234是VLANl網(wǎng)關(guān)和VLAN2網(wǎng)關(guān)。本發(fā)明不限定路由橋231 — 234通知網(wǎng)關(guān)信息的具體實(shí)現(xiàn)方式。譬如,路由橋231 —234將網(wǎng)關(guān)信息攜帶于已有協(xié)議報(bào)文的未定義字段,然后通過一個(gè)Trill組播樹在Trill網(wǎng)絡(luò)內(nèi)發(fā)送。或者,路由橋231 — 234將網(wǎng)關(guān)信息攜帶于自定義的網(wǎng)關(guān)通知消息,通過一個(gè)Trill組播樹在trill網(wǎng)絡(luò)內(nèi)發(fā)送,但是需要確保自定義的網(wǎng)關(guān)通知消息的協(xié)議類型能夠被Trill網(wǎng)絡(luò)200的所有路由橋識(shí)別。
[0025]路由橋221根據(jù)TRILL網(wǎng)絡(luò)200的拓?fù)洌?jì)算本設(shè)備與VLANl的網(wǎng)關(guān)(B卩,RB231、RB232、RB233以及RB234)之間的Trill路徑,然后選擇跳數(shù)最少的TRILL路徑作為到達(dá)VLANl網(wǎng)關(guān)的等價(jià)多路徑。
[0026]圖2中,路由橋221選擇的到達(dá)VLANl網(wǎng)關(guān)的等價(jià)多路徑包括:路由橋221_>路由橋231,路由橋221->路由橋232,路由橋221_>路由橋233,路由橋221_>路由橋234。路由橋221選擇的到達(dá)VLAN2網(wǎng)關(guān)的等價(jià)多路徑與到達(dá)VLANl網(wǎng)關(guān)的等級(jí)多路徑相同。
[0027]路由橋222 - 226以相同的方式選擇到達(dá)VLANl網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN2網(wǎng)關(guān)的等價(jià)多路徑。
[0028]屬于VLANl的終端152連接于路由橋222,屬于VLAN2的終端153連接于路由橋223。
[0029]終端152未查找到虛擬IPl對(duì)應(yīng)的MAC地址,則生成請(qǐng)求虛擬IPl的ARP請(qǐng)求報(bào)文,其中,目標(biāo)端IP (Target IP)地址為虛擬IPl ;發(fā)送端IP (Sender IP)地址為IP152 ;發(fā)送端 MAC (Sender MAC)地址為 MAC152 ;源嫩(:(501^^ MAC)地址和目的 MAC (Destinat1nMAC)地址分別設(shè)備為MAC152和全F的MAC地址。終端152發(fā)送請(qǐng)求虛擬IPl的ARP請(qǐng)求報(bào)文。
[0030]路由橋222接收ARP請(qǐng)求報(bào)文,根據(jù)VLANl、MAC152 (源MAC地址)以及APR請(qǐng)求報(bào)文的接收端口學(xué)習(xí)MAC地址表項(xiàng)。路由橋222將ARP請(qǐng)求報(bào)文封裝為TRILL封裝的ARP請(qǐng)求報(bào)文;其中,Trill頭的Ingress nickname (接入設(shè)備昵稱)和Egress nickname(出口設(shè)備昵稱)分別是nickname222 (路由橋222的nickname)和分發(fā)樹(distribut1ntree)的樹根的nickname (指定了發(fā)送ARP報(bào)文的分發(fā)樹);外層以太網(wǎng)頭的源MAC地址和目的MAC分別是路由橋22的TRILL接口的MAC地址和Trill組播MAC地址(All-RBridgesmulticast address)。
[0031]路由橋221、路由橋223?226收到Trill報(bào)文封裝的ARP請(qǐng)求報(bào)文,根據(jù)nickname222、VLANl以及MAC152學(xué)習(xí)MAC地址表項(xiàng)。路由橋221、路由橋223?226移除外層以太網(wǎng)頭和Trill頭,在VLANl關(guān)聯(lián)的端口廣播ARP報(bào)文。
[0032]路由橋231?234收到Trill封裝的ARP報(bào)文,根據(jù)nickname222、VLANl以及MAC152學(xué)習(xí)MAC地址表項(xiàng),根據(jù)TRILL封裝的ARP報(bào)文的接收端口、MAC152 (發(fā)送端MAC地址)以及VLANl (內(nèi)層VLAN ID)以及IP152 (發(fā)送端MAC地址)學(xué)習(xí)IP152的ARP信息。
[0033]路由橋231生成響應(yīng)虛擬IPl的ARP響應(yīng)報(bào)文,其中,目標(biāo)端IP地址為IP152 ;目標(biāo)端MAC地址為MAC152 ;發(fā)送端IP地址為虛擬IPl ;發(fā)送端MAC地址為虛擬MACl ;源嫩(:地址為MAC2312 ;目的MAC地址為MAC152。路由橋231沒有將虛擬MACl設(shè)置為ARP響應(yīng)報(bào)文的源MAC地址,而是將本設(shè)備的VLANl的虛擬交換接口(VSI,virtual switching interface)的第二 MAC地址2312設(shè)置為ARP響應(yīng)報(bào)文的源MAC地址,避免其他路由橋根據(jù)收到ARP響應(yīng)報(bào)文學(xué)習(xí)虛擬MACl表項(xiàng),即VLANl網(wǎng)關(guān)的MAC地址表項(xiàng)。
[0034]路由橋231根據(jù)學(xué)習(xí)的MAC152的表項(xiàng)將ARP響應(yīng)報(bào)文封裝為Trill封裝的ARP口向應(yīng)報(bào)文,其中,Ingress nickname 為 nickname231, Egress nickname 為 nickname222 ;夕卜層以太網(wǎng)頭的外層源MAC地址和外層目的MAC地址分別是路由橋231的TRILL接口 MAC地址和下一跳路由橋的TRILL接口的MAC地址。Trill網(wǎng)絡(luò)中,單播Trill報(bào)文的外層源MAC地址和外層目的MAC是逐跳修改的,分別表示發(fā)送單播trill報(bào)文的每跳路由橋以及到達(dá)Egress nickname的下一跳路由橋。圖2中,路由橋231將Trill封裝的ARP響應(yīng)報(bào)文發(fā)送到路由橋222。
[0035]路由橋222收到Trill封裝的ARP請(qǐng)求報(bào)文,確定外層目的MAC地址和Egressnickname是本設(shè)備的TRILL接口 MAC地址和本設(shè)備的nickname,移除外層以太網(wǎng)頭和Trill頭,在MAC表中查找到目的MAC地址MAC152的匹配表項(xiàng),發(fā)送ARP響應(yīng)報(bào)文到終端152。
[0036]終端152接收ARP響應(yīng)報(bào)文,學(xué)習(xí)虛擬IPl的ARP信息,根據(jù)虛擬IPl的ARP信息封裝和發(fā)送目的IP地址為IP153的IP報(bào)文。這樣,終端152將目的IP地址是IP153的以太網(wǎng)報(bào)文封裝為目的MAC地址是虛擬MACl的以太網(wǎng)報(bào)文;8卩,終端152發(fā)送的以太網(wǎng)報(bào)文中,目的MAC地址為虛擬MACI,源MAC地址為MAC152。
[0037]路由橋222收到目的MAC地址是虛擬MACl的以太網(wǎng)報(bào)文,將源MAC地址替換為MAC222,在到達(dá)VLANl網(wǎng)關(guān)的等價(jià)多路徑中選擇一個(gè)路徑,譬如路由橋222? > 路由橋233之間的路徑,發(fā)送替換了源MAC地址的以太網(wǎng)報(bào)文。這樣,可以利用計(jì)算到達(dá)到VLANl網(wǎng)關(guān)的等價(jià)多路徑負(fù)載分擔(dān)發(fā)往VLANl網(wǎng)關(guān)的以太網(wǎng)報(bào)文。路由橋222的VLANl的VSI的MAC地址是MAC222,是分配給路由橋222的本地MAC地址。
[0038]圖2中路由橋222以及其他非網(wǎng)關(guān)路由橋的VLANl的虛擬交換接口和VLAN2的虛擬交換接口的IP地址不同,但是這兩個(gè)虛擬交換接口的MAC地址既可以相同,也可以不同。
[0039]路由橋222可以根據(jù)以太網(wǎng)報(bào)文的五元組參數(shù)計(jì)算HASH值,在等價(jià)多路徑中選擇一個(gè)對(duì)應(yīng)于該HASH值的一個(gè)路徑。路由橋222修改源MAC地址是為了避免收到路由橋231?233修改已學(xué)習(xí)的MAC152的表項(xiàng)中的出端口 nickname222。
[0040]路由橋233接收目的MAC地址是虛擬MACl的以太網(wǎng)報(bào)文,學(xué)習(xí)源MAC地址MAC222的表項(xiàng)。
[0041]路由橋233移除目的MAC地址是虛擬MACl的以太網(wǎng)頭,根據(jù)目的IP地址IP153確定執(zhí)行下行的三層轉(zhuǎn)發(fā)。路由橋233未查找到目的IP地址IP153對(duì)應(yīng)的ARP信息,緩存目的IP地址是IP153的IP報(bào)文,生成請(qǐng)求IP153的ARP請(qǐng)求報(bào)文,其中,發(fā)送端IP地址是IP2332 ;發(fā)送端MAC地址是MAC2331 ;目標(biāo)端IP地址是IP152 ;源MAC地址是MAC2331、目的MAC地址是全F的MAC地址,VLAN ID是VLAN2。
[0042]圖2中網(wǎng)關(guān)路由橋233的VLANl的虛擬交換接口和VLAN2的虛擬交換接口的IP地址分別是IP2331和IP2332,但是這兩個(gè)虛擬交換接口具有相同的第一 MAC地址和相同的第二 MAC地址,即MAC2331和MAC2332。可選的,網(wǎng)關(guān)路由橋233以及其他網(wǎng)關(guān)路由橋的兩個(gè)虛擬交換接口具有不同第一 MAC地址和不同的第二 MAC地址。
[0043]路由橋233將本設(shè)備的VLAN2的虛擬交換接口(VSI, virtual switchinginterface)的第一 MAC地址2311設(shè)置為ARP請(qǐng)求報(bào)文的源MAC地址和請(qǐng)求端MAC地址,將本設(shè)備的VLAN2的虛擬交換接口的IP地址設(shè)置為ARP請(qǐng)求報(bào)文的請(qǐng)求端IP地址,避免其他路由橋根據(jù)收到ARP請(qǐng)求報(bào)文的源MAC地址學(xué)習(xí)虛擬MAC2表項(xiàng),避免終端根據(jù)ARP請(qǐng)求報(bào)文的請(qǐng)求端IP地址和MAC地址學(xué)習(xí)網(wǎng)關(guān)的ARP信息。因此,路由橋233沒有將虛擬MAC2設(shè)置為ARP請(qǐng)求報(bào)文的源MAC地址和請(qǐng)求端MAC地址,也沒有將虛擬IP2設(shè)置為ARP請(qǐng)求報(bào)文的目標(biāo)端IP地址。只有路由橋231為請(qǐng)求網(wǎng)關(guān)IP地址的APR報(bào)文響應(yīng)網(wǎng)關(guān)MAC地址。
[0044]路由橋233將ARP請(qǐng)求報(bào)文封裝為Tr i 11封裝的ARP報(bào)文,其中,Ingressnickname和Egress nickname分別是nickname233和分發(fā)樹的樹根的nickname ;外層源MAC地址和外層目的MAC分別是路由橋233的TRILL接口的MAC地址和Trill組播MAC地址。
[0045]路由橋221?226收到Trill報(bào)文封裝的ARP請(qǐng)求報(bào)文,根據(jù)nickname233、VLAN2以及MAC2331學(xué)習(xí)MAC地址表項(xiàng)。路由橋221?226移除外層以太網(wǎng)頭和Trill頭,在VLAN2關(guān)聯(lián)的端口廣播ARP報(bào)文。
[0046]終端153收到ARP請(qǐng)求報(bào)文,學(xué)習(xí)IP2332的ARP信息,為請(qǐng)求IP153的ARP請(qǐng)求報(bào)文生成ARP響應(yīng)報(bào)文;根據(jù)IP2332的ARP信息發(fā)送生成的ARP響應(yīng)報(bào)文。終端153生成的ARP響應(yīng)報(bào)文中,發(fā)送端IP地址和發(fā)送端MAC地址分別是IP153和MAC153 ;目標(biāo)端IP地址和目標(biāo)端MAC地址分別是IP2332和MAC2331 ;源MAC地址和目的MAC地址分別為MAC153和 MAC2331。
[0047]路由橋223接收ARP響應(yīng)報(bào)文,根據(jù)VLAN2、源MAC地址MAC153以及ARP響應(yīng)報(bào)文的接收端口學(xué)習(xí)MAC地址表項(xiàng)。
[0048]路由橋223查找到目的MAC地址MAC2331匹配的MAC地址表項(xiàng),將ARP響應(yīng)報(bào)文封裝為 Trill 封裝的 ARP請(qǐng)求報(bào)文;其中,Trill 頭的 Ingress nickname 和 Egress nickname分別是nickname223和nickname233 ;外層源MAC地址和外層目的MAC分別是路由橋223的TRILL接口的MAC地址和路由橋233的TRILL接口的MAC地址。
[0049]這樣,ARP響應(yīng)報(bào)文的以太網(wǎng)頭的目的MAC、源MAC以及VLAN ID是Trill封裝的ARP響應(yīng)報(bào)文的內(nèi)層目的MAC、內(nèi)層源MAC地址和內(nèi)層VLAN ID。路由橋223發(fā)送Trill封裝的ARP響應(yīng)報(bào)文到路由橋333。
[0050]路由橋223根據(jù)外層目的MAC地址將TRILL封裝的ARP響應(yīng)報(bào)文發(fā)到路由橋233。
[0051]路由橋233接收TRILL封裝的ARP響應(yīng)報(bào)文,根據(jù)nickname223、內(nèi)層源MAC地址以及內(nèi)層VLAN ID學(xué)習(xí)MAC地址表項(xiàng);根據(jù)Trill封裝的ARP報(bào)文的接收端口、內(nèi)層VLANID、發(fā)送端IP地址IP153以及發(fā)送端MAC地址MAC153,學(xué)習(xí)IP153的ARP信息。
[0052]路由橋233根據(jù)MAC2331以及目的IP地址IP153的ARP信息中的MAC153和VLAN2將目的IP地址是IP153的IP報(bào)文封裝為以太網(wǎng)報(bào)文,然后通過目的IP地址IP153的ARP信息中的出端口發(fā)送。路由橋233執(zhí)行下行三層轉(zhuǎn)發(fā)時(shí),將IP報(bào)文封裝為以太網(wǎng)報(bào)文發(fā)出。
[0053]由于路由橋223通過TRILL網(wǎng)絡(luò)的單播路徑將Trill封裝的ARP請(qǐng)求報(bào)文發(fā)到路由橋233。因此,路由橋233收到Trill封裝的ARP請(qǐng)求報(bào)文的端口的Trill路徑是最短路徑。
[0054]路由橋223接收目的MAC地址是MAC153的以太網(wǎng)報(bào)文,查找到MAC153的匹配表項(xiàng),發(fā)送以太網(wǎng)報(bào)文到終端153。
[0055]當(dāng)路由橋231 - 234收到來自數(shù)據(jù)中心外部網(wǎng)絡(luò)的以太網(wǎng)報(bào)文/IP報(bào)文時(shí),根據(jù)目的IP確定需要執(zhí)行下行三層轉(zhuǎn)發(fā)時(shí),以相同的方式將IP報(bào)文封裝為以太網(wǎng)報(bào)文發(fā)出。
[0056]異常處理
[0057]路由橋221?226檢測上行鏈路。路由橋223檢測到故障上行鏈路,且該故障上行鏈路在路由橋223與路由橋233之間路徑,屬于路由橋221到VLANl網(wǎng)關(guān)和VLAN2網(wǎng)關(guān)的等價(jià)多路徑中的一個(gè)路徑。路由橋223從到達(dá)VLANl網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN2網(wǎng)關(guān)的等價(jià)多路徑中刪除故障上行鏈路所在的路徑。
[0058]路由橋231?234檢測上行鏈路和下行鏈路。路由橋233檢測到故障下行鏈路,將故障下行鏈路鏈路的物理端口關(guān)聯(lián)的ARP信息刪除。本實(shí)施例中,路由橋233至少刪除了關(guān)于IP153的ARP信息。
[0059]當(dāng)路由橋233收到的以太網(wǎng)報(bào)文的目的IP地址是IP153時(shí),路由橋233生成請(qǐng)求IP153的ARP請(qǐng)求報(bào)文,將ARP請(qǐng)求報(bào)文封裝為Trill封裝的ARP報(bào)文。
[0060]路由橋221 - 226收到Trill報(bào)文封裝的ARP請(qǐng)求報(bào)文,移除外層以太網(wǎng)頭和Trill頭,在VLAN2關(guān)聯(lián)的端口廣播ARP報(bào)文。
[0061]終端153收到ARP請(qǐng)求報(bào)文,查找到IP2332的ARP信息,為請(qǐng)求IP153的ARP請(qǐng)求報(bào)文生成ARP響應(yīng)報(bào)文,為請(qǐng)求IP153的ARP請(qǐng)求報(bào)文生成ARP響應(yīng)報(bào)文;根據(jù)IP2332的ARP信息發(fā)送生成的ARP響應(yīng)報(bào)文。
[0062]路由橋223接收ARP響應(yīng)報(bào)文,查找到目的MAC地址MAC2331匹配的MAC地址表項(xiàng),將ARP響應(yīng)報(bào)文封裝為Trill封裝的ARP請(qǐng)求報(bào)文;其中,Trill頭的Ingress nickname和Egress nickname分別是nickname223和nickname233 ;外層以太網(wǎng)頭的源MAC地址和目的MAC分別是路由橋223的TRILL接口的MAC地址和路由橋232的TRILL接口的MAC地址。
[0063]路由橋223將Trill封裝的ARP響應(yīng)報(bào)文發(fā)往下一跳路由橋232。路由橋232收到Trill封裝的ARP響應(yīng)報(bào)文,根據(jù)nickname223、內(nèi)層VLAN ID和內(nèi)層源MAC地址學(xué)習(xí)關(guān)聯(lián)于MAC153的MAC地址表項(xiàng),根據(jù)nickname233修改外層源MAC地址和外層目的MAC地址,將Trill封裝的ARP響應(yīng)報(bào)文發(fā)往下一跳路由橋222。
[0064]路由橋222收到Trill封裝的ARP響應(yīng)報(bào)文,根據(jù)nickname223、內(nèi)層VLANID和內(nèi)層源MAC地址學(xué)習(xí)關(guān)聯(lián)于MAC153的表項(xiàng),根據(jù)nickname233修改外層源MAC地址和外層目的MAC地址,將Trill封裝的ARP響應(yīng)報(bào)文發(fā)往路由橋233。
[0065]路由橋233接收TRILL封裝的ARP響應(yīng)報(bào)文,根據(jù)nickname223、內(nèi)層源MAC地址以及內(nèi)層VLAN ID學(xué)習(xí)MAC153的表項(xiàng);根據(jù)Trill封裝的ARP報(bào)文的接收端口、內(nèi)層VLANID、發(fā)送端IP地址IP153以及發(fā)送端MAC地址MAC153,學(xué)習(xí)IP153的ARP信息。
[0066]路由橋233根據(jù)MAC2331以及目的IP地址IP153的ARP信息構(gòu)建一個(gè)以太網(wǎng)頭,其中,源MAC地址是2331、目的MAC地址是MAC153、VLAN ID是VLAN2。路由橋233將以太網(wǎng)頭添加到目的IP地址是IP153的IP報(bào)文,然后通過目的IP地址IP153的ARP信息中的出端口發(fā)送。
[0067]這樣,路由橋223將目的MAC地址是MAC153的以太網(wǎng)報(bào)文發(fā)送到路由橋222。這樣,路由橋223執(zhí)行下行三層轉(zhuǎn)發(fā)時(shí),發(fā)出的時(shí)以太網(wǎng)報(bào)文而非TRILL報(bào)文。
[0068]路由橋222接收目的MAC地址是MAC153的以太網(wǎng)報(bào)文根據(jù)MAC153在MAC表中查找到的匹配表項(xiàng)將以太網(wǎng)報(bào)文封裝為Trill封裝的以太網(wǎng)報(bào)文,其中,Till頭的IngressNickname 和 Egress nickname 分別 nickname222、nickname223 ;外層源 MAC 地址和目的 MAC地址分別是路由橋222的TRILL接口的MAC地址和路由橋232的TRILL接口的MAC地址。路由橋222將TRILL封裝的以太網(wǎng)報(bào)文發(fā)到下一跳路由橋232。
[0069]路由橋232接收TRILL封裝的以太網(wǎng)報(bào)文,將外層源MAC地址和外層目的MAC地址修改為路由橋232的TRILL接口的MAC地址和路由橋223的TRILL接口的MAC地址,將TRILL封裝的以太網(wǎng)報(bào)文發(fā)到下一跳路由橋223。
[0070]路由橋223接收TRILL封裝的以太網(wǎng)報(bào)文,移除外層的以太網(wǎng)頭和TRILL頭,在MAC表中查找到MAC153的匹配表項(xiàng),發(fā)送以太網(wǎng)報(bào)文到終端153。
[0071]路由橋222和223收到的以太網(wǎng)報(bào)文的目的MAC地址不是網(wǎng)關(guān)的MAC地址,則執(zhí)行常規(guī)的二層轉(zhuǎn)發(fā)處理。
[0072]終端153請(qǐng)求虛擬IP2對(duì)應(yīng)的虛擬MAC2的過程與終端152請(qǐng)求虛擬IPl對(duì)應(yīng)的虛擬MAC2的過程相同。
[0073]路由橋231為請(qǐng)求虛擬IP2的ARP請(qǐng)求報(bào)文生成ARP響應(yīng)報(bào)文,將虛擬MAC2和MAC2312設(shè)置為發(fā)送端MAC地址和源MAC地址是MAC2312。
[0074]終端153根據(jù)學(xué)習(xí)虛擬IP2的ARP信息,封裝和發(fā)送需要執(zhí)行三層轉(zhuǎn)發(fā)的IP報(bào)文。路由橋223接收目的MAC地址是虛擬MAC2的以太網(wǎng)報(bào)文,將源MAC地址替換為本設(shè)備VLAN2的虛擬交換接口的MAC地址MAC223,選擇路由橋222? > 路由橋232之間的路徑轉(zhuǎn)發(fā)替換了源MAC地址且目的MAC地址是VLAN2網(wǎng)關(guān)的MAC地址的以太網(wǎng)報(bào)文。仍見,可以利用等價(jià)多路徑擔(dān)發(fā)往VLAN2網(wǎng)關(guān)的以太網(wǎng)報(bào)文。
[0075]當(dāng)路由橋233檢測本設(shè)備所有上行鏈路故障時(shí),在TRILL網(wǎng)絡(luò)內(nèi)通知本設(shè)備的所有上行鏈路故障。路由橋221將路由橋221與路由橋233之間的路徑從到達(dá)VLANl網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN2網(wǎng)關(guān)的等價(jià)多路徑中刪除。路由橋222 — 226也執(zhí)行同樣的處理,將各自與路由橋233之間屬于等價(jià)多路徑的每個(gè)路徑刪除。
[0076]本實(shí)施例中,網(wǎng)關(guān)路由橋執(zhí)行下行三層轉(zhuǎn)發(fā)而發(fā)出的初始報(bào)文始終是以太網(wǎng)報(bào)文。非網(wǎng)關(guān)路由橋收到以太網(wǎng)報(bào)文的目的MAC地址不是網(wǎng)關(guān)的MAC地址時(shí),按照通常的二層轉(zhuǎn)發(fā)方式處理。
[0077]圖3所示本發(fā)明實(shí)施例提供的數(shù)據(jù)中心內(nèi)Trill網(wǎng)絡(luò)示意圖。
[0078]如圖3所示,trill網(wǎng)絡(luò)300包括網(wǎng)關(guān)路由橋341和342、非網(wǎng)關(guān)路由橋331?334以及非網(wǎng)關(guān)路由橋321?326。網(wǎng)關(guān)路由橋341和342具有三層轉(zhuǎn)發(fā)能力。
[0079]路由橋341和342構(gòu)成虛擬路由器340,針對(duì)Trill網(wǎng)絡(luò)300內(nèi)的VLANlO為該虛擬路由器340分配虛擬IP3和虛擬MAC3作為VLANlO網(wǎng)關(guān)的IP地址和MAC地址;針對(duì)TRILL網(wǎng)絡(luò)內(nèi)的VLAN20,為虛擬路由器340分配虛擬IP4和虛擬MAC4作為VLAN20網(wǎng)關(guān)的IP地址和MAC地址。
[0080]路由橋341和342可通過HSRP協(xié)議或VRRP協(xié)議構(gòu)成虛擬路由器340,路由橋341被選舉主設(shè)備,為請(qǐng)求虛擬IP3或請(qǐng)求虛擬IP4的ARP請(qǐng)求報(bào)文回復(fù)ARP響應(yīng)報(bào)文。路由橋341和342均保持轉(zhuǎn)發(fā)(active)狀態(tài),作為VLANlO和VLAN20內(nèi)終端的網(wǎng)關(guān),。
[0081]屬于VLANlO的終端(end — stat1n)的網(wǎng)關(guān)IP地址被設(shè)置為虛擬IP3,屬于VLAN20的終端的網(wǎng)關(guān)IP地址被設(shè)置為虛擬IP4。
[0082]Trill網(wǎng)絡(luò)內(nèi)所有路由橋都知道VLANlO和VLAN20的網(wǎng)關(guān)的MAC地址分別是虛擬MAC3和虛擬MAC4,VLANlO和VLAN20的網(wǎng)關(guān)是路由橋341和342。
[0083]路由橋341和342各自在Trill網(wǎng)絡(luò)內(nèi)通知VLANlO的網(wǎng)關(guān)信息以及VLAN20的網(wǎng)關(guān)信息。路由橋341和342通知的網(wǎng)關(guān)信息至少包括:指示網(wǎng)關(guān)MAC地址的信息以及指示本設(shè)備作為網(wǎng)關(guān)的信息。這樣,TRILL網(wǎng)絡(luò)內(nèi)所有路由橋可以獲知VLANlO網(wǎng)關(guān)的MAC地址是虛擬MAC3、VLAN20網(wǎng)關(guān)的MAC地址是虛擬MAC4,路由橋341和342是VLANlO網(wǎng)關(guān)和VLAN20 網(wǎng)關(guān)。
[0084]本發(fā)明不限定路由橋341和342通知網(wǎng)關(guān)信息的具體實(shí)現(xiàn)方式。譬如,路由橋341和342將網(wǎng)關(guān)信息攜帶于已有協(xié)議報(bào)文的未定義字段,然后通過一個(gè)Trill組播樹在Trill網(wǎng)絡(luò)內(nèi)發(fā)送。或者,路由橋341和342將網(wǎng)關(guān)信息攜帶于自定義的網(wǎng)關(guān)通知消息,通過一個(gè)Trill組播樹在trill網(wǎng)絡(luò)內(nèi)發(fā)送,但是需要確保自定義的網(wǎng)關(guān)通知消息的協(xié)議類型能夠被Trill網(wǎng)絡(luò)300的所有路由橋識(shí)別。
[0085]路由橋321根據(jù)TRILL網(wǎng)絡(luò)200的拓?fù)?,?jì)算本設(shè)備與VLANlO的網(wǎng)關(guān)(B卩,路由橋341和342)之間的Trill路徑,然后選擇跳數(shù)最少的TRILL路徑作為到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑。
[0086]路由橋321根據(jù)TRILL網(wǎng)絡(luò)300的拓?fù)洌?jì)算本設(shè)備與VLANlO的網(wǎng)關(guān)、VLAN20網(wǎng)關(guān)之間的多個(gè)Trill路徑,然后選擇跳數(shù)最少的TRILL路徑作為到達(dá)VLANlO的等價(jià)多路徑和VLAN20等價(jià)多路徑。
[0087]圖3中,路由橋321選擇的到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑包括:路由橋321與路由橋341之間的四個(gè)等價(jià)的路徑,每個(gè)路徑上的傳輸路由橋分別是路由橋331?334 ;以及路由橋321與路由橋342之間的四個(gè)等價(jià)的路徑,每個(gè)路徑上的傳輸路由橋分別是路由橋331?334。路由橋321選擇的到達(dá)VLAN20網(wǎng)關(guān)的等價(jià)多路徑與到達(dá)VLANlO網(wǎng)關(guān)的等級(jí)多路徑相同。
[0088]路由橋322 - 326以相同的方式選擇到達(dá)VLANlO的網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN20網(wǎng)關(guān)的等價(jià)多路徑。
[0089]圖3中,路由橋331選擇的到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN20網(wǎng)關(guān)的等價(jià)多路徑包括:路由橋331與路由橋341之間路徑以及路由橋331與路由橋342之間的路徑。屬于VLANlO的終端352連接于路由橋322,屬于VLAN20的終端353連接于路由橋323
[0090]終端352未查找到虛擬IP3對(duì)應(yīng)的MAC地址,則生成請(qǐng)求虛擬IP3的ARP請(qǐng)求報(bào)文,其中,目標(biāo)端(Target)IP地址為虛擬IP3 ;發(fā)送端(sender)IP地址為IP352 ;發(fā)送端MAC地址為MAC352 ;ARP請(qǐng)求報(bào)文的以太網(wǎng)頭的源MAC地址和目的MAC地址分別設(shè)備為MAC352和全F的MAC地址。終端352發(fā)送請(qǐng)求虛擬IP3的ARP請(qǐng)求報(bào)文。
[0091]路由橋322接收ARP請(qǐng)求報(bào)文,根據(jù)VLAN10、ARP請(qǐng)求報(bào)文的源MAC地址以及APR請(qǐng)求報(bào)文的接收端口學(xué)習(xí)MAC352的表項(xiàng)。路由橋322將ARP報(bào)文封裝為TRILL封裝的ARP請(qǐng)求報(bào)文,在TRILL網(wǎng)絡(luò)內(nèi)廣播。
[0092]路由橋321、路由橋323?326收到Trill報(bào)文封裝的ARP請(qǐng)求報(bào)文,根據(jù)nickname322、VLANl以及MAC352學(xué)習(xí)MAC地址表項(xiàng)。路由橋321、路由橋323?326移除外層以太網(wǎng)頭和Trill頭,在VLANlO關(guān)聯(lián)的端口廣播ARP報(bào)文。
[0093]路由橋331?334作為轉(zhuǎn)發(fā)路由橋(Transiting路由橋),根據(jù)Ingressnickname、內(nèi)層目的MAC和內(nèi)層VLAN ID學(xué)習(xí)MAC352的MAC地址表項(xiàng),根據(jù)Egressnickname在Trill網(wǎng)絡(luò)內(nèi)轉(zhuǎn)發(fā)。
[0094]路由橋341和342收到Trill封裝的ARP報(bào)文,根據(jù)nickname322、VLANlO以及MAC352學(xué)習(xí)MAC地址表項(xiàng),根據(jù)TRILL封裝的ARP報(bào)文的接收端口、MAC352 (發(fā)送端MAC地址)以及VLANlO (內(nèi)層VLAN ID)以及IP352 (發(fā)送端MAC地址)學(xué)習(xí)IP352的ARP信息。
[0095]路由橋341生成響應(yīng)虛擬IPl的ARP響應(yīng)報(bào)文,其中,目標(biāo)端IP地址為IP352 ;目標(biāo)端MAC地址為MAC352 ;發(fā)送端IP地址為虛擬IP3 ;發(fā)送端MAC地址為虛擬MAC3。路由橋341將ARP響應(yīng)報(bào)文的以太網(wǎng)頭的源MAC地址和目的MAC地址分別設(shè)置為本設(shè)備的VLANlO的虛擬交換接口(VSI, virtual switching interface)的第二 MAC 地址 3412 和 MAC352。路由橋341將ARP響應(yīng)報(bào)文封裝為Trill封裝的ARP響應(yīng)報(bào)文。
[0096]圖3中網(wǎng)關(guān)路由橋341的VLANlO的虛擬交換接口和VLAN20的虛擬交換接口的IP地址分別是IP3411和IP3412,但是這兩個(gè)虛擬交換接口具有相同的第一 MAC地址和相同的第二 MAC地址,即MAC3411和MAC3412。可選的,網(wǎng)關(guān)路由橋341的兩個(gè)虛擬交換接口具有不同第一 MAC地址和不同的第二 MAC地址。網(wǎng)關(guān)路由橋342的VLANlO和VLAN2的虛擬交換接口的IP地址不同,但是這兩個(gè)虛擬交換接口的第一 MAC地址和第二 MAC地址既可以相同,也可以不同。
[0097]路由橋341 將 Trill 頭的 Ingress nickname 設(shè)置為 nickname341,根據(jù)學(xué)習(xí)的 MAC地址表項(xiàng)將Trill頭的Egress nickname設(shè)置為nickname322 ;將外層源MAC地址和外層目的MAC地址分別設(shè)置為路由橋341的TRILL接口的MAC地址和下一跳路由橋332的TRILL接口的MAC地址。圖3中,路由橋341將Trill封裝的ARP響應(yīng)報(bào)文發(fā)送到路由橋332。
[0098]路由橋332收到Trill封裝的ARP請(qǐng)求報(bào)文,根據(jù)Ingress nickname、內(nèi)層目的MAC和內(nèi)層VLAN ID學(xué)習(xí)MAC3412的MAC地址表項(xiàng),修改外層源MAC地址和外層目的MAC地址,將Trill封裝ARP響應(yīng)報(bào)文發(fā)送給路由橋322。
[0099]路由橋322收到Trill封裝的ARP請(qǐng)求報(bào)文,確定外層目的MAC地址和Egressnickname是本設(shè)備的TRILL接口 MAC地址和nickname,移除外層以太網(wǎng)頭和Trill頭,在MAC表中查找到目的MAC地址MAC3412的匹配表項(xiàng),發(fā)送ARP響應(yīng)報(bào)文到終端352。
[0100]終端352接收ARP響應(yīng)報(bào)文,學(xué)習(xí)虛擬IP3的ARP信息,根據(jù)虛擬IP3的ARP信息封裝和發(fā)送目的IP地址為IP353的IP報(bào)文。這樣,終端352將目的IP地址是IP353的以太網(wǎng)報(bào)文封裝為目的MAC地址是虛擬MAC3的以太網(wǎng)報(bào)文;8卩,終端352發(fā)送的以太網(wǎng)報(bào)文中,目的MAC地址為虛擬MAC3,源MAC地址為MA352。
[0101]路由橋322收到目的MAC地址是虛擬MAC3的以太網(wǎng)報(bào)文,將源MAC地址替換為MAC322,在到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑中選擇一個(gè)路徑,譬如路由橋322->路由橋332->路由橋341之間的路徑,發(fā)送替換了源MAC地址的以太網(wǎng)報(bào)文。路由橋322修改源MAC地址是為了避免下一跳路由橋或者網(wǎng)關(guān)修改已學(xué)習(xí)的MAC352表項(xiàng)的出端口,即nickname322。
[0102]路由橋332收到目的MAC地址是虛擬MAC3的以太網(wǎng)報(bào)文,將源MAC地址替換為MAC332,在到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑中選擇一個(gè)路徑,譬如路由橋332與路由橋341之間的路徑,發(fā)送替換了源MAC地址的以太網(wǎng)報(bào)文。路由橋332修改源MAC地址是為了避免網(wǎng)關(guān)修改已學(xué)習(xí)的MAC352表項(xiàng)的出端口。
[0103]圖3中,非網(wǎng)關(guān)路由橋321 - 326以及路由橋331?334的VLANl的虛擬交換接口和VLAN2的虛擬交換接口的IP地址不同,但是這兩個(gè)虛擬交換接口的MAC地址既可以相同,也可以不同。
[0104]這樣,路由橋322和332利用到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑分擔(dān)發(fā)往VLANlO網(wǎng)關(guān)的以太網(wǎng)報(bào)文,同時(shí)路由橋322和333無需將發(fā)往VLANlO網(wǎng)關(guān)的以太網(wǎng)報(bào)文封裝為TRILL報(bào)文。相應(yīng)地,VLANlO網(wǎng)關(guān)無需對(duì)TRILL報(bào)文進(jìn)行解封裝以后再執(zhí)行三層轉(zhuǎn)發(fā)。
[0105]路由橋322和332可以根據(jù)以太網(wǎng)報(bào)文的五元組參數(shù)計(jì)算HASH值,在等價(jià)多路徑中選擇一個(gè)對(duì)應(yīng)的路徑。路由橋341接收目的MAC地址是虛擬MAC3的以太網(wǎng)報(bào)文,學(xué)習(xí)源MAC地址MAC332的MAC地址表項(xiàng)。
[0106]路由橋341移除目的MAC地址是虛擬MAC3的以太網(wǎng)報(bào)文的以太網(wǎng)頭,根據(jù)目的IP地址IP353確定執(zhí)行下行的三層轉(zhuǎn)發(fā)。
[0107]路由橋341未查找到目的IP地址IP353對(duì)應(yīng)的ARP信息,緩存目的IP地址是IP353的IP報(bào)文,生成請(qǐng)求IP353的ARP請(qǐng)求報(bào)文,其中,發(fā)送端IP地址是路由橋341的VLAN20的虛擬交換接口的IP地址IP3412 ;發(fā)送端MAC地址是路由橋341的VLAN20的虛擬交換接口的第一 MAC地址MAC3411 ;目標(biāo)端IP地址是IP352。該ARP請(qǐng)求報(bào)文的以太網(wǎng)頭的VLANID、源MAC地址和目的MAC地址分別是VLAN20、MAC3411和全F的MAC地址。
[0108]路由橋341將ARP請(qǐng)求報(bào)文封裝為Trill封裝的ARP報(bào)文,在TRILL網(wǎng)絡(luò)內(nèi)廣播。
[0109]路由橋331?334收到Trill報(bào)文封裝的ARP請(qǐng)求報(bào)文,根據(jù)Ingress nickname、VLAN20以及MAC3411學(xué)習(xí)MAC地址表項(xiàng)。路由橋331?334根據(jù)Egress nickname轉(zhuǎn)發(fā)。
[0110]路由橋321?226收到Trill報(bào)文封裝的ARP請(qǐng)求報(bào)文,根據(jù)Ingress nickname、VLAN20以及MAC3411學(xué)習(xí)MAC地址表項(xiàng)。路由橋321?326移除外層以太網(wǎng)頭和Tr i 11頭,在VLAN20關(guān)聯(lián)的端口廣播ARP報(bào)文。
[0111]終端353收到ARP請(qǐng)求報(bào)文,學(xué)習(xí)IP3412的ARP信息,為請(qǐng)求IP353的ARP請(qǐng)求報(bào)文生成ARP響應(yīng)報(bào)文;根據(jù)IP3412的ARP信息發(fā)送ARP響應(yīng)報(bào)文。終端353生成的ARP響應(yīng)報(bào)文中,發(fā)送端IP地址和發(fā)送端MAC地址分別是IP353和MAC353 ;目標(biāo)端IP地址和目標(biāo)端MAC地址分別是IP3412和MAC3411;源MAC地址和目的MAC地址分別設(shè)置為MA353和 MAC3411。
[0112]路由橋323接收ARP響應(yīng)報(bào)文,根據(jù)VLAN20、源MAC地址MAC153以及ARP響應(yīng)報(bào)文的接收端口學(xué)習(xí)MAC地址表項(xiàng)。
[0113]路由橋323查找MAC3411匹配的表項(xiàng),將ARP響應(yīng)報(bào)文封裝為Trill封裝的ARP請(qǐng)求?艮文;其中,Trill 頭的 Ingress nickname 和 Egress nickname 分別是 nickname323 和nickname341 ;外層以太網(wǎng)頭的源MAC和目的MAC分別是路由橋323的TRILL接口的MAC地址和下一跳路由橋332的TRILL接口的MAC地址。路由橋323根據(jù)外層目的MAC地址發(fā)送Trill封裝的ARP響應(yīng)報(bào)文到下一跳路由橋332。
[0114]路由橋332接收Trill封裝的ARP響應(yīng)報(bào)文,根據(jù)nickname323、MAC353以及VLAN20學(xué)習(xí)MAC地址表項(xiàng),修改外層源MAC地址和外層目的MAC地址,將Trill封裝的ARP響應(yīng)報(bào)文發(fā)送到路由橋341。
[0115]路由橋341接收TRILL封裝的ARP響應(yīng)報(bào)文,根據(jù)nickname323、MAC353以及VLAN20學(xué)習(xí)MAC地址表項(xiàng);根據(jù)Trill封裝的ARP報(bào)文的接收端口、VLAN20、IP353以及MAC353,學(xué)習(xí) IP353 的 ARP 信息。
[0116]路由橋341根據(jù)MAC3411、MAC353和VLAN20構(gòu)建以太網(wǎng)頭,將以太網(wǎng)頭田間到目的IP地址是IP353的IP報(bào)文,通過IP353的ARP信息中的出端口發(fā)送。這樣,路由橋341執(zhí)行下行三層轉(zhuǎn)發(fā)時(shí)發(fā)出的是以太網(wǎng)報(bào)文。
[0117]路由橋332收到以太網(wǎng)報(bào)文,查找到MAC353的匹配表項(xiàng),將收到的以太網(wǎng)報(bào)文封裝為TRILL報(bào)文,將TRILL報(bào)文發(fā)到路由橋323。
[0118]路由橋323收到TRILL報(bào)文,移除外層以太網(wǎng)頭和TRILL頭,查找目的MAC353的匹配表項(xiàng),將以太網(wǎng)報(bào)文發(fā)送到終端353。
[0119]異常處理
[0120]路由橋321?326、路由橋331?334檢測上行鏈路。
[0121]路由橋321檢測到故障上行鏈路,且該故障上行鏈路位于路由橋321->路由器332 - >路由橋341以及路由橋321->路由器332 — >路由橋342的這兩個(gè)路徑上,。路由橋321從到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN20網(wǎng)關(guān)的等價(jià)多路徑中刪除故障上行鏈路所在的這兩個(gè)路徑。
[0122]路由橋332檢測到故障上行鏈路,且該故障上行鏈路在路由橋332與路由橋341之間路徑,屬于路由橋3321到VLANlO網(wǎng)關(guān)和VLAN20網(wǎng)關(guān)的等價(jià)多路徑中的一個(gè)路徑。路由橋332從到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN20網(wǎng)關(guān)的等價(jià)多路徑中刪除故障上行鏈路所在的這個(gè)路徑。
[0123]路由橋321?326、路由橋331?334可以通過到達(dá)路由橋341的等價(jià)多路徑發(fā)送目的MAC地址是VLANlO網(wǎng)關(guān)MAC地址或VLAN20網(wǎng)關(guān)MAC地址的報(bào)文。
[0124]因此,在圖3所示的TRILL網(wǎng)絡(luò)了,只有一臺(tái)網(wǎng)關(guān)路由橋作為TRILL網(wǎng)絡(luò)內(nèi)的各VLAN的網(wǎng)關(guān)時(shí),路由橋321?326以及路由橋331?334同樣可以用到達(dá)各VLAN網(wǎng)關(guān)的等價(jià)多路徑分擔(dān)發(fā)往各VLAN的以太網(wǎng)報(bào)文。
[0125]當(dāng)路由橋341和342各自檢測自身的上行鏈路和下行鏈路。路由橋341檢測到連接路由橋332的下行鏈路故障,刪除故障下行鏈路的物理端口關(guān)聯(lián)的IP353的ARP信息。
[0126]路由橋341收到的報(bào)文的目的IP地址是IP353時(shí),重新發(fā)送請(qǐng)求IP353的ARP請(qǐng)求信息,根據(jù)收到的TRILL封裝的ARP報(bào)文重新學(xué)習(xí)IP353的ARP信息,根據(jù)重新學(xué)習(xí)的ARP信息將目的IP地址是IP353的IP報(bào)文封裝為以太網(wǎng)報(bào)文并發(fā)送。
[0127]終端353請(qǐng)求VLAN20網(wǎng)關(guān)的MAC地址過程與終端352請(qǐng)求VLANlO網(wǎng)關(guān)的MAC地址過程大致相同。
[0128]當(dāng)路由橋341檢測本設(shè)備所有上行鏈路故障時(shí),在TRILL網(wǎng)絡(luò)內(nèi)通知本設(shè)備的所有上行鏈路故障。路由橋321?326將自身與路由橋341之間的路徑從到達(dá)VLANlO網(wǎng)關(guān)的等價(jià)多路徑和到達(dá)VLAN20網(wǎng)關(guān)的等價(jià)多路徑中刪除。路由橋331?334也執(zhí)行同樣的處理,將各自與路由橋341之間屬于等價(jià)多路徑的每個(gè)路徑刪除。
[0129]通過圖2和圖3揭示的例子可知,數(shù)據(jù)中心內(nèi)的非網(wǎng)關(guān)路由橋收到目的MAC地址是網(wǎng)關(guān)MAC地址的以太網(wǎng)報(bào)文時(shí),將源MAC地址替換為本地MAC地址,將替換了源MAC地址且目的MAC為網(wǎng)關(guān)MAC地址的以太網(wǎng)報(bào)文通過到達(dá)網(wǎng)關(guān)的等價(jià)多路徑執(zhí)行轉(zhuǎn)發(fā)。這樣,非網(wǎng)關(guān)路由橋無需將需要執(zhí)行三層轉(zhuǎn)發(fā)的以太網(wǎng)報(bào)文封裝為TRILL報(bào)文后,發(fā)往作為網(wǎng)關(guān)。
[0130]圖4所示的本發(fā)明實(shí)施例中報(bào)文轉(zhuǎn)發(fā)裝置示意圖,該裝置400應(yīng)用于TRILL網(wǎng)絡(luò)的網(wǎng)關(guān)路由橋,包括:存儲(chǔ)裝置401,用于存儲(chǔ)已學(xué)習(xí)的ARP信息;轉(zhuǎn)發(fā)單元402,根據(jù)IP報(bào)文的IP地址在存儲(chǔ)的ARP信息中執(zhí)行查找,根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭;將以太網(wǎng)頭添加于IP報(bào)文并通過ARP信息中的出端口發(fā)送;第一本地MAC地址關(guān)聯(lián)的虛擬交換接口與目的IP地址屬于相同VLAN。
[0131]轉(zhuǎn)發(fā)單元402,確定根據(jù)目的IP地址未查找到ARP信息,根據(jù)虛擬交換接口的本地IP地址和第一 MAC地址生成請(qǐng)求目的IP地址的ARP請(qǐng)求報(bào)文;將ARP請(qǐng)求報(bào)文封裝為TRILL封裝的ARP請(qǐng)求報(bào)文并廣播;接收響應(yīng)IP地址的TRILL封裝的ARP響應(yīng)報(bào)文,根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及TRILL封裝的ARP響應(yīng)報(bào)文的接收端口學(xué)習(xí)目的IP地址的ARP信息。
[0132]轉(zhuǎn)發(fā)單元402,還用于接收請(qǐng)求網(wǎng)關(guān)IP地址的TRILL封裝的ARP請(qǐng)求報(bào)文;根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及TRILL封裝的ARP請(qǐng)求報(bào)文的接收端口學(xué)習(xí)該發(fā)送端IP地址的ARP信息;判斷是否響應(yīng)請(qǐng)求網(wǎng)關(guān)MAC地址;若是,生成響應(yīng)網(wǎng)關(guān)的ARP響應(yīng)報(bào)文,且將生成的ARP響應(yīng)報(bào)文的源MAC地址設(shè)置為虛擬交換接口的第二本地MAC地址;將生成的ARP響應(yīng)報(bào)文封裝為TRILL封裝的ARP響應(yīng)報(bào)文并發(fā)送到下一跳路由橋。
[0133]裝置400還包括檢測單元403 ;該檢測單元403,用于檢測下行鏈路和上行鏈路且將故障的下行鏈路或故障的上行鏈路通述轉(zhuǎn)發(fā)單元402 ;轉(zhuǎn)發(fā)單元402,將故障的下行鏈路的端口作為出端口的ARP信息從存儲(chǔ)單元中刪除,確定所有上行鏈路故障,向相同TRILL網(wǎng)絡(luò)內(nèi)的其他路由橋通知本設(shè)備的所有上行鏈路故障。
[0134]圖5是本發(fā)明提供的另一報(bào)文轉(zhuǎn)發(fā)裝置的示意圖,該報(bào)文轉(zhuǎn)發(fā)裝置500應(yīng)用于網(wǎng)關(guān)路由橋。該網(wǎng)關(guān)路由橋的各虛擬交換接口的IP地址不同,但是各虛擬交換接口的第一本地MAC地址和第二本地MAC地址可以相同或不同。
[0135]該報(bào)文轉(zhuǎn)發(fā)裝置500包括:存儲(chǔ)單元501,轉(zhuǎn)發(fā)單元502,檢測單元503以及選舉單元504。虛擬路由器單元504,加入虛擬路由器,參與所述虛擬路由器的選舉,將選舉結(jié)果通知轉(zhuǎn)發(fā)單元502。:存儲(chǔ)裝置51,用于存儲(chǔ)已學(xué)習(xí)的ARP信息;轉(zhuǎn)發(fā)單元52,根據(jù)IP報(bào)文的IP地址在存儲(chǔ)的ARP信息中執(zhí)行查找,根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭;將以太網(wǎng)頭添加于IP報(bào)文并通過ARP信息中的出端口發(fā)送;第一本地MAC地址關(guān)聯(lián)的虛擬交換接口與目的IP地址屬于相同VLAN。
[0136]轉(zhuǎn)發(fā)單元502,確定根據(jù)目的IP地址未查找到ARP信息,根據(jù)虛擬交換接口的本地IP地址和第一 MAC地址生成請(qǐng)求目的IP地址的ARP請(qǐng)求報(bào)文;將ARP請(qǐng)求報(bào)文封裝為TRILL封裝的ARP請(qǐng)求報(bào)文并廣播;接收響應(yīng)IP地址的TRILL封裝的ARP響應(yīng)報(bào)文,根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及TRILL封裝的ARP響應(yīng)報(bào)文的接收端口學(xué)習(xí)目的IP地址的ARP信息。
[0137]轉(zhuǎn)發(fā)單元502,還用于接收請(qǐng)求網(wǎng)關(guān)IP地址的TRILL封裝的ARP請(qǐng)求報(bào)文;根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及TRILL封裝的ARP請(qǐng)求報(bào)文的接收端口學(xué)習(xí)該發(fā)送端IP地址的ARP信息;如果本設(shè)備是虛擬路由器的主用路由橋則生成響應(yīng)網(wǎng)關(guān)IP地址的ARP響應(yīng)報(bào)文且將生成的ARP響應(yīng)報(bào)文的源MAC地址設(shè)置為虛擬交換接口的第二本地MAC地址;將生成的ARP響應(yīng)報(bào)文封裝為TRILL封裝的ARP響應(yīng)報(bào)文并發(fā)送到下一跳路由橋。
[0138]檢測單元503,用于檢測下行鏈路和上行鏈路且將故障的下行鏈路或故障的上行鏈路通述轉(zhuǎn)發(fā)單元502。轉(zhuǎn)發(fā)單元502,將故障的下行鏈路的端口作為出端口的ARP信息從存儲(chǔ)單元中刪除,確定所有上行鏈路故障,向相同TRILL網(wǎng)絡(luò)內(nèi)的其他路由橋通知本設(shè)備的所有上行鏈路故障。
[0139]本發(fā)明實(shí)施例提供的報(bào)文轉(zhuǎn)發(fā)裝置的網(wǎng)關(guān)路由橋執(zhí)行下行三層轉(zhuǎn)發(fā)時(shí)發(fā)出以太網(wǎng)報(bào)文,無需將完成三層轉(zhuǎn)發(fā)的報(bào)文封裝為TRILL報(bào)文。
[0140]本實(shí)施例不再贅述。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種報(bào)文的轉(zhuǎn)發(fā)方法,其特征在于,所述方法包括:根據(jù)IP報(bào)文的IP地址查找ARP信息; 根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭; 將所述以太網(wǎng)頭添加于所述IP報(bào)文并通過所述ARP信息中的出端口發(fā)送; 所述第一本地MAC地址關(guān)聯(lián)的虛擬交換接口與所述目的IP地址屬于相同虛擬局域網(wǎng)VLAN0
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 確定未查找到ARP信息,則根據(jù)所述虛擬交換接口的本地IP地址和所述第一 MAC地址生成請(qǐng)求所述目的IP地址的ARP請(qǐng)求報(bào)文; 將所述ARP請(qǐng)求報(bào)文封裝為TRILL封裝的ARP請(qǐng)求報(bào)文并廣播; 接收響應(yīng)所述IP地址的TRILL封裝的ARP響應(yīng)報(bào)文,根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及所述TRILL封裝的ARP響應(yīng)報(bào)文的接收端口學(xué)習(xí)所述目的IP地址的ARP信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收請(qǐng)求網(wǎng)關(guān)IP地址的TRILL封裝的ARP請(qǐng)求報(bào)文; 根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及所述TRILL封裝的ARP請(qǐng)求報(bào)文的接收端口學(xué)習(xí)該發(fā)送端IP地址的ARP信息; 判斷是否響應(yīng)請(qǐng)求網(wǎng)關(guān)MAC地址; 若是,生成響應(yīng)所述網(wǎng)關(guān)的ARP響應(yīng)報(bào)文,且將生成的ARP響應(yīng)報(bào)文的源MAC地址設(shè)置為所述虛擬交換接口的第二本地MAC地址; 將生成的ARP響應(yīng)報(bào)文封裝為TRILL封裝的ARP響應(yīng)報(bào)文并發(fā)送到下一跳路由橋。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于, 檢測下行鏈路; 如果檢測到故障的下行鏈路,將故障的下行鏈路的端口作為出端口的ARP信息刪除。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于, 檢測上行鏈路; 確定所有上行鏈路故障,通知相同TRILL網(wǎng)絡(luò)內(nèi)的其他路由橋。
6.一種報(bào)文的轉(zhuǎn)發(fā)裝置,其特征在于,所述裝置包括: 存儲(chǔ)裝置,用于存儲(chǔ)已學(xué)習(xí)的ARP信息; 轉(zhuǎn)發(fā)單元,根據(jù)IP報(bào)文的IP地址在存儲(chǔ)的ARP信息中執(zhí)行查找,根據(jù)第一本地MAC地址以及查找到的ARP信息的虛擬局域網(wǎng)標(biāo)識(shí)和MAC地址構(gòu)建以太網(wǎng)頭;將所述以太網(wǎng)頭添加于所述IP報(bào)文并通過所述ARP信息中的出端口發(fā)送; 所述第一本地MAC地址關(guān)聯(lián)的虛擬交換接口與所述目的IP地址屬于相同VLAN。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述轉(zhuǎn)發(fā)單元,確定根據(jù)所述目的IP地址未查找到ARP信息,根據(jù)所述虛擬交換接口的本地IP地址和所述第一 MAC地址生成請(qǐng)求所述目的IP地址的ARP請(qǐng)求報(bào)文;將所述ARP請(qǐng)求報(bào)文封裝為TRILL封裝的ARP請(qǐng)求報(bào)文并廣播;接收響應(yīng)所述IP地址的TRILL封裝的ARP響應(yīng)報(bào)文,根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及所述TRILL封裝的ARP響應(yīng)報(bào)文的接收端口學(xué)習(xí)所述目的IP地址的ARP信息。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述轉(zhuǎn)發(fā)單元,還用于接收請(qǐng)求網(wǎng)關(guān)IP地址的TRILL封裝的ARP請(qǐng)求報(bào)文;根據(jù)內(nèi)層VLAN標(biāo)識(shí)、發(fā)送端MAC地址、發(fā)送端IP地址以及所述TRILL封裝的ARP請(qǐng)求報(bào)文的接收端口學(xué)習(xí)該發(fā)送端IP地址的ARP信息;判斷是否響應(yīng)請(qǐng)求網(wǎng)關(guān)MAC地址;若是,生成響應(yīng)所述網(wǎng)關(guān)的ARP響應(yīng)報(bào)文,且將生成的ARP響應(yīng)報(bào)文的源MAC地址設(shè)置為所述虛擬交換接口的第二本地MAC地址;將生成的ARP響應(yīng)報(bào)文封裝為TRILL封裝的ARP響應(yīng)報(bào)文并發(fā)送到下一跳路由橋。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括檢測單元; 所述檢測單元,用于檢測下行鏈路且將故障的下行鏈路通知所述轉(zhuǎn)發(fā)單元; 所述轉(zhuǎn)發(fā)單元,還用于將故障的下行鏈路的端口作為出端口的ARP信息從所述存儲(chǔ)單元中刪除。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述檢測單元,還用于檢測上行鏈路且故障的上行鏈路通知轉(zhuǎn)發(fā)單元; 所述轉(zhuǎn)發(fā)單元,確定所有上行鏈路故障,向相同TRILL網(wǎng)絡(luò)內(nèi)的其他路由橋通知本設(shè)備的所有上行鏈路故障。
【文檔編號(hào)】H04L12/741GK104348726SQ201310334016
【公開日】2015年2月11日 申請(qǐng)日期:2013年8月2日 優(yōu)先權(quán)日:2013年8月2日
【發(fā)明者】楊小朋, 宋玉兵, 高瑞昌, 張世林 申請(qǐng)人:杭州華三通信技術(shù)有限公司