武磊
【摘要】 本文在無(wú)損以太網(wǎng)關(guān)鍵技術(shù)研究的基礎(chǔ)上,闡述了IEEE802.1 Qbb標(biāo)準(zhǔn)中提出的優(yōu)先級(jí)流控(PFC)機(jī)制,并在MAC層就該流控機(jī)制進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。通過(guò)Modelism仿真結(jié)果表明,該流控機(jī)制可以實(shí)現(xiàn)鏈路流量的控制,為數(shù)據(jù)中心二層以太網(wǎng)鏈路提供了高可靠性、無(wú)丟包傳輸?shù)男阅鼙U稀?/p>
【關(guān)鍵詞】 無(wú)損以太網(wǎng) 優(yōu)先級(jí)流控 數(shù)據(jù)中心 MAC
一、引言
伴隨著云計(jì)算及云存儲(chǔ)業(yè)務(wù)的需求增長(zhǎng),數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)得到了快速發(fā)展,為用戶提供了一種高效、可靠的數(shù)據(jù)傳輸解決方案,實(shí)現(xiàn)了數(shù)據(jù)中心網(wǎng)絡(luò)帶寬增加、無(wú)丟包傳輸?shù)纫蟆T跀?shù)據(jù)中心網(wǎng)絡(luò)中存在三種網(wǎng)絡(luò)模型,分別為SAN網(wǎng)絡(luò)、LAN網(wǎng)絡(luò)和IPC網(wǎng)絡(luò),不同的網(wǎng)絡(luò)模型對(duì)流量性能提出了不同的標(biāo)準(zhǔn),SAN網(wǎng)絡(luò)要求數(shù)據(jù)無(wú)丟包傳輸,LAN網(wǎng)絡(luò)提供盡力而為的服務(wù),IPC網(wǎng)絡(luò)則提出低延遲標(biāo)準(zhǔn)。在數(shù)據(jù)中心網(wǎng)絡(luò)中,LAN網(wǎng)絡(luò)盡力而為的機(jī)制不足以支撐SAN網(wǎng)絡(luò)無(wú)丟包傳輸,因此對(duì)數(shù)據(jù)中心以太網(wǎng)技術(shù)提出了更高的鏈路流量控制標(biāo)準(zhǔn)。本文在IEEE 802.1 Qbb標(biāo)準(zhǔn)基礎(chǔ)上,設(shè)計(jì)了一種適合數(shù)據(jù)中心以太網(wǎng)的鏈路流量控制解決方案。
二、基于優(yōu)先級(jí)的流控(PFC)機(jī)制標(biāo)準(zhǔn)
PFC是由IEEE 802.1 Qbb協(xié)議標(biāo)準(zhǔn)針對(duì)無(wú)損以太網(wǎng)絡(luò)提出的,它類(lèi)似于802.3 X標(biāo)準(zhǔn)中的PAUSE機(jī)制,通過(guò)反饋機(jī)制對(duì)鏈路中的每個(gè)優(yōu)先級(jí)業(yè)務(wù)進(jìn)行單獨(dú)流量控制,優(yōu)點(diǎn)是全雙工、反應(yīng)快,能快速解決鏈路擁塞問(wèn)題。雙方設(shè)備鏈路上PFC幀交互過(guò)程如圖1所示。
由圖1所示,二層交換網(wǎng)絡(luò)以太網(wǎng)鏈路通過(guò)反饋與響應(yīng)機(jī)制完成流量的管理。反饋機(jī)制表現(xiàn)在:如圖1鏈路6接收隊(duì)列所示,當(dāng)本地設(shè)備接收隊(duì)列超過(guò)一定門(mén)限閾值時(shí),則會(huì)產(chǎn)生pause請(qǐng)求告知對(duì)方暫停發(fā)幀,當(dāng)接收隊(duì)列低于一定門(mén)限時(shí),接收端會(huì)產(chǎn)生pause取消請(qǐng)求信號(hào)告知對(duì)方設(shè)備正常發(fā)幀。反饋?lái)憫?yīng)機(jī)制表現(xiàn)在,當(dāng)遠(yuǎn)端設(shè)備因轉(zhuǎn)發(fā)延遲造成緩存溢出時(shí),本端設(shè)備會(huì)暫停發(fā)幀,直到對(duì)方具備緩存能力后,才會(huì)通知本地設(shè)備繼續(xù)發(fā)幀。通過(guò)這樣一個(gè)反饋與響應(yīng)機(jī)制,完成雙方設(shè)備鏈路的流量管理。PFC幀支持分級(jí)服務(wù),對(duì)不同優(yōu)先級(jí)的數(shù)據(jù)幀進(jìn)行單獨(dú)PAUSE控制,如圖1所示,優(yōu)先級(jí)為6的接收隊(duì)列將滿,則將會(huì)對(duì)優(yōu)先級(jí)鏈路為6的數(shù)據(jù)源實(shí)施暫停請(qǐng)求,而其他服務(wù)隊(duì)列完全不受影響。
三、基于優(yōu)先級(jí)流控(PFC)的設(shè)計(jì)
優(yōu)先級(jí)流控機(jī)制的設(shè)計(jì)包括接收和發(fā)送方向PFC幀的響應(yīng)與處理,設(shè)計(jì)框圖如圖2所示。
由圖2所示,在接收方向上,功能設(shè)計(jì)分為兩部分:一是本端設(shè)備MAC_RX接收端在解析模塊提取 PFC報(bào)文格式中Class-Enable Vector和Time(n)傳遞給MAC_TX發(fā)送模塊;二是根據(jù)本端接收隊(duì)列緩存情況產(chǎn)生16bit數(shù)據(jù)請(qǐng)求信號(hào)傳遞給MAC_TX模塊,控制對(duì)端設(shè)備數(shù)據(jù)的發(fā)送,請(qǐng)求信號(hào)每?jī)蒪it對(duì)應(yīng)一個(gè)Class服務(wù),如16h0001代表請(qǐng)求對(duì)端優(yōu)先級(jí)1的鏈路暫停發(fā)幀,如16h0002則請(qǐng)求對(duì)端設(shè)備優(yōu)先級(jí)1的鏈路繼續(xù)發(fā)幀。
在發(fā)送方向上,功能設(shè)計(jì)如下:發(fā)送端根據(jù)接收端提取的定時(shí)信息time(n)和優(yōu)先級(jí)向量更新本地定時(shí)器timer_ cnt,time(n)中的值是定時(shí)單位時(shí)間個(gè)數(shù),每個(gè)定時(shí)單位時(shí)間相當(dāng)于512bit數(shù)據(jù)傳輸時(shí)間,每傳輸512bit數(shù)據(jù)后 timer_cnt進(jìn)行減一操作,直到timer_cnt為0時(shí)允許本端設(shè)備此優(yōu)先級(jí)鏈路發(fā)幀,否則暫停本優(yōu)先級(jí)鏈路數(shù)據(jù)發(fā)送。
四、優(yōu)先級(jí)流控(PFC)設(shè)計(jì)的仿真
通過(guò)Modelism仿真平臺(tái)對(duì)設(shè)計(jì)進(jìn)行功能驗(yàn)證。主要驗(yàn)證內(nèi)容如下:在接收方向上驗(yàn)證接收端是否會(huì)根據(jù)本地接收隊(duì)列的緩存情況向發(fā)送端PFC產(chǎn)生模塊發(fā)送正確的請(qǐng)求信號(hào)。在發(fā)送方向上驗(yàn)證發(fā)送端是否能夠響應(yīng)接收方向上傳遞的暫停時(shí)間因子來(lái)調(diào)度本地設(shè)備幀的發(fā)送。接收方向仿真結(jié)果如圖3所示。
由圖3所示,當(dāng)接收隊(duì)列達(dá)到一定門(mén)限即wrusedw達(dá)到1209e后,fifo_ovfl信號(hào)拉高,接收端PFC請(qǐng)求模塊發(fā)出16h0040請(qǐng)求信號(hào)傳遞給MAC_TX模塊,發(fā)送端根據(jù)此請(qǐng)求信號(hào)構(gòu)建了如圖中所示定時(shí)信息為16hffff的PFC幀,并在鏈路上檢測(cè)到此PFC幀。發(fā)送端響應(yīng)示意圖如圖4所示。
PFC流控是基于優(yōu)先級(jí)設(shè)計(jì)的,本仿真針對(duì)于優(yōu)先級(jí)為4的鏈路進(jìn)行暫停控制,根據(jù)接收方向提取的定時(shí)信息timer4將發(fā)送端定時(shí)器fip_timer更新為16h0011,發(fā)送端同時(shí)使能fip_cnt_en控制fip_cnt的增減,當(dāng) fip_cnt增到3d7后fip_timer減1,當(dāng)fip_timer定時(shí)信息不為0時(shí),優(yōu)先級(jí)鏈路4的數(shù)據(jù)幀被暫停發(fā)送,調(diào)度指針變?yōu)?h4,此時(shí)發(fā)送其他鏈路數(shù)據(jù)幀,直到fip_timer定時(shí)信息為0時(shí),才會(huì)重新授權(quán)優(yōu)先級(jí)指針fifo_rden為 3h2,允許優(yōu)先級(jí)鏈路4上的數(shù)據(jù)發(fā)送。
根據(jù)modelism仿真結(jié)果證明,MAC層的MAC_RX和MAC_TX能夠通過(guò)PFC機(jī)制的反饋與響應(yīng)完成鏈路流量的調(diào)節(jié),避免了鏈路的擁擠,保證了鏈路數(shù)據(jù)的無(wú)損傳輸。
五、結(jié)束語(yǔ)
本文根據(jù)802.1 Qbb標(biāo)準(zhǔn)在MAC層實(shí)現(xiàn)了優(yōu)先級(jí)流控機(jī)制的設(shè)計(jì),并對(duì)該設(shè)計(jì)進(jìn)行了Modelism功能仿真,驗(yàn)證了優(yōu)先級(jí)流控機(jī)制作為一種無(wú)損以太網(wǎng)流控技術(shù),能夠根據(jù)鏈路擁塞情況做出快速反應(yīng),解決鏈路流量擁擠問(wèn)題,避免數(shù)據(jù)丟包問(wèn)題發(fā)生。本設(shè)計(jì)可應(yīng)用于無(wú)損以太網(wǎng)MAC層中,同時(shí)為后續(xù)聯(lián)合QCN算法共同解決流量問(wèn)題做了鋪墊。
參 考 文 獻(xiàn)
[1] 俞迅.基于802.3以太網(wǎng)MAC協(xié)議的研究與實(shí)現(xiàn)[D]. 上海:同濟(jì)大學(xué),2007, 13-59
[2] 周志強(qiáng).基于軟件的量化擁塞協(xié)議涉及與實(shí)現(xiàn)[D]. 北京:清華大學(xué), 2011, 5-60
[3] IEEE 802 LAN/MAN Standard Committee.IEEE Std 802.1QbbTM-2011.Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks- Amendment 17: Priority-based Flow Control[S]. 3 Park Avenue New York, NY 10016-5997 USA: IEEE, 30 September 2011
[4] 羅鑒,宋曉麗.無(wú)損以太網(wǎng)關(guān)鍵技術(shù)研究[J].中興通信技術(shù),2012, 18(4): 27-31
[5] 曹政,李磊,陳明宇.萬(wàn)兆以太網(wǎng)MAC層控制器設(shè)計(jì)與實(shí)現(xiàn)[J]. 小型微型計(jì)算機(jī)系統(tǒng),2007, 6(28): 974-978