国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Eth-Trunk 負(fù)載分擔(dān)在通信類設(shè)備上的應(yīng)用*

2020-04-25 13:37:32謝永春夏安祥
通信技術(shù) 2020年4期
關(guān)鍵詞:數(shù)據(jù)流交換機(jī)報(bào)文

羅 健,易 欣,謝永春,夏安祥

(1.中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041;2.北京航天飛行控制中心,北京 100094)

0 引 言

某通信類設(shè)備工作于IP 層,其基本功能是對(duì)特征IP 數(shù)據(jù)報(bào)文進(jìn)行處理。設(shè)備根據(jù)IP 數(shù)據(jù)報(bào)文中的四元組對(duì)數(shù)據(jù)流進(jìn)行分類,針對(duì)每一個(gè)不同的數(shù)據(jù)流,采用不同的硬件通道進(jìn)行處理。由于設(shè)備硬件性能限制,最多只能承載8 個(gè)硬件通道,這就必須要求分配給單臺(tái)設(shè)備處理的數(shù)據(jù)流個(gè)數(shù)不能超過8。在設(shè)備實(shí)際使用場(chǎng)景中,數(shù)據(jù)流由某終端群發(fā)出,其數(shù)量遠(yuǎn)大于8,因此必須采用負(fù)載均衡技術(shù)將眾多數(shù)據(jù)流分擔(dān)到多臺(tái)設(shè)備上進(jìn)行處理。

根據(jù)數(shù)據(jù)報(bào)文特征進(jìn)行的負(fù)載分擔(dān)主要有逐流分擔(dān)和逐包分擔(dān),逐流分擔(dān)一般是按照IP 數(shù)據(jù)報(bào)文的五元組將IP 報(bào)文分成不同的數(shù)據(jù)流,同一條流的報(bào)文固定在一條鏈路上傳輸,但缺點(diǎn)是逐流分擔(dān)的負(fù)載均衡不會(huì)很理想,均勻程度一般與流量特征和負(fù)載分擔(dān)策略相關(guān)。逐包分擔(dān)不對(duì)數(shù)據(jù)流進(jìn)行區(qū)分,而是以數(shù)據(jù)報(bào)文為單位,根據(jù)報(bào)文到來的順序,將報(bào)文均勻地分擔(dān)到參與負(fù)載均衡的各條鏈路上,缺點(diǎn)是可能造成報(bào)文亂序。逐流分擔(dān)可以保證數(shù)據(jù)報(bào)文有序到達(dá),由于某通信類設(shè)備對(duì)報(bào)文達(dá)到順序非常敏感,因此選用了華為S5700 系列交換機(jī)的Eth-Trunk 功能實(shí)現(xiàn)逐流分擔(dān)。

Eth-Trunk 是華為交換機(jī)的鏈路聚合功能,將多條物理鏈路捆綁為一個(gè)邏輯聚合組鏈路[1]。聚合組內(nèi)的各成員鏈路可以互相熱備,當(dāng)某一條成員鏈路發(fā)生故障時(shí),故障鏈路流自動(dòng)分配到其他正常成員鏈路上。為了解決熱備的實(shí)時(shí)性問題,本文選取了合適的LACP Timeout 對(duì)跨接設(shè)備進(jìn)行故障判斷,當(dāng)交換機(jī)超過一定時(shí)間沒有收到互發(fā)的LACP 報(bào)文時(shí),立即啟動(dòng)熱備機(jī)制。

負(fù)載分擔(dān)實(shí)現(xiàn)機(jī)制是將進(jìn)入交換機(jī)Eth-Trunk口的眾多數(shù)據(jù)流通過HASH 策略隨機(jī)從當(dāng)前活躍的聚合組成員端口送出[2],負(fù)載分擔(dān)固有的HASH 策略引入了分擔(dān)結(jié)果不均勻的問題。為了解決該問題,本文提出了一系列配置方法,能夠保證負(fù)載分擔(dān)結(jié)果相對(duì)均勻。

