1. 程式人生 > >OpenFlow——抓包packet_in和packet_out訊息

OpenFlow——抓包packet_in和packet_out訊息

0x01 實驗背景

兩臺虛擬機器:

  • mininet虛擬機器(10.108.43.23)
  • onos虛擬機器(10.108.43.136)

mininet實驗拓撲:

1

  • 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請求。

2

ARP請求到達s3,流表table-miss,產生packet-in和packet-out訊息。

圈2,packet_in訊息:

3

圈3,packet_out訊息:

4

ARP請求到達s4,流表table-miss,產生packet-in和packet-out訊息。

圈5,packet-in訊息:

5

圈6,packet-out訊息:

6

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訊息:

7

packet_out訊息:

8

ARP響應經過s4後,又到達s3,流表table-miss,產生packet_in和packet_out訊息。

packet_in訊息:

9

packet_out訊息:

10

3.3 h1向h2發ICMP包

Ping命令會構建一個固定格式的ICMP請求資料包。

11

packet_in訊息:

12

packet_out訊息:

13

packet_in訊息:

14

packet_out訊息:

15

3.4 h2向h1發ICMP包

h2響應ICMP資料包。

packet_in訊息:

16

packet_out訊息:

17

packet_in訊息:

18

packet_out訊息:

19

0x04 結論分析

流表項超時的時間太短,ARP響應過程產生的流表項在ICMP響應資料包到達時已經失效,導致又產生packet_in和packet_out訊息。

轉載請註明出處