千兆乙太網的暫停模式

2021-06-22 03:23:11 字數 1047 閱讀 2499

在全雙工mac控制框架下,流量控制機制是通過pause功能實現的。pause功能可以防止瞬時過載導致緩衝區溢位時不必要的幀丟失。pause操作實現了一種簡單的停-等式流量控制機制。如果某個埠要停止幀的接收,可以傳送乙個帶有引數的pause幀,引數指示全雙工鏈路對方在開始傳送資料前需要等待的時間。當鏈路對方接收到pause幀後,在引數指定的時間內停止傳送資料。當指定時間超出,或埠流量控制狀態解除後,原擁塞埠重新發出操作引數為0的pause幀,鏈路對方從暫停的位置繼續傳送資料幀。

mac控制幀是符合ieee 802.3協議的乙太網幀,可以通過其唯一的型別域識別符號(0x8808)識別。mac控制幀在網路上的傳送和接收與資料幀類似,除了前導碼和幀開始符外,長度為乙太網幀的最小幀長度(64位元組)。mac控制幀的"資料"欄位內,前兩個位元組標識了mac控制的操作碼,表示幀請求的控制功能。目前協議只定義了一種操作**,即pause操作,操作**為0x0001。操作碼後是操作所需的引數,引數只用了資料字段的2個位元組,"資料"欄位中其餘位將填充0。pause幀格式如圖5-18所示。

前導碼(7位元組)

幀開始符

(1位元組)

目的位址

(6位元組)

源位址(6位元組)

型別(2位元組)

操作碼(2位元組)

操作引數

(2位元組)

……保留

(42位元組)

校驗序列

(4位元組)

pause幀各個欄位的定義如下:

前導碼:與資料幀前導碼相同,為連續7位元組的10101010序列,用於物理層裝置的同步。

幀開始符:也與資料幀幀開始符相同,為序列10101011,表示幀資料內容的開始。

型別:為所有mac控制幀保留型別0x8808。

操作碼:恒為0x0001。

pause操作引數:為2位元組的暫停時間引數。它是pause傳送方請求對方停止傳送資料幀的時間長度,通常為0xffff,時間度量單位是以當前傳輸速率傳輸512位資料所用的時間,接收方實際暫停的時間為操作引數字段內容與以當前傳輸速率傳輸512位資料所用時間的乘積。

幀校驗和(fcs):為4個位元組的迴圈冗餘校驗序列(crc)字段。

千兆乙太網幀

乙太網資料報如圖 mac層由前導碼 sfd 目的mac位址 源mac位址 型別 資料 fcs組成。前導碼 7個位元組,為7個 8 h55 也就是連續的01,表示乙個mac資料報的開始,用於同步。sfd 1個位元組,為7個 8 hd5 11010101。目的mac位址 6位元組,存放目的裝置的實體地址...

XILINX SGMII千兆乙太網 3

thelogicore ip tri mode ethernet media access controller temac solution comprises the 10 100 1000 mb s ethernet mac,the 1 gb s ethernet mac,2.5 gb s e...

xilinx千兆乙太網與萬兆乙太網IP介面

說明 對於ip核輸出資料的解析最好的工具就是其自帶的 檔案,裡面既將接收的資料進行了解析,又將傳送給ip核的資料進行了封裝,這對於了解資料結構和協議是十分有幫助的,乙太網如此,pcie ram fifo等其它ip也如此,我們只需將ip自帶的 檔案改為我們自己的邏輯即可,介面連線並不變。1.對於千兆乙...