国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于mininet的SDN架構(gòu)仿真研究

2014-05-25 00:28郝志安
計算機與網(wǎng)絡(luò) 2014年5期
關(guān)鍵詞:流表表項交換機

李 艷 郝志安 李 寧 盧 冀

(中國電子科技集團公司第五十四研究所 河北 石家莊 050081)

基于mininet的SDN架構(gòu)仿真研究

李 艷 郝志安 李 寧 盧 冀

(中國電子科技集團公司第五十四研究所 河北 石家莊 050081)

軟件定義網(wǎng)絡(luò)(SDN)是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),公開標(biāo)準(zhǔn)的OpenFlow技術(shù)是實現(xiàn)SDN架構(gòu)最有效的技術(shù)之一。為進一步研究SDN架構(gòu)的特性,為應(yīng)用創(chuàng)新提供可定義的網(wǎng)絡(luò)平臺,在基于OpenFlow的mininet仿真軟件的基礎(chǔ)上,實現(xiàn)了SDN架構(gòu)的仿真。文章總結(jié)了典型的SDN架構(gòu)的特性,分析了基于OpenFlow技術(shù)的仿真原理和方法,基于Mininet仿真軟件構(gòu)造,驗證了SDN架構(gòu)的功能和基本工作流程,提出的仿真方法和搭建的平臺可為SDN架構(gòu)的研究提供有效的技術(shù)支撐。

SDN OpenFlow Mininet

1 引言

伴隨著云計算、物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)的快速發(fā)展,復(fù)雜的傳統(tǒng)網(wǎng)絡(luò)難以滿足使用需求的增長,而且有太多復(fù)雜的功能加入到路由器設(shè)計里面,比如OSPF、BGP、白名單、策略路由和MPLS等,早期定義的“最精簡”的數(shù)據(jù)通路已經(jīng)臃腫不堪。網(wǎng)絡(luò)的復(fù)雜性已經(jīng)難以靈活地滿足各種業(yè)務(wù)提出的不同資源需求,在這一背景下,SDN的概念被大家廣泛接受和認(rèn)同[1]。SDN是一種基于軟件的網(wǎng)絡(luò)架構(gòu)和技術(shù),支持集中化的網(wǎng)絡(luò)控制,實現(xiàn)了底層網(wǎng)絡(luò)設(shè)施對上層應(yīng)用的透明,具有靈活的軟件編程能力[2],采用軟件定義網(wǎng)絡(luò)的方式,靈活滿足不同用戶的應(yīng)用需求。開放網(wǎng)絡(luò)基金會(Open Networking Foundation, ONF)標(biāo)準(zhǔn)化組織提出的OpenFlow技術(shù),是目前實現(xiàn)SDN唯一的開源標(biāo)準(zhǔn),為SDN架構(gòu)的研究提供了便利方法的方法[3]。

在OpenFlow技術(shù)的基礎(chǔ)上,采用mininet仿真軟件構(gòu)建了SDN模型,給出了驗證SDN架構(gòu)靈活可編程功能的方法,驗證了SDN的控制與轉(zhuǎn)發(fā)分離的架構(gòu),實現(xiàn)了軟件定義網(wǎng)絡(luò)。

2 SDN架構(gòu)

SDN架構(gòu)如圖1所示,傳統(tǒng)網(wǎng)絡(luò)設(shè)備緊耦合的網(wǎng)絡(luò)架構(gòu)被分拆成3個層級:基礎(chǔ)設(shè)施層,控制層和應(yīng)用層?;A(chǔ)設(shè)施層負(fù)責(zé)數(shù)據(jù)高效轉(zhuǎn)發(fā)和狀態(tài)收集;控制層負(fù)責(zé)數(shù)據(jù)平面資源的編排、維護網(wǎng)絡(luò)拓?fù)浜蜖顟B(tài)信息等;應(yīng)用層負(fù)責(zé)各種業(yè)務(wù)應(yīng)用的開展[4]。

圖1 SDN架構(gòu)圖

