0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載方案(二)

Linux閱碼場(chǎng) ? 來源:Linux閱碼場(chǎng) ? 2024-02-27 09:12 ? 次閱讀

本節(jié)將從學(xué)術(shù)角度解釋如何計(jì)算無損以太網(wǎng)鏈路的headroom大小。該解釋基于IEEE 802.1Qbb 優(yōu)先級(jí)流量控制標(biāo)準(zhǔn)。這對(duì)好奇的讀者來說是很好的信息,但實(shí)際上,由于兩個(gè)關(guān)鍵原因,在您的環(huán)境中應(yīng)始終遵循設(shè)備供應(yīng)商的建議。首先,多個(gè)組件取決于實(shí)施情況,而供應(yīng)商不會(huì)公開分享這些細(xì)節(jié)。其次,實(shí)際解決方案必須通過認(rèn)證,并得到供應(yīng)商的支持。

長(zhǎng)途鏈路的暫停閾值

本節(jié)使用以下基本概念:

它是傳輸一個(gè)比特所需的時(shí)間。它是比特率的倒數(shù)。例如,10 GbE 端口的BT為1/10,000,000,000 秒或0.1 納秒,100 GbE 端口的BT 為0.01 納秒。

它是傳輸512 比特所需的時(shí)間。換句話說,就是512 BT。

以太網(wǎng)的幀間間隔為12 個(gè)字節(jié)。傳輸需要96 個(gè)字節(jié)。

以太網(wǎng)幀以7 個(gè)字節(jié)的preamble和1 個(gè)字節(jié)的SFD 開始。這8 個(gè)字節(jié)通常不計(jì)入1522 字節(jié)的以太網(wǎng)幀大小中。前言和SFD 的總傳輸時(shí)間為64 BT。

如圖7-2 所示,流量接收器的headroom應(yīng)足夠大,以容納下列延遲因素下的幀。

f9d94214-d506-11ee-a297-92fbcf53809c.png

Figure 7-2Worst-case delay for calculating the headroom for PFC.

1.傳輸最大長(zhǎng)度幀時(shí)產(chǎn)生的延遲(D-Max-Frame-Len): 流量接收器上的隊(duì)列達(dá)到了暫停閾值。但在流量接收器上,一個(gè)幀剛剛開始傳輸。暫停幀不會(huì)搶先傳輸另一個(gè)幀。因此,暫停幀的傳輸會(huì)延遲到其他幀傳輸完畢。這一延遲占所有流量類別的最大幀長(zhǎng)。考慮到最大幀長(zhǎng)為9216 字節(jié),這一延遲可達(dá)73728 BT(9216 x 8)。再加上IFG 的96 BT 以及preamble和SFD 的64 BT,總延遲可達(dá)73888 BT。

2.傳輸暫停幀(D-暫停)導(dǎo)致的延遲:暫停幀的大小為64 字節(jié),因此傳輸需要512 BT。加上IFG 的96 BT 和preamble及SFD 的64 BT,總延遲為672 BT。

3. 這是低層在傳輸和接收幀時(shí)造成的延遲。以太網(wǎng)標(biāo)準(zhǔn)規(guī)定了該接口延遲的上限。例如,10 GbE 的最大延遲為8192 BT,25 GbE 為6144 BT,40 GbE 為24576 BT,100 GbE 為122880 BT。這些值包括發(fā)送和接收延遲。在相同的以太網(wǎng)速度下有不同的實(shí)現(xiàn)方式,每種實(shí)現(xiàn)方式的接口延遲可能不同。有關(guān)詳細(xì)信息,請(qǐng)參閱IEEE 標(biāo)準(zhǔn)以太網(wǎng)802.3 并搜索延遲約束。

4.這是暫停幀的比特從流量接收器傳播到流量發(fā)送器所造成的延遲。它由傳輸介質(zhì)中的光速?zèng)Q定。在光纜中,光速約為200,000 千米/秒。因此,1 米長(zhǎng)的光纜會(huì)造成5 納秒的延遲。它可以通過乘以端口速度轉(zhuǎn)換為比特時(shí)間。例如,對(duì)于10 GbE 端口,1 米長(zhǎng)的光纜會(huì)造成50 BT 的延遲,100 米長(zhǎng)的光纜會(huì)造成5000 BT 的延遲。

5.接收暫停幀的接口延遲(D-Intf): This is the same as explained in (3) on the receiver of the Pause frame (traffic-sender).這與(3) 中對(duì)暫停幀接收方(流量發(fā)送方)的解釋相同

