軟件定義網(wǎng)絡(luò)(SDN)應(yīng)用基礎(chǔ)(微課版)課件全套 項(xiàng)目1-9 SDN概述及環(huán)境搭建 -使用RG-ONC管理銳捷的SDN設(shè)備_第1頁(yè)
軟件定義網(wǎng)絡(luò)(SDN)應(yīng)用基礎(chǔ)(微課版)課件全套 項(xiàng)目1-9 SDN概述及環(huán)境搭建 -使用RG-ONC管理銳捷的SDN設(shè)備_第2頁(yè)
軟件定義網(wǎng)絡(luò)(SDN)應(yīng)用基礎(chǔ)(微課版)課件全套 項(xiàng)目1-9 SDN概述及環(huán)境搭建 -使用RG-ONC管理銳捷的SDN設(shè)備_第3頁(yè)
軟件定義網(wǎng)絡(luò)(SDN)應(yīng)用基礎(chǔ)(微課版)課件全套 項(xiàng)目1-9 SDN概述及環(huán)境搭建 -使用RG-ONC管理銳捷的SDN設(shè)備_第4頁(yè)
軟件定義網(wǎng)絡(luò)(SDN)應(yīng)用基礎(chǔ)(微課版)課件全套 項(xiàng)目1-9 SDN概述及環(huán)境搭建 -使用RG-ONC管理銳捷的SDN設(shè)備_第5頁(yè)
已閱讀5頁(yè),還剩767頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目1SDN概述及環(huán)境搭建學(xué)習(xí)目標(biāo)項(xiàng)目背景項(xiàng)目需求分析項(xiàng)目相關(guān)知識(shí)項(xiàng)目實(shí)施項(xiàng)目習(xí)題目錄(1)了解Ubuntu系統(tǒng)及企業(yè)應(yīng)用場(chǎng)景。(2)掌握Ubuntu系統(tǒng)的安裝過(guò)程。(3)掌握SDN的基本概念和體系架構(gòu)。(4)了解常用的SDN測(cè)試工具安裝和使用方法。學(xué)習(xí)目標(biāo)項(xiàng)目背景隨著軟件定義網(wǎng)絡(luò)(SoftwareNetwork,SDN)的快速發(fā)展與逐步成熟,jan16公擬將公司的網(wǎng)絡(luò)從傳統(tǒng)網(wǎng)絡(luò)架構(gòu)逐步升級(jí)為SDN架構(gòu)。為了讓網(wǎng)絡(luò)管理員盡快熟悉SDN網(wǎng)絡(luò)工作環(huán)境,公司將使用一臺(tái)全新的服務(wù)器用于搭建SDN網(wǎng)絡(luò)架構(gòu)的測(cè)試環(huán)境。網(wǎng)絡(luò)管理員需要快速了解SDN的架構(gòu)及概念,然后需要在服務(wù)器上部署虛擬化環(huán)境,并在虛擬機(jī)上安裝Ubuntu操作系統(tǒng)、和SDN測(cè)試環(huán)境。網(wǎng)絡(luò)管理員還需要將用于SDN測(cè)試的常用工具安裝到Ubuntu操作系統(tǒng)中。安裝Ubuntu系統(tǒng)的軟硬件環(huán)境如表1-1所示。項(xiàng)目背景角色主機(jī)名系統(tǒng)版本硬件配置軟件配置模板機(jī)UbuntuUbuntu18.04CPU:4核心內(nèi)存:2GB硬盤:50G網(wǎng)卡數(shù):2Postman、Wireshark、Openssh-Server、Git、Gcc、Make、Vim表1-1安裝Ubuntu系統(tǒng)的軟硬件環(huán)境信息表SDN測(cè)試需要控制器、交換機(jī)、主機(jī)等不同角色的虛擬機(jī),因此,可以基于安裝好的第一臺(tái)Ubuntu虛擬機(jī)作為模板機(jī),然后克隆出若干臺(tái)虛擬機(jī)來(lái)構(gòu)建SDN測(cè)試環(huán)境??寺〉奶摂M機(jī)需要進(jìn)行命名和初始化操作,SDN測(cè)試環(huán)境的角色規(guī)劃如表1-2所示,網(wǎng)絡(luò)規(guī)劃如表1-3所示。項(xiàng)目背景表1-2角色規(guī)劃表角色主機(jī)名登錄賬戶密碼控制器controllerclassroomH3cu@123交換機(jī)switch1classroomH3cu@123主機(jī)1PCHost-1classroomH3cu@123主機(jī)2PCHost-2classroomH3cu@123項(xiàng)目背景表1-3網(wǎng)絡(luò)規(guī)劃表主機(jī)名稱端口IP地址用途LAN區(qū)段controllerens33DHCP連接互聯(lián)網(wǎng)

ens340/24SDN控制網(wǎng)Lan0switch1ens33DHCP連接互聯(lián)網(wǎng)

ens340/24SDN控制網(wǎng)Lan0ens35無(wú)IP地址SDN數(shù)據(jù)網(wǎng)Lan1ens36無(wú)IP地址SDN數(shù)據(jù)網(wǎng)Lan2PCHost-1ens33DHCP連接互聯(lián)網(wǎng)

ens3428/24SDN數(shù)據(jù)網(wǎng)Lan1PCHost-2ens33DHCP連接互聯(lián)網(wǎng)