SDN架構(gòu)具有集中控制、開放接口和網(wǎng)絡(luò)虛擬化的特征,支持控制平面與轉(zhuǎn)發(fā)平面分離,使得底層的網(wǎng)絡(luò)設(shè)備可以被統(tǒng)一控制和管理,而靈活的開放接口推動網(wǎng)絡(luò)業(yè)務(wù)不斷創(chuàng)新。分析SDN架構(gòu)可以看出SDN控制層負(fù)責(zé)整個網(wǎng)絡(luò)的運行,底層網(wǎng)絡(luò)設(shè)備狀態(tài)和控制指令都需要通過SDN的南向接口傳達,北向接口使得業(yè)務(wù)應(yīng)用能夠便利地調(diào)用基礎(chǔ)設(shè)施層的網(wǎng)絡(luò)資源和能力[5]。

南向接口可以采用OpenFlow協(xié)議和OF-CONFIG協(xié)議實現(xiàn),通過OpenFlow協(xié)議實現(xiàn)控制軟件向網(wǎng)絡(luò)設(shè)備(如OpenFlow交換機)發(fā)送流表,控制數(shù)據(jù)流通過網(wǎng)絡(luò)所經(jīng)過的路徑的方式完成對底層網(wǎng)絡(luò)設(shè)備的控制;OF-CONFIG協(xié)議規(guī)定了管理和配置交換機的端口和隊列等。OF-CONFIG與OpenFlow之間存在著密切的關(guān)系,OF-CONFIG提供一個開放接口用于遠(yuǎn)程配置和控制OpenFlow交換機,如在OpenFlow交換機上配置控制器IP地址、對交換機的各個端口進行enable/disable操作等。OF-CONFIG V1.1版本定義了OpenFlow端口和OpenFlow隊列兩類資源,支持OpenFlow交換機與控制器之間的安全通信證書配置,支持OpenFlow邏輯交換機的發(fā)現(xiàn),支持多種數(shù)據(jù)隧道類型(包括IP-in-GRE、NV-GRE和VxLAN等)。通過OpenFlow可以將網(wǎng)絡(luò)控制層和底層物理網(wǎng)絡(luò)硬件分離,實現(xiàn)更精細(xì)的管理,其理念就是軟件定義網(wǎng)絡(luò)。

3 OpenFlow技術(shù)仿真原理

OpenFlow也是由3層架構(gòu)組成,第一層架構(gòu)由支持OpenFlow協(xié)議的交換機組成,第二層是OpenFlow控制器,第三層是OpenFlow軟件應(yīng)用。控制器是一個平臺,可以直接與使用OpenFlow協(xié)議的交換機進行通信,為OpenFlow軟件應(yīng)用提供豐富的功能。OpenFlow軟件應(yīng)用為網(wǎng)絡(luò)執(zhí)行控制功能,如路由交換和會話類應(yīng)用等。

OpenFlow的核心思想很簡單,傳統(tǒng)的FIB表和MAC表等都被OpenFlow協(xié)議統(tǒng)一整合為流表,流表本身的生成、維護和下發(fā)完全有外置的控制器來實現(xiàn),交換機保存控制器下發(fā)流表并且只按照流表進行轉(zhuǎn)發(fā)。進入交換機的數(shù)據(jù)包通過查詢流表來獲得轉(zhuǎn)發(fā)的目的端口[6]。流表由很多個流表項組成,每個流表項就是一個轉(zhuǎn)發(fā)規(guī)則,流表項定義了端口號、VLAN、L2/L3信息等關(guān)鍵字,OpenFlow v1.3中定義的流表項由下列字段組成:

Match fields:對報文進行匹配,包括入端口,報文的頭部和一些可選的元數(shù)據(jù);

Priority:匹配的優(yōu)先級,決定匹配流表項的優(yōu)先順序;

Counters:匹配到的報文統(tǒng)計;

Instructions:修改行為或者進行流水線處理;

Timeouts:用于配置流表項的實效時間;

Cookie:由控制器指定的非透明數(shù)值,控制器可用此字段來過濾流統(tǒng)計,流的修改以及流的刪除。

支持Openflow協(xié)議的交換機通過流表控制數(shù)據(jù)流的轉(zhuǎn)發(fā),流表是交換機進行轉(zhuǎn)發(fā)策略控制的核心數(shù)據(jù)結(jié)構(gòu),交換芯片通過查找流表項來決策對進入交換機的網(wǎng)絡(luò)流量采取何種行為。