6.流量發(fā)送方(暫停接收方)需要一些時(shí)間來處理暫停幀,并在收到暫停幀后實(shí)際暫停無損類中的流量。這一響應(yīng)延遲取決于實(shí)施情況,但以太網(wǎng)標(biāo)準(zhǔn)對(duì)其設(shè)置了上限。對(duì)于10 GbE,這一延遲可達(dá)60 個(gè)暫停quanta(30720 BT)。對(duì)于25 GbE,則為80 個(gè)暫停quanta(40960 BT)。對(duì)于40 GbE,則為118 個(gè)暫停quanta(60416 BT)。100 GbE 為394 個(gè)暫停quanta(201728 BT)。對(duì)于400 GbE,是905 個(gè)暫停quanta(463360 BT)。更多詳情,請(qǐng)參閱IEEE 以太網(wǎng)標(biāo)準(zhǔn)802.3,MAC 控制PAUSE 操作部分(附件31B),以及PAUSE 操作的定時(shí)注意事項(xiàng)小節(jié)。

7.在無損幀類中傳輸最大長(zhǎng)度幀引起的延遲(D-Max-No-Drop-Frame-Len): 就在流量發(fā)送方暫停無損類流量之前,可能會(huì)開始傳輸幀。該幀的傳輸不會(huì)中斷,因此會(huì)導(dǎo)致額外的延遲。流量接收器上的D-Max-Frame-Len 與(1) 中解釋的D-Max-Frame-Len 不同,D-Max-Frame-Len 考慮了任何流量類別中的最大幀長(zhǎng),而流量發(fā)送器上的這一延遲只需考慮不丟棄類別中的最大幀長(zhǎng)。這是因?yàn)榱髁拷邮掌髦恍铻槠湟寻l(fā)送暫停幀的無丟包類別中的幀預(yù)留headroom。對(duì)于FCoE 流量,無損類的最大幀長(zhǎng)約為2300 字節(jié)。對(duì)于RoCE,可為約2 KB 或4 KB。根據(jù)應(yīng)用的定義,這些值甚至可以更小。在此,我們使用2300 字節(jié),這將導(dǎo)致18400 BT 的延遲。加上IFG 的96 BT 以及前導(dǎo)碼和SFD 的64 BT,總延遲可達(dá)18560 BT。

8.在無損類中傳輸幀的接口延遲(D-Intf): This is the same as explained in (3)這與(3) 中的解釋相同.

9.Cable delay (D-Cable):這與(4) 中的解釋相同。

10.Interface delay to receive the frame in the no-drop class (D-Intf): 這與(3) 中的解釋相同。

除了圖7-2 所示的延遲外,由于MACsec(IEEE 802.1AE)和其他實(shí)施延遲,可能會(huì)出現(xiàn)更多延遲。這些延遲統(tǒng)稱為高層延遲,在本節(jié)中忽略不計(jì)。但這也解釋了為什么在使用MACsec 時(shí)需要額外的考慮,以及為什么Cisco Nexus 交換機(jī)在撰寫本文時(shí)沒有聲稱支持帶有MACsec 的PFC。這并不意味著當(dāng)啟用MACsec 時(shí),PFC 在Cisco Nexus 交換機(jī)上不起作用。這只是意味著思科尚未正式認(rèn)證它。

總延遲(D-Total)是圖7-2 所示所有延遲值的總和

D-Total = D-Max-Frame-Len + D-Pause + D-Intf + D-Cable + D-Intf + D-Resp + D-Max-No-Drop-Frame-Len + D-Cable

在這里,接口延遲(D-Intf) 只計(jì)算兩次,而不是四次,因?yàn)樗鼈兊闹蛋l(fā)送和接收延遲。

考慮到任何流量類別中的最大幀長(zhǎng)度為9216 字節(jié),無丟棄流量類別中的最大幀長(zhǎng)度為2300 字節(jié),電纜長(zhǎng)度為100 米,以及10 GbE 端口,總延遲如下:

D-Total = 73888 + 672 + 8192 + 5000 + 8192 + 30720 + 18560 + 5000 = 150224 BT

這意味著流量接收器應(yīng)具有吸收多達(dá)150224 BT 的幀的headroom。在10 GbE 的情況下,這相當(dāng)于18.778 KB 的headroom。

但這一計(jì)算還沒有結(jié)束,因?yàn)榱髁拷邮掌魃系木彌_區(qū)是按單元排列的。

Buffers and Cells

Cisco Nexus 交換機(jī)將緩沖區(qū)組織成單元。每個(gè)單元最多可存儲(chǔ)固定數(shù)量的字節(jié)。最常見的單元大小為208 字節(jié)、416 字節(jié)和624 字節(jié)。具體數(shù)值取決于交換機(jī)的類型,用戶無法更改??梢允褂胹how hardware internal buffer info pkt-stats input 命令來驗(yàn)證Cisco Nexus 交換機(jī)的單元大小。Cisco Nexus 93180YC-FX 上該命令的輸出請(qǐng)參見例7-3。

Example 7-3Finding the cell size on Cisco Nexus switches.在Cisco Nexus 交換機(jī)上查找單元大小。