ens3429/24SDN數(shù)據(jù)網(wǎng)Lan2項(xiàng)目需求分析Ubuntu是開(kāi)源Linux發(fā)行版本之一,有強(qiáng)大的社區(qū)支持,其軟件的版本大部分都與互聯(lián)網(wǎng)中的最新版本一致,因此Ubuntu較適合構(gòu)建公司SDN架構(gòu)的測(cè)試環(huán)境。在本項(xiàng)目中,需要部署安裝Ubuntu虛擬機(jī),并在虛擬機(jī)中安裝常用的網(wǎng)絡(luò)測(cè)試工具。綜上所述,本次項(xiàng)目涉及如下幾點(diǎn)任務(wù)。(1)安裝Ubuntu18.04操作系統(tǒng),并完成系統(tǒng)的初始化操作和軟件工具的安裝。(2)以新安裝的虛擬主機(jī)為模板,按角色規(guī)劃表完成虛擬機(jī)的克隆,然后按網(wǎng)絡(luò)規(guī)劃表完成網(wǎng)絡(luò)互聯(lián),構(gòu)建小型SDN測(cè)試局域網(wǎng)。項(xiàng)目分析項(xiàng)目相關(guān)知識(shí)1.SDN概述SDN是由美國(guó)斯坦福大學(xué)課題研究組提出的一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),是網(wǎng)絡(luò)虛擬化的實(shí)現(xiàn)方式。SDN以O(shè)penFlow為核心技術(shù),將網(wǎng)絡(luò)設(shè)備的控制面與數(shù)據(jù)面分離開(kāi)來(lái),從而實(shí)現(xiàn)網(wǎng)絡(luò)流量的靈活控制,使網(wǎng)絡(luò)變得更加智能,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供良好的平臺(tái)。2.SDN誕生的背景SDN軟件定義網(wǎng)絡(luò)的出現(xiàn)并非偶然,其總體背景概括如下。①隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,5G時(shí)代已來(lái)臨,以前的單數(shù)據(jù)中心逐漸變?yōu)槎嘧鈶粜蛿?shù)據(jù)中心,網(wǎng)絡(luò)功能與需求越來(lái)越復(fù)雜多樣。②大寬帶、高質(zhì)量的視頻業(yè)務(wù)及物聯(lián)網(wǎng)等業(yè)務(wù)的快速發(fā)展,多元、多變的網(wǎng)絡(luò)上層應(yīng)用業(yè)務(wù)讓相對(duì)穩(wěn)定的傳統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)與運(yùn)維之間的矛盾越來(lái)越突出,需要由傳統(tǒng)網(wǎng)絡(luò)向新型網(wǎng)絡(luò)轉(zhuǎn)變。1.3.1SDN概述及發(fā)展③使用單一設(shè)備的傳統(tǒng)網(wǎng)絡(luò)架構(gòu)無(wú)法解決用戶多樣且復(fù)雜的需求,上層業(yè)務(wù)亟需彈性、靈活多變且可編程的底層網(wǎng)絡(luò)。④網(wǎng)絡(luò)設(shè)備類型和網(wǎng)絡(luò)設(shè)備廠家來(lái)源的多樣性導(dǎo)致了傳統(tǒng)網(wǎng)絡(luò)架構(gòu)調(diào)整的難度和復(fù)雜度,網(wǎng)絡(luò)系統(tǒng)運(yùn)維管理的成本也隨之增加。⑤傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的服務(wù)質(zhì)量難盡人意、傳統(tǒng)網(wǎng)絡(luò)架構(gòu)建設(shè)成本高昂等問(wèn)題也亟需傳統(tǒng)網(wǎng)絡(luò)向新型網(wǎng)絡(luò)的轉(zhuǎn)變。3.SDN發(fā)展歷程2006年至2009年,SDN起源于斯坦福大學(xué)NickMcKeown(尼克·麥基翁)教授團(tuán)隊(duì)的科研項(xiàng)目,隨后提出了OpenFlow的概念并發(fā)表了論文詳細(xì)介紹OpenFlow的概念、工作原理和其應(yīng)用場(chǎng)景,并發(fā)布了基于Python的控制器和可用于商業(yè)化產(chǎn)品的OpenFlowv1.0版規(guī)范。1.3.1SDN概述及發(fā)展2011年,ONF(開(kāi)放網(wǎng)絡(luò)基金會(huì))成立;第一屆開(kāi)放網(wǎng)絡(luò)峰會(huì)在北京召開(kāi);ONRC(開(kāi)放網(wǎng)絡(luò)研究中心)成立并發(fā)布了一系列有影響力的開(kāi)源SDN項(xiàng)目;SDN在工業(yè)界受到廣泛關(guān)注。2013年,多家設(shè)備廠商發(fā)起成立了OpenDayLight項(xiàng)目,與Linux基金會(huì)合作,開(kāi)發(fā)SDN控制器、南向、北向API等軟件,宣布要推出工業(yè)級(jí)的開(kāi)源SDN控制器。2015年,ONF發(fā)布第一個(gè)開(kāi)源SDN項(xiàng)目社區(qū),軟件定義廣域網(wǎng)(SD-WAN)成為第二個(gè)成熟的SDN應(yīng)用市場(chǎng);SDN與網(wǎng)絡(luò)虛擬化功能(NetworkFunctionsVirtualization,NFV)融合成為趨勢(shì)。2019年,5G商用元年,SDN滲透到各行業(yè)中,SDN+NFV+AI成為5G網(wǎng)絡(luò)架構(gòu)創(chuàng)新的幾大關(guān)鍵使能技術(shù),同時(shí)國(guó)際電信聯(lián)盟(InternationalTelecommunicationUnion,ITU-T)、開(kāi)放網(wǎng)絡(luò)基金會(huì)(OpenNetworkingFoundation,ONF)等組織積極推動(dòng)SND北向接口的標(biāo)準(zhǔn)化。1.3.1SDN概述及發(fā)展2021年,在領(lǐng)航者峰會(huì)上正式推出了AD-NET6.0版本,將傳統(tǒng)網(wǎng)絡(luò)的基礎(chǔ)上,融合了SDN、NFV、AI等新技術(shù),采用最新的云原生架構(gòu),推動(dòng)了傳統(tǒng)網(wǎng)絡(luò)邁入云原生的新時(shí)代,提高了SDN的商用價(jià)值。4.SDN發(fā)展方向在現(xiàn)代的數(shù)據(jù)中心網(wǎng)絡(luò)包含了計(jì)算機(jī)網(wǎng)絡(luò)、存儲(chǔ)網(wǎng)絡(luò)和域控制(DomainController,DC)互聯(lián)網(wǎng)絡(luò);而這三個(gè)網(wǎng)絡(luò)目前均以手動(dòng)配置為主,業(yè)務(wù)部署效率和資源利用率低,成為了云業(yè)務(wù)高效發(fā)展的瓶頸。SDN能通過(guò)軟件定義實(shí)現(xiàn)的自動(dòng)化部署,將從根本上解決此類問(wèn)題。軟件定義廣域網(wǎng)(SoftwareDefinedWideAreaNetwork,SD-WAN),它與SDN有著相同的理念:將轉(zhuǎn)發(fā)與控制相互分離,簡(jiǎn)化網(wǎng)絡(luò)管理和操作。而SDN主要是針對(duì)數(shù)據(jù)中心的網(wǎng)絡(luò),SD-WAN則針對(duì)的是廣域網(wǎng)WAN。1.3.1SDN概述及發(fā)展1.SDN架構(gòu)在SDN的定義中,傳統(tǒng)網(wǎng)絡(luò)設(shè)備緊耦合的網(wǎng)絡(luò)架構(gòu)被分拆成應(yīng)用、控制、轉(zhuǎn)發(fā)三層分離的架構(gòu)??刂乒δ鼙晦D(zhuǎn)移到了服務(wù)器,上層應(yīng)用、底層轉(zhuǎn)發(fā)設(shè)施被抽象成多個(gè)邏輯實(shí)體。SDN軟件定義網(wǎng)絡(luò)的架構(gòu)如圖1-1所示。1.3.2SDN的架構(gòu)、特征與優(yōu)勢(shì)圖1-1SDN軟件定義網(wǎng)絡(luò)的架構(gòu)2.SDN關(guān)鍵層次SDN軟件定義網(wǎng)絡(luò)架構(gòu)中的關(guān)鍵層次主要包括兩部分:一部分是負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)的基礎(chǔ)設(shè)施層,包含支持OpenFlow協(xié)議的交換機(jī)、路由器、虛擬交換機(jī)OpenvSwitch等;另一部分是負(fù)責(zé)控制數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則的控制層,包括OpenDayLight(ODL)、Floodlight、ONOS、POX等控制器。最后一部分則是應(yīng)用層,用戶可根據(jù)自身需求,通過(guò)控制層對(duì)外提供的API接口,直接與控制器進(jìn)行交互,開(kāi)發(fā)用于管理、優(yōu)化網(wǎng)絡(luò)的應(yīng)用程序。3.SDN關(guān)鍵技術(shù)SDN軟件定義網(wǎng)絡(luò)架構(gòu)中的關(guān)鍵技術(shù)主要有:轉(zhuǎn)發(fā)層技術(shù)、控制層技術(shù)、應(yīng)用層技術(shù)、南向接口技術(shù)、北向接口技術(shù)等。1.3.2SDN的架構(gòu)、特征與優(yōu)勢(shì)(1)轉(zhuǎn)發(fā)層技術(shù)該技術(shù)是指對(duì)轉(zhuǎn)發(fā)平面進(jìn)行抽象建模的技術(shù),ONF標(biāo)準(zhǔn)組織標(biāo)準(zhǔn)化了OpenFlow協(xié)議,在該協(xié)議中轉(zhuǎn)發(fā)平面設(shè)備被抽象為一個(gè)由多級(jí)流表(FlowTable)驅(qū)動(dòng)的轉(zhuǎn)發(fā)模型。在這個(gè)轉(zhuǎn)發(fā)模型中,動(dòng)作(Actions)和指示(Instructions)決定了OpenFlow對(duì)轉(zhuǎn)發(fā)平面的抽象能力,如修改報(bào)文頭部各個(gè)字段值、封裝/解封裝、將TTL值在內(nèi)/外層頭部之間進(jìn)行復(fù)制、輸出到一個(gè)端口或一組端口,實(shí)現(xiàn)組播、多路徑轉(zhuǎn)發(fā)、負(fù)載均衡。(2)控制層技術(shù)該技術(shù)是SDN軟件定義網(wǎng)絡(luò)架構(gòu)中的核心部分,它的關(guān)鍵是指SDN軟件定義網(wǎng)絡(luò)的控制器,也可以稱為是網(wǎng)絡(luò)操作系統(tǒng)或網(wǎng)絡(luò)控制器。SDN控制器對(duì)轉(zhuǎn)發(fā)面進(jìn)行轉(zhuǎn)發(fā)策略的調(diào)度和管理,用戶可以通過(guò)SDN控制器調(diào)用北向接口開(kāi)發(fā)上層應(yīng)用,使網(wǎng)絡(luò)能夠更加智能,通過(guò)SDN控制器調(diào)用南向接口兼容轉(zhuǎn)發(fā)層中使用的不同設(shè)備。1.3.2SDN的架構(gòu)、特征與優(yōu)勢(shì)(3)應(yīng)用層技術(shù)該技術(shù)是指基于SDN軟件定義網(wǎng)絡(luò)的理念改造傳統(tǒng)的應(yīng)用、替換或擴(kuò)展傳統(tǒng)網(wǎng)絡(luò)中需要利用硬件實(shí)現(xiàn)的功能(如負(fù)載均衡、訪問(wèn)控制、應(yīng)用加速等)的交付能力,應(yīng)用層技術(shù)主要是基于SDN控制器提供的北向接口實(shí)現(xiàn)。(4)南向接口技術(shù)該技術(shù)主要也是指基于OpenFlow標(biāo)準(zhǔn)協(xié)議的技術(shù),它主要提供了對(duì)底層的轉(zhuǎn)發(fā)面抽象為數(shù)據(jù)模型的能力,使得SDN控制器可以基于南向接口技術(shù)對(duì)底層的不同類型的轉(zhuǎn)發(fā)設(shè)備(交換機(jī)、路由器等)進(jìn)行統(tǒng)一控制,進(jìn)而自定義、控制交換機(jī)的具體行為。(5)北向接口技術(shù)該技術(shù)主要是指基于SDN控制器提供的對(duì)外的API接口技術(shù),它主要提供了一個(gè)統(tǒng)一的API接口的集合,用戶通過(guò)這個(gè)API接口的集合可以開(kāi)發(fā)上層應(yīng)用進(jìn)而擴(kuò)展SDN控制器的功能(如交換機(jī)狀態(tài)收集、靜態(tài)流表推送、防火墻策略等)。1.3.2SDN的架構(gòu)、特征與優(yōu)勢(shì)4.SDN特征SDN的特征如下:(1)集中控制SDN使得全局優(yōu)化成為可能,如流量工程、負(fù)載均衡;使得整個(gè)網(wǎng)絡(luò)可以當(dāng)作一臺(tái)設(shè)備進(jìn)行維護(hù),實(shí)現(xiàn)設(shè)備零配置,即插即用,大大降低了運(yùn)維成本。(2)開(kāi)放接口SDN中的應(yīng)用和網(wǎng)絡(luò)無(wú)縫集成,應(yīng)用告知網(wǎng)絡(luò)如何運(yùn)行才能更好地滿足應(yīng)用的需求,如業(yè)務(wù)的帶寬、時(shí)延需求,計(jì)費(fèi)對(duì)路由的影響等。另外,用戶還可以自行開(kāi)發(fā)網(wǎng)絡(luò)新功能,縮短新功能面世周期。1.3.2SDN的架構(gòu)、特征與優(yōu)勢(shì)(3)網(wǎng)絡(luò)虛擬化SDN實(shí)現(xiàn)了將邏輯網(wǎng)絡(luò)和物理網(wǎng)絡(luò)的分離,邏輯網(wǎng)絡(luò)可以根據(jù)業(yè)務(wù)需要配置、遷移,不受物理位置的限制;并且支持多租戶,每個(gè)租戶可以自行定義帶寬需求和私有編址。5.SDN優(yōu)勢(shì)SDN軟件定義網(wǎng)絡(luò)的優(yōu)勢(shì)主要有以下三點(diǎn)。①控制平面與數(shù)據(jù)平面分離,支持分布式系統(tǒng)的集中控制。②開(kāi)放的數(shù)據(jù)平面控制協(xié)議,降低交換設(shè)備門檻,避免廠商的鎖定。③開(kāi)放的控制平面管理接口,用戶可以通過(guò)網(wǎng)絡(luò)API編寫業(yè)務(wù)。1.3.2SDN的架構(gòu)、特征與優(yōu)勢(shì)SDN的實(shí)現(xiàn)方案分為三種:基于專用接口的SDN實(shí)現(xiàn)方案、基于疊加網(wǎng)絡(luò)的SDN實(shí)現(xiàn)方案和基于開(kāi)放協(xié)議的SDN實(shí)現(xiàn)方案。具體實(shí)現(xiàn)方案如表1-4所示。1.3.3SDN的實(shí)現(xiàn)方案方案類型方案優(yōu)點(diǎn)方案缺點(diǎn)廠商類型典型廠商基于專用接口能夠依托網(wǎng)絡(luò)設(shè)備廠商已有的產(chǎn)品體系,對(duì)現(xiàn)有的網(wǎng)絡(luò)部署改動(dòng)小,實(shí)施部署方便快捷接口與設(shè)備之間存在緊密耦合關(guān)系,開(kāi)放性不足,存在著網(wǎng)絡(luò)設(shè)備和能力被廠商鎖定的風(fēng)險(xiǎn)傳統(tǒng)網(wǎng)絡(luò)設(shè)備廠商思科基于疊加網(wǎng)絡(luò)利用隧道技術(shù)屏蔽底層物理網(wǎng)絡(luò)的實(shí)現(xiàn)細(xì)節(jié),通過(guò)集中管控實(shí)現(xiàn)了網(wǎng)絡(luò)資源的按需調(diào)度應(yīng)用效果受到底層網(wǎng)絡(luò)質(zhì)量的影響,增加了網(wǎng)絡(luò)架構(gòu)的復(fù)雜度,并降低了數(shù)據(jù)的處理性能虛擬化技術(shù)廠商、IT設(shè)備廠商VMware、華為、華三基于開(kāi)放協(xié)議擁有充分的開(kāi)放性,降低了網(wǎng)絡(luò)設(shè)備領(lǐng)域的進(jìn)入門檻,推動(dòng)網(wǎng)絡(luò)業(yè)務(wù)創(chuàng)新方案有待成熟,不同標(biāo)準(zhǔn)化組織激烈競(jìng)爭(zhēng),均希望掌握這一領(lǐng)域的主導(dǎo)權(quán)網(wǎng)絡(luò)設(shè)備廠商、運(yùn)營(yíng)商、互聯(lián)網(wǎng)服務(wù)提供商BigSwitch、華為表1-4SDN軟件定義網(wǎng)絡(luò)的實(shí)現(xiàn)方案VMware工作站(VMwareWorkstation,VMW)軟件是VMware公司一款收費(fèi)的虛擬化產(chǎn)品;VMW是直接在Windows操作系統(tǒng)上進(jìn)行虛擬化環(huán)境構(gòu)建的一種輕量化解決方案,用戶可以通過(guò)此軟件在一臺(tái)服務(wù)器上模擬多臺(tái)虛擬主機(jī),它同時(shí)支持多種類型的操作系統(tǒng),如Windows、RedHat、Centos、Ubuntu、VMWareESXi等;由于其輕量化的架構(gòu),VMW比較適合微企業(yè)少業(yè)務(wù)量的應(yīng)用場(chǎng)景,能有效減少企業(yè)業(yè)務(wù)上云成本和維護(hù)成本;VMW軟件可從官網(wǎng)下載,官網(wǎng)下載頁(yè)面如圖1-2所示。1.3.4VMwareWorkstation虛擬環(huán)境圖1-2VMW官網(wǎng)下載頁(yè)面Ubuntu是一個(gè)以桌面運(yùn)用為主的開(kāi)源Linux操作系統(tǒng),此操作系統(tǒng)基于Debian發(fā)行版和Unity桌面環(huán)境,通常它每6個(gè)月會(huì)更新一次版本;Ubuntu具有龐大的用戶群體和良好的社區(qū)生態(tài)環(huán)境,其目標(biāo)在于為一般用戶提供最新的、穩(wěn)定的操作系統(tǒng)。Ubuntu桌面版可從官網(wǎng)下載,如圖1-3所示。1.3.5Ubuntu系統(tǒng)圖1-3Ubuntu桌面版官網(wǎng)下載頁(yè)面1.抓包分析工具-Wireshark Wireshark是一個(gè)免費(fèi)開(kāi)源的網(wǎng)絡(luò)數(shù)據(jù)包分析軟件,用于截取網(wǎng)絡(luò)數(shù)據(jù)包并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)。Wireshark擁有業(yè)界最強(qiáng)大的顯示過(guò)濾工具,可以支持?jǐn)?shù)百種協(xié)議和許多不同的捕獲報(bào)格式,同時(shí)還支持許多協(xié)議的解密,包括IPsec(IPSecurity)、ISAKMP(InternetSecurityAssociationAndKeyManagementProtocol)、Kerberos、SNMPv3(SimpleNetworkManagementProtocolv3)、安全套接字層/傳輸層安全協(xié)議(SecureSocketLayer/TransportLayerSecurity,SSL/TLS)、有線等效密保(WiredEquivalentPrivacy,WEP)和無(wú)線保護(hù)接入(WiFiProtectedAccess,WPA/WPA2)。

