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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

B.Postman C.Wireshark

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論