1 Eth-Trunk 負(fù)載分擔(dān)

1.1 Eth-Trunk 技術(shù)

Eth-Trunk 是以太網(wǎng)鏈路聚合的簡(jiǎn)稱,它通過將兩臺(tái)交換機(jī)之間的多條以太網(wǎng)物理鏈路捆綁成為一條邏輯鏈路,如圖1 所示,各成員鏈路之間可以實(shí)現(xiàn)相互動(dòng)態(tài)備份,提高了鏈路的可靠性。Eth-Trunk 屬于TCP/IP 網(wǎng)絡(luò)體系的數(shù)據(jù)鏈路層,如圖2所示,位于MAC 與LLC 子層之間[3]。

圖1 Eth-Trunk 示意圖

圖2 Eth-Trunk 在網(wǎng)絡(luò)體系中的位置

Eth-Trunk 技術(shù)主要有以下三個(gè)優(yōu)勢(shì):第一,可以增加帶寬,Eth-Trunk 接口的最大帶寬可以達(dá)到各成員接口帶寬之和。第二,可以提高鏈路設(shè)備的可靠性,當(dāng)某條鏈路出現(xiàn)故障時(shí),流量可以自動(dòng)切換到其他活躍的成員鏈路上。第三,可以實(shí)現(xiàn)負(fù)載分擔(dān),在同一聚合組內(nèi),流量可以分擔(dān)到各成員鏈路上[4]。

1.2 負(fù)載分擔(dān)策略

Eth-Trunk 模塊內(nèi)部維護(hù)了一張轉(zhuǎn)發(fā)表,該表由OFFSET 值和接口號(hào)兩項(xiàng)構(gòu)成。OFFSET 值是由HASH-KEY 轉(zhuǎn)化而來,不同的OFFSET 值對(duì)應(yīng)不同的出接口,相同的OFFSET 值就對(duì)應(yīng)相同的出接口。由于HASH 計(jì)算的結(jié)果具有隨機(jī)特性,在沒有手段干預(yù)的情況下,Eth-Trunk 負(fù)載分擔(dān)結(jié)果不會(huì)很均勻。

負(fù)載分擔(dān)策略、數(shù)據(jù)流特征和個(gè)數(shù)都固定之后,其分擔(dān)結(jié)果也就固定,從Eth-Trunk 的HASH 計(jì)算原理可以看出,依次減少或增加既有的數(shù)據(jù)流,不會(huì)改變當(dāng)前已接入數(shù)據(jù)流的出接口。

1.3 LACP 協(xié)議

LACP 協(xié)議是一種實(shí)現(xiàn)動(dòng)態(tài)鏈路聚合的控制協(xié)議,該協(xié)議基于 IEEE802.3ad 標(biāo)準(zhǔn)[5]。運(yùn)行該協(xié)議的交換機(jī)之間通過互相發(fā)送 LACPDU(Link Aggregation Control Protocol Data Unit)報(bào)文進(jìn)行信息交互,報(bào)文包含了聚合組端口的信息和狀態(tài),交換機(jī)通過解析對(duì)端的LACPDU 報(bào)文并結(jié)合自身的端口狀態(tài)進(jìn)行端口的選擇以及故障的判斷[6]。

通過解析LACPDU 報(bào)文可以判斷對(duì)端端口是否正常,如果異常則雙方會(huì)協(xié)商出其他活躍端口接管故障端口流量。當(dāng)超過一定時(shí)間沒有收到對(duì)端發(fā)出的報(bào)文時(shí),交換機(jī)也會(huì)判定該端口發(fā)生故障,將流量自動(dòng)分配到其他活躍端口上。華為交換機(jī)可以選擇互發(fā)LACPDU 報(bào)文的周期,最小可以設(shè)置為1 秒,超時(shí)時(shí)間為設(shè)置周期的3 倍。

2 系統(tǒng)應(yīng)用場(chǎng)景