1.3.6SDN測(cè)試相關(guān)工具Wireshark可以實(shí)時(shí)捕捉數(shù)據(jù)包和離線分析,能以標(biāo)準(zhǔn)三窗格分組顯示,支持Windows、Linux、macOS、Solaris、FreeBSD和NetBSD等平臺(tái),捕獲的網(wǎng)絡(luò)數(shù)據(jù)可以通過(guò)圖形用戶接口(GraphicalUserInterface(GUI))或TTY-modeTShark實(shí)用程序?yàn)g覽,能進(jìn)行豐富的VoIP分析。Wireshark在Ubuntu系統(tǒng)上有很好的軟件兼容性,用戶可以在聯(lián)網(wǎng)成功后使用Ubuntu自帶的軟件庫(kù)通過(guò)apt命令安裝軟件,也可以通過(guò)編譯安裝的方式進(jìn)行安裝。Wireshark官方網(wǎng)站下載頁(yè)面如圖1-4所示。

1.3.6SDN測(cè)試相關(guān)工具圖1-4Wireshark官方網(wǎng)站下載頁(yè)面Wireshark的實(shí)現(xiàn)基于分解器(dissector),網(wǎng)絡(luò)上每一層的協(xié)議都有對(duì)應(yīng)的分解器,分解器的作用是把每一層的信息分解,顯示出首部字段,把有效載荷字段傳遞給上一層的分解器,以達(dá)到逐層分解的目的。(1)使用Wireshark抓取網(wǎng)絡(luò)數(shù)據(jù)包的流程①啟動(dòng)Wireshark。②選擇捕獲接口。建議選擇需要抓取數(shù)據(jù)包的網(wǎng)絡(luò)接口,避免抓取其他無(wú)用的數(shù)據(jù)。③使用捕獲過(guò)濾器。通過(guò)設(shè)置捕獲過(guò)濾器,能進(jìn)一步精確捕獲需要的數(shù)據(jù),避免產(chǎn)生過(guò)大的捕獲文件,同時(shí)節(jié)約用戶分析數(shù)據(jù)時(shí)的時(shí)間。④使用顯示過(guò)濾器。通常使用捕獲過(guò)濾器過(guò)濾后的數(shù)據(jù),往往仍很復(fù)雜。為了使過(guò)濾的數(shù)據(jù)包再更細(xì)致,此時(shí)使用顯示過(guò)濾器進(jìn)行過(guò)濾。⑤使用著色規(guī)則。通常使用顯示過(guò)濾器過(guò)濾后的數(shù)據(jù),如果想更加突出地顯示某個(gè)會(huì)話,可以使用著色規(guī)則高亮顯示。

1.3.6SDN測(cè)試相關(guān)工具⑥構(gòu)建圖表。如果用戶想要更明顯地看出一個(gè)網(wǎng)絡(luò)中數(shù)據(jù)的變化情況,則需要使用圖表的形式方便地展現(xiàn)數(shù)據(jù)分布情況。⑦重組數(shù)據(jù)。Wireshark的重組功能,可以重組一個(gè)會(huì)話中不同數(shù)據(jù)包的信息或者是重組一個(gè)完整的圖片或文件。由于傳輸?shù)奈募^大,所以信息分布在多個(gè)數(shù)據(jù)包中。為了能夠查看到整個(gè)圖片或文件,此時(shí)需要使用重組數(shù)據(jù)的方法來(lái)實(shí)現(xiàn)。(2)Wireshark工具的安裝步驟①確保Ubuntu操作系統(tǒng)能連接互聯(lián)網(wǎng)。②通過(guò)apt相關(guān)命令更新操作系統(tǒng)的軟件倉(cāng)庫(kù)列表。③通過(guò)aptinstall命令自動(dòng)安裝wireshark工具。

1.3.6SDN測(cè)試相關(guān)工具root@hostname:~#aptupdateroot@hostname:~#aptinstallwireshark提示:在默認(rèn)情況下,安裝Wireshark的過(guò)程中會(huì)彈出Configuringwireshark-common界面詢問(wèn)是否允許Wireshark被操作系統(tǒng)中的所有用戶使用。用戶可以根據(jù)自身安全需求選擇,默認(rèn)情況下不允許所有用戶使用。Configuringwireshark-common界面如圖1-5所示。

1.3.6SDN測(cè)試相關(guān)工具圖1-5Configuringwireshark-common界面Wireshark工具安裝完畢后,推薦用戶切換為root用戶身份,再通過(guò)命令啟動(dòng)Wireshark,Wireshark啟動(dòng)后的圖形窗口如圖1-6所示。

1.3.6SDN測(cè)試相關(guān)工具圖1-6Wireshark啟動(dòng)后的圖形窗口Wireshark圖形窗口中主要各圖標(biāo)的含義如下。開(kāi)始抓取數(shù)據(jù)包的按鈕。停止抓取數(shù)據(jù)包的按鈕。重新抓取數(shù)據(jù)包的按鈕。停止抓取數(shù)據(jù)包后更改數(shù)據(jù)包抓取端口。2.HTTP請(qǐng)求測(cè)試工具-Postman(1)Postman的主要功能①模擬各種HTTPrequests。從常用的GET、POST到RESTful的PUT、DELETE等操作均可進(jìn)行模擬,甚至還可以模擬發(fā)送文件、設(shè)置請(qǐng)求的頭部信息。

1.3.6SDN測(cè)試相關(guān)工具②Collection功能(測(cè)試集合)。利用Collection的歸類,可以分類測(cè)試軟件所提供的API。而且Collection還可以引入(Import)或是分享(Share)出來(lái),讓團(tuán)隊(duì)里面的所有人共享你建立起來(lái)的Collection。③人性化的Response整理。Postman可以針對(duì)Response內(nèi)容的格式自動(dòng)美化。JSON、XML或是HTML都會(huì)整理成便于閱讀的格式。④內(nèi)置測(cè)試腳本語(yǔ)言。Postman支持編寫測(cè)試腳本,可以快速的檢查request的結(jié)果,并返回測(cè)試結(jié)果。⑤設(shè)定變量與環(huán)境。Postman可以自由設(shè)定變量與環(huán)境。在Ubuntu系統(tǒng)中,只能通過(guò)源碼方式安裝Postman工具,可通過(guò)Postman官網(wǎng)下載。