switch# show hardware internal buffer info pkt-stats input

Instance 0

=======================================================================

Ingress Queue Info: 1 cell = 416 bytes, Total cells: 25976,

Instant cell usage: 0, Remaining cell: 25976

一個(gè)單元只供一個(gè)幀使用。如果幀較大,則需要多個(gè)單元。但單元中的任何剩余空間都不會(huì)被使用,而是成為開銷。例如,一個(gè)64 字節(jié)的幀消耗一個(gè)單元格。假設(shè)單元大小為416 字節(jié),則剩余的352 字節(jié)將成為開銷。同樣,一個(gè)2300 字節(jié)的幀會(huì)完全占用5 個(gè)416 字節(jié)的單元,而第六個(gè)單元只占用220 字節(jié)。第六個(gè)單元中剩余的196 字節(jié)成為開銷。

這意味著前面計(jì)算的18.778 KB headroomk必須考慮單元大小和開銷。假設(shè)最小幀大小為64 字節(jié),單元大小為416 字節(jié),由于每個(gè)幀需要消耗416 字節(jié)的緩沖區(qū),因此需要消耗6.5 (416 ÷64) 倍的緩沖區(qū)空間。因此,18.778 KB 相當(dāng)于122 KB(18.778 x 6.5)的流量接收器headroom。

隨著幀大小的增加,這一乘法系數(shù)也會(huì)降低。例如,512 字節(jié)的幀大小消耗兩個(gè)416 字節(jié)的單元格,乘法系數(shù)為1.62((2 x 416)÷512)。同樣,1024 字節(jié)的幀大小消耗三個(gè)416 字節(jié)的單元格,乘法系數(shù)為1.21((3 x 416)÷1024),以此類推。

請(qǐng)注意以下幾點(diǎn):

1. 本節(jié)的計(jì)算考慮了最壞情況下的數(shù)值,只是為了從理論上解釋這一概念。實(shí)際上,并非所有幀的大小都很大。此外,本節(jié)中考慮的接口延遲(D-Intf) 和響應(yīng)時(shí)間(D-Resp) 值是標(biāo)準(zhǔn)規(guī)定的上限,但實(shí)際值要低得多。

2. 從另一個(gè)角度看,這些計(jì)算的責(zé)任由制造商和用戶分擔(dān)。制造商更了解接口延遲(D-Intf) 和響應(yīng)延遲(D-Resp),而用戶則更了解電纜長(zhǎng)度和最大幀長(zhǎng)度(根據(jù)流量情況而定)。

因此,在未咨詢?cè)O(shè)備制造商的情況下,本節(jié)中的學(xué)術(shù)解釋不應(yīng)直接用于生產(chǎn)環(huán)境。

下一節(jié)提供了一種更簡(jiǎn)單實(shí)用的PFC headroom計(jì)算方法。

實(shí)用的方法

如前所述,Cisco Nexus 9000 默認(rèn)為100 米電纜長(zhǎng)度配置"暫停閾值"和"恢復(fù)閾值"。無論電纜長(zhǎng)度如何,首先要啟用PFC,找到100 米電纜的默認(rèn)值。接下來,要更改長(zhǎng)距離鏈路的閾值,唯一的因素是考慮電纜延遲(D -cable)。圖7-2 中解釋的所有其他因素與計(jì)算100 米電纜的"暫停閾值"和"恢復(fù)閾值"默認(rèn)值時(shí)所考慮的因素相同。

以Cisco Nexus 93180YC-FX 上的FCoE 端口為例進(jìn)行說明。10 GbE 端口的默認(rèn)FCoE 策略配置了以下值:

Buffer-size — 104000 bytes.

Pause-threshold — 20800 bytes.

Resume-threshold — 19136 bytes.

因此,headroom為83200 字節(jié)(104000 - 20800)。這適用于短距離鏈路。

根據(jù)Cisco 文檔,對(duì)于10 千米鏈路,10 GbE 端口的FCoE 策略應(yīng)修改為使用以下值:

Buffer-size — 166400 bytes.

Pause-threshold — 20800 bytes.

Resume-threshold — 19136 bytes.

因此,headroom為145600 字節(jié)(166400 - 20800)。與100 米電纜的headroom(145600 - 83200)相比,增加了62400 字節(jié)。從100 米鏈路到10 千米鏈路的headroom增加不能僅僅用電纜延遲來解釋,主要原因有兩個(gè)。首先,100 米的默認(rèn)閾值是超額預(yù)留的,因?yàn)樗鼈兛捎糜诟L(zhǎng)的鏈路。其次,交換機(jī)架構(gòu)的內(nèi)部細(xì)節(jié)不為人知。