應(yīng)用場(chǎng)景分為兩種,場(chǎng)景1 的目的IP 地址都是組播地址。場(chǎng)景2 的目的IP 地址都為單播地址,且與源IP 地址不屬于同一廣播域,需要網(wǎng)關(guān)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。

2.1 場(chǎng)景1

場(chǎng)景1 如圖3 所示,采用3 臺(tái)設(shè)備對(duì)終端群發(fā)往服務(wù)器的一共12 路數(shù)據(jù)流進(jìn)行負(fù)載分擔(dān)。交換機(jī)1 和2 配置了相同Id 的Eth-Trunk 口,聚合組成員接口統(tǒng)一為兩交換機(jī)的第18、19、20 號(hào)物理端口,分別對(duì)應(yīng)設(shè)備1、設(shè)備2 和設(shè)備3。

圖3 場(chǎng)景1

12 條數(shù)據(jù)流的具體特征見表1,為了描述方便,后文以數(shù)據(jù)流編號(hào)表示該條數(shù)據(jù)流。場(chǎng)景1 中數(shù)據(jù)流1~12對(duì)應(yīng)接入交換機(jī)2的第1~12號(hào)物理端口。

表1 場(chǎng)景1 所有數(shù)據(jù)流

2.2 場(chǎng)景2

場(chǎng)景2 如圖4 所示,采用2 臺(tái)設(shè)備對(duì)終端群發(fā)往服務(wù)器的一共6 路數(shù)據(jù)流進(jìn)行負(fù)載分擔(dān)。交換機(jī)1 和2 配置了相同Id 的Eth-Trunk 口,聚合組成員接口統(tǒng)一為兩交換機(jī)的第17、18 號(hào)物理端口,分別對(duì)應(yīng)設(shè)備1 和設(shè)備2。

1056 高分辨率磁共振成像分析基底節(jié)區(qū)孤立性缺血性腦卒中病因 王 諾,張首龍,秦魯平,朱 宣,張敏敏,鄧本強(qiáng),吳 濤

圖4 場(chǎng)景2

6 條數(shù)據(jù)流的具體特征見表2,為了描述方便,后文以數(shù)據(jù)流編號(hào)表示該條數(shù)據(jù)流。場(chǎng)景2 中數(shù)據(jù)流1 ~6 對(duì)應(yīng)接入交換機(jī)2 的第1 ~6 號(hào)物理端口。

表2 場(chǎng)景2 所有數(shù)據(jù)流

2.3 LACP 配置

為了保證設(shè)備故障時(shí),故障鏈路數(shù)據(jù)流自動(dòng)切換到其他正常鏈路上,Eth-Trunk 配置了LACP 功能。以場(chǎng)景1 為例,場(chǎng)景2 同理,3 臺(tái)設(shè)備都能正確透?jìng)鱈ACPDU 報(bào)文,其中交換機(jī)2 配置為主設(shè)備,其LACP 配置了更高的系統(tǒng)優(yōu)先級(jí),并對(duì)其第18/19/20 三個(gè)Eth-Trunk 成員物理端口配置了更高的端口優(yōu)先級(jí)。交換機(jī)1 不需要配置LACP 系統(tǒng)優(yōu)先級(jí)和端口優(yōu)先級(jí),僅作為從設(shè)備。兩交換機(jī)的LACP Timeout 都設(shè)置成最短的1 秒。兩個(gè)交換機(jī)之間通過設(shè)備1、設(shè)備2、設(shè)備3 所在鏈路以固定1秒間隔發(fā)送LACPDU 報(bào)文。某個(gè)設(shè)備出現(xiàn)故障時(shí),故障設(shè)備將阻斷所在鏈路LACPDU 報(bào)文的互傳,如果兩端交換機(jī)超過3 秒沒有收到互發(fā)的LACPDU 報(bào)文,則判定故障,故障鏈路流量會(huì)自動(dòng)切換到其他活躍的鏈路上。由于設(shè)備數(shù)量限制,LACP 的最大活躍通道數(shù)設(shè)置為3,3 臺(tái)設(shè)備都參與了負(fù)載分擔(dān)。