1.3.6SDN測(cè)試相關(guān)工具(2)Postman工具安裝步驟①確保操作系統(tǒng)能連接互聯(lián)網(wǎng)。②通過(guò)snap命令獲取Postman工具包。③通過(guò)“postman”命令打開(kāi)應(yīng)用程序。

1.3.6SDN測(cè)試相關(guān)工具root@hostname:~#snapinstallpostmanroot@hostname:~#postman(3)Postman圖形窗口,Postman的圖形窗口如圖1-7所示。

1.3.6SDN測(cè)試相關(guān)工具圖1-7Postman圖形窗口(4)Postman窗口界面選項(xiàng)解析a.Collections相當(dāng)于是存放同一個(gè)項(xiàng)目Request的文件夾。b.黑色字體表示當(dāng)前Request的名稱,下方為此Request的描述。c.選擇HTTPMethod,常用為GET(獲?。?、POST(創(chuàng)建)、PUT(推送)、DELETE(刪除)。d.填寫測(cè)試HTTP的路徑。e.設(shè)置URL參數(shù)的key和value。f.單擊可發(fā)送請(qǐng)求測(cè)試。g.單擊可保存Request記錄到Collections。h.設(shè)置鑒權(quán)參數(shù)。i.自定義HTTPHeader頭部參數(shù)。j.單擊可進(jìn)入Body選項(xiàng)頁(yè),設(shè)置Requestbody。k.可設(shè)置發(fā)起請(qǐng)求之前執(zhí)行的腳本。

1.3.6SDN測(cè)試相關(guān)工具l.設(shè)置收到response之后執(zhí)行的測(cè)試,測(cè)試執(zhí)行的結(jié)果將在p選項(xiàng)頁(yè)中顯示。n.設(shè)置Body的格式,其中form-data主要用于上傳文件,x-www-form-urlencoded是表單常用的格式,raw可以用來(lái)上傳JSON數(shù)據(jù),binary用于二進(jìn)制格式的數(shù)據(jù)。m.設(shè)置顯示測(cè)試返回?cái)?shù)據(jù)的格式,其中Pretty可以看到格式化后的JSON,Raw就是未經(jīng)處理的數(shù)據(jù),Preview可以預(yù)覽HTML頁(yè)面。o.單擊后可以將結(jié)果保存到本地。p.設(shè)置環(huán)境變量(environmentvariables)和全局變量(globalvariables)。項(xiàng)目實(shí)施1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)任務(wù)規(guī)劃在VMW軟件中安裝Ubuntu操作系統(tǒng),并安裝SDN網(wǎng)絡(luò)所需的軟件環(huán)境。為方便測(cè)試,可關(guān)閉系統(tǒng)休眠,設(shè)置終端命令行啟動(dòng)器鎖定至任務(wù)欄。系統(tǒng)拓?fù)淙鐖D1-8所示。系統(tǒng)的安裝和初始化操作,可以通過(guò)以下步驟來(lái)完成。(1)通過(guò)鏡像引導(dǎo)完成Ubuntu操作系統(tǒng)的安裝;(2)通過(guò)系統(tǒng)內(nèi)置的倉(cāng)庫(kù)源,完成基本軟件的安裝;(3)通過(guò)Ubuntu系統(tǒng)設(shè)置,完成休眠和終端命令行的配置。圖1-8系統(tǒng)拓?fù)鋱D1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)任務(wù)實(shí)施1、通過(guò)鏡像引導(dǎo)完成Ubuntu操作系統(tǒng)的安裝(1)VMW16pro安裝過(guò)程略(默認(rèn)已經(jīng)在服務(wù)器上安裝完成)。在VMW16界面中單擊【文件】菜單,在彈出的下拉式菜單中點(diǎn)擊【新建虛擬機(jī)】命令,開(kāi)始創(chuàng)建Ubuntu虛擬機(jī),這里將創(chuàng)建一臺(tái)名為Ubuntu的虛擬機(jī)。(2)根據(jù)表1-1所示的Ubuntu系統(tǒng)軟硬件環(huán)境信息設(shè)置新建虛擬機(jī)的配置,其中兩塊網(wǎng)卡一個(gè)設(shè)置為NAT模式,用于連接外網(wǎng),一個(gè)設(shè)置為私網(wǎng)LAN網(wǎng)卡,用于測(cè)試。DVD驅(qū)動(dòng)器裝載Ubuntu18.04的ISO鏡像文件,虛擬機(jī)Ubuntu的配置結(jié)果如圖1-9所示。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-9虛擬機(jī)Ubuntu配置結(jié)果(3)啟動(dòng)創(chuàng)建好的Ubuntu虛擬機(jī),開(kāi)始安裝Ubuntu操作系統(tǒng)。啟動(dòng)后的界面如圖1-10所示,選擇【English】語(yǔ)言選項(xiàng),然后單擊【InstallUbuntu】按鈕進(jìn)入下一步。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-10Ubuntu首次啟動(dòng)安裝程序界面(4)在彈出的安裝程序提示對(duì)話框中選擇Minimalinstallation單選按鈕,然后單擊Continue按鈕進(jìn)入下一步,如圖1-11所示。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-11安裝類型選擇界面(5)在彈出的鍵盤布局選項(xiàng)頁(yè)面中選擇“English(US)”,然后單擊“Continue”按鈕進(jìn)入下一步,如圖1-12所示。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-12鍵盤布局界面(6)選擇磁盤分區(qū)方式。選中ErasediskandinstallUbuntu單選按鈕后,單擊InstallNow按鈕,在后面彈出的磁盤寫入警告提示框中單擊Continue按鈕,繼續(xù)下一步,如圖1-13所示。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-13Ubuntu磁盤分區(qū)方式(7)在系統(tǒng)時(shí)區(qū)選擇界面,在下方輸入框內(nèi)填入Shanghai,單擊Continue按鈕,如圖1-14所示。(8)創(chuàng)建默認(rèn)非root用戶后開(kāi)始安裝,在“Yourname”文本框中填寫為classroom,“Chooseapassword”和“Confirmyourpassword”密碼選項(xiàng)填寫為“Jan16@123”,以便后面登錄驗(yàn)證,結(jié)果如圖1-15所示。安裝過(guò)程如圖1-16所示。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-14Ubuntu系統(tǒng)時(shí)區(qū)選擇界面1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-15創(chuàng)建非root用戶界面圖1-16執(zhí)行安裝過(guò)程界面(9)安裝完畢,按照提示重啟系統(tǒng)。重啟后將進(jìn)入如圖1-17所示的用戶登錄界面。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-17Ubuntu用戶登錄界面1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)(10)單擊用戶名稱,并按提示輸入密碼。成功登錄后的系統(tǒng)桌面如圖1-18所示。圖1-18用戶登陸成功的系統(tǒng)桌面1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)2.通過(guò)系統(tǒng)內(nèi)置的倉(cāng)庫(kù)源,完成基本軟件的安裝(1)打開(kāi)終端命令行安裝Wireshark、Postman、Openssh-Server、Git、Gcc、Make、Vim等工具和軟件,命令如下。3.通過(guò)Ubuntu系統(tǒng)設(shè)置,完成休眠和終端命令行的配置(1)在桌面空白處右擊,在彈出的快捷菜單中選擇OpeninTerminal選項(xiàng),如圖1-19所示。classroom@classroom:~$sudoaptupdate #更新軟件庫(kù)列表classroom@classroom:~$sudoaptinstall-ywiresharkopenssh-servergitgccmakevim #安裝系統(tǒng)所需軟件classroom@classroom:~$sudoaptinstalllibgconf-2-4classroom@classroom:~$snapinstallpostman圖1-19右擊桌面彈出復(fù)選框(2)打開(kāi)Ubuntu終端命令行,如圖1-20所示。(3)右擊任務(wù)欄中的終端命令行圖標(biāo),在彈出的快捷菜單中選擇【AddtoFavorites】選項(xiàng)即可將終端鎖定到任務(wù)欄內(nèi),如圖1-21所示。提示:用戶還可以通過(guò)選擇快捷菜單中的【NewTerminal】選項(xiàng)打開(kāi)另一個(gè)終端命令行會(huì)話窗口。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-20打開(kāi)終端命令行的界面圖1-21AddtoFavorites菜單項(xiàng)(4)如圖1-22所示,在搜索欄中輸入Settings,在查找結(jié)果中找出Settings圖標(biāo)并單擊,可以打開(kāi)系統(tǒng)設(shè)置窗口,Settings窗口如圖1-23所示。1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-22Settings應(yīng)用圖標(biāo)圖1-23Settings系統(tǒng)設(shè)置窗口1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)(5)依次單擊“Privacy”-“ScreenLock”按鈕,在ScreenLock窗口中將AutomaticScreenLock開(kāi)關(guān)調(diào)節(jié)為OFF狀態(tài),從而關(guān)閉系統(tǒng)屏幕休眠,如圖1-24所示。提示:設(shè)置將立刻生效,用戶可以通過(guò)【AllSetting】按鈕返回上一層界面或通過(guò)單擊左上角的紅色的關(guān)閉按鈕直接退出。圖1-24“ScreenLock”窗口的設(shè)置界面任務(wù)驗(yàn)證(1)在虛擬機(jī)中打開(kāi)Wireshark工具,成功打開(kāi)后界面如圖1-25所示1.4.1任務(wù)1安裝Ubuntu操作系統(tǒng)圖1-25在Ubuntu上運(yùn)行Wireshark界面(2)在虛擬機(jī)中打開(kāi)Postman工具,成功打開(kāi)后界面如圖1-26所示。任務(wù)驗(yàn)證圖1-26在Ubuntu上運(yùn)行Postman界面任務(wù)規(guī)劃將任務(wù)1安裝的虛擬機(jī)作為模板機(jī),使用VMW的克隆方式,生成如圖1-27所示的4臺(tái)虛擬機(jī),快速搭建SDN測(cè)試環(huán)境??梢酝ㄟ^(guò)以下步驟來(lái)構(gòu)建小型SDN測(cè)試局域網(wǎng)。(1)使用Ubuntu模板虛擬機(jī)克隆各SDN測(cè)試虛擬機(jī)。(2)根據(jù)表1-2和表1-3對(duì)各虛擬機(jī)進(jìn)行命名、IP地址等初始化配置。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-27網(wǎng)絡(luò)連接拓?fù)淙蝿?wù)實(shí)施1、使用Ubuntu模板虛擬機(jī)克隆SDN測(cè)試虛擬機(jī)(1)關(guān)閉任務(wù)1.5.1的模板虛擬機(jī)。(2)右擊“Ubuntu”模板機(jī),在彈出的快捷菜單中,依次選擇“管理”→“克隆”菜單項(xiàng)進(jìn)入克隆虛擬機(jī)向?qū)?,操作如圖1-28所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-28選擇“克隆(C)”菜單項(xiàng)(3)克隆源轉(zhuǎn)態(tài)選擇虛擬機(jī)中的當(dāng)前轉(zhuǎn)態(tài),克隆方法為創(chuàng)建完整克隆,操作如圖圖1-29和圖1-30所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-29“克隆源”設(shè)置界面圖1-30“克隆類型”設(shè)置界面1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)(4)在“新虛擬機(jī)名稱”設(shè)置界面中,根據(jù)服務(wù)器空間規(guī)劃,自行選擇克隆的虛擬機(jī)文件名稱以及存放路徑,結(jié)果如圖1-31所示。(5)點(diǎn)擊完成按鈕,完成虛擬機(jī)的克隆。(6)使用類似的操作,完成另外3臺(tái)虛擬機(jī)的克隆。圖1-31“新虛擬機(jī)名稱”設(shè)置界面2、根據(jù)表1-2和表1-3對(duì)各虛擬機(jī)進(jìn)行命名、IP地址等初始化配置。(1)啟動(dòng)克隆好的虛擬機(jī),登錄系統(tǒng)后,打開(kāi)終端命令行,修改控制器主機(jī)名,并根據(jù)規(guī)劃表配置IP地址。①配置控制器的主機(jī)名和IP地址簡(jiǎn)要步驟如下:1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)classroom@classroom:~$su–root@classroom:~#hostnamectlset-hostnamecontrollerroot@classroom:~#bash!root@controller:~#vim/etc/hostscontroller #配置解析的域名為controller#確認(rèn)以上條目的對(duì)應(yīng)信息后保存退出#LetNetworkManagermanagealldevicesonthissystemnetwork:version:2renderer:NetworkManagerethernets:ens33:dhcp4:yes #配置ens33使用dhcp獲取地址②配置交換機(jī)的主機(jī)名和IP地址簡(jiǎn)要步驟如下:1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)classroom@classroom:~$su–root@classroom:~#hostnamectlset-hostnameswitch1root@classroom:~#bash!root@switch1:~#vim/etc/hostsswitch1 #配置解析的域名為switch1#確認(rèn)以上條目的對(duì)應(yīng)信息無(wú)誤后保存退出root@switch1:~#vim/etc/netplan/01-network-manager-all.yaml#LetNetworkManagermanagealldevicesonthissystemnetwork:version:2renderer:NetworkManagerethernets:ens33:dhcp4:yes #配置ens33使用dhcp獲取地址ens34:dhcp4:no #配置ens34使用靜態(tài)IP地址addresses:[0/24]