如果思科決定在更遠(yuǎn)距離的鏈路(如15 公里)上支持FCoE,那么緩沖區(qū)大小的值就可以推算出來。如前所述,1 米電纜會(huì)增加5 毫微秒的延遲。因此,5 千米電纜會(huì)增加25000 毫微秒的延遲。在這段時(shí)間內(nèi),10 GbE 端口可傳輸250000 比特或31250 字節(jié)??紤]到電纜的往返延遲,該值必須加倍,從而產(chǎn)生62500 字節(jié)的額外headroom。因此,對(duì)于15 千米FCoE 鏈路,緩沖區(qū)大小可配置為166400 + 62500 = 228900 字節(jié)。需要注意的是,思科在撰寫本文時(shí)并不支持這種配置,而且也不考慮單元大小。這里只是解釋概念以及如何以更實(shí)用的方式調(diào)整這些閾值。

另一個(gè)考慮因素是,隨著端口速度的增加,對(duì)headroom和footroom的要求也會(huì)增加。此外,如果在交換機(jī)上配置了許多長(zhǎng)距離無損以太網(wǎng)鏈路,為所有鏈路預(yù)留緩沖區(qū)可能會(huì)超出交換機(jī)有限的緩沖區(qū)容量。如果沒有足夠的緩沖區(qū)來啟動(dòng)長(zhǎng)途鏈路,Cisco Nexus 交換機(jī)會(huì)生成緩沖區(qū)分配失敗信息,如例7-4 所示。

Example 7-4思科Nexus 交換機(jī)上的入口緩沖區(qū)分配失敗

switch(config-if)# interface ethernet1/8

switch(config-if)# service-policy type queuing input ld_10G_fcoe_in_que_policy

switch(config-if)# no shutdown

2022 Oct 31 0721 HW1 %$ VDC-1 %$ %ACLQOS-SLOT1-2-ACLQOS_FAILED: ACLQOS

failure: Ingress buffer allocation failed for interface Ethernet1/8

要解決這個(gè)問題,可以減少該交換機(jī)上配置為PFC 的端口數(shù)量、減小其緩沖區(qū)大小,或兩者結(jié)合使用,這樣基本上就減少了預(yù)留緩沖區(qū)。

查找端口是否有足夠的headroom和footroom:

1. headroom不足的端口會(huì)在無損流量的入口處丟棄幀并發(fā)送暫停幀。換句話說,Tx 暫停和Rx 數(shù)據(jù)包丟棄同時(shí)增加就是headroom不足的癥狀。

2. footroom不足的端口可能會(huì)成為擁塞源,報(bào)告較低的入口利用率,并發(fā)送暫停幀。所有這些情況同時(shí)都是footroom不足的癥狀。

如果緩沖區(qū)大小和閾值配置正確,PFC 機(jī)制應(yīng)能防止數(shù)據(jù)包丟棄,并達(dá)到預(yù)期的鏈路利用率。

以太網(wǎng)暫停與光纖通道B2B 信元的比較

雖然以太網(wǎng)暫停幀和光纖通道B2B 信元的操作方式不同,但它們都是通過通知直接連接的發(fā)送方放慢速度,以避免接收方的緩沖區(qū)耗盡,從而實(shí)現(xiàn)逐跳流量控制。

以下幾點(diǎn)對(duì)以太網(wǎng)暫停和光纖通道B2B 信元進(jìn)行了比較:

1. Initial exchange:光纖通道B2B 信元號(hào)在鏈路初始化期間與直接連接的鄰居進(jìn)行通信。相比之下,以太網(wǎng)流量控制不會(huì)與直接連接的鄰居交換緩沖區(qū)數(shù)量,盡管DCBX 可能會(huì)交換其他信息,如需要無損行為的流量類型。

2. Link utilization: 光纖通道R_RDY 不影響鏈路利用率,因?yàn)樗鼈兪腔趦蓚€(gè)幀之間使用填充字。相反,暫停是一個(gè)正式的以太網(wǎng)幀,帶有報(bào)頭、填充和CRC。暫停幀的大小為64 字節(jié)。因此,當(dāng)大量發(fā)送暫停幀時(shí),會(huì)增加鏈路利用率。在后面有關(guān)PFC 風(fēng)暴的章節(jié)中,將解釋每秒在鏈路上發(fā)送一百萬個(gè)暫停幀的情況。這將導(dǎo)致512 Mbps 的吞吐量(64 字節(jié)x 8 x 1000,000)。雖然這種情況并不常見,但當(dāng)許多暫停幀在鏈路上流動(dòng)時(shí),還是要注意這方面的問題。

3. Duration exchange: 以太網(wǎng)暫停幀傳達(dá)發(fā)送器必須停止傳輸?shù)某掷m(xù)時(shí)間,盡管該持續(xù)時(shí)間很少傳達(dá)流量暫停的實(shí)際時(shí)間。光纖通道R_RDY 不傳遞持續(xù)時(shí)間。