2.4 分擔(dān)策略配置

為了保證通過Eth-Trunk 的眾數(shù)據(jù)流相對(duì)平均地分配到各成員鏈路上,需要在Eth-Trunk 出方向的交換機(jī)上配置負(fù)載分擔(dān)策略。策略提取數(shù)據(jù)流的相關(guān)特征值做HASH 運(yùn)算,根據(jù)計(jì)算結(jié)果選擇與之對(duì)應(yīng)的成員口作為數(shù)據(jù)流的出口。為了使得分配結(jié)果更平均,理論上要求參與HASH 計(jì)算的數(shù)據(jù)流特征值變化越繁復(fù)越好。華為交換機(jī)S5700 的負(fù)載分擔(dān)策略不能單獨(dú)配置為四層端口號(hào),兩場(chǎng)景中數(shù)據(jù)流的源IP 地址變化相對(duì)較大,因此負(fù)載分擔(dān)策略都設(shè)置為Source-IP。由于場(chǎng)景1 目的IP 地址都為組播地址,場(chǎng)景1 負(fù)載分擔(dān)策略在Source-IP 的基礎(chǔ)上還另外添加了基于源MAC 地址的Unknown-Unicast Load-Balance Smac 策略。

3 試驗(yàn)結(jié)果及分析

3.1 場(chǎng)景1 結(jié)果

場(chǎng)景1 中,一共有3 條成員鏈路,由于設(shè)備的性能限制,通過任一臺(tái)設(shè)備的數(shù)據(jù)流不能超過8 路。HASH 計(jì)算具有散列性,場(chǎng)景1 中12 條數(shù)據(jù)流的目的地址為組播,其HASH 計(jì)算的輸入為12 條數(shù)據(jù)流中的二層源MAC 地址。由于不同的MAC 地址計(jì)算出來的HASH 結(jié)果可能相同,會(huì)導(dǎo)致多個(gè)數(shù)據(jù)流從固定的成員鏈路上經(jīng)過,可能超過該鏈路上設(shè)備的處理極限。

場(chǎng)景1 配置完之后首次運(yùn)行時(shí),分配給設(shè)備1、設(shè)備2、設(shè)備3 的數(shù)據(jù)流個(gè)數(shù)分別為7/1/4,分擔(dān)結(jié)果不是很均勻,特別是設(shè)備1,其分擔(dān)結(jié)果已經(jīng)接近其處理極限,這樣的分擔(dān)結(jié)果顯然不會(huì)令人滿意,如果后期終端群中某終端發(fā)生故障,另換一臺(tái)新的終端上線,則負(fù)載分擔(dān)結(jié)果可能發(fā)生改變,造成分配給單臺(tái)設(shè)備的數(shù)據(jù)流個(gè)數(shù)超限的情況。

為了解決負(fù)載分擔(dān)結(jié)果不均勻的問題,可以手動(dòng)調(diào)整交換機(jī)2 上各數(shù)據(jù)流流入的物理端口。初始時(shí),數(shù)據(jù)流1 ~12 對(duì)應(yīng)接入交換機(jī)2 的第1 ~12號(hào)物理端口,手動(dòng)調(diào)整數(shù)據(jù)流流入交換機(jī)2 的物理端口,將數(shù)據(jù)流2 從原來的端口2 接入端口3,數(shù)據(jù)流3 從原來的端口3 接入端口4,以此類推。調(diào)整的同時(shí),密切關(guān)注負(fù)載分擔(dān)結(jié)果,當(dāng)負(fù)載分擔(dān)結(jié)果相對(duì)均勻時(shí),停止調(diào)整,此時(shí)數(shù)據(jù)流1 ~12 對(duì)應(yīng)接入交換機(jī)2 的第1,3,4,6,7,9,11,12,14,15,16,17 號(hào)端口。分擔(dān)結(jié)果如表3 所示,設(shè)備1、設(shè)備2、設(shè)備3 都正常工作時(shí),分擔(dān)結(jié)果是4/5/3,詳細(xì)結(jié)果為設(shè)備1 分擔(dān)了數(shù)據(jù)流中的1,4,5,10,設(shè)備2 分擔(dān)了3,7,8,9,12,設(shè)備3 分擔(dān)了2,6,11。