#配置ens34使用靜態(tài)IP地址為0/24ens34:dhcp4:no #配置ens34使用靜態(tài)IP地址addresses:[0/24] #配置ens34使用靜態(tài)IP地址為0/24#增加以上內(nèi)容后保存退出root@controller:~#poweroff1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)③配置pchost-1的主機(jī)名和IP地址簡(jiǎn)要步驟如下:ens35:dhcp4:no #配置ens35使用靜態(tài)IP地址addresses:[] #配置ens35靜態(tài)IP地址為空ens36:dhcp4:no #配置ens36使用靜態(tài)IP地址addresses:[] #配置ens36使用靜態(tài)IP地址為空#增加以上內(nèi)容后保存退出root@switch1:~#poweroffclassroom@classroom:~$su–root@classroom:~#hostnamectlset-hostnamepchost-1root@classroom:~#bash!root@pchost-1:~#vim/etc/hostspchost-1 #配置解析的域名為pchost-1#更正以上條目的對(duì)應(yīng)信息后保存退出root@pchost-1:~#vim/etc/netplan/01-network-manager-all.yaml④配置pchost-2虛擬機(jī)的主機(jī)名和IP地址簡(jiǎn)要步驟如下:1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)#LetNetworkManagermanagealldevicesonthissystemnetwork:version:2renderer:NetworkManagerethernets:ens33:dhcp4:yes #配置ens33使用dhcp獲取地址ens34:dhcp4:no #配置ens34使用靜態(tài)IP地址addresses:[28/24] #配置ens34使用靜態(tài)IP地址為28/24#增加以上內(nèi)容后保存退出root@pchost-1:~#poweroffclassroom@classroom:~$su–root@classroom:~#hostnamectlset-hostnamepchost-21.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)root@classroom:~#bash!root@pchost-2:~#vim/etc/hostspchost-2 #配置解析的域名為pchost-2#更正以上條目的對(duì)應(yīng)信息后保存退出root@pchost-2:~#vim/etc/netplan/01-network-manager-all.yaml#LetNetworkManagermanagealldevicesonthissystemnetwork:version:2renderer:NetworkManagerethernets:ens33:dhcp4:yes #配置ens33使用dhcp獲取地址ens34:dhcp4:no #配置ens34使用靜態(tài)IP地址addresses:[29/24] #配置ens34使用靜態(tài)IP地址為29/24#確認(rèn)以上條目的對(duì)應(yīng)信息無(wú)誤后保存退出root@pchost-2:~#poweroff(2)右擊虛擬機(jī)選項(xiàng)卡,選擇【快照(N)】→【拍攝快照】菜單項(xiàng),為每臺(tái)虛擬機(jī)創(chuàng)建一個(gè)快照作為初始環(huán)境的備份。拍攝快照的操作如圖1-32所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-32拍攝快照任務(wù)驗(yàn)證(1)啟動(dòng)所有虛擬機(jī),使用root用戶登錄虛擬機(jī)系統(tǒng)查看每個(gè)角色虛擬機(jī)上所有網(wǎng)卡的IP地址信息。①controller節(jié)點(diǎn)執(zhí)行【ipaddressshow】命令的操作結(jié)果如圖1-33所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-33ipaddressshow命令的操作結(jié)果②switch1節(jié)點(diǎn)執(zhí)行【ipaddressshow】命令的操作結(jié)果如圖1-34所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-34ipaddressshow命令的操作結(jié)果③

pchost-1節(jié)點(diǎn)執(zhí)行【ipaddressshow】命令的操作結(jié)果如圖1-35所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-35ipaddressshow命令的操作結(jié)果④pchost-2節(jié)點(diǎn)執(zhí)行【ipaddressshow】命令的操作結(jié)果操作結(jié)果如圖1-36所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-36ipaddressshow的操作結(jié)果(2)在controller與switch1之間,PCHost-1與PCHost-2之間使用【ping】命令測(cè)試兩者之間是否能正常通信。controller節(jié)點(diǎn)執(zhí)行【ping】命令操作結(jié)果如圖1-37所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-37controller節(jié)點(diǎn)執(zhí)行ping命令操作結(jié)果switch1節(jié)點(diǎn)執(zhí)行【ping】命令操作結(jié)果如圖1-38所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-38switch1節(jié)點(diǎn)執(zhí)行ping命令的操作結(jié)果由于pchost-1和pchost-2中間間隔了一臺(tái)虛擬機(jī),該虛擬機(jī)并未做任何配置,因此這兩臺(tái)計(jì)算機(jī)雖然工作在同一個(gè)網(wǎng)段,但是無(wú)法相互通信。pchost-1節(jié)點(diǎn)執(zhí)行【ping】命令操作結(jié)果如圖1-39所示。1.4.2任務(wù)2構(gòu)建小型SDN測(cè)試局域網(wǎng)圖1-39pchost-1節(jié)點(diǎn)執(zhí)行ping命令的操作結(jié)果pchost-2節(jié)點(diǎn)執(zhí)行【ping】命令操作結(jié)果如圖1-40所示。任務(wù)驗(yàn)證圖1-40pchost-2節(jié)點(diǎn)執(zhí)行ping命令的操作結(jié)果項(xiàng)目習(xí)題一、選擇題1.抓包的常用的工具是()。A.Iperf

B.Postman C.Wireshark

D.Netperf二、填空題1.Postman下載需要執(zhí)行_________命令。2.SDN的關(guān)鍵組件有_________。3.SDN的特征是__________和______.項(xiàng)目習(xí)題項(xiàng)目2Jan16公司基于OVS構(gòu)建SDN環(huán)境學(xué)習(xí)目標(biāo)項(xiàng)目背景項(xiàng)目需求分析項(xiàng)目相關(guān)知識(shí)項(xiàng)目實(shí)踐項(xiàng)目習(xí)題目錄學(xué)習(xí)目標(biāo)(1)了解OVS的基本原理。(2)掌握OVS的安裝和配置方法。(3)了解OpenFlow協(xié)議。(4)掌握SDN流表的概念和操作方法。項(xiàng)目背景基于項(xiàng)目1的實(shí)施,jan16公司網(wǎng)絡(luò)部的管理員已經(jīng)利用VMW的模板克隆功能構(gòu)建了可用于公司業(yè)務(wù)測(cè)試環(huán)境的SDN基本組網(wǎng)架構(gòu),但是因?yàn)镾DN功能尚未完善,公司業(yè)務(wù)測(cè)試主機(jī)之間的流量被VMW的LAN區(qū)段隔離暫不能互相通信。這樣的情況下,管理員計(jì)劃先使用3臺(tái)業(yè)務(wù)測(cè)試主機(jī)+OVS的組網(wǎng)方式對(duì)SDN的網(wǎng)絡(luò)通信控制進(jìn)行探索,實(shí)現(xiàn)測(cè)試主機(jī)之間的基本通信控制。網(wǎng)絡(luò)規(guī)劃如表2-1所示。項(xiàng)目背景主機(jī)名稱端口IP地址用途LAN區(qū)段switch1ens33DHCP連接互聯(lián)網(wǎng)

ens34無(wú)IP地址SDN控制網(wǎng)Lan0ens35無(wú)IP地址SDN數(shù)據(jù)網(wǎng)Lan1ens36無(wú)IP地址SDN數(shù)據(jù)網(wǎng)Lan2ens37無(wú)IP地址SDN數(shù)據(jù)網(wǎng)Lan3PCHost-1ens33DHCP連接互聯(lián)網(wǎng)

ens3428/24SDN數(shù)據(jù)網(wǎng)Lan1PCHost-2ens33DHCP連接互聯(lián)網(wǎng)

ens3429/24SDN數(shù)據(jù)網(wǎng)Lan2PCHost-3ens33DHCP連接互聯(lián)網(wǎng)

