專利名稱:多鏈接透明傳輸互連網絡的數(shù)據(jù)發(fā)送方法及其裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)通信領域,尤其涉及一種多鏈接透明傳輸互連(Transparent Interconnection of Lots of Link,簡稱為TRILL)網絡的數(shù)據(jù)發(fā)送方法及其裝置。
背景技術:
數(shù)據(jù)中心(Data Center,簡稱為DC)通過實現(xiàn)統(tǒng)一的數(shù)據(jù)定義與命名規(guī)范、集中的數(shù)據(jù)環(huán)境,從而達到數(shù)據(jù)共享與利用的目標。伴隨著云計算,云存儲的興起,作為云的依托——數(shù)據(jù)中心網絡也正在進行著“為云而變”的技術升級和改造,由此提出了許許多多新的技術,TRILL就是其中之一。當前TRILL正逐漸成為數(shù)據(jù)中心網絡虛擬化的標準,并推動著數(shù)據(jù)中心的發(fā)展。運行TRILL協(xié)議的交換機,稱為路由交換機(Route Bridge,簡稱為RBridge),即具有路由轉發(fā)特性的網橋設備,由RBridge構建的TRILL網絡稱為TRILL campus,Rbridge 通過運行自己的鏈路狀態(tài)協(xié)議(通過IS-ISantermediate System to Intermediate System,中間系統(tǒng)到中間系統(tǒng)的路由選擇協(xié)議)擴展的)認知TRILL campus的拓撲。并使用最短路徑樹算法生成從該Rbridge到達TRILL campus里的各個Rbridge的路由轉發(fā)表(稱為TRILL轉發(fā)表)。RBridge又通過終端地址交互協(xié)議(End Station Address Distribution Information,簡稱為ESADI)交互學習各自的MAC地址,這樣!^bridge得知終端MAC究竟屬于哪個bridge,Rbridge接收到普通以太網數(shù)據(jù)幀時(這里專指802. 1) 查找MAC轉發(fā)表,若該MAC源發(fā)自某TRILL edge Rbridge,就將數(shù)據(jù)幀轉換成TRILL數(shù)據(jù)幀在TRILLCampus里轉發(fā),TRILL數(shù)據(jù)幀包含有源目Rbridge信息,而Rbridge則有到達各個 Rbridge的路由信息,這樣bridge可以對TRILL數(shù)據(jù)幀進行轉發(fā),當一臺bridge接收到一個TRILL數(shù)據(jù)幀時,該數(shù)據(jù)幀的目的Rbridge為其自身,則解封裝TRILL報頭,獲得最初進入TRILL Campus的以太網數(shù)據(jù)幀,再進行轉發(fā)。在TRILL網絡中,所有的RBridge均是二層交換機,但卻有三層路由功能。之所以說RBridge具有路由功能,是因為二層數(shù)據(jù)流的轉發(fā)不再像傳統(tǒng)二層交換機一樣,通過查找介質訪問控制(Media Access Conrrol,簡稱為MAC)表進行轉發(fā);對于邊緣RBridge, 先查找MAC轉發(fā)表,然后找到MAC對應的目的RBridge的Nickname (Nickname標識了每臺 RBridge,是一個16位的無符號字符,由RBridge靜態(tài)配置或動態(tài)生成),再根據(jù)Nickname 查找TRILL轉發(fā)表(通過ISIS)生成的,ISIS通過鄰居發(fā)現(xiàn)獲得鄰接的Nickname,并對外公告它所發(fā)現(xiàn)的所有鄰居,ISIS通過最短路徑算法(Shortest Path First,簡稱為SPF) 計算獲得到達各個Nickname的路徑,并以此生成TRILL轉發(fā)表),轉發(fā)給下一跳RBridge ; 對于中間RBridge,則直接根據(jù)目的RBridge的Nickname,查找TRILL轉發(fā)表,轉發(fā)給下一跳??梢?,在TRILL網絡中,數(shù)據(jù)流的轉發(fā),是根據(jù)Nickname查找TRILL轉發(fā)表,找到目的 RBridge的下一跳,進行轉發(fā)。也就是說,TRILL作為二層轉發(fā)技術,通過引入三層路由的鏈路狀態(tài)發(fā)現(xiàn)協(xié)議將此前的Bridget升級為具備路由能力的路由交換機。圖IA是現(xiàn)有技術的TRILL網絡單播報文轉發(fā)的網絡拓撲示意圖,圖IB至圖IE為圖IA中TRILL網絡的單播轉發(fā)的部分結構示意圖。在圖IA至圖IE中,Host A和Host B 是終端設備(End Station,簡稱 ES),RB(即 Rbridge) 1 RB5 構成 TRILL 網絡(TRILL Campus, TC)的路由器,用以傳輸終端設備的報文。如圖IA所示,Host A要向Host B發(fā)送一個單播以太網報文,具體包括以下步驟1、首先Host A發(fā)送單播報文給RBl,源、目的MAC地址分別為A和B,RBl接收到該普通報文,查找MAC轉發(fā)表,獲知該MAC位于TRILL網絡的RB3上,于是RBl為該普通報文封裝TRILL頭,Ingress RB 為 RB1,Egress RB 為 RB3 ;然后 RBl 查找到達RB3 的 TRILL Nickname 表(即TRILL轉發(fā)表),找到要到達RB3的下一跳為RB2,于是RBl填充Destination RBridge MAC Address為RB2的MAC地址,并填充Source RBMAC Address為其自身RBl的MAC地址, 并將此報文發(fā)送給RB2。2、RB2接收到該報文發(fā)現(xiàn)是TRILL單播報文,其目的地為RB3,RB2直接查找TRILL 轉發(fā)表,找到RB3就是自己某接口上的鄰居,于是修改Destination RB MAC Address為RB3 的MAC地址,同時修改Source RBridge MAC Address為其自身RB2的MAC地址,并轉發(fā)該報文。3、RB3接收到該TRILL報文,發(fā)現(xiàn)此報文目標TRILL Nickname為其自身,則解封裝該TRILL報文,解封裝后的報文繼續(xù)進行二層轉發(fā),轉發(fā)至Host B。上述過程是現(xiàn)有的TRILL草案定義的單播報文轉發(fā)方式。在上述的轉發(fā)過程中, 接收方終端設備Host B連接的網絡設備RB3 —邊連接TRILLCampus,一邊連接終端設備 Host B,這樣的設備被稱為邊緣RB (Edge Router Bridge,簡稱ERB)。接收方的ERB,即RB3, 需要先對TRILL報文解封裝,將TRILL報文中封裝的原始以太網(Ethernet Type)報文解壓出來,再根據(jù)原始以太網報文中的目的MAC地址進行二層轉發(fā)。在數(shù)據(jù)中心中,數(shù)據(jù)傳輸具有傳輸數(shù)據(jù)量大,數(shù)據(jù)丟包率要求低等特點。上述ERB 要先檢查TRILL報文,解封裝,再根據(jù)原始以太網報文中的目的MAC地址進行轉發(fā),處理流程長。由此導致在TRILL Campus中,ERB的處理性能成為TRILL Campus的性能瓶頸。
發(fā)明內容
本發(fā)明提供一種TRILL網絡的數(shù)據(jù)發(fā)送方法及其裝置,用以解決現(xiàn)有TRILL網絡中的ERB的處理性能成為TRILL Campus的性能瓶頸的問題。本發(fā)明提供一種TRILL網絡的數(shù)據(jù)發(fā)送方法,包括TRILL交換機接收知名單播數(shù)據(jù)幀,其中知名單播數(shù)據(jù)幀包括=TRILL數(shù)據(jù)幀或以太網數(shù)據(jù)幀;若接收到TRILL數(shù)據(jù)幀,則TRILL交換機根據(jù)TRILL數(shù)據(jù)幀攜帶的信息和TRILL 轉發(fā)表判斷其是否為TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機;若判斷的結果為是,則TRILL交換機解封裝TRILL數(shù)據(jù)幀得到以太網數(shù)據(jù)幀,并將以太網數(shù)據(jù)幀發(fā)送至最后一跳TRILL交換機。本發(fā)明還提供一種TRILL網絡的數(shù)據(jù)發(fā)送裝置,包括接收模塊,用于接收知名單播數(shù)據(jù)幀,其中知名單播數(shù)據(jù)幀包括TRILL數(shù)據(jù)幀或以太網數(shù)據(jù)幀;第一判斷模塊,若接收模塊接收到TRILL數(shù)據(jù)幀,則根據(jù)TRILL數(shù)據(jù)幀攜帶的信息和TRILL轉發(fā)表判斷當前TRILL交換機是否為TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機;第一處理模塊,若第一判斷模塊判斷的結果為是,則解封裝TRILL數(shù)據(jù)幀得到以太網數(shù)據(jù)幀;第一發(fā)送模塊,用于將以太網數(shù)據(jù)幀發(fā)送至最后一跳TRILL交換機。本發(fā)明提供一種TRILL網絡的數(shù)據(jù)發(fā)送方法及其裝置,通過將TRILL報文的解封裝處理交由與ERB相連的第一臺RB處理(即倒數(shù)第二臺RBridge),解封裝后的以外網報文轉發(fā)給ERB,ERB根據(jù)以太網報文中的目的MAC地址進行二層轉發(fā),因此ERB不需要進行 TRILL報文解封裝處理而僅進行以太網報文的二層轉發(fā),從而提高了 RBridge的報文轉發(fā)效率,在整體上提高了 TRILL Campus的轉發(fā)性能。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖IA為現(xiàn)有技術中TRILL網絡的單播轉發(fā)的網絡拓撲示意圖;圖IB至圖IE為圖IA中TRILL網絡的單播轉發(fā)的部分結構示意圖;圖2為本發(fā)明實施例一提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖;圖3為本發(fā)明提供的TRILL數(shù)據(jù)幀格式的示意圖;圖4為本發(fā)明實施例二提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖;圖5為本發(fā)明實施例三提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖;圖6為本發(fā)明實施例四提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖;圖7A為本發(fā)明實施例五提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖;圖7B至圖7E為圖7A中TRILL網絡的數(shù)據(jù)發(fā)送方法的部分數(shù)據(jù)幀的說明示意圖;圖8為本發(fā)明實施例六提供的TRILL網絡的數(shù)據(jù)發(fā)送裝置的結構示意圖;圖9為本發(fā)明實施例七提供的TRILL網絡的數(shù)據(jù)發(fā)送裝置的結構示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明的主要思想在于,對現(xiàn)有TRILL轉發(fā)技術進行改進,進入倒數(shù)第二跳解封裝機制。即在轉發(fā)路徑上,將TRILL報文的解封裝處理交由與ERB相連的第一臺RB處理 (即倒數(shù)第二臺RBridge),解封裝后的以太網轉發(fā)給ERB,ERB根據(jù)以太網報文中的目的MAC 地址進行二層轉發(fā)。在本文中出現(xiàn)的TRILL交換機存在于TRILL Campus并運行TRILL協(xié)議,是具有三層路由功能的二層交換機。該TRILL交換機即可以是邊緣RBridge(即連接有終端設備的 RBridge),也可以是中間RBridge,本發(fā)明對此不進行限制。
圖2為本發(fā)明實施例一提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖。如圖2所示, 本實施例的方法包括S21,TRILL交換機接收知名單播數(shù)據(jù)幀,其中,知名單播數(shù)據(jù)幀包括TRILL 數(shù)據(jù)幀或以太網數(shù)據(jù)幀。需要說明,根據(jù)TRILL協(xié)議,報文的轉發(fā)分為知名單播幀 (Known-Unicast Frame)和多目的幀(Multi-destination Frame)的轉發(fā)兩種。所謂的知名單播幀是指接收到該單播幀的hgress RBridge的TRILL轉發(fā)表中存在該MAC地址的 Egress RBridge0多目的幀是指必須發(fā)送到多個目的地址的幀,包括未知名單播幀,多播幀和廣播幀。因此本文中所說的TRILL數(shù)據(jù)幀特指知名單播幀。在TRILL Campus中,TRILL交換機接收到的數(shù)據(jù)幀可以是TRILL數(shù)據(jù)幀或以太網數(shù)據(jù)幀。為清楚理解本發(fā)明,下面對TRILL數(shù)據(jù)幀的格式進行簡單介紹。如圖3所示, 在以太網數(shù)據(jù)幀報頭中插入一個外部以太網頭部數(shù)據(jù)類型(Outer Ethernet Header)和 TRILL報頭數(shù)據(jù)類型(TRILL Header),之后才是最初的以太網報文。外部以太網頭部數(shù)據(jù)類型(Outer Ethernet Header)包括外部目的MAC地址字段、外部源MAC地址字段和外部 VLAN TAG信息,TRILL報頭數(shù)據(jù)類型包括版本字段(V)、保留字段(R)、多目的字段/多播字段(M)、可選長度字段(Option Length)、跳數(shù)字段(Hop Count)、出口 Rbridge標識字段(Egress RBridge Nickname)、入口 Rbridge 標識字段(Ingress Rbridge Nickname) 等字段信息。其中出口 Rbridge標識字段為該TRILL的目標Rbridge,也就是該報文要從該!^bridge到TRILL Campus之外,入口 !^bridge標識字段為報文是從該bridge進入 TRILL Campus的。對于802. Iq報文在TRILL報文外層有一個Outer-VLAN在里層有一個 Inner-VLAN,分別對應于為TRILL轉發(fā)使用的VLAN(虛擬局域網)和進入TRILL Campus時生成的VLAN。圖3中所示的內部以太網頭部數(shù)據(jù)類型和負載類同于現(xiàn)有的數(shù)據(jù)幀格式的內容。另外,圖3中所示的數(shù)據(jù)幀格式中還包括在幀校驗序列中增加新的幀校驗序列。S22,若TRILL交換機接收到TRILL數(shù)據(jù)幀,則TRILL交換機根據(jù)TRILL數(shù)據(jù)幀攜帶的信息和TRILL轉發(fā)表判斷其是否為TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機。根據(jù)本實施例,TRILL交換機判斷其是否為TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機可以通過如下方式進行判斷。首先,TRILL交換機解析TRILL數(shù)據(jù)幀得到TRILL數(shù)據(jù)幀的目標TRILL交換機。此處的目標TRILL交換機指的是TRILL數(shù)據(jù)幀中的出口交換機標識字段參數(shù)(Egress RBridge Nickname)指示的RBridge。然后,TRILL交換機判斷目標TRILL 交換機是否為TRILL交換機的直連鄰居、并且目標TRILL交換機是否為TRILL轉發(fā)表的下一跳TRILL交換機。TRILL Campus中的每個TRILL交換機都保存有其直連RBridge鄰居列表,通過該鄰居列表可以清楚的判斷目標TRILL交換機是否為TRILL交換機的直連鄰居。S23,若判斷的結果為是,即該TRILL交換機為倒數(shù)第二跳TRILL交換機,則TRILL 交換機解封裝TRILL數(shù)據(jù)幀得到以太網數(shù)據(jù)幀,并將以太網數(shù)據(jù)幀發(fā)送至最后一跳TRILL 交換機。具體地,TRILL交換機去掉TRILL數(shù)據(jù)幀的外部以太網頭部數(shù)據(jù)類型和/或TRILL 報頭數(shù)據(jù)類型,得到最初的以太網數(shù)據(jù)幀(以太網),并將該以太網數(shù)據(jù)幀轉發(fā)至最后一跳 TRILL 交換機(即 Egress RBridge Nickname 字段指示的 RBridge)。從而,最后一跳 TRILL 交換機根據(jù)目的MAC地址將該以太網數(shù)據(jù)幀發(fā)送至終端。根據(jù)本實施例的TRILL網絡的數(shù)據(jù)發(fā)送方法,通過將TRILL報文的解封裝處理交由與ERB相連的第一臺RB處理(即倒數(shù)第二臺RBridge),解封裝后的以太網轉發(fā)給ERB,
7ERB根據(jù)以太網報文中的目的MAC地址進行二層轉發(fā),因此ERB不需要進行TRILL報文解封裝處理而僅進行以太網的二層轉發(fā),從而提高了 RBridge的報文轉發(fā)效率,在整體上提高了 TRILL Campus的轉發(fā)性能。圖4為本發(fā)明實施例二提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖。本實施例與實施例一相同之處不再贅述,如圖4所示,在實施例一所示流程的基礎上,本發(fā)明提供的 TRILL網絡的數(shù)據(jù)發(fā)送方法還包括S24,若TRILL交換機不是TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機,TRILL交換機根據(jù)TRILL轉發(fā)表將TRILL數(shù)據(jù)幀發(fā)送至下一跳TRILL交換機。具體地TRILL交換機是否為倒數(shù)第二跳TRILL交換機的判斷方法請參考S23,此處不贅述。如果TRILL交換機不是TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機,則表明TRILL交換機為除倒數(shù)第二跳TRILL 交換機以外的中間RBridge,需要進行正常的TRILL數(shù)據(jù)幀轉發(fā),該TRILL交換機根據(jù)目的 RBridge的Nickname,查找TRILL轉發(fā)表,將數(shù)據(jù)幀發(fā)送至下一跳TRILL交換機。另外,如果TRILL交換機接收到的數(shù)據(jù)幀不是TRILL數(shù)據(jù)幀,而是以太網數(shù)據(jù)幀, 請繼續(xù)參考圖5和圖6所示的流程。圖5為本發(fā)明實施例三提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖。本實施例與實施例二相同之處不再贅述,如圖5所示,在實施例二所示流程的基礎上,本發(fā)明提供的TRILL網絡的數(shù)據(jù)發(fā)送方法還包括S31,TRILL交換機接收到以太網數(shù)據(jù)幀,該TRILL交換機進一步判斷以太網數(shù)據(jù)幀是否為從其直連鄰居接口接收;S32,若判斷的結果為否,即以太網數(shù)據(jù)幀不是從TRILL交換機的直連鄰居接口接收的,此處表明是終端設備向TRILL交換機發(fā)送原始以太網數(shù)據(jù)幀,需要由TRILL交換機進行轉發(fā)。具體地,TRILL交換機還需要進一步判斷根據(jù)MAC轉發(fā)表能否查找到以太網數(shù)據(jù)幀的目的MAC地址,根據(jù)查找的結果分為以下S33-S35三種處理方式。S33,如果能找到以太網數(shù)據(jù)幀的目的MAC地址、且轉發(fā)出口與接收出口不一致, 則二層轉發(fā)以太網數(shù)據(jù)幀。此處表明接收端的終端設備和發(fā)送端的終端設備連接在同一臺 TRILL交換機上,則該TRILL交換機將原始以太網數(shù)據(jù)幀進行二層轉發(fā)即可。具體的轉發(fā)過程可以參考現(xiàn)有的協(xié)議,此處不贅述。S34,如果能找到以太網數(shù)據(jù)幀的目的MAC地址、且轉發(fā)出口與接收出口一致,則直接丟棄以太網數(shù)據(jù)幀。S35,如果能找到以太網數(shù)據(jù)幀的目的MAC地址、且目的MAC地址與目標TRILL交換機存在映射關系,則根據(jù)TRILL轉發(fā)表對以太網數(shù)據(jù)幀進行TRILL轉發(fā)。此處表明是 Ingress RBridge對原始數(shù)據(jù)幀進行TRILL封裝,并根據(jù)TRILL轉發(fā)表,將TRILL數(shù)據(jù)幀轉發(fā)給下一跳RBridge。圖6為本發(fā)明實施例四提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖。本實施例與實施例三相同之處不再贅述,如圖6所示,在實施例三所示流程的基礎上,本發(fā)明提供的 TRILL網絡的數(shù)據(jù)發(fā)送方法還包括S36,若以太網數(shù)據(jù)幀是從其直連鄰居接口接收,則根據(jù)MAC轉發(fā)表查找以太網數(shù)據(jù)幀的目的MAC地址。此處表明沒有TRILL包頭封裝的原始以太網數(shù)據(jù)幀已經到達連接接收終端的ERB。具體地,TRILL交換機還需要根據(jù)查找的結果進一步判斷,根據(jù)判斷的結果分為S37-S39三種處理方式。
8
S37,如果能找到以太網數(shù)據(jù)幀的目的MAC地址、且轉發(fā)出口與接收出口不一致, 則進行二層轉發(fā)以太網數(shù)據(jù)幀到轉發(fā)出口。此處表明終端設備在兩臺RBridge之間的共享鏈路上,終端設備發(fā)送數(shù)據(jù)幀。這時,TRILL協(xié)議會競選出一臺DRB,轉發(fā)終端設備的數(shù)據(jù)幀。S38,如果能找到以太網數(shù)據(jù)幀的目的MAC地址、且轉發(fā)出口與接收出口一致,則丟棄以太網數(shù)據(jù)幀。此處表明終端設備在兩臺RBridge (RBl和RB》之間的共享鏈路上,終端設備接收數(shù)據(jù)幀。RBl和RB2上有終端設備的MAC地址信息。當RBl需要將原始以太網數(shù)據(jù)幀發(fā)送給終端設備時,由于都在共享鏈路上,RB2會接收到RBl發(fā)送的原始以太網數(shù)據(jù)幀。但是對該數(shù)據(jù)幀,RB2是不能轉發(fā)的,即對于這種場景,RB2要丟棄以太網數(shù)據(jù)幀做MAC 終結??梢酝ㄟ^以下的條件判斷原始數(shù)據(jù)幀從有直連鄰居的接口收到,并且,目的地址為接收數(shù)據(jù)幀的終端設備對應的轉發(fā)出口與從直連鄰居接收數(shù)據(jù)幀的接收出口一致(根據(jù) MAC轉發(fā)表判斷即可),則丟棄該原始數(shù)據(jù)幀,不做轉發(fā)。RB2會接收到RBl發(fā)送的原始以太網數(shù)據(jù)幀。但是對該數(shù)據(jù)幀,RB2是不能轉發(fā)的,即對于這種場景,RB2要丟棄以太網數(shù)據(jù)幀做MAC終結,同樣的"ESl也將RBl發(fā)送至ESl 的數(shù)據(jù)幀丟棄。此時后面的接口“即上述接口”指的是RBl到RB2的接口和/或RBl到ESl 的接口。S39,如果找不到以太網數(shù)據(jù)幀的目的MAC地址,則根據(jù)以太網數(shù)據(jù)幀攜帶的VLAN 信息,將以太網數(shù)據(jù)幀向所有屬于該VLAN的所有連接終端設備的端口進行轉發(fā)。此處表明終端設備在RBl和RB2間的共享鏈路上,終端設備接收數(shù)據(jù)幀。終端設備發(fā)生遷移或MAC 地址老化,而TRILL Campus的路由信息并未及時更新,導致RBl和RB2上無終端設備的MAC 地址信息。這時終端設備只能將數(shù)據(jù)幀向屬于該VLAN的所有連接終端設備端口發(fā)送該數(shù)據(jù)幀。下面結合實例描述本發(fā)明的TRILL網絡的數(shù)據(jù)發(fā)送方法。圖7A為本發(fā)明實施例五提供的TRILL網絡的數(shù)據(jù)發(fā)送方法的流程圖,圖7B至圖7E為圖7A中TRILL網絡的數(shù)據(jù)發(fā)送方法的部分數(shù)據(jù)幀的說明示意圖。在圖7A至圖7E中,RBl RB5是實現(xiàn)了 TRILL PHP 機制的RBridge。ESl和ES2是2臺終端PC,ESl發(fā)送源MAC = ES1,目的MAC = ES2的以太網數(shù)據(jù)幀給ES2。參考圖7A至圖7E,具體包括以下步驟(1) RBl接收到ESl發(fā)出的普通以太網數(shù)據(jù)幀,查找MAC轉發(fā)表,獲知該MAC位于 TRILL網絡的RB5上,于是RBl為該普通以太網數(shù)據(jù)幀封裝TRILL頭,其中hgress Rbridge 為 RBl,Egress Rbridge 為 RB5。然后 RBl 查找到達 RB5 的 TRILL Nickname 表(即 TRILL轉發(fā)表),找到要到達RB5的下一跳有RB3,于是RBli真充Destination Rbridge MAC Address 為RB3的MAC地址,并填充Source Rbridge MACAddress為其自身RBl的MAC地址,并將此報文發(fā)送給RB3。(2) RB3收到該TRILL數(shù)據(jù)幀,Egress Rbridge為RB5,并不是其直連的TRILL鄰居。于是RB3查找到達RB5的TRILL Nickname表(即TRILL轉發(fā)表),找到要到達RB5的下一跳有 RB4,于是 RB3 ±真充 Destination RbridgeMAC Address 為 RB4 的 MAC 地址,并填充 Source Rbridge MAC Address為其自身RB3的MAC地址,并將此報文發(fā)送給RB4。(3) RB4收到該TRILL數(shù)據(jù)幀,其中的Egress Rbridge為RB5,是其直連的TRILL 鄰居。同時查找到達RB5的TRILL Nickname表(即TRILL轉發(fā)表),找到要到達RB5的下一跳有RB5,于是RB4解封裝TRILL數(shù)據(jù)幀中的原始以太網數(shù)據(jù)幀,將該數(shù)據(jù)幀轉發(fā)給RB5。(4) RB5收到該以太網數(shù)據(jù)幀,查找MAC轉發(fā)表,發(fā)現(xiàn)目的MAC = ES2在其直連物理端口上。于是RB5將該以太網數(shù)據(jù)幀二層轉發(fā)給ES2。本流程結束。在上述處理過程中,RB4(即倒數(shù)第二臺RBridge)解封裝TRILL數(shù)據(jù)幀得到普通以太網數(shù)據(jù)幀,并將該以太網數(shù)據(jù)幀發(fā)送至RB5(即最后一臺RBridge),由RB5進行二層轉發(fā),從而提高了 RB5的報文轉發(fā)效率。本發(fā)明還提供一種TRILL網絡的數(shù)據(jù)發(fā)送裝置。圖8為本發(fā)明實施例六提供的TRILL網絡的數(shù)據(jù)發(fā)送裝置的結構示意圖。本實施例的裝置可以作為TRILL網絡中的路由交換機的功能模塊設置于路由交換機內,也可以獨立于路由交換機而與路由交換機連接。如圖8所示,本實施例的裝置包括接收模塊81、第一判斷模塊82、第一處理模塊83和第一發(fā)送模塊84。其中,接收模塊81用于接收知名單播數(shù)據(jù)幀,其中知名單播數(shù)據(jù)幀包括TRILL數(shù)據(jù)幀或以太網數(shù)據(jù)幀;第一判斷模塊82與接收模塊81連接,用于若接收模塊81接收到 TRILL數(shù)據(jù)幀,則根據(jù)TRILL數(shù)據(jù)幀攜帶的信息和TRILL轉發(fā)表判斷當前TRILL交換機是否為TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機;第一處理模塊83與第一判斷模塊82連接,用于若第一判斷模塊82判斷的結果為是,則解封裝TRILL數(shù)據(jù)幀得到以太網數(shù)據(jù)幀;第一發(fā)送模塊84與第一處理模塊83連接,用于將第一處理模塊83解封裝得到的以太網數(shù)據(jù)幀發(fā)送至最后一跳TRILL交換機。本實施例的TRILL網絡的數(shù)據(jù)發(fā)送裝置的各功能模塊可用于執(zhí)行上述方法實施例的流程,其具體工作原理不再贅述,詳見方法實施例的描述。本實施例的TRILL網絡的數(shù)據(jù)發(fā)送裝置,通過將TRILL報文的解封裝處理交由與 ERB相連的第一臺RB處理(即倒數(shù)第二臺RBridge),解封裝后的以太網轉發(fā)給ERB,ERB 根據(jù)以太網報文中的目的MAC地址進行二層轉發(fā),因此ERB不需要進行TRILL報文解封裝處理而僅進行以太網的二層轉發(fā),從而提高了 RBridge的報文轉發(fā)效率,在整體上提高了 Trill Campus的轉發(fā)性能。圖9為本發(fā)明實施例七提供的TRILL網絡的數(shù)據(jù)發(fā)送裝置的結構示意圖。本實施例可基于實施例六實現(xiàn),如圖9所示,第一判斷模塊82進一步包括解析子模塊821和判斷子模塊822。其中,解析子模塊821用于解析TRILL數(shù)據(jù)幀得到TRILL數(shù)據(jù)幀的目標TRILL交換機;判斷子模塊822與解析子模塊821連接,用于判斷解析子模塊821解析得到的目標 TRILL交換機是否為當前TRILL交換機的直連鄰居、并且目標TRILL交換機是否為TRILL轉發(fā)表的下一跳TRILL交換機,若判斷的結果為是,則當前TRILL交換機為倒數(shù)第二跳TRILL 交換機。其中,上述的目標TRILL交換機為TRILL數(shù)據(jù)幀的出口交換機標識字段參數(shù)指示的TRILL交換機。更進一步,本實施例的TRILL網絡的數(shù)據(jù)發(fā)送裝置還包括第二發(fā)送模塊85,其與第一判斷模塊82連接,用于若第一判斷模塊82判斷當前TRILL交換機不是所述TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機,則根據(jù)TRILL轉發(fā)表將TRILL數(shù)據(jù)幀發(fā)送至下一跳TRILL 交換機。也就是僅在當前TRILL交換機為倒數(shù)第二跳TRILL交換機的情況下,才調用第一處理模塊83在當前TRILL交換機進行解封裝TRILL數(shù)據(jù)幀處理;如果當前TRILL交換機不是倒數(shù)第二跳TRILL交換機,則直接調用第二發(fā)送模塊85,根據(jù)TRILL轉發(fā)表將TRILL數(shù)據(jù)幀發(fā)送至下一跳TRILL交換機。需要說明的是,第一發(fā)送模塊84和第二發(fā)送模塊85可以是分別設置的兩個裝置,
也可以合一設置。繼續(xù)參考圖9,本實施例的TRILL網絡的數(shù)據(jù)發(fā)送裝置還包括第二判斷模塊86, 第一查找模塊87,第二處理模塊88,第二查找模塊89,第三處理模塊90。其中,第二判斷模塊86與接收模塊81連接,用于若接收模塊81接收到以太網數(shù)據(jù)幀,則判斷以太網數(shù)據(jù)幀是否為從其直連鄰居接口接收。第一查找模塊87與第二判斷模塊86連接,用于若第二判斷模塊86判斷的結果為否(即以太網數(shù)據(jù)幀不是從其直連鄰居接口接收),則根據(jù)MAC轉發(fā)表查找以太網數(shù)據(jù)幀的目的MAC地址。第二處理模塊88與第一查找模塊87連接,用于如果第一查找模塊87能找到、且轉發(fā)出口與接收出口不一致,則二層轉發(fā)以太網數(shù)據(jù)幀;如果第一查找模塊87能找到、且轉發(fā)出口與接收出口一致,則丟棄以太網數(shù)據(jù)幀;如果第一查找模塊87能找到,且目的MAC地址與目標TRILL交換機存在映射關系,則根據(jù)TRILL轉發(fā)表對以太網數(shù)據(jù)幀進行TRILL轉發(fā)。第二查找模塊89與第二判斷模塊86連接,用于若第二判斷模塊86判斷的結果為是(即以太網數(shù)據(jù)幀是從其直連鄰居接口接收),則根據(jù)MAC轉發(fā)表查找以太網數(shù)據(jù)幀的目的MAC地址。第三處理模塊90與第二查找模塊89連接,用于如果第二查找模塊89能找到、 且轉發(fā)出口與接收出口不一致,則進行二層轉發(fā)以太網數(shù)據(jù)幀;如果第二查找模塊89能找到、且轉發(fā)出口與接收出口一致,則丟棄以太網數(shù)據(jù)幀;如果第二查找模塊89找不到,則根據(jù)以太網數(shù)據(jù)幀攜帶的虛擬局域網VLAN信息,將以太網數(shù)據(jù)幀向所有屬于該VLAN的所有連接終端設備的端口進行轉發(fā)。需要說明的是,上述的第一判斷模塊82與第二判斷模塊86,第一處理模塊83、第二處理模塊88與第三處理模塊90,第一查找模塊87與第二查找模塊89既可以分別設置,
也可以合一設置。綜上所示,根據(jù)本發(fā)明的上述技術方案,通過將TRILL報文的解封裝處理交由與 ERB相連的第一臺RB處理(即倒數(shù)第二臺RBridge),解封裝后的以太網轉發(fā)給ERB,ERB 根據(jù)以太網報文中的目的MAC地址進行二層轉發(fā),因此ERB不需要進行TRILL報文解封裝處理而僅進行以太網的二層轉發(fā),從而提高了 RBridge的報文轉發(fā)效率,在整體上提高了 TRILL Campus的轉發(fā)性能。本領域普通技術人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。最后應說明的是以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
權利要求
1.一種多鏈接透明傳輸互連TRILL網絡的數(shù)據(jù)發(fā)送方法,其特征在于,包括TRILL交換機接收知名單播數(shù)據(jù)幀,其中所述知名單播數(shù)據(jù)幀包括=TRILL數(shù)據(jù)幀或以太網數(shù)據(jù)幀;若接收到TRILL數(shù)據(jù)巾貞,則所述TRILL交換機根據(jù)所述TRILL數(shù)據(jù)幀攜帶的信息和 TRILL轉發(fā)表判斷其是否為所述TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機;若判斷的結果為是,則所述TRILL交換機解封裝所述TRILL數(shù)據(jù)幀得到以太網數(shù)據(jù)幀, 并將所述以太網數(shù)據(jù)幀發(fā)送至最后一跳TRILL交換機。
2.根據(jù)權利要求1所述的方法,其特征在于,所述TRILL交換機根據(jù)所述TRILL數(shù)據(jù)幀攜帶的信息和TRILL轉發(fā)表判斷其是否為所述TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機具體包括所述TRILL交換機解析所述TRILL數(shù)據(jù)幀得到所述TRILL數(shù)據(jù)幀的目標TRILL交換機;所述TRILL交換機判斷所述目標TRILL交換機是否為所述TRILL交換機的直連鄰居、 并且所述目標TRILL交換機是否為所述TRILL轉發(fā)表的下一跳TRILL交換機; 若判斷的結果為是,則所述TRILL交換機為倒數(shù)第二跳TRILL交換機。
3.根據(jù)權利要求1或2所述的方法,其特征在于,若所述TRILL交換機不是所述TRILL 數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機,則所述方法還包括所述TRILL交換機根據(jù)所述TRILL轉發(fā)表將所述TRILL數(shù)據(jù)幀發(fā)送至下一跳TRILL交換機。
4.根據(jù)權利要求1或2所述的方法,其特征在于,還包括若接收到以太網數(shù)據(jù)幀,則所述TRILL交換機進一步判斷所述以太網數(shù)據(jù)幀是否為從其直連鄰居接口接收;若判斷的結果為否,則根據(jù)介質訪問控制MAC轉發(fā)表查找所述以太網數(shù)據(jù)幀的目的 MAC地址如果能找到、且轉發(fā)出口與接收出口不一致,則二層轉發(fā)所述以太網數(shù)據(jù)幀; 如果能找到、且轉發(fā)出口與接收出口一致,則丟棄所述以太網數(shù)據(jù)幀; 如果能找到,且所述目的MAC地址與目標TRILL交換機存在映射關系,則根據(jù)TRILL轉發(fā)表對所述以太網數(shù)據(jù)幀進行TRILL轉發(fā)。
5.根據(jù)權利要求4所述的方法,其特征在于,還包括若所述以太網數(shù)據(jù)幀是從其直連鄰居接口接收,則根據(jù)MAC轉發(fā)表查找所述以太網數(shù)據(jù)幀的目的MAC地址如果能找到、且轉發(fā)出口與接收出口不一致,則進行二層轉發(fā)所述以太網數(shù)據(jù)幀; 如果能找到、且轉發(fā)出口與接收出口一致,則丟棄所述以太網數(shù)據(jù)幀; 如果找不到,則根據(jù)所述以太網數(shù)據(jù)幀攜帶的虛擬局域網VLAN信息,將所述以太網數(shù)據(jù)幀向所有屬于該VLAN的所有連接終端設備的端口進行轉發(fā)。
6.一種TRILL網絡的數(shù)據(jù)發(fā)送裝置,其特征在于,包括接收模塊,用于接收知名單播數(shù)據(jù)幀,其中所述知名單播數(shù)據(jù)幀包括TRILL數(shù)據(jù)幀或以太網數(shù)據(jù)幀;第一判斷模塊,用于若所述接收模塊接收到TRILL數(shù)據(jù)幀,則根據(jù)所述TRILL數(shù)據(jù)幀攜帶的信息和TRILL轉發(fā)表判斷當前TRILL交換機是否為所述TRILL數(shù)據(jù)幀的倒數(shù)第二跳 TRILL交換機;第一處理模塊,用于若所述第一判斷模塊判斷的結果為是,則解封裝所述TRILL數(shù)據(jù)幀得到以太網數(shù)據(jù)幀;第一發(fā)送模塊,用于將所述以太網數(shù)據(jù)幀發(fā)送至最后一跳TRILL交換機。
7.根據(jù)權利要求6所述的裝置,其特征在于,所述第一判斷模塊具體包括解析子模塊,用于解析所述TRILL數(shù)據(jù)幀得到所述TRILL數(shù)據(jù)幀的目標TRILL交換機;判斷子模塊,用于判斷所述目標TRILL交換機是否為當前TRILL交換機的直連鄰居、并且所述目標TRILL交換機是否為所述TRILL轉發(fā)表的下一跳TRILL交換機,若判斷的結果為是,則當前TRILL交換機為倒數(shù)第二跳TRILL交換機。
8.根據(jù)權利要求6或7所述的裝置,其特征在于,還包括第二發(fā)送模塊,用于若所述第一判斷模塊判斷當前TRILL交換機不是所述TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機,則根據(jù)所述TRILL轉發(fā)表將所述TRILL數(shù)據(jù)幀發(fā)送至下一跳TRILL交換機。
9.根據(jù)權利要求6或7所述的裝置,其特征在于,還包括第二判斷模塊,用于若所述接收模塊接收到以太網數(shù)據(jù)幀,則判斷所述以太網數(shù)據(jù)幀是否為從其直連鄰居接口接收;第一查找模塊,用于若所述第二判斷模塊判斷的結果為否,則根據(jù)MAC轉發(fā)表查找所述以太網數(shù)據(jù)幀的目的MAC地址;第二處理模塊,用于如果所述第一查找模塊能找到、且轉發(fā)出口與接收出口不一致, 則二層轉發(fā)所述以太網數(shù)據(jù)幀;如果所述第一查找模塊能找到、且轉發(fā)出口與接收出口一致,則丟棄所述以太網數(shù)據(jù)幀;如果所述第一查找模塊能找到,且所述目的MAC地址與目標 TRILL交換機存在映射關系,則根據(jù)TRILL轉發(fā)表對所述以太網數(shù)據(jù)幀進行TRILL轉發(fā)。
10.根據(jù)權利要求9所述的裝置,其特征在于,還包括第二查找模塊,用于若所述第二判斷模塊判斷的結果為是,則根據(jù)MAC轉發(fā)表查找所述以太網數(shù)據(jù)幀的目的MAC地址;第三處理模塊,用于如果所述第二查找模塊能找到、且轉發(fā)出口與接收出口不一致,則進行二層轉發(fā)所述以太網數(shù)據(jù)幀;如果所述第二查找模塊能找到、且轉發(fā)出口與接收出口一致,則丟棄所述以太網數(shù)據(jù)幀;如果所述第二查找模塊找不到,則根據(jù)所述以太網數(shù)據(jù)幀攜帶的虛擬局域網VLAN信息,將所述以太網數(shù)據(jù)幀向所有屬于該VLAN的所有連接終端設備的端口進行轉發(fā)。
全文摘要
本發(fā)明公開了一種多鏈接透明傳輸互連網絡的數(shù)據(jù)發(fā)送方法及其裝置,其中,所述方法包括TRILL交換機接收知名單播數(shù)據(jù)幀,其中所述知名單播數(shù)據(jù)幀包括TRILL數(shù)據(jù)幀或以太網數(shù)據(jù)幀;若接收到TRILL數(shù)據(jù)幀,則所述TRILL交換機根據(jù)所述TRILL數(shù)據(jù)幀攜帶的信息和TRILL轉發(fā)表判斷其是否為所述TRILL數(shù)據(jù)幀的倒數(shù)第二跳TRILL交換機;若判斷的結果為是,則所述TRILL交換機解封裝所述TRILL數(shù)據(jù)幀得到以太網數(shù)據(jù)幀,并將所述以太網數(shù)據(jù)幀發(fā)送至最后一跳TRILL交換機。上述方法能夠解決現(xiàn)有TRILL網絡中的ERB的處理性能成為Trill Campus的性能瓶頸的問題。
文檔編號H04L12/56GK102185782SQ201110129040
公開日2011年9月14日 申請日期2011年5月17日 優(yōu)先權日2011年5月17日
發(fā)明者楊敬民 申請人:福建星網銳捷網絡有限公司