為了驗(yàn)證熱備功能,拔掉設(shè)備3 與交換機(jī)Eth-Trunk 成員口之間的網(wǎng)線模擬設(shè)備3 發(fā)生故障,經(jīng)過3 秒超時(shí)后,設(shè)備3 上的流量都分配到了設(shè)備1和設(shè)備2 上。分擔(dān)結(jié)果如表3 所示,設(shè)備1 和設(shè)備2 負(fù)載分擔(dān)結(jié)果為7/5,其中,設(shè)備1 分擔(dān)了數(shù)據(jù)流中的第1,2,4,5,6,8,11,設(shè)備2 分擔(dān)了數(shù)據(jù)流中的3,7,9,10,12。設(shè)備2 或設(shè)備1 發(fā)生故障后,其他兩臺(tái)正常設(shè)備的負(fù)載分擔(dān)結(jié)果也是5/7,因此可以保證任一設(shè)備發(fā)生故障時(shí),分配給其他任何設(shè)備的數(shù)據(jù)流個(gè)數(shù)不會(huì)超過其處理極限。

保持交換機(jī)中相關(guān)參數(shù)、HASH 策略、所有數(shù)據(jù)流特征值以及各數(shù)據(jù)流流入的交換機(jī)物理端口不變,對(duì)系統(tǒng)整體多次關(guān)電重啟。每次運(yùn)行,無論是三臺(tái)還是兩臺(tái)設(shè)備正常工作的情況下,其分擔(dān)結(jié)果都與表3 中描述的一致,不會(huì)發(fā)生改變。

表3 場(chǎng)景1 不同工作狀況下負(fù)載分擔(dān)結(jié)果

3.2 場(chǎng)景2 結(jié)果

場(chǎng)景2 中,一共有2 條成員鏈路,其HASH 計(jì)算的輸入為6 條數(shù)據(jù)流中的源IP 地址。由于不同的IP 地址計(jì)算出來的HASH 結(jié)果可能相同,會(huì)導(dǎo)致多個(gè)數(shù)據(jù)流從固定的成員鏈路上經(jīng)過,造成分擔(dān)不均的現(xiàn)象。

場(chǎng)景2 配置完之后首次運(yùn)行時(shí),分配給設(shè)備1、設(shè)備2 的數(shù)據(jù)流個(gè)數(shù)分別為6/0,分擔(dān)結(jié)果不均勻,雖然沒有造成單臺(tái)設(shè)備性能超限的問題,但也違背了負(fù)載均衡的初衷。

采用如場(chǎng)景1 中相同的方法,初始時(shí),數(shù)據(jù)流1 ~6 對(duì)應(yīng)接入交換機(jī)2 的第1 ~6 號(hào)物理端口,手動(dòng)調(diào)整數(shù)據(jù)流流入交換機(jī)2 的物理端口,將數(shù)據(jù)流2 從原來的端口2 接入端口3,數(shù)據(jù)流3 從原來的端口3 接入端口6,以此類推,調(diào)整完畢之后,數(shù)據(jù)流1 ~6 對(duì)應(yīng)接入交換機(jī)2 的第1,3,6,7,9,10 號(hào)端口。其分擔(dān)結(jié)果如表4 所示,設(shè)備1、設(shè)備2 都正常工作時(shí),分擔(dān)結(jié)果是3/3,其中,設(shè)備1 分擔(dān)了數(shù)據(jù)流中的1,2,3,設(shè)備2 分擔(dān)了4,5,6。