ens3430/24SDN數(shù)據(jù)網(wǎng)Lan3表2-1網(wǎng)絡(luò)規(guī)劃表項(xiàng)目需求分析根據(jù)需求,需要實(shí)現(xiàn)3臺(tái)業(yè)務(wù)測(cè)試主機(jī)之間的SDN網(wǎng)絡(luò)通信控制。公司業(yè)務(wù)主機(jī)之間多數(shù)為3層或4層通信,4層通信的實(shí)現(xiàn)基于3層通信。因此,網(wǎng)管理員首先需要探索出OVS對(duì)主機(jī)之間局域網(wǎng)的2層通信和跨網(wǎng)段的3層通信控制的規(guī)則及實(shí)現(xiàn)方式。綜上所述,本次項(xiàng)目設(shè)計(jì)如下任務(wù)。(1)使用OVS完成L3層流表的配置,確保業(yè)務(wù)測(cè)試主機(jī)之間的正常通信。項(xiàng)目需求分析項(xiàng)目相關(guān)知識(shí)1.OVS概述OpenvSwitch是一種開(kāi)源軟件,簡(jiǎn)稱OVS,是由軟件實(shí)現(xiàn)的虛擬交換機(jī),使用開(kāi)源Apache2.0許可協(xié)議。虛擬交換機(jī)的工作原理與物理交換機(jī)類似,其主要包含兩種作用:傳遞虛擬機(jī)之間的流量;實(shí)現(xiàn)虛擬機(jī)和外界網(wǎng)絡(luò)的通信。OVS產(chǎn)生的主要目的是通過(guò)編程實(shí)現(xiàn)自動(dòng)化的大規(guī)模網(wǎng)絡(luò)擴(kuò)展,它支持標(biāo)準(zhǔn)的管理接口和協(xié)議,如NetFlow、sFlow、VLAN、VXLAN、GRE、生成樹(shù)等。2.3.1OVSOVS整體組網(wǎng)結(jié)構(gòu)如圖2-1所示。從組網(wǎng)架構(gòu)來(lái)看,OVS是物理主機(jī)上的一個(gè)軟件程序,它們可以通過(guò)物理主機(jī)上的物理接口連接到物理交換機(jī)(HardwareSwitch)上,而物理主機(jī)上的虛擬主機(jī)則通過(guò)連接到OVS生成的邏輯接口完成接入;另外,SDN控制器(Controller)也可以連接到物理交換機(jī),通過(guò)OpenFlow協(xié)議與OVS進(jìn)行通信與控制。2.3.1OVS圖2-1OVS整體組網(wǎng)結(jié)構(gòu)圖2.OVS的適用場(chǎng)景與優(yōu)勢(shì)OVS適用于多服務(wù)器虛擬化部署的場(chǎng)景,在這些場(chǎng)景中,網(wǎng)絡(luò)通常是靈活多變且難以維護(hù)的,Linux內(nèi)置網(wǎng)橋在這種網(wǎng)絡(luò)場(chǎng)景中并不適用,此時(shí)OVS就可以發(fā)揮作用。OVS具有以下優(yōu)勢(shì):(1)支持動(dòng)態(tài)響應(yīng)網(wǎng)絡(luò)OVS支持網(wǎng)絡(luò)控制系統(tǒng)在環(huán)境靈活變化的時(shí)候做出響應(yīng),支持簡(jiǎn)單的統(tǒng)計(jì)和可見(jiàn)性,如NetFlow、sFlow等。(2)支持開(kāi)放虛擬機(jī)數(shù)據(jù)庫(kù)OVSDBOVS將各種配置信息以數(shù)據(jù)表的形式保存在輕量數(shù)據(jù)庫(kù)OVSDB中,這是其他交換機(jī)所不具備的。2.3.1OVS(3)支持OpenFlow協(xié)議OVS支持通過(guò)OpenFlow協(xié)議進(jìn)行遠(yuǎn)程控制,包括通過(guò)檢查發(fā)現(xiàn)鏈路狀態(tài)流量(如LLDP/CDP/OSPF協(xié)議等)進(jìn)行全局網(wǎng)絡(luò)發(fā)現(xiàn)。(4)支持多種邏輯標(biāo)簽OVS支持GRE隧道和VXLAN隧道的創(chuàng)建、配置和拆除,OVS包含多種用于指定和維護(hù)邏輯標(biāo)簽的方法。(5)支持多種硬件芯片組OVS支持運(yùn)行在專用交換機(jī)或普通PC的硬件芯片組之中。2.3.1OVS3.OVS系統(tǒng)架構(gòu)