4. When they are sent:光纖通道R_RDY 表示流量接收器準(zhǔn)備好接收一個(gè)幀。而以太網(wǎng)暫停幀則表示發(fā)送器應(yīng)停止傳輸或立即開始傳輸?shù)某掷m(xù)時(shí)間。

5. How many: 光纖通道R_RDY 對(duì)于鏈路的健康運(yùn)行非常重要。換句話說,F(xiàn)C 鏈路上出現(xiàn)大量R_RDY 是一個(gè)好兆頭。相比之下,發(fā)送以太網(wǎng)暫停幀是為了停止流量。雖然(未)暫停幀也會(huì)恢復(fù)流量,但它只是在暫停幀之后。換句話說,鏈路上的暫停幀越少,鏈路就越健康。

6. Direction: 光纖通道端口上的Tx B2B 信元數(shù)不足表示出口擁塞。相反,以太網(wǎng)端口上的Tx 暫停表示入口擁塞。同樣,光纖通道端口上的Rx B2B 點(diǎn)數(shù)不足表示入口擁塞,而以太網(wǎng)鏈路上的Rx 暫停表示出口擁塞。

7. Configuration: 光纖通道B2B 信元是以數(shù)字為單位配置的,無論幀大小如何,每個(gè)信元都用于一個(gè)幀。相反,以太網(wǎng)暫停閾值和恢復(fù)閾值是以字節(jié)為單位配置的,因此在更改配置時(shí)應(yīng)考慮幀的大小。大多數(shù)短距離的數(shù)據(jù)中心內(nèi)鏈路無需更改配置。但對(duì)于長(zhǎng)距離鏈路,必須正確配置B2B 信元或暫停閾值。這里,暫停閾值和恢復(fù)閾值不應(yīng)與暫停量相混淆,大多數(shù)實(shí)施方案不允許更改暫停量。

8. Troubleshooting: 當(dāng)光纖通道端口發(fā)送R_RDY 時(shí),這是一個(gè)好兆頭,而當(dāng)以太網(wǎng)端口發(fā)送暫停幀時(shí),則表示擁塞。這兩種機(jī)制的基本區(qū)別是無損以太網(wǎng)網(wǎng)絡(luò)擁塞檢測(cè)和故障排除的基礎(chǔ)。

9. Scope: 兩者都是逐跳流量控制機(jī)制,即都在直接連接的設(shè)備之間運(yùn)行。

10. Distance:在光纖通道中,如果距離、速度和平均幀大小的B2B 信元不足,那么鏈路只會(huì)在低于最大容量的情況下運(yùn)行,而不會(huì)出現(xiàn)任何錯(cuò)誤。在無損以太網(wǎng)中,如果距離、速度和平均幀大小的余量不足,連接端口上就會(huì)出現(xiàn)丟幀,從而導(dǎo)致終端設(shè)備出現(xiàn)I/O 錯(cuò)誤。如果余量不足,那么在出現(xiàn)擁塞時(shí),鏈路可能會(huì)表現(xiàn)不佳。重要的一點(diǎn)是,光纖通道和無損以太網(wǎng)都必須考慮到距離問題。

Priority Flow Control

根據(jù)IEEE 802.3x 標(biāo)準(zhǔn),最初的暫停幀可在整個(gè)鏈路上進(jìn)行流量控制(LLFC),但這并不能滿足在同一鏈路上傳輸無損和有損流量的要求。

PFC 通過增強(qiáng)暫停幀格式,為八個(gè)流量類別提供量值,從而解決了這一問題。如圖7-3 所示,PFC 暫停幀還包含一個(gè)類別啟用矢量(Class Enable Vector),該矢量通過打開特定流量類別的位來表示量值是否對(duì)該類別有效。類啟用向量未啟用的其他類將忽略暫停幀。因此,PFC 也被稱為基于類別的流量控制(CBFC) 或每?jī)?yōu)先級(jí)暫停(PPP)。

f9e972c4-d506-11ee-a297-92fbcf53809c.png

Figure 7-3PFC Pause frame format.

Mapping Traffic Classes to Pause Frame Class Enable Vector

如果不將"類別啟用矢量"映射到流量類別,暫停幀接收器就無法知道要停止哪些流量。試想一下,當(dāng)流量接收方發(fā)送PFC 暫停幀以停止A 類流量時(shí),流量發(fā)送方卻不知道入口PFC 暫停幀中的"類啟用矢量"與A 類流量之間的映射關(guān)系,或者映射關(guān)系有誤。這將導(dǎo)致丟棄無損流量。

PFC 要想成功運(yùn)行,以下因素很重要:

1. 定義將流量類別映射到PFC 暫停幀中類別啟用向量的方案。

