PFC 基於優先順序的流量控制

2021-09-08 08:55:00 字數 1700 閱讀 1483

通過乙太網傳輸的光纖通道流量(fcoe)就是要求無丟包服務的乙個典型示例。為了使乙太網能夠滿足應用的無丟包要求,需要制定一種方法來通過乙太網提供無損服務。基於優先順序的流量控制正是在這種背景下出現。

基於優先順序的流量控制(pfc)是對暫停機制的一種增強(如下圖)。當前乙太網暫停選擇(ieee 802.3 annex 31b)也能達到無丟包的要求,但它會阻止一條鏈路上的所有流量,本質上來講,它會暫停整條鏈路。pfc 允許在一條乙太網鏈路上建立 8 個虛擬通道,並為每條虛擬通道指定乙個 ieee 802.1p 優先等級,允許單獨暫停和重啟其中任意一條虛擬通道,同時允許其它虛擬通道的流量無中斷通過。這一方法使網路能夠為單個虛擬鏈路建立無丟包類別的服務,使其能夠與同一介面上的其它流量型別共存。

如圖所示,在交換機埠的 8 個佇列進行 buffer 的分配,形成了網路中 8 個虛擬化通道,資料流帶上自身的通道標籤(802.1p 進行標識),buffer 大小使得各佇列有不同的資料快取能力。 一旦出現瞬時擁塞,即某個裝置的佇列快取消耗較快,超過一定閾值(可設定為埠佇列的 1/2、3/4 等比例),裝置即向資料進入的方向(上游裝置)傳送反壓資訊,上游裝置接收到反壓資訊,會根據反壓資訊指示停止傳送或延遲傳送資料,並將資料儲存在本地埠 buffer,如果本地埠 buffer 消耗超過閾值,則繼續向上游反壓,如此一級級反壓,直到網路終端裝置,從而消除網路節點因擁塞造成的丟包。使新一代乙太網技術可以滿足儲存業務不丟包的要求(為光纖通道流量,也就是儲存流量,分配乙個 ieee 802.1p 優先等級,並為該優先等級啟用 pfc)。

互動流程:

使用埠的 pfc(priority-based flow control,基於優先順序流量控制)功能,可以基於 802.1p  優先順序對報文進行流量控制。

當本端發生擁塞時,交換機會根據本端收到報文的 802.1p  優先順序進行判別,從而確定對報文的處理方式。

· 如果此時收到報文的 802.1p  優先順序有使能 pfc,則接收該報文,並向對端傳送 pfcpause 幀,通知對端裝置暫時停止傳送該類報文。對端裝置在接收到 pfc pause 幀後,將暫時停止向本端傳送該類報文,暫停時間長短資訊由 pfc pause 幀所攜帶。當擁塞仍然存在時,此過程將重複進行,直至擁塞解除。

· 如果此時收到報文的 802.1p  優先順序沒有使能 pfc,則直接將報文丟棄。 

當對端接收到 pfc  pause 幀時,會根據本端的 802.1p  優先順序的配置資訊和狀態資訊,確定對報文的處理方式。 

· 若對端有開啟相應優先順序的 pfc 功能,且尚未暫停傳送相應優先順序的報文,則暫停傳送相應優先順序的報文,並根據 pfc pause 幀中對應的暫停時間啟動定時器。當定時器到期後,將恢復相應優先順序報文的傳送。 

· 若對端有開啟相應優先順序的 pfc 功能,且已經暫停傳送相應優先順序的報文,則根據 pfc  

pause 幀中對應的暫停時間更新對應定時器的到期時間。

· 若 pfc  pause 幀中對應的暫停時間為 0,則相當於使對應的暫停定時器立即到期,

立即恢復相應優先順序報文的傳送。

· 若 pfc  pause 幀中對應的暫停時間不為 0,則相當於復位對應的暫停定時器。也就是說,只要本端一直擁塞,則對端會因不斷收到 pfc pause 幀而持續暫停傳送相應優先順序的報文。 

· 若對端沒有開啟相應優先順序的 pfc 功能,則不會暫停傳送相應優先順序的報文。 

TCP的流量控制

為了提高通道的利用率tcp協議不使用停止等待協議,而是使用連續arq協議,意思就是可以連續發出若干個分組然後等待確認,而不是傳送乙個分組就停止並等待該分組的確認。tcp的兩端都有傳送 接收快取和傳送 接收視窗。tcp的快取是乙個迴圈佇列,其中傳送視窗可以用3個指標表示。而傳送視窗的大小受tcp資料報...

TCP的流量控制

為了提高通道的利用率tcp協議不使用停止等待協議,而是使用連續arq協議,意思就是可以連續發出若干個分組然後等待確認,而不是傳送乙個分組就停止並等待該分組的確認。tcp的兩端都有傳送 接收快取和傳送 接收視窗。tcp的快取是乙個迴圈佇列,其中傳送視窗可以用3個指標表示。而傳送視窗的大小受tcp資料報...

TCP的流量控制

為了提高通道的利用率tcp協議不使用停止等待協議,而是使用連續arq協議,意思就是可以連續發出若干個分組然後等待確認,而不是傳送乙個分組就停止並等待該分組的確認。tcp的兩端都有傳送 接收快取和傳送 接收視窗。tcp的快取是乙個迴圈佇列,其中傳送視窗可以用3個指標表示。而傳送視窗的大小受tcp資料報...