2019 SDN上機第三次做業

1. 利用Mininet仿真平臺構建以下圖所示的網絡拓撲,配置主機h1和h2的IP地址(h1:10.0.0.1,h2:10.0.0.2),測試兩臺主機之間的網絡連通性

2. 利用Wireshark工具,捕獲拓撲中交換機與控制器之間的通訊數據,對OpenFlow協議類型的各種報文(hello, features_request, features_reply, set_config, packet_in, packet_out等)進行分析

hello

控制器6633端口 ---> 交換機56694端口

緩存

Features Request

控制器6633端口 ---> 交換機56694端口
cookie

Set Config

控制器6633端口 ---> 交換機56694端口
網絡

Features Reply

交換機56694端口--- 控制器6633端口
工具

Packet_in

交換機56694端口--- 控制器6633端口
測試

//結合Packet_in的結構
struct ofp_packet_in {
    struct ofp_header header;
    uint32_t buffer_id; /*Packet-in消息所攜帶的數據包在交換機緩存區中的ID*/
    uint16_t total_len; /*data字段的長度*/
    uint16_t in_port; /*數據包進入交換機時的端口號*/
    uint8_t reason; /*發送Packet-in消息的緣由,具體見 ofp_packet_in_reason*/
    uint8_t pad;
    uint8_t data[0]; /*攜帶的數據包*/
};

Packet_out

交換機6633端口--- 控制器56694端口
ui

接下來是另外一臺交換機(端口35536)與控制器(端口6633)的交互過程

h1 ping h2
code

Packet_in

Flow_mod

```blog

//結合flow_mod結構
struct ofp_flow_mod {
struct ofp_header header;
struct ofp_match match; /流表的匹配域/
uint64_t cookie; /流表項標識符/
uint16_t command; /能夠是ADD,DELETE,DELETE-STRICT,MODIFY,MODIFY-STRICT/
uint16_t idle_timeout; /空閒超時時間/
uint16_t hard_timeout; /最大生存時間/
uint16_t priority; /優先級,優先級高的流表項優先匹配/
uint32_t buffer_id; /緩存區ID ,用於指定緩存區中的一個數據包按這個消息的action列表處理/
uint16_t out_port; /若是這條消息是用於刪除流表則須要提供額外的匹配參數/
uint16_t flags; /標誌位,能夠用來指示流表刪除後是否發送flow‐removed消息,添加流表時是否檢查流表重複項,添加的流表項是否爲應急流表項。/
struct ofp_action_header actions[0]; /action列表/
};

https://img2018.cnblogs.com/blog/1791976/201911/1791976-20191119000229014-1797307140.png)


ip

把控制器從openflow reference改爲ovs controller

相關文章
相關標籤/搜索