2. 在終端設(shè)備和交換機(jī)上統(tǒng)一應(yīng)用這一方案。通常情況下,DCBX 或軟件定義網(wǎng)絡(luò)解決方案可以簡(jiǎn)化這一步驟。

本節(jié)重點(diǎn)討論定義映射方案的第一個(gè)因素。應(yīng)用配置不在本文討論范圍之內(nèi)。請(qǐng)參考環(huán)境中的產(chǎn)品文檔和參考資料部分的資源。

從概念上講,無損流量類別可以包含任何類型的流量,只要發(fā)送方和接收方同意相同的分類,并有辦法將其與其他流量進(jìn)行分類。但實(shí)際上,在撰寫本文時(shí),有兩種類型的映射很常見。

1. Layer 2 PFC: PFC 的最初用例是允許無損FCoE 流量與有損流量在同一鏈路上匯聚。但必須對(duì)流量進(jìn)行虛擬分離以進(jìn)行分類。為了實(shí)現(xiàn)虛擬分離,F(xiàn)CoE 流量被分配到一個(gè)專用VLAN,即FCoE VLAN。VLAN 標(biāo)頭包含用于對(duì)流量進(jìn)行分類的三個(gè)比特(優(yōu)先級(jí)代碼點(diǎn)),這些比特被唯一映射到PFC 暫停幀中的類啟用向量。當(dāng)RoCE 流量需要無損第2 層網(wǎng)絡(luò)時(shí),這種第2 層PFC 也可用于RoCE 流量。

2. Layer 3 PFC: 隨著數(shù)據(jù)中心架構(gòu)的發(fā)展,路由IP 網(wǎng)絡(luò)變得越來越普遍,這主要是因?yàn)槠湟?guī)模得到了改善。但要在IP 路由網(wǎng)絡(luò)中使用PFC,基于以太網(wǎng)VLAN 標(biāo)頭的流量映射是不夠的,因?yàn)閂LAN 標(biāo)頭在每個(gè)第3 層跳變,在某些情況下,VLAN 標(biāo)頭甚至可能不存在。解決方案是將類啟用向量(在PFC 暫停幀中)映射到在OSI 模型第3 層工作的流量分類方案。IPv4 和IPv6 報(bào)頭包含DSCP 字段,該字段廣泛用于服務(wù)質(zhì)量(QoS),也可用于PFC。在撰寫本文時(shí),RoCEv2 是第3 層PFC 的主要用例,但同樣的實(shí)現(xiàn)也可用于需要無損第3 層網(wǎng)絡(luò)的其他協(xié)議。

第2 層PFC 可在OSI 第2 層域內(nèi)實(shí)現(xiàn)無損流量傳輸,而第3 層PFC 則可通過IP 路由網(wǎng)絡(luò)實(shí)現(xiàn)無損流量傳輸。下文將詳細(xì)介紹這些映射方案。

Layer 2 Priority Flow Control

如圖7-4 所示,在OSI 模型的第2 層,通過添加IEEE 802.1Q VLAN 標(biāo)頭將流量分配到不同的VLAN。該VLAN 標(biāo)頭包含一個(gè)3 位優(yōu)先級(jí)碼點(diǎn)(PCP)字段,允許8 個(gè)獨(dú)特的流量類別。PCP 通常稱為服務(wù)等級(jí)(CoS)。

fa0190de-d506-11ee-a297-92fbcf53809c.png

Figure 7-4數(shù)據(jù)幀的以太網(wǎng)VLAN CoS 與暫停幀中的類啟用向量之間的關(guān)系

PFC 暫停幀包含以下值:

Class Enable Vector: 這是一個(gè)8 位字段,表示暫停幀適用于哪個(gè)(些)類別。

Quanta values: 這8 個(gè)16 位值與每個(gè)可能的流量類別相對(duì)應(yīng)。當(dāng)"類別啟用向量"中的位被打開時(shí),相應(yīng)的quanta在該暫停幀中有效。

以太網(wǎng)VLAN CoS 字段與PFC 暫停幀的類啟用向量之間的映射可啟用第2 層PFC。

注意以下幾點(diǎn)

1. VLAN 由IEEE 802.1Q 報(bào)頭中的12 位VLAN ID 字段唯一標(biāo)識(shí)。這就允許多達(dá)4096 個(gè)VLAN。但只能有8 個(gè)流量類別(CoS)。因此,在技術(shù)上可以為多個(gè)VLAN 分配相同的CoS,但這種方法會(huì)增加復(fù)雜性,在存儲(chǔ)網(wǎng)絡(luò)中應(yīng)避免使用。換句話說,將所有FCoE 或RoCE 流量分配到一個(gè)VLAN(比方說VLAN 100),將該VLAN 中的所有流量標(biāo)記為一個(gè)唯一的CoS(比方說3),將其他流量保留在其他VLAN 中,不要將CoS 3 分配給任何其他VLAN。此外,避免為FCoE 或RoCE 流量使用多個(gè)VLAN,以保持簡(jiǎn)單。