OVS由多個(gè)模塊組成,每個(gè)模塊都負(fù)責(zé)各自的功能。OVS包含用戶空間(Userspace,Us)和內(nèi)核空間(Kernelspace,Ks)兩個(gè)部分。用戶空間中的模塊主要負(fù)責(zé)管理交換機(jī)及流表的各種功能,是OVS的重中之重。內(nèi)核空間中的模塊則主要負(fù)責(zé)數(shù)據(jù)交換與處理。OVS系統(tǒng)架構(gòu)如圖2-2所示。2.3.1OVS圖2-2OVS內(nèi)部結(jié)構(gòu)圖(1)內(nèi)核空間①openvswitch(datapath)。OVS的內(nèi)核模塊,運(yùn)行于Linux的內(nèi)核空間中,主要負(fù)責(zé)與網(wǎng)絡(luò)設(shè)備進(jìn)行數(shù)據(jù)交換。(2)用戶空間①ovs-vswitchd(vswitchd)。OVS的守護(hù)進(jìn)程,是OVS的核心模塊,它與內(nèi)核空間的openvswitch(datapath)共同實(shí)現(xiàn)基于流的數(shù)據(jù)交換與處理,通過(guò)與ovsdb-server進(jìn)行通信,實(shí)現(xiàn)將交換機(jī)的配置、數(shù)據(jù)流信息及其他變化保存到ovsdb中。②ovs-dpctl。OVS內(nèi)核模塊的管理工具。用來(lái)管理內(nèi)核模塊openvswitch(datapath),它可以調(diào)用ovs-vswitchd來(lái)調(diào)openvswitch(datapath)。③ovs-appctl。OVS中的管理工具,用于與OVS守護(hù)進(jìn)程進(jìn)行交互。④ovsdb。OVS的數(shù)據(jù)庫(kù)。存放虛擬交換機(jī)各種配置信息的數(shù)據(jù)庫(kù)。2.3.1OVS⑤ovsdb-server。OVS的輕量級(jí)數(shù)據(jù)庫(kù)服務(wù)器,vswitchd可以通過(guò)它來(lái)查詢和獲取交換機(jī)的各類信息。⑥ovs-vsctl。OVS的管理工具。用于查詢和更新vswitchd配置的實(shí)用程序,主要通過(guò)與ovsdb-server的交互來(lái)實(shí)現(xiàn)。⑦ovsdb-client。OVS數(shù)據(jù)庫(kù)管理工具,用于查詢、修改和管理OVS數(shù)據(jù)庫(kù)中的配置信息,側(cè)重于查詢ovsdb的信息。⑧ovsdb-tool。OVS數(shù)據(jù)庫(kù)的管理工具。管理ovsdb數(shù)據(jù)庫(kù)的CLI命令行工具,側(cè)重于修改ovsdb信息。⑨ovs-ofctl。OVS的流表調(diào)試工具。用于OVS流表及流表項(xiàng)的查詢和更新。2.3.1OVS4.OVS的重要概念想要理解OVS,必須首先了解它的相關(guān)重要概念。(1)網(wǎng)橋在OVS中,網(wǎng)橋就是通過(guò)軟件生成的虛擬交換機(jī)(后文統(tǒng)一稱為“交換機(jī)”)。(2)端口在OVS中,端口(Port)是交換機(jī)用于連接設(shè)備和進(jìn)行數(shù)據(jù)交換的虛擬端口,又稱為邏輯端口,常見(jiàn)的端口類型主要有Normal、Internal、Patch和Tunnel這4種。2.3.1OVS①Normal端口。將主機(jī)的物理網(wǎng)卡添加到交換機(jī)中的時(shí)候,這個(gè)端口默認(rèn)的類型就是Normal類型。此端口類型就相當(dāng)于傳統(tǒng)交換機(jī)中的2層交換口,對(duì)應(yīng)此端口的物理網(wǎng)卡將不再使用IP地址進(jìn)行通信。如果在添加到交換機(jī)之前,物理網(wǎng)卡就已經(jīng)配置過(guò)IP地址,此網(wǎng)卡添加到交換機(jī)之后,配置的IP地址將不可訪問(wèn)。②Internal端口。此類端口稱為內(nèi)部端口,功能類似于Linux系統(tǒng)的虛擬網(wǎng)線(Veth-pair),在設(shè)置此端口類型后,OVS會(huì)自動(dòng)創(chuàng)建一塊連接此端口的網(wǎng)卡,隨后此端口的收到的數(shù)據(jù)將會(huì)提交給網(wǎng)卡進(jìn)行處理,并且網(wǎng)卡發(fā)出的數(shù)據(jù)也會(huì)通過(guò)這個(gè)端口提交給OVS,當(dāng)創(chuàng)建一個(gè)新的網(wǎng)橋時(shí),會(huì)默認(rèn)創(chuàng)建與網(wǎng)橋同名的Internal端口。2.3.1OVS③Patch端口。如果主機(jī)中存在多個(gè)交換機(jī),可以使用Patch類型的端口把2個(gè)交換機(jī)連起來(lái),使兩個(gè)交換機(jī)邏輯上成為一體,也就是說(shuō)使用Patch連接的兩個(gè)交換機(jī)跟一個(gè)交換機(jī)沒(méi)什么區(qū)別,Patch類型的端口通常成對(duì)出現(xiàn)。④Tunnel端口。此類端口稱為隧道端口,多出現(xiàn)在隧道通信的構(gòu)建中,通常又分為VXLAN和GRE類型,分別對(duì)應(yīng)VXLAN隧道端口和GRE隧道端口。(3)接口在OVS中,接口(Interface)是負(fù)責(zé)接收或發(fā)送數(shù)據(jù)包的真實(shí)的物理接口。它通常與端口成對(duì)出現(xiàn),Port需要依賴于Interface才可以達(dá)到收發(fā)數(shù)據(jù)的目的,Interface是掛載在Port上的。2.3.1OVS(4)控制器在OVS中,控制器(controller)就是OVS所連接的SDN控制器,它的作用是流表管理和網(wǎng)絡(luò)通信控制。(5)管理器在OVS中,管理器(manager)用于管理交換機(jī)的OVSDB數(shù)據(jù)庫(kù),它通常集成于SDN控制器之中。2.3.1OVS(6)故障模式在OVS中,故障模式(fail-mode)用于處理OVS無(wú)法連接控制器時(shí)的轉(zhuǎn)發(fā)邏輯,有standalone和secure兩種。默認(rèn)情況下,用戶配置了OVS連接控制器,OVS便會(huì)持續(xù)探測(cè)控制器是否連接成功,如果3次探測(cè)均不成功時(shí),OVS就會(huì)按照用戶配置的故障模式接管數(shù)據(jù)轉(zhuǎn)發(fā)邏輯。對(duì)于兩種故障模式的具體介紹如下。①如果用戶配置的故障模式為standalone,交換機(jī)會(huì)將轉(zhuǎn)發(fā)邏輯切換為傳統(tǒng)模式,此時(shí)的交換機(jī)與傳統(tǒng)交換機(jī)無(wú)異,能自學(xué)習(xí)MediaAccessControl(MAC)地址。②如果用戶配置的故障模式為secure,交換機(jī)不會(huì)更改當(dāng)前的轉(zhuǎn)發(fā)邏輯,嚴(yán)格按照原有的流表設(shè)置進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā)。交換機(jī)在進(jìn)入故障模式之后,后臺(tái)也會(huì)一直嘗試連接控制器,成功連接后即退出fail-mode狀態(tài)。2.3.1OVS5.OVS的工作原理 OVS的工作流程如下。①數(shù)據(jù)包首先會(huì)經(jīng)過(guò)設(shè)備上配置的網(wǎng)卡,轉(zhuǎn)發(fā)至OVS。②數(shù)據(jù)包從OVS接口進(jìn)入到OVS內(nèi)核模塊OVS(datapath)中。③由OVS(datapath)檢索數(shù)據(jù)包中包含的所有字段,查詢內(nèi)核模塊中是否已有處理這個(gè)數(shù)據(jù)包的流表項(xiàng)規(guī)則的緩存,這個(gè)緩存的規(guī)則被稱為datapathflows。如果與datapathflows存在匹配,那么OVS(datapath)模塊就執(zhí)行datapathflows中對(duì)應(yīng)的處理指令;否則,OVS(datapath)會(huì)將這個(gè)數(shù)據(jù)包上報(bào)給用戶空間(UserSpace)中的ovs-vswitchd模塊如果ovs-vswitchd上存在與數(shù)據(jù)包匹配的流表項(xiàng),則會(huì)將對(duì)應(yīng)的流表項(xiàng)所設(shè)定的處理指令再注入給datapath模塊,由datapath模塊進(jìn)行數(shù)據(jù)處理;2.3.1OVS2.3.1OVS如果ovs-vswitchd上不存在與數(shù)據(jù)包匹配的流表項(xiàng),則會(huì)通過(guò)OpenFlow消息來(lái)詢問(wèn)控制器??刂破鳑Q定處理規(guī)則后會(huì)生成流表規(guī)則并通過(guò)OpenFlow消息通告給ovs-vswitchd模塊,再由ovs-vswitchd模塊注入到datapath模塊,最后由datapath模塊處理數(shù)據(jù)包。OVS內(nèi)部工作原理如圖2-3所示。圖2-3OVS內(nèi)部工作原理OVS中負(fù)責(zé)數(shù)據(jù)交換與處理的datapath模塊是位于Linux系統(tǒng)中的內(nèi)核空間(KernelSpace),由于不同發(fā)行版本的Linux系統(tǒng)內(nèi)核版本會(huì)有所不同,因此依賴于Linux操作系統(tǒng)內(nèi)核。OVS2.16.x版本兼容Linux4.x和5.x內(nèi)核,由于公司選擇使用的Ubuntu18.04版本操作系統(tǒng),內(nèi)核版本為5.4.0,因此選擇使用OVSv2.16.02.3.1OVS6.OVS的安裝與啟動(dòng)Ubuntu系統(tǒng)對(duì)OVS有良好的支持,用戶可以在系統(tǒng)聯(lián)網(wǎng)后使用aptinstall命令一鍵安裝OVS,但是這樣下載安裝的OVS有可能會(huì)因?yàn)檐浖姹据^低無(wú)法適應(yīng)操作系統(tǒng)的內(nèi)核版本而導(dǎo)致無(wú)法啟動(dòng)等問(wèn)題。因此一般推薦使用源代碼包編譯安裝。(1)基于OVS源代碼包的安裝方式①通過(guò)xftp、WinSCP等軟件上傳OVS源代碼包到主機(jī)中并執(zhí)行解壓。②根據(jù)系統(tǒng)內(nèi)核預(yù)編譯源代碼包。③編譯和安裝OVS,無(wú)任何報(bào)錯(cuò)即為正常。2.3.1OVSroot@switch1:~#tar-xvfopenvswitch-2.16.0.tar.gz-C/mntroot@switch1:~#/mnt/openvswitch-2.16.0/configure\--with-linux=/lib/modules/$(uname-r)/buildroot@switch1:~#make&&makeinstall2.3.1OVS④設(shè)置啟動(dòng)OVS所需的環(huán)境變量。⑤加載環(huán)境變量,然后啟動(dòng)OVS。OVS的啟動(dòng)命令如下,啟動(dòng)OVS的操作結(jié)果如圖2-4所示。root@switch1:~#vim/etc/profilePATH=$PATH:/usr/local/share/openvswitch/scriptsexportPATH#在環(huán)境變量環(huán)境中加入以上兩行代碼后保存退出root@switch1:~#source/etc/profileroot@switch1:~#ovs-ctlstart圖2-4啟動(dòng)OVS的操作結(jié)果(2)查看OVS的啟動(dòng)情況啟動(dòng)OVS之后可以通過(guò)ovs-ctlstatus命令查看啟動(dòng)情況,默認(rèn)情況下OVS會(huì)啟動(dòng)兩個(gè)守護(hù)進(jìn)程,一個(gè)是輕量數(shù)據(jù)庫(kù)守護(hù)進(jìn)程ovsdb-server,另外一個(gè)是主守護(hù)進(jìn)程ovs-vswitchd,ovs-ctlstatus命令的操作結(jié)果如圖2-5所示。2.3.1OVS圖2-5ovs-ctl

