一、PAUSE幀概念
PAUSE幀是以太網(wǎng)在全雙工模式下,MAC控制子層發(fā)出的流量控制幀。IEEE802.3協(xié)議為MAC控制子層提供了一個全雙工流量控制結(jié)構(gòu)框架,MAC控制子層是介于邏輯鏈路控制子層和介質(zhì)訪問控制子層間的可選功能。本文詳細(xì)介紹幀格式以及不同端口速率下的quanta 值。
交換控制電路要防止緩沖區(qū)溢出,可以利用MAC控制子層來控制以太網(wǎng)介質(zhì)訪問控制子層的操作。當(dāng)已用緩沖區(qū)容量達(dá)到一個預(yù)先設(shè)定的閾值時,端口向全雙工鏈路對方發(fā)出停止發(fā)送數(shù)據(jù)的請求,這個請求通過MAC控制子層產(chǎn)生的控制幀實(shí)現(xiàn)。
同樣,端口可以接收由其他站點(diǎn)MAC控制子層產(chǎn)生的控制幀,控制幀夾在客戶數(shù)據(jù)幀流中發(fā)送,接收方會根據(jù)幀的內(nèi)容將控制幀分離出來,提交到MAC控制子層中的流量控制模塊,流量控制模塊解析控制幀的內(nèi)容,提取幀中的控制參數(shù),根據(jù)控制參數(shù)決定暫停發(fā)送的時間。
PAUSE幀中攜帶了時間參數(shù)。收到PAUSE幀的設(shè)備通過簡單的解析,就可以確定停止發(fā)送的時長。對端設(shè)備出現(xiàn)擁塞的通常情況下,本端端口通常會連續(xù)收到多個PAUSE幀。只要對端設(shè)備的擁塞狀態(tài)沒有解除,相關(guān)的端口就會一直發(fā)送PAUSE.
二、PAUSE幀格式
PAUSE幀的幀長為64字節(jié),結(jié)構(gòu)非常簡單。如下圖所示:
PAUSE幀的目的MAC地址是保留的MAC地址0180-C200-0001(多播地址,第一個字節(jié)最低位為1的所有地址),源MAC則是發(fā)送PAUSE幀的設(shè)備的MAC地址。
Length/Type域是十六進(jìn)制數(shù)0x8808.
MAC Control Opcode域的值是0x0001.其實(shí),PAUSE幀是MAC控制幀的一種,其他類型的MAC控制幀使用不同的opcode值,此處不做詳細(xì)說明。后面會談到和PAUSE類似的PFC幀,PFC幀中該域的取值是0x0101.
MAC Control Parameters域需要根據(jù)MAC Control Opcode的類型來解析。對于PAUSE幀而言,該域是個2字節(jié)的無符號數(shù),取值范圍是0~65535.該域的時間單位是pause_quanta,每個pause_quanta相當(dāng)于512比特時間.
以太網(wǎng)控制幀PAUSE幀和正常數(shù)據(jù)幀格式的區(qū)別是目的地址是全局地址且長度/類型是固定的0x8808 以識別是否是PAUSE/PFC幀。對PFC幀又分為8個優(yōu)先級分類,每個2字節(jié);以及Class-Enable-Ventor 低8bit是控制class0~7 是否反壓的使能bit位。
三、PAUSE Time
當(dāng)一個設(shè)備從對端設(shè)備接收到PFC XOFF時,它將需要一些時間(稱為響應(yīng)時間)來排出已經(jīng)在發(fā)出的數(shù)據(jù)包。IEEE 802.3 31B.3.7定義了在一個XOFF時需要等待多少個pause_quanta。一個pause_quanta等于以MAC的數(shù)據(jù)速率傳輸一個幀的512位所需要的時間。
在不同的運(yùn)行速度下,需要采取的pause_quanta不一樣。需要注意的是對于10Gb/s,如果是10GBase-T (雙絞線傳輸)協(xié)議中quanta值為74,如果不是10Gbase-T,比如10Gbase-R (光纖傳輸)quanta 值為60,這里取兩者的平均值。此外對于800Gb/s (協(xié)議標(biāo)準(zhǔn)是以太網(wǎng)技術(shù)聯(lián)盟制定的)未看quanta 介紹,這里定義400G的兩倍,結(jié)合25Gb/s以上的速率與quanta值的倍數(shù)關(guān)系,可以認(rèn)為1810 對于800G是足夠的。
不同端口速率下 不同的 Pause quanta值,如下表所示:
PAUSE 幀這個quanta 值對于MAC 上層模塊的Buffer 的headroom設(shè)置至關(guān)重要,用以吸收路徑中流水,使得發(fā)送的數(shù)據(jù)包正常傳輸且不會丟棄。
PAUSE 處理需要注意:
1)PAUSE幀發(fā)送不能中斷當(dāng)前的完整報文。
2)新的PAUSE報文暫停時間會覆蓋上一個暫停時間。
3)接受側(cè)Pause time down to 0 OR receive XON幀(quanta值為0)都可以使得XOFF->XON。
4) PAUSE幀發(fā)送間隔需由內(nèi)部counting 控制,防止pause期間占用過多的端口帶寬。
5) PAUSE幀的quanta 寄存器可配置,且復(fù)位值一般為0XFFFF。
審核編輯:劉清
-
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5635瀏覽量
175978 -
寄存器
+關(guān)注
關(guān)注
31文章
5434瀏覽量
124522 -
光纖傳輸
+關(guān)注
關(guān)注
0文章
166瀏覽量
20636
原文標(biāo)題:以太網(wǎng)中的Pause幀格式
文章出處:【微信號:FPGA_Study,微信公眾號:FPGA自習(xí)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于DWC_ether_qos的以太網(wǎng)驅(qū)動開發(fā)-MAC幀格式介紹

FPGA學(xué)習(xí)-以太網(wǎng)的原理介紹

關(guān)于以太網(wǎng)測試方面的基本知識
簡談基于FPGA的千兆以太網(wǎng)設(shè)計
以太網(wǎng)的傳播速率_以太網(wǎng)的傳輸介質(zhì)
千兆以太網(wǎng)傳輸速率_千兆以太網(wǎng)物理層標(biāo)準(zhǔn)
以太網(wǎng)鏈路層協(xié)議封裝格式介紹

工業(yè)以太網(wǎng)有何優(yōu)勢?工業(yè)以太網(wǎng)物理層介紹
工業(yè)以太網(wǎng)協(xié)議的歷史及其優(yōu)勢

以太網(wǎng)端口的類型和特性
以太網(wǎng)幀結(jié)構(gòu)是怎樣的
以太網(wǎng)幀格式和功能詳解
以太網(wǎng)端口雙工模式是什么意思
工業(yè)與IT網(wǎng)絡(luò)中的以太網(wǎng)數(shù)據(jù)幀:格式與用途全解析

評論