一種基于trill網(wǎng)絡(luò)的報文傳輸方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種基于TRILL網(wǎng)絡(luò)的報文傳輸方法、本地的路由橋設(shè)備和遠(yuǎn)端的路由橋設(shè)備。
【背景技術(shù)】
[0002]多鏈路透明互聯(lián)(英文!TransparentInterconnect1n of Lots of Links,縮寫:TRILL)是一種在二層網(wǎng)絡(luò)上基于鏈路狀態(tài)計算的路由協(xié)議,可以用于構(gòu)建大規(guī)模二層網(wǎng)絡(luò)。如圖1所示,路由橋設(shè)備(英文:Routing Bridge,縮寫:RB)是用戶側(cè)設(shè)備(英文:customer edge,縮寫:CE)接入TRILL網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)設(shè)備,用戶側(cè)設(shè)備可以通過雙歸或多歸(即通過兩個或多個路由橋設(shè)備)接入的方式接入TRILL網(wǎng)絡(luò),例如圖1中,中間的用戶側(cè)設(shè)備雙歸接入了兩個路由橋設(shè)備,所述用戶側(cè)設(shè)備分別連接所述兩個路由橋設(shè)備的兩條鏈路組成了一個鏈路聚合組(英文:link aggregat1n group,縮寫:LAG),所述兩個路由橋設(shè)備組成一個多歸組。所述用戶側(cè)設(shè)備上連接所述鏈路聚合組的端口為鏈路聚合端口。在TRILL網(wǎng)絡(luò)系統(tǒng)中,當(dāng)流量在LAG中的鏈路上以負(fù)載分擔(dān)的方式(例如,在多活或組播的場景下)進(jìn)行轉(zhuǎn)發(fā)時,路由橋設(shè)備對于從連接所述鏈路的端口接收的報文,使用虛擬昵稱(英文=Pseud0 nickname)封裝,再將封裝后的報文發(fā)出,所述虛擬昵稱是為所述多歸組分配的昵稱。當(dāng)將用戶側(cè)設(shè)備發(fā)送的報文經(jīng)過負(fù)載分擔(dān)后,封裝有同一個源昵稱的報文將通過所述兩個路由橋設(shè)備進(jìn)入TRILL網(wǎng)絡(luò),即封裝又同一個源昵稱的報文會通過兩個不同的端口進(jìn)入TRILL網(wǎng)絡(luò)。由于一個虛擬局域網(wǎng)(英文:Virtual Local Area Network,縮寫:VLAN)只接入一棵組播樹,而且一棵組播樹上的報文只允許通過固定的端口傳輸,當(dāng)TRILL網(wǎng)絡(luò)中的其他節(jié)點(diǎn)接收到從不同端口傳輸?shù)膱笪臅r,將出現(xiàn)反向路徑轉(zhuǎn)發(fā)(英文reversepath forward,縮寫:RPF)檢測無法通過的情況,從而導(dǎo)致該報文被丟棄。
[0003]為了解決上述問題,在系統(tǒng)中采用協(xié)調(diào)組播樹(英文:Coordinated MulticastTrees,縮寫:CMT),對從不同的路由橋設(shè)備封裝的報文,選擇不同的組播樹進(jìn)行轉(zhuǎn)發(fā),但是,由于目前的TRILL網(wǎng)絡(luò)最多只支持兩棵組播樹,這種方案只能夠解決雙歸接入情況下的報文被丟棄的問題,并不適用于解決多歸接入情況下的報文被丟棄的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種基于TRILL網(wǎng)絡(luò)的報文傳輸方法、本地的路由橋設(shè)備和遠(yuǎn)端的路由橋設(shè)備,能夠?qū)崿F(xiàn)報文在多歸鏈路上以負(fù)載分擔(dān)的方式進(jìn)行轉(zhuǎn)發(fā),避免報文因RPF檢查無法通過導(dǎo)致被丟棄的情況出現(xiàn)。
[0005]本發(fā)明第一方面提供一種基于TRILL網(wǎng)絡(luò)的報文傳輸方法,其包括:
[0006]本地的路由橋設(shè)備接收本地的第一用戶側(cè)設(shè)備發(fā)送的第一報文,所述第一用戶側(cè)設(shè)備以多歸接入的方式接入多鏈接透明互聯(lián)TRILL網(wǎng)絡(luò);
[0007]為所述第一報文封裝TRILL頭,在所述第一報文的TRILL頭中添加所述第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息;所述第一入端口為所述本地的路由橋設(shè)備從本地的第一用戶側(cè)設(shè)備接收所述第一報文的端口;
[0008]向遠(yuǎn)端的路由橋設(shè)備發(fā)送所述TRILL封裝的第一報文。
[0009]結(jié)合本發(fā)明第一方面,在第一方面的第一種可能實現(xiàn)方式中,在所述向遠(yuǎn)端的路由橋設(shè)備發(fā)送所述TRILL封裝的第一報文之前,所述方法還包括:
[0010]在所述TRILL網(wǎng)絡(luò)中發(fā)布鏈路狀態(tài)數(shù)據(jù)包,所述鏈路狀態(tài)數(shù)據(jù)包包括所述第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息。
[0011]結(jié)合本發(fā)明第一方面或第一方面的第一種可能實現(xiàn)方式,在第一方面的第二種可能實現(xiàn)方式中,所述在所述TRILL頭中添加所述第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息,包括:
[0012]在所述TRILL頭的入口昵稱字段中添加所述第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息;其中,所述入口昵稱字段的高N比特位記錄所述第一入端口所屬的多歸組的組標(biāo)識信息,所述入口昵稱字段的低M比特位記錄所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息,所述N與所述M為設(shè)定的比特位數(shù)。
[0013]結(jié)合本發(fā)明第一方面、第一方面的第一或第二種可能實現(xiàn)方式,在第一方面的第三種可能實現(xiàn)方式中,所述設(shè)備標(biāo)識信息包括路由橋設(shè)備的昵稱;所述組標(biāo)識信息包括多歸組的標(biāo)識碼。
[0014]結(jié)合本發(fā)明第一方面或第一方面的第一至第三任意一種可能實現(xiàn)方式,在第一方面的第四種可能實現(xiàn)方式中,所述方法還包括:
[0015]接收本地的第二用戶側(cè)設(shè)備發(fā)送的第二報文;所述第二用戶側(cè)設(shè)備以單歸接入的方式接入所述TRILL網(wǎng)絡(luò);
[0016]為所述第二報文封裝TRILL頭;其中,所述第二報文的TRILL頭的入口昵稱字段的高N比特位記為0,所述入口昵稱字段的低M比特位記錄所述本地的路由橋設(shè)備的昵稱,所述N與所述M為設(shè)定的比特位數(shù);
[0017]向遠(yuǎn)端的路由橋設(shè)備發(fā)送所述TRILL封裝的第二報文。
[0018]本發(fā)明第二方面提供一種基于TRILL網(wǎng)絡(luò)的報文傳輸方法,其包括:
[0019]遠(yuǎn)端的路由橋設(shè)備接收本地的路由橋設(shè)備轉(zhuǎn)發(fā)的TRILL封裝的第一報文,所述TRILL封裝的第一報文的TRILL頭中包括第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息,所述第一入端口為所述本地的路由橋設(shè)備從本地的第一用戶側(cè)設(shè)備接收所述第一報文的端口 ;所述第一報文是由所述本地的第一用戶側(cè)設(shè)備發(fā)送給遠(yuǎn)端的用戶側(cè)設(shè)備的報文;
[0020]所述遠(yuǎn)端的路由橋設(shè)備根據(jù)所述第一入端口所屬的多歸組的組標(biāo)識信息,確定所述第一入端口所屬的多歸組與所述遠(yuǎn)端的路由橋設(shè)備發(fā)送所述第一報文的出端口所屬的多歸組是否屬于同一多歸組;
[0021]若否,刪除所述TRILL封裝的第一報文的TRILL頭,得到所述第一報文,將所述第一報文轉(zhuǎn)發(fā)給所述遠(yuǎn)端的用戶側(cè)設(shè)備。
[0022]結(jié)合本發(fā)明第二方面,在第二方面的第一種可能實現(xiàn)方式中,所述遠(yuǎn)端的路由橋設(shè)備接收所述本地的路由橋設(shè)備轉(zhuǎn)發(fā)的TRILL封裝的第二報文;所述TRILL封裝的第二報文的TRILL頭中包括所述第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息,所述第一入端口為所述本地的路由橋設(shè)備從本地的第一用戶側(cè)設(shè)備接收所述第二報文的端口 ;所述第二報文是由所述本地的第一用戶側(cè)設(shè)備發(fā)送給遠(yuǎn)端的用戶側(cè)設(shè)備的報文;
[0023]所述遠(yuǎn)端的路由橋設(shè)備根據(jù)所述第一入端口所屬的多歸組的組標(biāo)識信息,確定所述第一入端口所屬的多歸組與所述遠(yuǎn)端的路由橋設(shè)備發(fā)送所述第二報文的出端口所屬的多歸組是否屬于同一多歸組,若是,則丟棄所述TRILL封裝的第二報文。
[0024]結(jié)合本發(fā)明第二方面或第二方面的第一種可能實現(xiàn)方式,在第二方面的第二種可能實現(xiàn)方式中,在所述遠(yuǎn)端的路由橋設(shè)備接收本地的路由橋設(shè)備轉(zhuǎn)發(fā)的TRILL封裝的第一報文之前,所述方法還包括:
[0025]所述遠(yuǎn)端的路由橋設(shè)備接收發(fā)布在多鏈接透明互聯(lián)TRILL網(wǎng)絡(luò)中的鏈路狀態(tài)數(shù)據(jù)包,所述鏈路狀態(tài)數(shù)據(jù)包包括接收報文的入端口所屬的多歸組的組標(biāo)識信息和發(fā)送所述鏈路狀態(tài)數(shù)據(jù)包的路由橋設(shè)備的設(shè)備標(biāo)識信息,所述接收報文的入端口為發(fā)送所述鏈路狀態(tài)數(shù)據(jù)包的路由橋設(shè)備用于接收所述第一用戶側(cè)設(shè)備發(fā)送的報文的入端口;
[0026]所述遠(yuǎn)端的路由橋設(shè)備根據(jù)接收到的鏈路狀態(tài)數(shù)據(jù)包中的所述接收報文的入端口所屬的多歸組的組標(biāo)識信息和發(fā)送所述鏈路狀態(tài)數(shù)據(jù)包的路由橋設(shè)備的設(shè)備標(biāo)識信息,確定至少兩個路由橋設(shè)備,所述至少兩個路由橋設(shè)備的用于接收所述第一用戶側(cè)設(shè)備發(fā)送的報文的入端口屬于同一多歸組,所述至少兩個路由橋設(shè)備包括所述本地的路由橋設(shè)備;
[0027]根據(jù)所述至少兩個路由橋設(shè)備,獲取所述遠(yuǎn)端的路由橋設(shè)備與所述第一用戶側(cè)設(shè)備之間的等價多路徑路由,所述遠(yuǎn)端的路由橋設(shè)備與所述第一用戶側(cè)設(shè)備之間的每一條等價路徑包括所述至少兩個路由橋設(shè)備中的一個路由橋設(shè)備。
[0028]結(jié)合本發(fā)明第二方面的第二種可能實現(xiàn)方式,在第二方面的第三種可能實現(xiàn)方式中,在所述遠(yuǎn)端的路由橋設(shè)備將所述第一報文轉(zhuǎn)發(fā)給遠(yuǎn)端的用戶側(cè)設(shè)備之后,所述方法還包括:
[0029]所述遠(yuǎn)端的路由橋設(shè)備接收所述遠(yuǎn)端的用戶側(cè)設(shè)備發(fā)送的第三報文,所述第三報文是由所述遠(yuǎn)端的用戶側(cè)設(shè)備發(fā)送給所述本地的第一用戶側(cè)設(shè)備的報文;
[0030]根據(jù)所述遠(yuǎn)端的路由橋設(shè)備與所述第一用戶側(cè)設(shè)備之間的等價多路徑路由,所述遠(yuǎn)端的路由橋設(shè)備發(fā)送所述第三報文。
[0031]結(jié)合本發(fā)明第二方面或第二方面的第一至第三任意一種可能實現(xiàn)方式,在第二方面的第四種可能實現(xiàn)方式中,所述設(shè)備標(biāo)識信息包括路由橋設(shè)備的昵稱;所述組標(biāo)識信息包括多歸組的標(biāo)識碼。
[0032]本發(fā)明第三方面提供一種本地的路由橋設(shè)備,其包括:
[0033]第一接收單元,用于接收本地的第一用戶側(cè)設(shè)備發(fā)送的第一報文;所述第一用戶側(cè)設(shè)備以多歸接入的方式接入多鏈接透明互聯(lián)TRILL網(wǎng)絡(luò);
[0034]封裝單元,用于在所述第一接收單元接收到所述第一報文之后,為所述第一報文封裝TRILL頭,在所述TRILL頭中添加第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息;所述第一入端口為所述本地的路由橋設(shè)備從本地的第一用戶側(cè)設(shè)備接收所述第一報文的端口;
[0035]第一發(fā)送單元,用于在所述封裝單元為所述第一報文封裝TRILL頭之后,向遠(yuǎn)端的路由橋設(shè)備發(fā)送所述TRILL封裝的第一報文。
[0036]結(jié)合本發(fā)明第三方面,在第三方面的第一種可能實現(xiàn)方式中,所述第一發(fā)送單元還用于在所述向遠(yuǎn)端的路由橋設(shè)備發(fā)送所述TRILL封裝的第一報文之前,在所述TRILL網(wǎng)絡(luò)中發(fā)布鏈路狀態(tài)數(shù)據(jù)包,所述鏈路狀態(tài)數(shù)據(jù)包包括所述第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息。
[0037]結(jié)合本發(fā)明第三方面或第三方面的第一種可能實現(xiàn)方式,在第三方面的第二種可能實現(xiàn)方式中,所述封裝單元具體用于,為所述第一報文封裝TRILL頭,在所述TRILL頭的入口昵稱字段中添加所述第一入端口所屬的多歸組的組標(biāo)識信息和所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息;其中,所述入口昵稱字段的高N比特位記錄所述第一入端口所屬的多歸組的組標(biāo)識信息,所述入口昵稱字段的低M比特位記錄所述本地的路由橋設(shè)備的設(shè)備標(biāo)識信息,所述N與所述M為設(shè)定的比特位數(shù)。
[0038]結(jié)合本發(fā)明第三方面或第三方面的第一或第二種可能實現(xiàn)方式,在第三方面的第三種可能實現(xiàn)方式中,所述設(shè)備標(biāo)識信息包括路由橋設(shè)備的昵稱;所述組標(biāo)識信息包括多歸組的標(biāo)識碼。
[0039]結(jié)合本發(fā)明第三方面或第三方面的第一至第三任意一種可能實現(xiàn)方式,在第三方面的第四種可能實現(xiàn)方式中,所述本地的路由橋設(shè)備還包括:第二接收單元和第二發(fā)送單元,
[0040]所述第二接收單元用于接收本地的第二用戶側(cè)設(shè)備發(fā)送的第二報文;所述第二用戶側(cè)設(shè)備以單歸接入的方式接入所述TRILL網(wǎng)絡(luò);
[0041]所述封裝單元還用于在所述第二接收單元接收到所述第二報文之后,為所述第二報文封裝TRILL頭;其中,所述TRILL頭的