數(shù)據(jù)包從第一個流表開始匹配,經(jīng)歷流水線處理。首先,找到流表中優(yōu)先級最高的流條目執(zhí)行匹配,這將根據(jù)入端口、包頭以及有上一個流表指定的元數(shù)據(jù)三類匹配域進行匹配。如果某個數(shù)據(jù)包成功匹配了流表中某個流條目,則更新這個流條目的計數(shù)器計數(shù),同時這個流條目中的指令操作將被應(yīng)用生效。如果指令中沒有指定下一個流表,這時數(shù)據(jù)包通常會被所帶有的動作集合處理后轉(zhuǎn)發(fā)。當(dāng)交換機收到一個不能被當(dāng)前流表各條流匹配的數(shù)據(jù)包時,會把這個數(shù)據(jù)包以openflow的格式(PACKET_IN)發(fā)送給控制器??刂破鹘?jīng)過路由決策后,同樣以openflow的格式(PACKET_OUT)的方式將該數(shù)據(jù)包的下一跳信息回給該交換機。

電解煙氣脫硫采用“雙氧水脫硫塔-高效濕式電除塵器”的工藝流程。包含:吸收塔、循環(huán)泵、雙氧水儲槽、藥劑計量添加泵、稀硫酸儲槽等。尾氣由脫硫塔底部進入,經(jīng)噴淋和填料吸收,與雙氧水溶液充分接觸和反應(yīng),生成稀硫酸。脫硫處理后的煙氣經(jīng)除霧沫后,由塔上部排出。為控制煙氣拖尾和進一步降低尾氣中的污染物濃度,脫硫煙氣經(jīng)脫硫塔后再串聯(lián)進入濕式電除塵器后達標(biāo)排放。工藝流程如圖1 所示。

在仿真實現(xiàn)中,通過Mininet軟件實現(xiàn)OpenFlow控制器和支持OpenFlow協(xié)議的交換機的功能,實現(xiàn)SDN平臺的構(gòu)建。

4 Mininet仿真實現(xiàn)

4.1 Mininet

Stanford大學(xué)Nick McKeown的研究小組基于LinuxContainer架構(gòu),開發(fā)了Mininet平臺。Mininet作為一個輕量級“軟件定義網(wǎng)絡(luò)”研發(fā)和測試平臺,其主要特性包括:①支持OpenFlow、Open vSwitch等網(wǎng)絡(luò)部件;于方便多人協(xié)同開發(fā);③支持系統(tǒng)級的還原測試;④支持復(fù)雜拓?fù)?、自定義拓?fù)洌虎萏峁﹑hthon API;⑥很好的硬件移植性(Linux兼容);⑦高擴展性,支持超過4 096臺主機。

SDN平臺基于Mininet軟件,可以輕易地在PC機上仿真驗證一個軟件定義網(wǎng)絡(luò),對基于OpenFlow和Open vSwitch的各種協(xié)議進行開發(fā)驗證,而且,所有代碼還可以無縫遷移到真實的硬件環(huán)境中。

4.2 仿真建模

演示流表下發(fā):搭建一個網(wǎng)絡(luò)拓?fù)?,?個控制器—c0,1臺交換機—s1,3臺終端—h1、h2和h3,3臺終端與交換機s1相連接,如圖2所示。

圖2 網(wǎng)絡(luò)拓?fù)浣?/p>

4.3 仿真結(jié)果

網(wǎng)絡(luò)建好后,由于控制器流表為空,沒有給OpenFlow交換機下發(fā)流表,OpenFlow交換機沒有收到流表不能對端口接收的數(shù)據(jù)流進行轉(zhuǎn)發(fā),因此,h2 ping h3不能成功。在控制器上通過dpctl手動添加流表項,下發(fā)到Openflow交換機上,完成h2和h3端口的轉(zhuǎn)發(fā)設(shè)置,查看Openflow交換機此時已經(jīng)有流表信息,包括優(yōu)先級、類型和表id等,如下所示:

此時,Openflow交換機上已經(jīng)有了轉(zhuǎn)發(fā)的流表信息,交換機上端口2和3的in_port和out_port增加h2 ping h3操作,結(jié)果可以互通。