拔掉設(shè)備1 或設(shè)備2 與交換機(jī)Eth-Trunk 成員口之間的網(wǎng)線模擬設(shè)備發(fā)生故障,經(jīng)過3 秒超時(shí)后,故障設(shè)備上的流量都分配到了正常運(yùn)行的設(shè)備上,其詳細(xì)分配結(jié)果見表4。

保持交換機(jī)中相關(guān)參數(shù)、HASH 策略、所有數(shù)據(jù)流特征值以及各數(shù)據(jù)流流入的交換機(jī)物理端口不變,對(duì)系統(tǒng)整體多次關(guān)電重啟。每次運(yùn)行,無論是兩臺(tái)還是單臺(tái)設(shè)備正常工作的情況下,其分擔(dān)結(jié)果都與表4 中描述的一致,不會(huì)發(fā)生改變。

表4 場(chǎng)景2 不同工作狀況下負(fù)載分擔(dān)結(jié)果

3.3 試驗(yàn)總結(jié)

多次試驗(yàn)之后可以得出以下結(jié)論:交換機(jī)中相關(guān)參數(shù)和策略配置完畢之后,只要保持交換機(jī)各個(gè)物理接口、終端群的硬件MAC 地址以及應(yīng)用場(chǎng)景中的所有數(shù)據(jù)流特征值不發(fā)生改變。系統(tǒng)每次運(yùn)行其負(fù)載分擔(dān)結(jié)果都不會(huì)發(fā)生改變,不會(huì)出現(xiàn)分配給單臺(tái)設(shè)備的數(shù)據(jù)流個(gè)數(shù)超過其處理極限的情況。

如果使用場(chǎng)景需要改變數(shù)據(jù)流的特征值、終端群的配置參數(shù)或者硬件MAC。改動(dòng)完成之后,為了不給負(fù)載分擔(dān)帶來負(fù)面影響,可以手動(dòng)調(diào)整數(shù)據(jù)流流入方向上交換機(jī)的非聚合口,直到分配給聚合組各成員端口的數(shù)據(jù)流個(gè)數(shù)相對(duì)平均為止,最后再固化配置狀態(tài)即可。

4 結(jié) 語

本文提出了使用華為交換機(jī)Eth-Trunk 功能進(jìn)行負(fù)載分擔(dān)的方法,給出了LACP 以及負(fù)載分擔(dān)策略的詳細(xì)配置情況,并成功應(yīng)用于某通信類設(shè)備。通過手動(dòng)調(diào)整數(shù)據(jù)流流入方向上交換機(jī)的非聚合口,解決了負(fù)載分擔(dān)效果不理想的情況。經(jīng)驗(yàn)證,該方法的負(fù)載均衡效果較好,能夠保證分配給單臺(tái)設(shè)備的數(shù)據(jù)流個(gè)數(shù)不超過其處理極限。

猜你喜歡
數(shù)據(jù)流交換機(jī)報(bào)文
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
汽車電器(2022年9期)2022-11-07 02:16:24
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
汽車維修數(shù)據(jù)流基礎(chǔ)(下)
淺析反駁類報(bào)文要點(diǎn)
修復(fù)損壞的交換機(jī)NOS
一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
ATS與列車通信報(bào)文分析
基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
PoE交換機(jī)雷擊浪涌防護(hù)設(shè)計(jì)
牡丹江市| 苏尼特右旗| 中西区| 石嘴山市| 永登县| 监利县| 平顺县| 兴义市| 濉溪县| 洪洞县| 湛江市| 三江| 松阳县| 洞口县| 祁连县| 东至县| 湛江市| 马山县| 项城市| 开封县| 定陶县| 阜阳市| 莱州市| 娄底市| 郴州市| 安溪县| 盐池县| 丁青县| 新密市| 咸阳市| 明光市| 景泰县| 长葛市| 方正县| 金阳县| 琼中| 尤溪县| 都匀市| 岑巩县| 韶山市| 慈利县|