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