OpenFlow——抓包packet_in和packet_out訊息
阿新 • • 發佈:2018-12-19
0x01 實驗背景
兩臺虛擬機器:
- mininet虛擬機器(10.108.43.23)
- onos虛擬機器(10.108.43.136)
mininet實驗拓撲:
- h1: IP=10.0.0.1 MAC=46:04:9a:e2:10:55
- h2: IP=10.0.0.2 MAC=2e:02:18:92:01:aa
- h3: IP=10.0.0.3 MAC=8e:35:18:7a:f0:f0
- s3: IP=10.108.43.23
- s4: IP=10.108.43.23
- c0: IP=10.108.43.136
0x02 實驗操作
在mininet控制檯:
h1 ping h2
0x03 抓包分析
3.1 ARP請求
h1( IP=10.0.0.1 MAC=46:04:9a:e2:10:55 )不知道h2 (IP=10.0.0.2 MAC=2e:02:18:92:01:aa)的IP對應的MAC地址,h1發出ARP請求。
ARP請求到達s3,流表table-miss,產生packet-in和packet-out訊息。
圈2,packet_in訊息:
圈3,packet_out訊息:
ARP請求到達s4,流表table-miss,產生packet-in和packet-out訊息。
圈5,packet-in訊息:
圈6,packet-out訊息:
3.2 ARP響應
h2(IP=10.0.0.2 MAC=2e:02:18:92:01:aa)收到ARP請求產生ARP響應。
ARP響應到達s4,流表table-miss,產生packet_in和packet_out訊息。
packet_in訊息:
packet_out訊息:
ARP響應經過s4後,又到達s3,流表table-miss,產生packet_in和packet_out訊息。
packet_in訊息:
packet_out訊息:
3.3 h1向h2發ICMP包
Ping命令會構建一個固定格式的ICMP請求資料包。
packet_in訊息:
packet_out訊息:
packet_in訊息:
packet_out訊息:
3.4 h2向h1發ICMP包
h2響應ICMP資料包。
packet_in訊息:
packet_out訊息:
packet_in訊息:
packet_out訊息:
0x04 結論分析
流表項超時的時間太短,ARP響應過程產生的流表項在ICMP響應資料包到達時已經失效,導致又產生packet_in和packet_out訊息。
轉載請註明出處