申海杰 陳曉范 田新志
摘要:針對新一代計算機網(wǎng)絡架構SDN,基于Mininet平臺,驗證了OpenFlow協(xié)議通信過程,并通過觀察流表驗證了SDN中的控制轉發(fā)分離技術。該實驗方案能幫助學生更好地理解SDN的理論知識。
關鍵詞:SDN;Mininet;實驗教學
中圖分類號: 文獻標識碼:A
文章編號:1009-3044(2019)09-0124-02
開放科學(資源服務)標識碼(OSID):
1 引言
SDN(Software-Defined Networking,軟件定義網(wǎng)絡)是一種基于軟件的網(wǎng)絡架構和技術,支持集中化的網(wǎng)絡控制,實現(xiàn)了底層網(wǎng)絡設備對上層應用的透明,具有靈活的軟件編程能力,采用軟件定義網(wǎng)絡的方式,靈活滿足不同用戶的應用需求[1]。
筆者在講授SDN時發(fā)現(xiàn)由于SDN設備較貴,導致學生不能通過實驗理解其理論知識,最終影響相應課程的教學效果和學生動手能力的培養(yǎng)[2]。
2 實驗方案
為了使學生更好地理解SDN的通信原理,筆者設計了此實驗方案。本實驗使用Mininet官方提供的虛擬機鏡像作為實驗平臺,該VM鏡像系統(tǒng)基于14.04版Ubuntu系統(tǒng)。
2.1 配置開發(fā)環(huán)境
a)安裝mininet
下載mininet官網(wǎng)170321版虛擬機鏡像并解壓后導入到vmware中。
b)Linux系統(tǒng)網(wǎng)絡配置
啟動虛擬機中的Ubuntu14.04版linux系統(tǒng),修改/etc/network/interfaces和/etc/resolvconf/resolv.conf.d/base配置靜態(tài)ip和dns地址以便windows下ssh訪問,并測試internet。
2.2啟動mininet
在h1上啟動一個簡單的web server并用h2訪問測試,如圖1所示。
2.3分析SDN通信過程
SDN中使用的核心協(xié)議OpenFlow工作在TCP傳輸層之上,控制器與交換機在初始化建立連接之前需要先發(fā)送hello消息,以確定雙方通信所使用的OpenFlow協(xié)議的具體版本,如圖2所示。下面通過使用wireshark軟件抓包分析。
h1 ping h2后,當數(shù)據(jù)包到達SDN交換機后交換機首先查找其流表中有無匹配項,如未查到則會將數(shù)據(jù)包進行封裝,以一個packet_in消息的形式將其發(fā)給控制器,而控制器則負責決策并將數(shù)據(jù)包進行封裝,以一個packet_out消息的形式下發(fā)給交換機,交換機收到?jīng)Q策信息后將其添加到流表中,通過這種方式實現(xiàn)兩個主機間的通信,如圖3所示。
3 結束語
通過以上實驗,我們驗證了OpenFlow協(xié)議通信過程,并通過觀察流表驗證了SDN中的控制轉發(fā)分離技術。該方案能幫助學生更好地理解SDN的理論,學生的動手能力和知識掌握都得到一定程度的提升。
參考文獻:
[1] 黃家瑋,韓瑞,鐘萍,等.基于Mininet的計算機網(wǎng)絡實驗教學方案[J].實驗技術與管理,2015(10):139-141.
[2] 張連成,奚琪,郭毅,等.基于Mininet模擬環(huán)境的軟件定義網(wǎng)絡實驗課程設計[J].計算機教育,2015(6):104-107.
[3] 申海杰,陳靖,陳曉范,等.基于SDN的網(wǎng)絡虛擬化實驗教學方案[J].微型電腦應用,2018,34(1):32-36.
【通聯(lián)編輯:朱寶貴】