1. 程式人生 > 實用技巧 >[操作指導]Chimera網路損傷模擬之一:Filter規則匹配(對PTP 1588v2,eCPRI,RoE,RoCEv2 RDMA等不同報文進行條件匹配追蹤)

[操作指導]Chimera網路損傷模擬之一:Filter規則匹配(對PTP 1588v2,eCPRI,RoE,RoCEv2 RDMA等不同報文進行條件匹配追蹤)

硬體環境#

Loki-100G-5S-2P切換到8x25GbE模式

Chimera-100G-5S切換到8x25GbE模式

將Loki發包板卡與Chimera損傷板卡對接互聯

使能其中的Port-0/0 Port-0/4,Port-4/0 Port-4/4 (分別對應著板卡物理埠的Port0-Lane0 和Port1-Lane0)

1.發包測試用例

在埠Port-0/0下新建多流,建立8條Streams,新增相應的備註資訊用以區分

Stream-0eCPRI-L2-0xAEFEeCPRI Layer2流量,EtherType = 0xAEFE
Stream-11588V2-l2-0x88F7PTP Layer2流量,EtherType = 0x88F7
Stream-21588V2-UDP-P319PTP over UDP流量,UDP.Dst = 319
Stream-3RoE-L2-0xFC3D-IEEE1914.3Radio over Ethernet Layer2流量,EtherType = 0xFC3D
Stream-4RoCEv1-L2-0x8915RoCEv1 Layer2流量,EtherType = 0x8915
Stream-5RoCEv2-UDP-P4791RoCEv2 Over UDP流量,UDP.Dst = 4719
Stream-6Raw-B54-12345678自定義協議報文頭部,MAC+40B+20B,54Byte始0x12345678
Stream-7Raw-B54-12345677自定義協議報文頭部,MAC+40B+20B,54Byte始0x12345677

Loki板卡下新建多流進行發包模擬

多流預覽-wireshark

2.損傷用例(8-Flows)

Flow-0 預設使能(暫不做損傷規則設定)

Flow-1 過濾規則“匹配EtherType==0xAEFE的報文” 損傷動作“增加100000微秒的延遲”

#使用Any Field定位從第12Bytes報文開始,報文內容為AEFE的報文

Chimera網路損傷模擬-規則匹配過濾出eCPRI報文

Chimera網路損傷模擬-增加延遲

  • Flow-2 過濾規則“匹配EtherType==0x88F7的報文” 損傷動作“增加延遲”
    • #匹配到Layer2的PTP報文型別
  • Flow-3過濾規則“匹配UDP目的埠號為319的報文” 損傷動作“增加延遲”
    • #使用L3=ipv4 且 UDP欄位為319進行匹配
  • Flow-5 過濾規則與Flow-3一致,同樣為匹配UDP Dst.Port ==319報文
    • #使用Any Field匹配36位元組後續報文內容為0x013F報文
  • Flow-4RoCEv2-UDP-DstP-4791

Chimera網路損傷模擬-匹配PTP報文

Chimera網路損傷模擬對PTP報文進行匹配

  • Flow-6RAW-54+12345678
  • Flow-7RAW-54+123456
    • #匹配欄位都從54Byte開始,其中Flow-6掩碼設定FF-FF-FF-FF覆蓋12345678,Flow-7掩碼設定為6個F僅覆蓋匹配到123456

Chimera網路損傷模擬-過濾使用者自定義欄位

3.損傷規則預期

3.1.全部使能Flow0-7,那麼將會按序優先順序進行Flow7==>Flow0 的順序規則匹配

因為Flow3與Flow5都是針對UDP Dst.Port == 319進行的匹配,那麼Flow-3將匹配不到符合規則的流量,所有的UDP Dst.Port==319流量將會在Flow-5中進行損傷匹配;

3.2.禁用掉Flow-5規則,將會在Flow-3下匹配到UDP目的埠319的PTP 1588v2流量

4.損傷結果

Chimera網路損傷模擬-測試結果

Chimera網路損傷模擬-測試結果

Chimera網路損傷模擬-測試結果

結果與預期相符,過濾規則都能夠正確匹配到對應欄位,能夠對eCPRI,RoE(Radio over Ethernet),RoCE,PTP,1588時鐘報文等進行精準區分,並施加不同的負面壓力損傷模擬。