在流表下發(fā)和終端之間ping包過程中,可以通過wireshark軟件進行抓包分析。OpenFlow協(xié)議在應(yīng)用中是在傳輸層以上,也就是應(yīng)用層解析的。首先是初始化,發(fā)送hello信息,并協(xié)商使用OF協(xié)議的版本號。

數(shù)據(jù)交互過程中抓到的OpenFlow協(xié)議包如圖3所示,包括交換機和控制器建立起連接后的維護消息Hello,查詢交換機能力的Feature消息、設(shè)置或者查詢配置參數(shù)Configuration消息、控制器指定從交換機的特定端口轉(zhuǎn)發(fā)數(shù)據(jù)包的Packet-in和Packet-Out消息等,在控制器中通過設(shè)置流表中的入端口和出端口參數(shù)就可以讓接收到流表的交換機根據(jù)入端口和出端口參數(shù)實現(xiàn)數(shù)據(jù)流的轉(zhuǎn)發(fā)。

圖3 wireshark抓包分析OpenFlow協(xié)議

5 結(jié)束語

典型的SDN架構(gòu)采用OpenFlow技術(shù)實現(xiàn)了把網(wǎng)絡(luò)數(shù)據(jù)和控制數(shù)據(jù)的分離,靈活改變網(wǎng)絡(luò)行為的意思體現(xiàn)出來,為未來網(wǎng)絡(luò)架構(gòu)及業(yè)務(wù)應(yīng)用發(fā)展提供了有效的方法,在分析基于OpenFlow技術(shù)仿真原理的基礎(chǔ)上,基于Mininet軟件,實現(xiàn)了一套基于OpenFlow技術(shù)的SDN仿真平臺,驗證了控制器對網(wǎng)絡(luò)設(shè)備的靈活控制,為SDN架構(gòu)的研究提供了平臺構(gòu)建及仿真技術(shù)支撐。

[1]趙慧玲,馮明,史凡.SDN—未來網(wǎng)絡(luò)演進的重要趨勢[J].電信科學(xué),2012(11):1-5.

[2]王淑玲,李濟漢,張云.SDN架構(gòu)及安全性研[J].電信科學(xué), 2013(3):117-122.

[3]王文東,胡延楠.軟件定義網(wǎng)絡(luò):正在進行的網(wǎng)絡(luò)變革[J].中興通訊技術(shù),2013(1):39-43.

[4]韋世紅,盧威.基于OpenFlow的未來互聯(lián)網(wǎng)試驗網(wǎng)[J].計算機應(yīng)用系統(tǒng),2013(5):21-24.

[5]侯長逸.OpenFlow網(wǎng)絡(luò)軟件路由研究[J].蘭州大學(xué)學(xué)報, 2013(4):261-263.

[6]趙聯(lián)祥.SDN架構(gòu)下的Open Flow原理探討[J].電信技術(shù), 2013(2):70-72.

Research on SDN Architecture Simulation Based on Mininet

LI Yan HAO Zhi-an LI Ning LU Ji
(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

The Software Defined Networking(SDN)is a new network innovation architecture,and the open OpenFlow technology is one of the most efficient technique for realizing the SDN architecture.In order to further study the characteristics of SDN architecture and provide the definable network platform for application innovation,the simulation of SDN architecture is implemented by using the Mininet simulation software based on OpenFlow technology.This paper summarizes the characteristics of typical SDN architecture, analyzes the simulation principles and methods based on OpenFlow technology,and verifies the functions and basic workflows of SDN architecture based on Mininet simulation software construction.The proposed simulation methods and platform provide the effective technical support for the research on SDN architecture.

SDN;OpenFlow;Mininet

TP393

A

1008-1739(2014)05-57-3

定稿日期:2013-12-26

猜你喜歡
流表表項交換機
基于匹配動作表模型的可編程數(shù)據(jù)平面流表歸并
一種改進的TCAM路由表項管理算法及實現(xiàn)
基于時序與集合的SDN流表更新策略
基于ARMA模型預(yù)測的交換機流表更新算法
修復(fù)損壞的交換機NOS
簡析yangUI流表控制
軟件定義網(wǎng)絡(luò)中一種兩步式多級流表構(gòu)建算法
使用鏈路聚合進行交換機互聯(lián)
SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項轉(zhuǎn)換的流表調(diào)度優(yōu)化
PoE交換機雷擊浪涌防護設(shè)計