02-IPCC配置
本章節下載: 02-IPCC配置 (235.01 KB)
目 錄
IPCC(Intelligent Proactive Congestion Control,智能主動擁塞控製)是一種以網絡設備為核心的主動擁塞控製技術。IPCC功能在ECN功能基礎上進行改進,可以智能識別設備端口的擁塞狀態,主動發送CNP(Congestion Notification Packets,擁塞通知報文),準確控製服務器發送RoCEv2(RDMA over Converged Ethernet version 2)報文的速率,既可以確保擁塞時的及時降速,又可以避免擁塞已經緩解時的過度降速,最終確保網絡的低時延和高吞吐。有關ECN功能的詳細介紹,請參見“ACL和QoS配置指導”中的“QoS”。
IPCC功能僅對RoCEv2報文生效,RoCEv2是基於UDP協議封裝的,報文格式如圖1-1所示。
圖1-1 RoCEv2報文格式
· Ethernet header:以太報文頭,包括源MAC地址和目的MAC地址等信息。
· IP header:IP報文頭,包括源IP地址和目的IP地址等信息。
· UDP header:UDP報文頭,包括源端口號和目的端口號,其中RoCEv2報文的目的端口號為4791。
· Payload:消息負載。
· CRC和FCS:分別對應冗餘檢測和幀校驗。
· InfiniBand Base Transport Header:InfiniBand傳輸層的頭部字段,包含了RoCEv2報文的關鍵信息,IPCC功能涉及的主要字段如下。
¡ Opcode:表示RoCEv2的報文類型,具體類型如下。
- ConnectMsg:表示CM建鏈報文,此報文用於建立RoCEv2連接。建立RoCEv2連接後,本端和遠端才能傳遞數據報文。
- Send:表示Send報文,此類報文用於發送端向遠端請求傳遞數據,發送端不指定接收端存儲數據的地址。
- Write:表示Write報文,此類報文用於發送端向遠端請求寫入數據,發送端會在報文中指定接收端存儲數據的地址、key(關鍵值)和數據長度
- Read:表示Read報文,此類報文用於發送端向遠端請求讀取數據,發送端會在報文中會指定遠端請求讀取數據的地址、key和數據長度。
- ACK:表示ACK報文,遠端每接收到一個RoCEv2報文後,均會反饋的應答消息。
以上Send、Write和Read類型的RoCEv2報文也被稱為RoCEv2數據報文。
¡ Dest QP(Destination Queue Pair):目的QP,用來標識一條RoCEv2流。相當於RoCEv2報文中的目的端口,是用來建立RoCEv2流表的關鍵信息。
IPCC通常部署在數據中心網絡場景中,在轉發設備接收報文的接口上開啟IPCC功能,可以實現智能主動擁塞控製。IPCC工作原理如圖1-2所示。
圖1-2 IPCC工作原理圖
IPCC的工作過程包含以下幾個步驟:
(1) 建立RoCEv2流表
轉發設備上開啟了IPCC功能的接口會對經過的RoCEv2數據報文進行複製並上送設備CPU處理:
a. 首先根據RoCEv2建鏈報文中的四元組信息關鍵值(RoCEv2流的客戶端IP地址、RoCEv2流的服務器端IP地址、客戶端的QP值、服務器端QP值)形成流表項,從而建立一個RoCEv2流表。
b. 再根據RoCEv2數據報文將流表與設備的轉發接口關聯。
通過上述步驟持續維護RoCEv2流表,就可以獲知每條RoCEv2流的地址信息和轉發路徑。
(2) 智能計算擁塞通知報文數量
轉發設備對接口中開啟了IPCC功能的隊列的隊列長度進行檢測,根據隊列的擁塞狀態智能計算主動發送的擁塞通知報文數量:
¡ 當隊列長度增加時:如果此時隊列緩存占用率較小,需要發送少量擁塞通知報文;如果此時隊列緩存占用率較大,需要發送較多的擁塞通知報文,快速緩解隊列擁塞,降低轉發時延。
¡ 當隊列長度減少時:如果此時隊列緩存占用率較小,無需發送擁塞通知報文,防止降速造成吞吐下降;如果此時隊列緩存占用率較大,需要發送少量擁塞通知報文,在盡量保證吞吐和時延性能的情況下緩解隊列擁塞。
(3) 構造並發送擁塞通知報文
轉發設備按照計算出的報文數目和RoCEv2流表中的地址信息構造擁塞通知報文,並向發送端主動發送擁塞通知報文,發送端收到擁塞通知報文後降低RoCEv2報文的發送速率。
IPCC功能需要安裝License才能使用。當License到期或被卸載後,所有的IPCC功能將無法正常使用,請重新安裝有效的License。關於License的詳細介紹請參見“基礎配置指導”中的“License管理”。
IPCC配置任務如下:
(1) 開啟IPCC功能
(2) 對指定隊列開啟IPCC功能
(3) (可選)配置IPCC的工作模式
IPCC功能僅對RoCEv2報文生效。
配置本功能的同時,需要對指定隊列開啟IPCC功能(通過ipcc queue命令),否則配置不生效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟IPCC功能。
ipcc enable
缺省情況下,IPCC功能處於關閉狀態。
開啟了本功能後,轉發設備會對開啟了IPCC功能的指定隊列的隊列長度進行檢測,根據隊列的擁塞狀態智能計算出主動發送的擁塞通知報文數量,接著按照計算出的報文數目和RoCEv2流表中獲取到的構造擁塞通知報文所需的字段信息來構造擁塞通知報文,向RoCEv2數據報文發送端主動發送擁塞通知報文,發送端收到擁塞通知報文後降低RoCEv2報文的發送速率。
在配置本功能的同時,需要通過ipcc enable命令開啟指定接口的IPCC功能,否則配置不生效。
(1) 進入係統視圖。
system-view
(2) 配置對指定隊列開啟IPCC功能。
ipcc queue queue-id
缺省情況下,未對任何隊列開啟IPCC功能。
當IPCC工作在高吞吐模式時,設備將更注重提升RoCEv2流量的吞吐,適用於轉發流量較大且對傳輸時延不敏感的業務。對於流量規模不大且對時延較敏感的業務,建議配置為低時延模式。
(1) 進入係統視圖。
system-view
(2) 配置IPCC的工作模式。
ipcc mode { high-throughput | low-latency }
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPCC的運行情況,通過查看顯示信息驗證配置的效果。
表1-1 IPCC顯示和維護
操作 |
命令 |
顯示IPCC中設備主動發送的CNP報文統計信息 |
display ipcc statistics [ interface interface-type interface-number ] |
如圖1-3所示,發送端服務器上部署了使用RoCEv2承載的存儲業務,在Device的Twenty-FiveGigE1/0/2接口上開啟IPCC功能,準確控製發送端服務器發送RoCEv2報文的速率,確保網絡中RoCEv2業務的低時延和高吞吐。
圖1-3 IPCC功能配置組網圖
(1) 配置IP地址
請按照圖1-3配置各接口的IP地址和子網掩碼,具體配置過程略。
(2) 配置IPCC功能
# 開啟IPCC功能。
<Device> system-view
[Device] interface twenty-fivegige 1/0/2
[Device-Twenty-FiveGigE1/0/2] ipcc enable
[Device-Twenty-FiveGigE1/0/2] quit
# 配置對隊列4開啟IPCC功能。
[Device] ipcc queue 4
# 配置IPCC的工作模式為低時延模式。
[Device] ipcc mode low-latency
# 查看設備主動發送的CNP報文統計信息。
<Device> display ipcc statistics
Total statistics:
RoCEv2 flow entries: 1
Interface statistics of WGE1/0/2
CNP number: 3
RoCEv2 flow entries: 1
Flow information:
---------------------------------------------
DIP SIP DQP
---------------------------------------------
12.110.2.2 11.110.2.2 2090
----------------------------------------------
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!