2. PFC 暫停幀中的類啟用矢量有8 位。為了表示量子對(duì)CoS N 有效,類啟用矢量會(huì)啟用右起第N 位(最小有效位)。例如,00001000 的類啟用矢量表示該暫停幀適用于CoS 3,00011000 的類啟用矢量表示該暫停幀適用于CoS 3 和CoS 4。

3. 成功的第2 層PFC 需要兩個(gè)映射。

a. VLAN ID 和CoS:這些值包含在數(shù)據(jù)幀的以太網(wǎng)頭中。雖然這不是真正的技術(shù)要求,但正如所解釋的那樣,這種映射簡(jiǎn)化了部署,并有助于保持終端設(shè)備和交換機(jī)配置的一致性。

b. CoS 和Class Enable Vector:CoS 包含在數(shù)據(jù)幀的以太網(wǎng)VLAN 標(biāo)頭中,而Class Enable Vector 則包含在PFC 暫停幀中。數(shù)據(jù)幀和暫停幀的流動(dòng)方向相反。這就解釋了為什么發(fā)送方和接收方之間的配置必須同步,而且應(yīng)避免更改供應(yīng)商提供的默認(rèn)CoS 值(如FCoE 的CoS 3),以實(shí)現(xiàn)一致的實(shí)施。



審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5317

    瀏覽量

    170472
  • 接收器
    +關(guān)注

    關(guān)注

    14

    文章

    2451

    瀏覽量

    71703
  • PFC
    PFC
    +關(guān)注

    關(guān)注

    47

    文章

    947

    瀏覽量

    105623
  • 存儲(chǔ)網(wǎng)絡(luò)

    關(guān)注

    0

    文章

    31

    瀏覽量

    8061

