在千兆以太網的MAC 子層,除了支持以往的CSMA/CD介質訪問控制協議外,還引入了全雙工流量控制協議。其中,CSMA/CD協議用于解決共享信道的爭用問題,即支持以集線器作為星型拓撲中心的共享以太網組網;全雙工流量控制協議適用于交換機到交換機或交換機到站點之間的點-點連接,兩點間可以同時進行發送與接收,即支持以交換機作為星型拓撲中心的交換以太網組網。
當以太網交換控制電路端口工作在半雙工模式時,符合IEEE 802.3協議的載波偵聽多路訪問/沖突檢測(CSMA/CD)算法,可以實現隱式的流量控制,即采用背壓技術(BackPressure)防止緩沖區的溢出,在發送方數據到來前采取某種動作,阻止發送方發送數據。
背壓技術是交換控制電路發出一種偽碰撞信號(False Collision Signal)技術。背壓技術通常根據已用緩沖區的容量比例來實現,當已用緩沖區容量達到一個預先設定的比例時,端口將根據這個閾值生成阻塞信號,而當空閑緩沖區容量超過另一個較低的比例時,端口將取消阻塞信號。在擁塞端口所在的網段內,阻塞信號的傳輸可以使該網段里所有的端口都能檢測到沖突,等待阻塞信 號結束后再傳輸數據幀,從而阻止更多的碰撞,暫時中止了數據的傳輸,使緩沖區的空間得到釋放。
而在全雙工網絡中,交換控制電路端口不檢測沖突,忽略可延遲傳送的載波偵聽,所以不能采用背壓技術解決擁塞,需要采用顯式的流量控制機制,使交換控制電路能夠阻塞處于擁塞狀態的站點。于是,IEEE 802.3協議為MAC控制子層提供了一個全雙工流量控制結構框架,MAC控制子層是介于邏輯鏈路控制子層和介質訪問控制子層間的可選功能。
交換控制電路要防止緩沖區溢出,可以利用MAC控制子層來控制以太網介質訪問控制子層的操作。當已用緩沖區容量達到一個預先設定的閾值時,端口向全雙工鏈路對方發出停止發送數據的請求,這個請求通過MAC控制子層產生的控制幀實現。
同樣,端口可以接收由其他站點MAC控制子層產生的控制幀,控制幀夾在客戶數據幀流中發送,接收方會根據幀的內容將控制幀分離出來,提交到MAC控制子層中的流量控制模塊,流量控制模塊解析控制幀的內容,提取幀中的控制參數,根據控制參數決定暫停發送的時間。
在全雙工MAC控制框架下,流量控制機制是通過PAUSE功能實現的。PAUSE功 能可以防止瞬時過載導致緩沖區溢出時不必要的幀丟失。PAUSE操作實現了一種簡單的停-等式流量控制機制。如果某個端口要停止幀的接收,可以發送一個帶有參數的PAUSE幀,參數指示全雙工鏈路對方在開始發送數據前需要等待的時間。當鏈路對方接收到PAUSE幀后,在參數指定的時間內停止發送數據。當指 定時間超出,或端口流量控制狀態解除后,原擁塞端口重新發出操作參數為0的PAUSE幀,鏈路對方從暫停的位置繼續發送數據幀。
-
以太網
+關注
關注
40文章
5476瀏覽量
172966 -
控制電路
+關注
關注
82文章
1719瀏覽量
136192 -
Mac
+關注
關注
0文章
1111瀏覽量
51799
原文標題:關于以太網協議中的流量控制和背壓技術
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
以太網交換機的測試
如何配置以太網交換機

評論