轉(zhuǎn)發(fā)信息配置方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種轉(zhuǎn)發(fā)信息配置方法及裝置,其中,該方法包括以下步驟:步驟1,計算到達(dá)同一目的地的N個等價的轉(zhuǎn)發(fā)路徑;步驟2,對所述N個等價的轉(zhuǎn)發(fā)路徑進(jìn)行排序;步驟3,按照所述排序在所述N個等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn)發(fā)路徑,根據(jù)所選轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息配置等價多路徑表的一個等價多路徑表項(xiàng);步驟4,重復(fù)執(zhí)行步驟3直到配置的等價多路徑表項(xiàng)的總數(shù)等于所述等價多路徑表的最大表項(xiàng)數(shù)目M;其中,M=2n,N≥2,M>N,N、M和n為自然數(shù)。本發(fā)明在多個等價的轉(zhuǎn)發(fā)路徑中任一轉(zhuǎn)發(fā)路徑故障時,僅將先前故障轉(zhuǎn)發(fā)路徑路由到目的地址的報文由其他正常轉(zhuǎn)發(fā)路徑路由到目的地址,而先前由正常轉(zhuǎn)發(fā)路徑路由到目的地址的報文的等價路徑的選擇結(jié)果不變。
【專利說明】轉(zhuǎn)發(fā)信息配置方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本申請涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,特別涉及一種轉(zhuǎn)發(fā)信息配置方法及裝置。
【背景技術(shù)】
[0002] 等價多路徑(ECMP, Equal Cost Multi Path)技術(shù)通過多個等價的轉(zhuǎn)發(fā)路徑將報 文路由到同一個目的網(wǎng)絡(luò)地址。
[0003] 圖1是一種應(yīng)用場景中的數(shù)據(jù)中心網(wǎng)絡(luò)的示意圖,提供了等價多路徑技術(shù)中的一 種實(shí)現(xiàn)方式。主機(jī)(圖1未示出)通過交換設(shè)備(Switch)訪問IP地址為100. 0. 0. 100的業(yè) 務(wù)。四臺服務(wù)器Serverl-Se;rver4都提供該種業(yè)務(wù)且服務(wù)地址均為100. 0. 0. 100。交換設(shè) 備與這四臺服務(wù)器之間均運(yùn)行OSPF (Open Shortest Path First,開放最短路徑優(yōu)先)協(xié) 議,從而構(gòu)成一個0SPF域。
[0004] 假設(shè),Serverl 的 IP 地址為 10. 0· 0· 2, Server2 的 IP 地址為 20. 0· 0· 2, Server3 的 IP 地址為 30. 0· 0· 2, Server4 的 IP 地址為 40. 0· 0· 2。Switch 與 Serverl-Se;rver4 這四 臺服務(wù)器建立路由鄰居,并學(xué)習(xí)到特定服務(wù)(服務(wù)器提供的比如網(wǎng)頁訪問、云計算等業(yè)務(wù)) 的轉(zhuǎn)發(fā)下一跳分別為Serverl-Se;rver4的四條等價的轉(zhuǎn)發(fā)路徑。Switch根據(jù)每個等價的 轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息配置ECMP表的一個ECMP表項(xiàng),在IP前綴為100. 0. 0. 100的路由表項(xiàng) 的下一跳信息中記錄的ECMP表的ECMP索引(ECMP Index)。當(dāng)Switch接收到PC發(fā)來的報 文后,按照最長匹配原則在路由表中查找到報文的目的IP地址100. 〇. 〇. 100匹配的路由表 項(xiàng),根據(jù)下一跳信息中等價多路徑索引(ECMP Index)查找對應(yīng)的ECMP表。Switch對報文 的一個或多個特征值進(jìn)行運(yùn)算(例如,CRC (Cyclical Redundancy Check,循環(huán)冗余碼校驗(yàn)) 運(yùn)算或Hash (哈希)運(yùn)算)得到一個KEY值,將該KEY值對轉(zhuǎn)發(fā)路徑個數(shù)4取模,S卩,KEY%N (%為取模運(yùn)算符),Switch在ECMP表中選擇取模結(jié)果對應(yīng)ECMP表項(xiàng),根據(jù)該ECMP表項(xiàng)的 轉(zhuǎn)發(fā)信息將收到的報文路由到對應(yīng)的服務(wù)器。Switch可將報文源IP( Internet Protocol, 因特網(wǎng)協(xié)議)地址、目的IP地址、源四層端口號、目的四層端口號、協(xié)議類型等特征值計算 Hash值,從而將訪問服務(wù)不同的數(shù)據(jù)流的報文均勻地分擔(dān)到這四條等價的轉(zhuǎn)發(fā)路徑。
[0005] 當(dāng)Switch與某一臺服務(wù)器(例如Server2)之間的轉(zhuǎn)發(fā)路徑故障時,Switch刪除 ECMP表中故障轉(zhuǎn)發(fā)路徑對應(yīng)的表項(xiàng)并且需要修改選擇等價路徑的算法。譬如,Switch將計 算的KEY值與當(dāng)前轉(zhuǎn)發(fā)路徑數(shù)目3取模,選擇將報文路由到目的地址的轉(zhuǎn)發(fā)路徑。這樣,原 先通過轉(zhuǎn)發(fā)路徑路由到Server4的報文可能會被路由到Server3。。由于某些應(yīng)用建立在 TCP (Transmission Control Protocol,傳輸控制協(xié)議)連接的基礎(chǔ)上,一旦等價路徑的選 擇結(jié)果改變,這些應(yīng)用需要重新建立TCP連接,導(dǎo)致用戶的應(yīng)用出現(xiàn)瞬斷,影響了用戶的使 用。
【發(fā)明內(nèi)容】
[0006] 本申請?zhí)峁┝艘环N轉(zhuǎn)發(fā)信息配置方法及裝置,以解決現(xiàn)有技術(shù)中存在的成本較 高,運(yùn)維的復(fù)雜度較大,以及當(dāng)?shù)葍r的轉(zhuǎn)發(fā)路徑中有多條轉(zhuǎn)發(fā)路徑中斷時,仍然無法保證選 路結(jié)果不變的問題。
[0007] 本申請的技術(shù)方案如下:
[0008] -方面,提供了一種轉(zhuǎn)發(fā)信息配置方法,其特征在于,包括以下步驟:
[0009] 步驟1,計算到達(dá)同一目的地的N個等價的轉(zhuǎn)發(fā)路徑;
[0010] 步驟2,對所述N個等價的轉(zhuǎn)發(fā)路徑進(jìn)行排序;
[0011] 步驟3,按照所述排序在所述N個等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn)發(fā)路徑,根據(jù)所選 轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息配置等價多路徑表的一個等價多路徑表項(xiàng);
[0012] 步驟4,重復(fù)執(zhí)行步驟3直到配置的等價多路徑表項(xiàng)的總數(shù)等于所述等價多路徑 表的最大表項(xiàng)數(shù)目M;其中,M = 2n,N彡2,M>N,N、M和η為自然數(shù)。
[0013] 另一方面,還提供了一種轉(zhuǎn)發(fā)信息配置裝置,其特征在于,包括:
[0014] 計算模塊,用于計算到達(dá)同一目的地的Ν個等價的轉(zhuǎn)發(fā)路徑;
[0015] 排序模塊,用于對所述計算模塊計算得到的所述Ν個等價的轉(zhuǎn)發(fā)路徑進(jìn)行排序;
[0016] 配置模塊,用于重復(fù)執(zhí)行按照所述排序在所述Ν個等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn) 發(fā)路徑,根據(jù)所選轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息配置等價多路徑表的一個等價多路徑表項(xiàng)的步驟, 直到配置的等價多路徑表項(xiàng)的總數(shù)等于所述等價多路徑表的最大表項(xiàng)數(shù)目Μ ;其中,Μ = 211^彡2,]?>1隊]\1和11為自然數(shù)。
[0017] 使用本申請的方法,將報文路由到同一目的地址的多個等價的轉(zhuǎn)發(fā)路徑中任一轉(zhuǎn) 發(fā)路徑故障(failure)時,僅將先前故障轉(zhuǎn)發(fā)路徑路由到目的地址的報文由其他正常轉(zhuǎn)發(fā) 路徑路由到目的地址,而先前由正常轉(zhuǎn)發(fā)路徑路由到目的地址的報文的等價路徑的選擇結(jié) 果不變。
【專利附圖】
【附圖說明】
[0018] 圖1是一種應(yīng)用場景中的數(shù)據(jù)中心網(wǎng)絡(luò)的示意圖;
[0019] 圖2是本申請的實(shí)施例一的轉(zhuǎn)發(fā)信息配置方法的流程圖;
[0020] 圖3是本申請的實(shí)施例三的轉(zhuǎn)發(fā)信息配置裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021] 實(shí)施例一
[0022] 圖2是本申請的實(shí)施例一的配置ECMP表轉(zhuǎn)發(fā)信息的方法,該方法可以由交換設(shè)備 和路由設(shè)備等任意一個可以執(zhí)行等價路由負(fù)載均衡的設(shè)備來執(zhí)行,本申請對此不做限定。 如圖2所示,該方法包括以下步驟:
[0023] 步驟S302,計算到達(dá)同一目的地的N個等價的轉(zhuǎn)發(fā)路徑;
[0024] 步驟S304,對N個等價的轉(zhuǎn)發(fā)路徑進(jìn)行排序;
[0025] 步驟S306,按照所述排序在N個等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn)發(fā)路徑,根據(jù)所選 轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息配置等價多路徑表的一個等價多路徑表項(xiàng);
[0026] 步驟S308,判斷配置的等價多路徑表項(xiàng)的總數(shù)是否等于等價多路徑表的最大表項(xiàng) 數(shù)目M,若是,則結(jié)束流程,否則,返回步驟S306 ;其中,M = 2n,N彡2,M>N,N、M和η為自 然數(shù)。
[0027] 本申請對ECMP表項(xiàng)的轉(zhuǎn)發(fā)信息不做限制;其中,ECMP表項(xiàng)的轉(zhuǎn)發(fā)信息可以包括: 下一跳的信息(例如,下一跳的IP地址或MAC地址等),VLAN ID (虛擬局域網(wǎng)標(biāo)識)和出接 口等信息。ECMP表項(xiàng)中的索引可以是序號等。
[0028] 例如,當(dāng)計算得到N個到達(dá)同一目的地址的等價的轉(zhuǎn)發(fā)路徑時,可以根據(jù)每個轉(zhuǎn) 發(fā)路徑的下一跳IP地址、MAC地址、VLAN ID進(jìn)行排序。假設(shè),按照下一跳IP地址從小到大 的順序,N個等價的轉(zhuǎn)發(fā)路徑的順序?yàn)椋恨D(zhuǎn)發(fā)路徑i、轉(zhuǎn)發(fā)路徑2、轉(zhuǎn)發(fā)路徑 3、...轉(zhuǎn)發(fā)路徑N。 并且,由于Μ > N,包括兩種情況:M是N的整數(shù)倍和Μ不是N的整數(shù)倍,下面分別對這兩種 情況舉例說明:
[0029] 當(dāng)Μ是Ν的整數(shù)倍時,此時,等價多路徑表的形式可以如表1所示:
[0030] 表 1
[0031]
【權(quán)利要求】
1. 一種轉(zhuǎn)發(fā)信息配置方法,其特征在于,包括以下步驟: 步驟1,計算到達(dá)同一目的地的N個等價的轉(zhuǎn)發(fā)路徑; 步驟2,對所述N個等價的轉(zhuǎn)發(fā)路徑進(jìn)行排序; 步驟3,按照所述排序在所述N個等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn)發(fā)路徑,根據(jù)所選轉(zhuǎn)發(fā) 路徑的轉(zhuǎn)發(fā)信息配置等價多路徑表的一個等價多路徑表項(xiàng); 步驟4,重復(fù)執(zhí)行步驟3直到配置的等價多路徑表項(xiàng)的總數(shù)等于所述等價多路徑表的 最大表項(xiàng)數(shù)目M;其中,M = 2n,N彡2,M>N,N、M和η為自然數(shù)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 步驟5,確定Ν個等價的轉(zhuǎn)發(fā)路徑的任何一個轉(zhuǎn)發(fā)路徑故障; 步驟6,按照所述排序在正常的等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn)發(fā)路徑,根據(jù)所選轉(zhuǎn)發(fā)路 徑的轉(zhuǎn)發(fā)信息替換關(guān)聯(lián)于故障轉(zhuǎn)發(fā)路徑的一個等價多路徑表項(xiàng)的轉(zhuǎn)發(fā)信息; 步驟7,重復(fù)步驟6直到關(guān)聯(lián)于故障轉(zhuǎn)發(fā)路徑的所有等價多路徑表項(xiàng)的轉(zhuǎn)發(fā)信息都被 替換。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于, 當(dāng)Μ是Ν的整數(shù)倍時,Μ個所述等價多路徑表項(xiàng)包括'[Μ/#」組,每組包括符合所述排 序的N個所述等價多路徑表項(xiàng),[」是向下取整運(yùn)算符。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)Μ不是N的整數(shù)倍時,Μ個所述等價多 路徑表項(xiàng)包括1_M//V」+ 1組,第一組至第|_Μ/ΛΤ」組中的每組包括符合所述排序的Ν個所述 等價多路徑表項(xiàng);第[M/iVj + l組包括符合所述排序的M-個所述等價多路徑 表項(xiàng);U是向下取整運(yùn)算符。
5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 步驟Γ,重新計算到達(dá)所述同一目的地的等價的轉(zhuǎn)發(fā)路徑; 步驟2',確定當(dāng)前的等價的轉(zhuǎn)發(fā)路徑的任一轉(zhuǎn)發(fā)路徑與所述等價多路徑表中各等價多 路徑表項(xiàng)對應(yīng)轉(zhuǎn)發(fā)路徑不一致的,刪除所述等價多路徑表的所有等價多路徑表項(xiàng); 步驟3',對當(dāng)前的等價的轉(zhuǎn)發(fā)路徑重新排序; 步驟4',按照新的排序?qū)⒅匦掠嬎愕牡葍r的轉(zhuǎn)發(fā)路徑的一個轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息配置 為等價多路徑表的一個等價多路徑表項(xiàng); 步驟5',重復(fù)執(zhí)行步驟4'直到配置的等價多路徑表項(xiàng)的總數(shù)等于M。
6. -種轉(zhuǎn)發(fā)信息配置裝置,其特征在于,包括: 計算模塊,用于計算到達(dá)同一目的地的N個等價的轉(zhuǎn)發(fā)路徑; 排序模塊,用于對所述計算模塊計算得到的所述N個等價的轉(zhuǎn)發(fā)路徑進(jìn)行排序; 配置模塊,用于重復(fù)執(zhí)行按照所述排序在所述N個等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn)發(fā) 路徑,根據(jù)所選轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息配置等價多路徑表的一個等價多路徑表項(xiàng)的步驟,直 到配置的等價多路徑表項(xiàng)的總數(shù)等于所述等價多路徑表的最大表項(xiàng)數(shù)目Μ ;其中,Μ = 2n, N彡2,M>N,N、M和η為自然數(shù)。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 故障確定模塊,用于確定所述計算模塊計算得到的N個等價的轉(zhuǎn)發(fā)路徑的任何一個轉(zhuǎn) 發(fā)路徑故障; 替換模塊,用于重復(fù)執(zhí)行按照所述排序在正常的等價的轉(zhuǎn)發(fā)路徑中選擇一個轉(zhuǎn)發(fā)路 徑,根據(jù)所選轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)信息替換關(guān)聯(lián)于故障轉(zhuǎn)發(fā)路徑的一個等價多路徑表項(xiàng)的轉(zhuǎn)發(fā) 信息的步驟,直到關(guān)聯(lián)于故障轉(zhuǎn)發(fā)路徑的所有等價多路徑表項(xiàng)的轉(zhuǎn)發(fā)信息都被替換。
8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于, 當(dāng)Μ是N的整數(shù)倍時,Μ個所述等價多路徑表項(xiàng)包括LM/Λ'」組,每組包括符合所述排 序的Ν個所述等價多路徑表項(xiàng),L」是向下取整運(yùn)算符。
9. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,當(dāng)Μ不是Ν的整數(shù)倍時,Μ個所述等價多 路徑表項(xiàng)包括|_Μ/#」+ 1.組,第一組至第[M/iV」組中的每組包括符合所述排序的Ν個所述 等價多路徑表項(xiàng);第】組包括符合所述排序的M-個所述等價多路徑 表項(xiàng);U是向下取整運(yùn)算符。
10. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括:刪除模塊,其中: 所述計算模塊,還用于重新計算到達(dá)所述同一目的地的等價的轉(zhuǎn)發(fā)路徑; 所述刪除模塊,用于確定當(dāng)前的等價的轉(zhuǎn)發(fā)路徑的任一轉(zhuǎn)發(fā)路徑與所述等價多路徑表 中各等價多路徑表項(xiàng)對應(yīng)轉(zhuǎn)發(fā)路徑不一致的,刪除所述等價多路徑表的所有等價多路徑表 項(xiàng); 所述排序模塊,還用于對當(dāng)前的等價的轉(zhuǎn)發(fā)路徑重新排序; 所述配置模塊,還用于重復(fù)執(zhí)行按照新的排序?qū)⒅匦掠嬎愕牡葍r的轉(zhuǎn)發(fā)路徑的一個轉(zhuǎn) 發(fā)路徑的轉(zhuǎn)發(fā)信息配置為等價多路徑表的一個等價多路徑表項(xiàng)的步驟,直到配置的等價多 路徑表項(xiàng)的總數(shù)等于M。
【文檔編號】H04L12/703GK104144120SQ201310167065
【公開日】2014年11月12日 申請日期:2013年5月7日 優(yōu)先權(quán)日:2013年5月7日
【發(fā)明者】李捷 申請人:杭州華三通信技術(shù)有限公司