天天看點

搭建網絡SDN(企業網絡環境搭建)第1小題:簡單網絡實驗報告如下:

大家好,又見面了,我是你們的朋友全棧君。

第1小題:簡單網絡

說明:由于對于SDN架構的了解在學界和業界并沒有統一,為了友善參賽隊員選擇,對于初學者,大賽推薦OpenFlow作為南向接口來實作SDN環境,以下給出分别針對采用OpenFlow和采用其他接口的具體要求(分A、B兩種情況)。

A. 針對采用OpenFlow作為南向接口的參賽隊伍的要求:

參賽隊伍首先需要搭建一個SDN架構的網絡環境,初學者可以參照圖1所示的一個最簡單的拓撲結構,熟練的參賽隊員可以自定義複雜一點的拓撲結構,兩者并不影響評委評分。

B. 針對不是采用OpenFlow作為南向接口的參賽隊伍的要求:

拓撲結構自定,所用裝置、軟體等自選,隻要能夠實作SDN架構的網絡環境即可。

搭建網絡SDN(企業網絡環境搭建)第1小題:簡單網絡實驗報告如下:

圖1:簡單的示例拓撲

1. 搭建環境要求:圖1中控制器可以自主選擇,既可選擇各種開源的控制器(例如:Floodlight、Ryu、Nox、Beacon、Trema、OpenDaylight等),也可選擇由本次大賽裝置提供商所提供的閉源控制器。拓撲中各網絡部件既可以是仿真環境實作(例如mininet,OpenvSwtich),有條件的隊伍也可以通過實體裝置實作,兩種方案不影響必答題的評分。

2. 操作要求:對流表進行操作使得Host1和Host2能夠互相ping通,然後再修改流表使得它們不能ping通。

3. 報告書要求:報告書的主要内容需要包含以下幾點:

(1) 較長的描述實驗網絡環境的搭建思路,給出搭建出來的結構拓撲圖,列舉選擇的具體裝置或者仿真軟體、工具軟體,并說明其在實驗中的作用。

(2) 給出實作2中操作要求的具體操作步驟,以截圖或者文本方式展示,要求給出初始以及前後兩次對流表操作後流表内容的截圖。

(3) 給出實驗資料(界面截圖、表格等都可)來說明實作了(2)中的要求。

說明:以上列舉的為硬性要求,在報告書中必須給出。但報告書内容的組織可以靈活處理,自由發揮,不限于上述要求的内容。

實驗報告如下:

一、搭建網絡環境需求:

  1. ubuntu12.04版本;
  2. 預設安裝所有 Mininet相關的相關套件,如:OpenFlow、POX 等工具會預設儲存在目前使用者的家目錄,即利用mininet仿真軟體進行處理;
  3. 在mininet軟體下進行相關指令的配置來完成實驗的目的。

二、實驗操作:

在ubuntu12.04環境下安裝mininet相關插件,這裡我采用了預設安裝所有 Mininet相關的相關套件,如:OpenFlow、POX 等工具會預設儲存在目前使用者的家目錄。

<span style="font-size:14px;"># git clone git://github.com/mininet/mininet
# cd mininet/util/
# ./install.sh -a</span>           

複制

由于mininet軟體 支援自定義網絡,是以我們可以指令來檢視自帶的拓撲結構:

<span style="font-size:14px;">wuyouke@ubuntu:~$ sudo mn
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 
*** Adding switches:
s1 
*** Adding links:
(h1, s1) (h2, s1) 
*** Configuring hosts
h1 h2 
*** Starting controller
*** Starting 1 switches
s1 
*** Starting CLI:
</span>           

複制

也可以通過節點指令來檢視節點的個數:

<span style="font-size:14px;">mininet> nodes
available nodes are: 
c0 h1 h2 s1
</span>           

複制

正好可以滿足本實驗的要求,是以我們就可以借助于這個拓撲圖而無需進行修改,當然我們可以通過其他指令來自定義拓撲結構,在以後的文章種再進行講解。

通過mininet中的指令來檢視各個節點的IP資訊,即:

接下來就是ping兩台主機,并且事先背景運作wireshark抓包軟體:

在抓包軟體中要首先進行filter:of。然後輕按兩下capture中選擇lo端口來進行抓包餓哦,抓包圖如下:

為了修改流表,是以我們将用到ovs相關的配置指令;

以上是虛拟交換機s1的資訊,獲得dpid,端口openflow端口編号。

<span style="font-size:14px;">sudo ovs-ofctl add-flow s1 idle_timeout=120,in_port=1,actions=drop
</span>           

複制

添加一條流規則:丢棄從1端口發來的任何資料包,此時再在sudo mn的模式下ping指令,就會發現兩台主機是ping不通的。這時再次檢視s1上面的流規則:

<span style="font-size:14px;">wuyouke@ubuntu:~$ sudo ovs-ofctl dump-flows s1
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=27.463s, table=0, n_packets=0, n_bytes=0, idle_timeout=120,in_port=1 actions=drop</span>           

複制

以上實驗已經完成!

附:由于剛剛學習SDN的相關知識,有些配置還不是很了解,希望大家給予指正,互相學習,謝謝~~

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/128045.html原文連結:https://javaforall.cn