原文標(biāo)題:以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)的擁塞管理連載(二)

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)擁塞管理連載方案(一)

    鏈路級(jí)流量控制(LLFC):LLFC 可在直接連接的設(shè)備之間對(duì)鏈路上的所有流量進(jìn)行流量控制。LLFC 是一項(xiàng) IEEE 標(biāo)準(zhǔn)(IEEE 802.3x)。
    的頭像 發(fā)表于 02-26 10:52 ?1024次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>網(wǎng)絡(luò)</b>的<b class='flag-5'>擁塞</b><b class='flag-5'>管理</b><b class='flag-5'>連載</b><b class='flag-5'>方案</b>(一)

    以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)擁塞管理連載方案(三)

    在 OSI 模型的第 3 層,流量由 IPv4 或 IPv6 源地址和目標(biāo)地址標(biāo)識(shí)。如圖 7-5 所示,IP 標(biāo)頭(v4 和 v6)包含一個(gè) 6 位 DSCP 字段,允許多達(dá) 64 種分類,但并非所有分類都被使用。
    的頭像 發(fā)表于 02-28 09:16 ?1025次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>網(wǎng)絡(luò)</b>的<b class='flag-5'>擁塞</b><b class='flag-5'>管理</b><b class='flag-5'>連載</b><b class='flag-5'>方案</b>(三)

    以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)擁塞管理連載案例(五)

    解決無損以太網(wǎng)網(wǎng)絡(luò)擁塞問題的方法與光纖通道結(jié)構(gòu)相同。兩者都使用逐跳流量控制機(jī)制,只是實(shí)現(xiàn)方式不同而已。
    的頭像 發(fā)表于 03-04 11:17 ?729次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>網(wǎng)絡(luò)</b>的<b class='flag-5'>擁塞</b><b class='flag-5'>管理</b><b class='flag-5'>連載</b>案例(五)

    以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)擁塞管理連載案例(六)

    消除或減少無損以太網(wǎng)網(wǎng)絡(luò)擁塞的高級(jí)方法與光纖通道結(jié)構(gòu)相同。幾十年來,不同的傳輸類型都采用了類似的方法,只是略有不同。
    的頭像 發(fā)表于 03-06 16:35 ?808次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>網(wǎng)絡(luò)</b>的<b class='flag-5'>擁塞</b><b class='flag-5'>管理</b><b class='flag-5'>連載</b>案例(六)

    以太網(wǎng)存儲(chǔ)網(wǎng)絡(luò)擁塞管理連載案例(七)

    學(xué)習(xí)連接到遠(yuǎn)程 VTEP 的設(shè)備的 MAC 地址有兩種常見方法。第一種方法使用基于組播的泛洪學(xué)習(xí)機(jī)制。
    的頭像 發(fā)表于 03-08 09:29 ?774次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>網(wǎng)絡(luò)</b>的<b class='flag-5'>擁塞</b><b class='flag-5'>管理</b><b class='flag-5'>連載</b>案例(七)

    以太網(wǎng)和工業(yè)以太網(wǎng)的不同

    工業(yè)以太網(wǎng)系統(tǒng)需要比辦公以太網(wǎng)更加穩(wěn)定可靠。以太網(wǎng),尤其是工業(yè)以太網(wǎng)近來已成為制造業(yè)的熱門詞匯。雖然類似,卻各有特點(diǎn),各有優(yōu)勢(shì)。本文將介紹以太網(wǎng)
    發(fā)表于 10-23 14:20

    工業(yè)以太網(wǎng)的實(shí)現(xiàn)方案和現(xiàn)場(chǎng)實(shí)際應(yīng)用情況

    ?! 」た仡I(lǐng)域和IT界對(duì)網(wǎng)絡(luò)系統(tǒng)有著截然不同的需求,要想有效地應(yīng)用以太網(wǎng),必須使其符合工業(yè)環(huán)境的特殊需求。本文以實(shí)時(shí)工業(yè)以太網(wǎng)標(biāo)準(zhǔn) Ethernet Powerlink為例,介紹工業(yè)以太網(wǎng)
    發(fā)表于 01-13 07:07

    以太網(wǎng)供電新標(biāo)準(zhǔn)促熱網(wǎng)絡(luò)化電源管理應(yīng)用市場(chǎng)

    以太網(wǎng)供電新標(biāo)準(zhǔn)促熱網(wǎng)絡(luò)化電源管理應(yīng)用市場(chǎng) 日前,相關(guān)國(guó)際標(biāo)準(zhǔn)組織批準(zhǔn)了IEEE802.3at以太網(wǎng)供電(PoE)技術(shù)標(biāo)準(zhǔn),使遠(yuǎn)程電源通過以
    發(fā)表于 12-29 15:25 ?456次閱讀

    基于BOOTP的工業(yè)以太網(wǎng)IP儀表的智能化管理策略

    摘要:提出一種基于BOOTP 的工業(yè)以太網(wǎng)終端IP 儀表的網(wǎng)絡(luò)管理方案。該方案不僅可完成對(duì)終端IP 儀表
    發(fā)表于 02-26 09:58 ?21次下載
    基于BOOTP的工業(yè)<b class='flag-5'>以太網(wǎng)</b>IP儀表的智能化<b class='flag-5'>管理</b>策略

    以太網(wǎng)光纖通道(FCoE)技術(shù)問答

    以太網(wǎng)光纖通道技術(shù)(FCoE),能壓縮光纖通道存儲(chǔ)數(shù)據(jù),使之通向以太網(wǎng)的LAN(局域網(wǎng)),消除了數(shù)據(jù)中心分離存儲(chǔ)
    發(fā)表于 12-01 15:51 ?1056次閱讀

    以太網(wǎng)協(xié)議及應(yīng)用方案

    以太網(wǎng)協(xié)議及應(yīng)用方案
    發(fā)表于 01-21 12:07 ?9次下載

    以太網(wǎng)的分類及靜態(tài)以太網(wǎng)交換和動(dòng)態(tài)以太網(wǎng)交換、介紹

    以太網(wǎng)交換技術(shù)具有許多類型,各自宣傳其具有不同的優(yōu)點(diǎn);通過簡(jiǎn)單的鼠標(biāo)即可增加、移動(dòng)和改變往來落的結(jié)構(gòu);比網(wǎng)橋和路由器更為有效地進(jìn)行網(wǎng)絡(luò)分段;為高性能工作站或服務(wù)器提供高寬帶。網(wǎng)絡(luò)管理
    的頭像 發(fā)表于 10-07 10:06 ?6318次閱讀

    萬兆以太網(wǎng)和IP SAN的融合

    IP SAN存儲(chǔ)網(wǎng)融合到萬兆以太網(wǎng)絡(luò)中,將大大增加了IP SAN網(wǎng)絡(luò)的通信帶寬,提高主機(jī)訪問存儲(chǔ)的速度,同時(shí)由于
    的頭像 發(fā)表于 01-24 15:16 ?3129次閱讀

    光纖通道到以太網(wǎng)存儲(chǔ)結(jié)構(gòu)解析

    行業(yè)專家認(rèn)為,以太網(wǎng)存儲(chǔ)結(jié)構(gòu)(ESF)是下一代存儲(chǔ)網(wǎng)絡(luò)的理想選擇,因?yàn)槠渚哂凶吭降男阅?、智能和效率?/div>
    發(fā)表于 07-21 15:59 ?1141次閱讀

    以太網(wǎng)光模你了解多少

    什么是以太網(wǎng)光模塊? 用于以太網(wǎng)的光模塊。什么是以太網(wǎng)?通過信息管理(MIB)與公共物理媒介地址控制(MAC)可支持局域網(wǎng)(LAN)的
    的頭像 發(fā)表于 02-14 09:27 ?1171次閱讀