status的操作結(jié)果2.3.2OVS命令1.交換機(jī)管理命令ovs-vsctlovs-vsctl命令是獲取或者更改OVS配置信息的重要工具和手段之一。ovs-vsctl常用命令的用法如表2-3(1)(2)所示。2.3.2OVS命令常用命令含義ovs-vsctlinit初始化數(shù)據(jù)庫(kù)(前提數(shù)據(jù)分組為空)ovs-vsctlshow打印數(shù)據(jù)庫(kù)信息摘要ovs-vsctladd-brBRIDGE添加新的交換機(jī)ovs-vsctldel-brBRIDGE刪除交換機(jī)ovs-vsctllistportPORT打印交換機(jī)中具體的端口信息ovs-vsctllist-portsBRIDGE打印交換機(jī)中端口的信息表2-3(1)ovs-vsctl的常用命令常用命令含義ovs-vsctladd-portBRIDGEPORT向交換機(jī)中添加端口ovs-vsctldel-portBRIDGEPORT刪除交換機(jī)上的端口ovs-vsctlget-controllerBRIDGE獲取交換機(jī)的控制器信息ovs-vsctldel-controllerBRIDGE刪除交換機(jī)的控制器信息ovs-vsctlset-controllerBRIDGETARGET向交換機(jī)添加控制器ovs-vsctlsetbridgeBRIDGEprotocol=OpenFlow10配置交換機(jī)支持協(xié)議為OpenFlow1.0協(xié)議ovs-vsctlsetbridgeBRIDGEprotocol=OpenFlow13配置交換機(jī)支持協(xié)議為OpenFlow1.3協(xié)議ovs-vsctlset-fail-modeBRIDGEsecure配置交換機(jī)的失敗模式為secure模式表2-3(2)ovs-vsctl的常用命令2.流表管理命令ovs-ofctlovs-ofctl是OVS的模塊之一,它提供的ovs-ofctl命令主要是用來(lái)獲取或更改OVS的流表項(xiàng)信息,也可以查看交換機(jī)的端口信息。ovs-ofctl常用命令如表2-4(1)(2)所示。2.3.2OVS命令命令含義ovs-ofctlshowBRIDGE查看交換機(jī)的詳細(xì)信息,主要用于查看交換機(jī)端口編號(hào)信息ovs-ofctldump-portsBRIDGEPORT查詢端口統(tǒng)計(jì)信息,主要顯示交換機(jī)端口的數(shù)據(jù)包統(tǒng)計(jì)數(shù)據(jù)ovs-ofctldump-flowsBRIDGE查詢交換機(jī)中所有的流表項(xiàng)(默認(rèn)僅支持OpenFlow1.0協(xié)議)ovs-ofctldump-flowsBRIDGE-OOpenFlow13查詢交換機(jī)中所有的流表項(xiàng)(默認(rèn)僅支持OpenFlow1.3協(xié)議)ovs-ofctladd-flowBRIDGEMatchFields,Actions向交換機(jī)添加流表項(xiàng)(默認(rèn)僅支持OpenFlow1.0協(xié)議)ovs-ofctladd-flowBRIDGEMatchFields,Actions-OOpenFlow13向交換機(jī)添加流表項(xiàng)(默認(rèn)僅支持OpenFlow1.3協(xié)議)表2-4(1)ovs-ofctl的常用命令ovs-ofctladd-flowBRIDGEMatchFields,Actions向交換機(jī)添加流表項(xiàng)(默認(rèn)僅支持OpenFlow1.0協(xié)議)2.3.2OVS命令命令含義ovs-ofctladd-flowBRIDGEMatchFields,Actions-OOpenFlow13向交換機(jī)添加流表項(xiàng)(默認(rèn)僅支持OpenFlow1.3協(xié)議)ovs-ofctlmod-flowsBRIDGEMatchFields,Actions修改交換機(jī)中對(duì)應(yīng)匹配域的流表項(xiàng)動(dòng)作,如果沒(méi)有對(duì)應(yīng)流表項(xiàng),將新增1條流表項(xiàng)(默認(rèn)僅支持OpenFlow1.0協(xié)議)ovs-ofctlmod-flowsBRIDGEMatchFields,Actions-OOpenFlow13修改交換機(jī)中對(duì)應(yīng)匹配域的流表項(xiàng)動(dòng)作,如果沒(méi)有對(duì)應(yīng)流表項(xiàng),將新增1條流表項(xiàng)(默認(rèn)僅支持OpenFlow1.3協(xié)議)ovs-ofctldel-flowsBRIDGEMatchFields,Actions刪除交換機(jī)中某具體的流表項(xiàng)(默認(rèn)僅支持OpenFlow1.0協(xié)議)ovs-ofctldel-flowsBRIDGEMatchFields,Actions-OOpenFlow13刪除交換機(jī)中某具體的流表項(xiàng)(默認(rèn)僅支持OpenFlow1.3協(xié)議)ovs-ofctldel-flowsBRIDGE--strictpriority=x刪除優(yōu)先級(jí)為x的流表項(xiàng)(默認(rèn)僅支持OpenFlow1.0協(xié)議)表2-4(2)ovs-ofctl的常用命令在表2-4(1)(2)中,MatchFields是指匹配域參數(shù),一條流表項(xiàng)可以有1個(gè)或多個(gè)匹配域參數(shù),每個(gè)參數(shù)之間使用“,”隔開(kāi)。MatchFields匹配域參數(shù)如表2-5(1)(2)所示。2.3.2OVS命令匹配參數(shù)含義in_port=PORT匹配從交換機(jī)某端口進(jìn)來(lái)的數(shù)據(jù)包dl_src=MAC匹配數(shù)據(jù)包的源MAC地址dl_dst=MAC匹配數(shù)據(jù)包的目的MAC地址dl_type=TYPE匹配數(shù)據(jù)包的報(bào)文類型TYPE可為:0x0800(IPv4報(bào)文)、0x0806(ARP報(bào)文)、0x086dd(IPv6報(bào)文)、0x08cc(LLDP報(bào)文)nw_proto=X匹配數(shù)據(jù)包使用的編號(hào)為X的協(xié)議類型,X常用有:1(ICMP)、6(TCP)、17(UDP),僅當(dāng)dl_type的值為0x0800或0x08dd時(shí)有效。MatchFields匹配域參數(shù)如表2-5(1)所示。2.3.2OVS命令匹配域參數(shù)含義nw_src=IP/netmask匹配數(shù)據(jù)包的源IP地址,當(dāng)dl_type=0x0800時(shí)有效,單IP地址匹配時(shí)需要填寫為IP/32nw_dst=IP/netmask匹配數(shù)據(jù)包的目的IP地址,當(dāng)dl_type=0x0800時(shí)有效,單IP地址匹配時(shí)需要填寫為IP/32tcp_src=PORTNUMBER匹配數(shù)據(jù)包的tcp源端口,當(dāng)nw_proto=6時(shí)生效tcp_dst=PORTNUMBER匹配數(shù)據(jù)包的tcp目的端口,當(dāng)nw_proto=6時(shí)生效udp_src=PORTNUMBER匹配數(shù)據(jù)包的tcp源端口,當(dāng)nw_proto=17時(shí)生效udp_dst=PORTNUMBER匹配數(shù)據(jù)包的tcp目的端口,當(dāng)nw_proto=17時(shí)生效MatchFields匹配域參數(shù)如表2-5(2)所示。在ovs-ofctl命令中,Actions是指動(dòng)作參數(shù),多個(gè)不同類型的動(dòng)作參數(shù)必須使用固定格式“,actions=ACTION”分隔開(kāi)。Actions動(dòng)作參數(shù)如表2-6(1)(2)所示2.3.2OVS命令操作含義actions=output:PORT輸出數(shù)據(jù)包到某個(gè)端口,同時(shí)輸出到多個(gè)端口時(shí)參數(shù)之間可以使用“,”隔開(kāi)actions=drop丟棄報(bào)文actions=mod_vlan_vid:VID修改vlan的idactions=strip_vlan移除vlan的idactions=mod_dl_src:MAC修改源MAC地址Actions動(dòng)作參數(shù)如表2-6(1)所示。2.3.2OVS命令操作含義actions=mod_dl_dest:MAC修改目的MAC地址actions=mod_nw_src:IP修改源IP地址actions=mod_nw_dst:IP修改目的IP地址actions=mod_tp_src:PORT修改源TCP/UDP/SCTP端口號(hào)actions=mod_tp_dst:PORT修改目的TCP/UDP/SCTP端口號(hào)actions=normal使用普通的L2/L3轉(zhuǎn)發(fā)(傳統(tǒng)模式)Actions動(dòng)作參數(shù)如表2-6(2)所示。在OVS交換機(jī)中,使用ovs-ofctl命令設(shè)置參數(shù)的時(shí)候,可以直接使用ip代替dl_type=0x0800,arp代替dl_type=0x0806,tcp代替nw_proto=6,也就是說(shuō)可以用協(xié)議或以太網(wǎng)的友好名稱代替上面復(fù)雜難記的值。示例:為交換機(jī)br-sw下發(fā)流表,優(yōu)先級(jí)為201,空閑時(shí)間60s,匹配3層源地址為29到目的地址為30且協(xié)議為TCP的數(shù)據(jù)包,動(dòng)作為輸出到端口3。傳統(tǒng)格式如以下寫法。2.3.2OVS命令root@hostname:~#ovs-ofctladd-flowbr-sw\priority=201,idle_timeout=60,ip,nw_src=29,nw_dst=30,tcp,actions=output:3root@hostname:~#ovs-ofctladd-flowbr-sw\priority=201,idle_timeout=60,dl_type=0x0800,nw_src=29,nw_dst=30,nw_proto=6,actions=output:3ovs-ofctl命令其他常用參數(shù)如表2-7所示。2.3.2OVS命令參數(shù)含義idle_timeout=100流表項(xiàng)空閑超時(shí)時(shí)間,單位為秒,流表在經(jīng)過(guò)100秒后仍未被匹配則刪除流表,值為0時(shí)代表永不空閑超時(shí)hard_timeout=100流表項(xiàng)硬超時(shí)時(shí)間,單位為秒,流表在經(jīng)過(guò)100秒后無(wú)論是否被匹配依然刪除流表,值為0時(shí)表示永不硬超時(shí)priority=500流表項(xiàng)優(yōu)先級(jí),值越大優(yōu)先級(jí)越高表2-7ovs-ofctl其他常用參數(shù)OpenFlow主要用于支持SDN架構(gòu)的控制層和轉(zhuǎn)發(fā)層之間的交互。交換機(jī)可以通過(guò)OpenFlow協(xié)議處理不同的消息類型,實(shí)現(xiàn)與控制器之間的路由控制。OpenFlow協(xié)議簡(jiǎn)單來(lái)說(shuō)就是把數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的控制平面與轉(zhuǎn)發(fā)平面分離,以軟件的方式實(shí)現(xiàn)控制平面。在SDN中,任何支持OpenFlow協(xié)議的交換機(jī)均稱為OpenFlow交換機(jī)。OpenFlow交換機(jī)主要分為兩類,一類是OpenFlow專用交換機(jī)(OpenFlow-only),這種交換機(jī)只支持OpenFlow協(xié)議;另一類是OpenFlow使能交換機(jī)(OpenFlow-enabled),這種交換機(jī)是在傳統(tǒng)交換機(jī)上使能OpenFlow協(xié)議。1.OpenFlow的版本OpenFlow第一個(gè)版本v1.0是2009年發(fā)布的,至今已先后推出了v1.0~v1.5等版本,每個(gè)版本都對(duì)之前的版本進(jìn)行改進(jìn)或增加新功能,具體更新如下。(1)OpenFlowv1.0協(xié)議中僅支持單級(jí)流表,僅支持連接一個(gè)控制器,僅支持IPv4通信,默認(rèn)的流表為流表0(Table0)。2.3.3OpenFlow協(xié)議(2)OpenFlowv1.1協(xié)議在v1.0的基礎(chǔ)上增加對(duì)多級(jí)流表、組表、VLAN和MPLS的功能和協(xié)議的支持。(3)OpenFlowv1.2協(xié)議在v1.1的基礎(chǔ)上增加匹配IPv6協(xié)議字段的功能;支持連接多控制器。(4)OpenFlowv1.3協(xié)議在v1.2的基礎(chǔ)上增加對(duì)IPv6擴(kuò)展頭支持,支持交換機(jī)與控制器之間通過(guò)多通道進(jìn)行通信。(5)OpenFlowv1.4協(xié)議在v1.3的基礎(chǔ)上增加了“importance”(重要性)的字段,支持逐出機(jī)制(自動(dòng)刪除重要性低的流表?xiàng)l目,為新條目騰出空間的一種機(jī)制)。(6)OpenFlowv1.5協(xié)議:在v1.4的基礎(chǔ)上增加了輔助連接的概念,支持多個(gè)控制器與同一交換機(jī)的交互,增強(qiáng)了流表同步機(jī)制,支持更復(fù)雜的網(wǎng)絡(luò)拓?fù)洹?.3.3OpenFlow協(xié)議2.OpenFlow的保留端口在OpenFlow協(xié)議中,除了對(duì)Port和Interface進(jìn)行了定義之外,還定義了Openflow保留端口,用于特定的轉(zhuǎn)發(fā)動(dòng)作,如發(fā)送給控制器、泛洪、使用傳統(tǒng)交換機(jī)的處理過(guò)程等。常見(jiàn)的強(qiáng)制要求保留的端口有以下幾種。(1)ALL端口:表示所有端口均可用于轉(zhuǎn)發(fā)指定數(shù)據(jù)包。當(dāng)用作輸出端口時(shí),數(shù)據(jù)包會(huì)在復(fù)制后發(fā)送給所有非數(shù)據(jù)包入端口或非配置為OFPPC_NO_FWD的其他端口。(2)CONTROLLER端口:表示交換機(jī)與控制器之間的控制通道。(3)IN_PORT:表示數(shù)據(jù)包的進(jìn)入端口。當(dāng)用作輸出端口時(shí),表示數(shù)據(jù)包從它的進(jìn)入端口發(fā)送出去。(4)FLOOD端口:代表數(shù)據(jù)包泛洪輸出。(5)NORMAL端口:代表數(shù)據(jù)包用傳統(tǒng)2/3層協(xié)議輸出,僅OpenFlow使能交換機(jī)支持。2.3.3OpenFlow協(xié)議1.流表概述流表是OpenFlow協(xié)議中的一個(gè)概念,它是指交換機(jī)用于處理數(shù)據(jù)的一個(gè)或多個(gè)規(guī)則的集合,是SDN架構(gòu)中的重要組成部分。OpenFlow交換

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論