6g下載網
當前位置: 主頁 > 軟件教程 > 云計算 >

OpenvSwitch流表分析介紹

時間: 2017-01-17 14:38 來源: 本站整理

分享到:

今天小編整理一篇OpenvSwitch流表分析介紹的文章和大家分享,希望能給大家提供幫助。

OpenvSwitch流表分析

流表是交換機進行轉發策略控制的核心數據結構。交換機芯片通過查找流表項來決策進入交換機網絡的數據包執行適當的處理動作。流表中包含若干個流表項,每一個流表項中包含若干個域:包頭域、活動計數器、0個或多個執行動作。

OpenvSwitch流表分析介紹

1、包頭域:執行規則的條件,主要是指定數據包各層協議字段值,作為數據包中與流規則的匹配條件。

2、計數器:用來統計流量的信息,如:duration存活時間、錯誤、n_packets發包數等。

3、動作:定義了對匹配規則的數據包的處理方式,如:drop丟包、轉發、修改等。

例:br-tun流表信息

  1. # ovs-ofctl dump-flows br-tun  
  2. NXST_FLOW reply (xid=0x4):  
  3. #從port1進來的包轉到表1處理  
  4. cookie=0x0,duration=10970.064s, table=0n_packets=189n_bytes=16232idle_age=16,priority=1,in_port=1 actions=resubmit(,1)  
  5. #從port2進來的包轉到表2處理  
  6. cookie=0x0,duration=10906.954s, table=0n_packets=29n_bytes=5736idle_age=16,priority=1,in_port=2 actions=resubmit(,2)  
  7. #不匹配上面兩條則drop  
  8. cookie=0x0,duration=10969.922s, table=0n_packets=3n_bytes=230idle_age=10962,priority=0 actions=drop 
  9.  #表1,單播包轉到表20處理  
  10. cookie=0x0,duration=10969.777s, table=1n_packets=26n_bytes=5266idle_age=16,priority=0,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,20)  
  11. #多播包轉到表21處理  
  12. cookie=0x0,duration=10969.631s, table=1n_packets=163n_bytes=10966idle_age=21,priority=0,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,21)  
  13. #表2,port2進來的包在這里處理了.同樣是轉給表10處理  
  14. cookie=0x0duration=688.456s,table=2n_packets=29n_bytes=5736idle_age=16priority=1,tun_id=0x1actions=mod_vlan_vid:1,resubmit(,10)  
  15.  #表10,進行規則學習,具體就不解釋了。學習到的規則后續會給表20來使用 cookie=0x0duration=10969.2s, table=10n_packets=29n_bytes=5736,idle_age=16priority=1actions=learn(table=20,hard_timeout=300,priority=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:1  
  16. #表20,根據目的mac設置tun_id,通過指定的port發出去  
  17. cookie=0x0duration=682.603s,table=20n_packets=26n_bytes=5266hard_timeout=300idle_age=16,hard_age=16priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:32:0d:dbactions=load:0->NXM_OF_VLAN_TCI[],load:0x1->NXM_NX_TUN_ID[],output:2  
  18. #無規則的交給表21處理  
  19. cookie=0x0,duration=10969.057s, table=20n_packets=0n_bytes=0idle_age=10969,priority=0 actions=resubmit(,21)  
  20. #表21,根據vlan找到對應的出去的口  
  21. cookie=0x0duration=688.6s,table=21n_packets=161n_bytes=10818idle_age=21priority=1,dl_vlan=1actions=strip_vlan,set_tunnel:0x1,output:2  
  22. # drop  
  23. cookie=0x0,duration=10968.912s, table=21n_packets=2n_bytes=148idle_age=689,priority=0 actions=drop 

字段介紹:

Cookie:流規則標識。

duration:流表項創建持續的時間(單位是秒)。

table:流表項所屬的table編號。

n_packets:此流表項匹配到的報文數。

n_bytes:此流表項匹配到的字節數。

idle_age:此流表項從最后一個匹配的報文到現在空閑的時間。

hard_age:此流表項從最后一次被創建或修改到現在持續的時間。

Priority:流表項的優先級,數字越大優先級越高,范圍是:0~7。

OpenvSwitch流表分析介紹的文章和大家分享結束,感謝閱讀!

(責任編輯:大衛)

分享到:

------分隔線----------------------------
? 35选7福利彩票