




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
SDN基礎(chǔ)知識
第1章SDN基礎(chǔ)知識第2章SDN仿真環(huán)境第3章SDN數(shù)據(jù)平面第4章SDN控制平面第5章SDN協(xié)議接口第6章SDN基礎(chǔ)應(yīng)用開發(fā)第7章SDN綜合應(yīng)用開發(fā)01概述02SDN定義和架構(gòu)03SDN特征——數(shù)據(jù)控制分離04SDN特征——網(wǎng)絡(luò)可編程網(wǎng)絡(luò)發(fā)展歷史1、分組交換概念的出現(xiàn):1962年,LeonardKleinrock在麻省理工學(xué)院的博士論文中提出分組交換概念,該技術(shù)后來成為互聯(lián)網(wǎng)的標(biāo)準(zhǔn)通信方式。2、ARPANET:在20世紀(jì)60年代的特定歷史背景下,美國國防部于1969年開始啟動計算機(jī)網(wǎng)絡(luò)開發(fā)計劃“ARPANET”,ARPANET的成功運(yùn)行使計算機(jī)網(wǎng)絡(luò)的概念發(fā)生了根本變化,同時標(biāo)志著現(xiàn)代互聯(lián)網(wǎng)的誕生。3、OSI參考模型的提出:1974年,國際標(biāo)準(zhǔn)化組織發(fā)布了著名的ISO/IEC7498標(biāo)準(zhǔn),首次提出OSI(OpenSystemInterconnection,開放式系統(tǒng)互連)7層參考模型,同年12月,斯坦福大學(xué)的VintCerf和RobertE.Kahn提出了著名的TCP/IP(TransmissionControlProtocol/InternetProtocol),實現(xiàn)計算機(jī)網(wǎng)絡(luò)互聯(lián)的思想,以互連具有不同協(xié)議的網(wǎng)絡(luò)。網(wǎng)絡(luò)發(fā)展歷史4、
NCP:1983年,ARPANET宣布將過去的通信協(xié)議——NCP(NetworkControlProtocol)向TCP/IP過渡。5、WWW技術(shù):1991年,歐洲粒子物理研究實驗室(CERN)的TimBernersLee利用HTML、HTTP成功編制了第一個局部存取瀏覽器Enguire,從這時開始,Web應(yīng)用開始起飛,隨后通過不斷演進(jìn)最終形成了著名的萬維網(wǎng)(WorldWideWeb,WWW)技術(shù)。6、1996年,隨著萬維網(wǎng)的大規(guī)模應(yīng)用,Internet(互聯(lián)網(wǎng))一詞廣泛流傳,之后10年,互聯(lián)網(wǎng)成功容納了各種不同的底層網(wǎng)絡(luò)技術(shù)和豐富的上層應(yīng)用,迅速風(fēng)靡全世界。傳統(tǒng)網(wǎng)絡(luò)面臨的挑戰(zhàn)PART1現(xiàn)有網(wǎng)絡(luò)難以高效支撐未來用戶、終端和應(yīng)用的可持續(xù)發(fā)展,網(wǎng)絡(luò)架構(gòu)亟待更新SDN發(fā)展起源從2006年開始,斯坦福大學(xué)研究生MartinCasado參與了CleanSlate項目,并著手領(lǐng)導(dǎo)了一個叫作Ethane的項目。在2007年的SIGCOMM會議上,MartinCasado發(fā)表了一篇名為“Ethane:TakingControloftheEnterprise”的論文,該論文引起了學(xué)術(shù)界的廣泛關(guān)注。2007年,MartinCasado聯(lián)合NickMcKeown、ScottShenker等人共同創(chuàng)建了一個致力于網(wǎng)絡(luò)虛擬化技術(shù)創(chuàng)新的公司——Nicira。2008年,NickMcKeown在SIGCOMM會議上發(fā)表文章“OpenFlow:EnablingInnovationinCampusNetworks”,首次提出了將OpenFlow協(xié)議用于校園網(wǎng)絡(luò)的試驗創(chuàng)新。OpenFlow開始正式進(jìn)入人們的視野,SDN呼之欲出。2011年初,Google等企業(yè)共同成立了開放網(wǎng)絡(luò)基金會(OpenNetworkingFoundation,ONF),并正式提出了SDN的概念。SDN發(fā)展起源2013年4月,由Cisco、Juniper、Broadcom、IBM等公司主導(dǎo)的SDN開源控制器平臺項目——OpenDaylight,引發(fā)了IT界一次巨大的轟動。OpenDaylight項目的成立對SDN技術(shù)的發(fā)展具有里程碑式的意義,它代表了傳統(tǒng)網(wǎng)絡(luò)芯片、設(shè)備“巨頭”對網(wǎng)絡(luò)領(lǐng)域開源技術(shù)方向的認(rèn)可。在2013年8月的SIGCOMM會議上,Google公司首次將其如何利用SDN技術(shù)解決數(shù)據(jù)中心之間流量問題的方案通過論文公之于眾——“B4:ExperiencewithaGlobally-DeployedSoftwareDefinedWAN”。2014年4月,中國電信與華為聯(lián)合宣布雙方合作完成了全球首個運(yùn)營商SDN商用部署,將SDN技術(shù)成功應(yīng)用于數(shù)據(jù)中心網(wǎng)絡(luò)。2014年8月,中國移動與華為合作利用SDN技術(shù)完成了政企專線業(yè)務(wù)在分組傳送網(wǎng)(PacketTransportNetwork,PTN)中的改造,大幅提升了運(yùn)維效率及帶寬利用率。同年,中國聯(lián)通首次成功實現(xiàn)了SDNIPRAN的商用,初步實現(xiàn)了運(yùn)維精簡、業(yè)務(wù)可視、快速創(chuàng)新的目標(biāo)。2015年9月,中國聯(lián)通發(fā)布了新一代網(wǎng)絡(luò)架構(gòu)CUBE-Net2.0白皮書,目標(biāo)是基于SDN/NFV、云和超寬帶技術(shù)實現(xiàn)網(wǎng)絡(luò)重構(gòu)。01概述02SDN定義和架構(gòu)03SDN特征——數(shù)據(jù)控制分離04SDN特征——網(wǎng)絡(luò)可編程SDN的定義PART2SDN(SoftwareDefinedNetwork),中文譯為軟件定義網(wǎng)絡(luò),是由美國斯坦福大學(xué)cleanslate研究組提出的一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺。傳統(tǒng)網(wǎng)絡(luò)設(shè)備緊耦合的網(wǎng)絡(luò)框架被拆分為應(yīng)用、控制、轉(zhuǎn)發(fā)三層分離的架構(gòu)??刂乒δ鼙晦D(zhuǎn)移到了服務(wù)器,上層應(yīng)用、底層轉(zhuǎn)發(fā)設(shè)施被抽象成多個邏輯實體。SDN的架構(gòu)PART2特征:集中控制、開放接口、網(wǎng)絡(luò)虛擬化ONF所定義的SDN的典型架構(gòu)、數(shù)據(jù)平面:數(shù)據(jù)平面由若干網(wǎng)元(NetElement)構(gòu)成,每個網(wǎng)元可以包含一個或多個SDN數(shù)據(jù)路徑SDNDatapath),是一個被管理的資源在邏輯上的抽象集合??刂破矫妫嚎刂破矫鏋镾DN控制器,SDN控制器是一個邏輯上集中的實體,它主要承擔(dān)兩個任務(wù):一是將SDN應(yīng)用層請求轉(zhuǎn)換到SDN數(shù)據(jù)路徑,二是為SDN應(yīng)用提供底層網(wǎng)絡(luò)的抽象模型。應(yīng)用平面:應(yīng)用平面由若干用戶需要的SDN應(yīng)用(SDNApplication)構(gòu)成,它可以通過北向接口與SDN控制器進(jìn)行交互,即這些應(yīng)用能夠通過可編程方式把需要請求的網(wǎng)絡(luò)行為提交給控制器。管理平面:管理平面主要負(fù)責(zé)一系列靜態(tài)的工作,這些工作比較適合在應(yīng)用、控制、數(shù)據(jù)平面外實現(xiàn)。SDN的架構(gòu)PART2特征:集中控制、開放接口、網(wǎng)絡(luò)虛擬化ONF所定義的SDN的典型架構(gòu)、SDN控制-數(shù)據(jù)平面接口:是控制平面和數(shù)據(jù)平面之間的接口。它提供的主要功能包括對所有轉(zhuǎn)發(fā)行為進(jìn)行控制、設(shè)備性能查詢、統(tǒng)計報告、事件通知等。SDN北向接口:SDN北向接口是應(yīng)用平面和控制平面之間的一系列接口。它主要負(fù)責(zé)提供抽象的網(wǎng)絡(luò)視圖,并使應(yīng)用能直接控制網(wǎng)絡(luò)的行為,其中包含從不同層次對網(wǎng)絡(luò)及功能進(jìn)行的抽象。這個接口也應(yīng)該是一個開放的、與廠商無關(guān)的接口。01概述02SDN定義和架構(gòu)03SDN特征——數(shù)據(jù)控制分離04SDN特征——網(wǎng)絡(luò)可編程基本概念——傳統(tǒng)網(wǎng)絡(luò)設(shè)備的數(shù)控分離傳統(tǒng)網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)和控制平面都是分布式的。控制平面由于要完成更多更靈活的功能,經(jīng)常運(yùn)行在可編程性良好的通用處理器上,而數(shù)據(jù)平面需要保證高速的交換能力,通常運(yùn)行在具備高速硬件轉(zhuǎn)發(fā)能力的線卡上,兩者之間一般通過高速總線或?qū)iT的光纖互連。傳統(tǒng)網(wǎng)絡(luò)設(shè)備中數(shù)據(jù)與控制平面示意圖數(shù)控分離歷史1.早期的數(shù)據(jù)控制分離思想來源于電話網(wǎng)絡(luò)。2.美國AT&T公司在20世紀(jì)80年代早期決定采取數(shù)據(jù)控制分離的網(wǎng)絡(luò)模型,為電話網(wǎng)絡(luò)引入了網(wǎng)絡(luò)控制點NCP的概念。3.ForCES工作組是IETF在2002年專門成立的,并于2003年針對一般網(wǎng)絡(luò)設(shè)備提出了控制平面-轉(zhuǎn)發(fā)平面分離的基本結(jié)構(gòu)。數(shù)控分離歷史決策平面擴(kuò)散平面發(fā)現(xiàn)平面數(shù)據(jù)平面網(wǎng)絡(luò)級目標(biāo)直接控制全網(wǎng)視圖針對網(wǎng)絡(luò)邏輯決策平面和分布式硬件設(shè)備結(jié)合過緊的問題,Greenberg等人重新設(shè)計了互聯(lián)網(wǎng)控制和管理結(jié)構(gòu),提出將決策邏輯從底層協(xié)議中完全分離出來的4D項目。在4D項目的基礎(chǔ)上,SANE項目出現(xiàn)了,SANE在鏈路層和IP層之間定義了一個可以管理所有連接的保護(hù)層,所有路由和接入控制決策都通過這個保護(hù)層由一臺中央服務(wù)器進(jìn)行集中式控制。2007年提出的Ethane項目則在SANE項目的基礎(chǔ)上進(jìn)行了功能擴(kuò)展,將安全管理策略添加到網(wǎng)絡(luò)管理中,擴(kuò)充了中央控制器的管理功能。4D框架體系模型在以上相關(guān)工作的基礎(chǔ)上,斯坦福大學(xué)的研究人員與2008年提出了OpenFlow技術(shù),OpenFlow更加明確的提出了數(shù)據(jù)控制分離的基本概念,打破了傳統(tǒng)網(wǎng)絡(luò)的分布式框架,簡化了網(wǎng)絡(luò)管理和配置操作,實現(xiàn)了高層控制邏輯的靈活性和可部署性,為SDN的概念和生態(tài)系統(tǒng)的出現(xiàn)邁出了重要一步。SDN的數(shù)據(jù)控制分離數(shù)據(jù)控制分離是SDN的主要特征之一。SDN提出將各個設(shè)備的管理系統(tǒng)(控制平面)從設(shè)備中抽取出來,通過軟件統(tǒng)一地進(jìn)行定義,而網(wǎng)絡(luò)設(shè)備專門地進(jìn)行數(shù)據(jù)通信工作(轉(zhuǎn)發(fā)平面)。傳統(tǒng)網(wǎng)絡(luò)與SDN網(wǎng)絡(luò)對比圖SDN的數(shù)據(jù)控制分離特征采用邏輯集中控制,對數(shù)據(jù)平面采用開放式接口需要解決分布式的狀態(tài)管理問題優(yōu)點全局集中控制和分布高速轉(zhuǎn)發(fā)靈活可編程與性能的平衡開放性和IT化問題可擴(kuò)展性問題一致性問題可用性問題SDN在數(shù)據(jù)控制分離方面對網(wǎng)絡(luò)工作模式進(jìn)行了創(chuàng)新,這種模式能否得到普遍認(rèn)可還有待研究和市場檢驗,但是可以肯定的是,SDN目前在某些特定的場景下已經(jīng)有基于數(shù)據(jù)控制思想的商業(yè)使用案例,并已經(jīng)得到了市場的認(rèn)可。01概述02SDN定義和架構(gòu)03SDN特征——數(shù)據(jù)控制分離04SDN特征——網(wǎng)絡(luò)可編程基本概念網(wǎng)絡(luò)可編程性最初是指網(wǎng)絡(luò)管理員可以通過命令行對設(shè)備進(jìn)行配置,后來有了可編程路由器、NetFPGA等設(shè)備,這些設(shè)備的可編程性主要是對設(shè)備本身硬件電路級的可編程。這種可編程的能力是對某臺設(shè)備而言的,是一種處于最底層的編程能力,相當(dāng)于計算機(jī)中匯編等級的編程語言,不夠靈活便捷。SDN的網(wǎng)絡(luò)可編程性是從另外一個角度來看的,管理者可以通過SDN中這種高級的編程能力實現(xiàn)與網(wǎng)絡(luò)設(shè)備的雙向交互,通過軟件更加方便、靈活地管理網(wǎng)絡(luò)。這種可編程性是基于整個網(wǎng)絡(luò)的,而不是基于某臺設(shè)備的。它是對網(wǎng)絡(luò)整體功能的抽象,使程序能通過這種抽象來為網(wǎng)絡(luò)添加新的功能。主動網(wǎng)絡(luò)和SDN之間有很多的相似之處,但它并沒有發(fā)展起來主動網(wǎng)絡(luò)主動網(wǎng)絡(luò)的基本思想是,打破傳統(tǒng)網(wǎng)絡(luò)只能被動傳輸信息的模式,允許網(wǎng)絡(luò)中的節(jié)點在用戶數(shù)據(jù)上執(zhí)行用戶所需的計算。主動網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)可編程歷史——主動網(wǎng)絡(luò)Out-bandIn-band網(wǎng)絡(luò)可編程歷史——主動網(wǎng)絡(luò)ANTS項目:通過編碼分發(fā)的過程來壓縮文件。SwitchWare項目:項目提出一種創(chuàng)新的SwitchWare交換機(jī),該交換機(jī)使用一個編程元件完成交換功能,由可編程元件控制的如端口組成,被稱為“交換插件”的程序部分被發(fā)送到交換機(jī)端口,然后編譯執(zhí)行。SmartPackets項目:該項目是將主動網(wǎng)絡(luò)技術(shù)引入到網(wǎng)絡(luò)管理中,一達(dá)到管理節(jié)點可編程化的目的。Netscript項目:該項目的體系結(jié)構(gòu)應(yīng)用了壓縮技術(shù),用腳本語言對傳統(tǒng)網(wǎng)絡(luò)的院士功能進(jìn)行一系列簡單的抽象主動網(wǎng)絡(luò)通過一系列的編程接口來控制網(wǎng)絡(luò)節(jié)點內(nèi)的資源SDN網(wǎng)絡(luò)可編程網(wǎng)絡(luò)可編程性是SDN的另一個重要屬性,他通過為開發(fā)者們提供強(qiáng)大的編程接口,從而使網(wǎng)絡(luò)有了還好的編程能力。SDN的編程接口主要體現(xiàn)在北向接口上,北向接口提供了一系列豐富的API,開發(fā)者可以在此基礎(chǔ)上設(shè)計自己的應(yīng)用不必關(guān)心底層的硬件細(xì)節(jié)。SDN網(wǎng)絡(luò)可編程SDN北向接口是上層應(yīng)用與控制器交互的接口,可以是基于控制器本本身提供的各種接口API函數(shù),也可以是現(xiàn)在最為流行的RESTAPI。SDN南向接口協(xié)議時集中式的控制平面和分布式的轉(zhuǎn)發(fā)設(shè)備之間交互的接口協(xié)議,用于實現(xiàn)控制器對底層轉(zhuǎn)發(fā)設(shè)備的管控。SDN的控制平面可以是分布式的,在這種情況下,就需要一種接口協(xié)議來負(fù)責(zé)控制器之間的通信,SDN的東西向接口主要解決了控制器之間物理資源共享、身份認(rèn)證、授權(quán)數(shù)據(jù)庫間協(xié)作等問題,實現(xiàn)多域間控制信息交互,從而實現(xiàn)底層基礎(chǔ)設(shè)施透明化的多控制器組網(wǎng)策略。SDN網(wǎng)絡(luò)可編程優(yōu)勢與問題優(yōu)勢SDN應(yīng)用多集中在對控制平面的編程上、上層應(yīng)用通過北向接口與控制器交互,然后控制器再通過南向接口與底層硬件交互,這樣降低了程序與硬件的耦合度,只需實現(xiàn)不同的南向協(xié)議就可以在不同的硬件環(huán)境上執(zhí)行相同的功能。SDN有一些明確的應(yīng)用場景,使得業(yè)界對SDN的落地持有非常樂觀的態(tài)度。SDN出現(xiàn)時硬件技術(shù)能基本支撐他的發(fā)展,有大批的廠商開發(fā)出了自己的SDN設(shè)備,且SDN設(shè)備的造價也越來越低。SDN的發(fā)展方向明確,SDN將目標(biāo)放在為網(wǎng)絡(luò)管理者和應(yīng)用開發(fā)者提供強(qiáng)大的編程能力上,真正做到了為開發(fā)者提供一整套編程接口,讓網(wǎng)絡(luò)有強(qiáng)大的可編程能力。問題SDN所提供的強(qiáng)大的可編程能力需要數(shù)據(jù)平面的轉(zhuǎn)發(fā)設(shè)備來支撐,只有轉(zhuǎn)發(fā)設(shè)備提供了豐富的功能,SDN才能真正提供強(qiáng)大的編程能力。但目前主流的設(shè)備廠商都有自己的交換芯片,轉(zhuǎn)發(fā)設(shè)備數(shù)據(jù)模型的設(shè)計也各不相同,這就導(dǎo)致SDN功能實現(xiàn)起來越來越復(fù)雜。POF目前主流的南向接口協(xié)議OpenFlow面臨以下挑戰(zhàn):①處于被動演進(jìn)的模式;②轉(zhuǎn)發(fā)層面無狀態(tài)性POF基于OpenFlow進(jìn)行增強(qiáng)改進(jìn),POF的轉(zhuǎn)發(fā)設(shè)備對數(shù)據(jù)報文處理轉(zhuǎn)發(fā)中無須協(xié)議感知能力,網(wǎng)絡(luò)行為完全由控制平面負(fù)責(zé)定義。POF還可以實現(xiàn)基于自定義協(xié)議的網(wǎng)絡(luò)服務(wù),這是目前OpenFlow無法做到的,這無疑給網(wǎng)絡(luò)開發(fā)者提供了新的空間。因此,POF從很大程度上提高了SDN的可編程能力,滿足更多的網(wǎng)絡(luò)需求。在POF中,控制器主要通過定義數(shù)據(jù)的偏移和長度,識別已有協(xié)議類型和新的協(xié)議類型,并且可以控制所有協(xié)議報文的業(yè)務(wù)邏輯和轉(zhuǎn)發(fā)規(guī)則。目前,華為已針對POF開發(fā)了相應(yīng)控制器和交換機(jī)。POF控制器由基于Java開發(fā)的Floodlight改進(jìn)實現(xiàn),采用BSD/Apache許可授權(quán)。POF轉(zhuǎn)發(fā)單元基于LinuxC,同樣采用BSD許可授權(quán)。P42014年7月,斯坦福大學(xué)提出了SDN編程語言P4。這是一種聲明式編程語言,通過P4開發(fā)者可以靈活地定義各種協(xié)議報文的格式。它主要用于編寫程序以下達(dá)指令給數(shù)據(jù)轉(zhuǎn)發(fā)平面的設(shè)備(如交換機(jī)、網(wǎng)卡、防火墻、過濾器等)處理數(shù)據(jù)分組。通過P4語言,可以很大程度上提升網(wǎng)絡(luò)的可編程性。無論是在軟件設(shè)計(編程、調(diào)試、代碼覆蓋、模塊檢查等)方面,還是在網(wǎng)絡(luò)系統(tǒng)的設(shè)計上,都給用戶帶來了很多好處。P4有三大特性。①域可重構(gòu)性:P4支持網(wǎng)絡(luò)工程師在已經(jīng)部署交換機(jī)后再更改交換機(jī)處理數(shù)據(jù)分組的方式。②協(xié)議無關(guān):P4編程定義如何處理數(shù)據(jù)分組的轉(zhuǎn)發(fā),交換機(jī)不應(yīng)該綁定任何網(wǎng)絡(luò)協(xié)議。③目標(biāo)無關(guān):網(wǎng)絡(luò)工程師通過P4能夠描述從高性能硬件到軟件交換機(jī)的包處理功能。
謝謝!
SDN仿真環(huán)境01配置Linux環(huán)境02Mininet介紹03Mininet實驗VMware簡介VMwareWorkstation是美國VMware公司出品的一個用于運(yùn)行虛擬機(jī)的軟件。它可以在一臺計算機(jī)上同時運(yùn)行多個操作系統(tǒng),包括Windows2003、WindowsXP、Windows7、Windows8、Windows10、Linux等。利用它,你可以在一臺計算機(jī)上將硬盤和內(nèi)存的一部分“拿出來”并虛擬出若干臺計算機(jī),虛擬的每臺計算機(jī)可以運(yùn)行單獨的操作系統(tǒng)而互不干擾。這些“新”計算機(jī)各自擁有自己獨立的CMOS、硬盤和操作系統(tǒng),你可以像使用普通計算機(jī)一樣對它們進(jìn)行分區(qū)、格式化、安裝系統(tǒng)和應(yīng)用軟件等操作,還可以將這幾個“計算機(jī)”聯(lián)成一個網(wǎng)絡(luò)。在虛擬系統(tǒng)崩潰之后可直接刪除,并不影響本機(jī)系統(tǒng),本機(jī)系統(tǒng)崩潰后也不影響虛擬系統(tǒng),可以下次重裝后再加入以前做的虛擬系統(tǒng)。VMuareWorkstation也是唯一能在Windows和Linux主機(jī)平臺上運(yùn)行的虛擬計算機(jī)軟件。Ubuntu簡介Ubuntu是一個以桌面應(yīng)用為主的開源GNU/Linux操作系統(tǒng)。Ubuntu基于DebianGNU/Linux,支持x86、amd64(x64)和PPC架構(gòu),由全球化的專業(yè)開發(fā)團(tuán)隊(Canonical公司)打造。Ubuntu基于Debian和GNOME,而從11.04版起,Ubuntu發(fā)行版放棄了GNOME,改為Unity。與Debian的不同之處在于,它每6個月會發(fā)布一個新版本。Ubuntu具有龐大的社區(qū)力量,用戶可以方便地從社區(qū)獲得幫助。Ubuntu對GNU/Linux的普及特別是桌面普及做出了巨大貢獻(xiàn),由此使更多人可以共享開源的成果。在VMwareWorkstation上安裝Ubuntu操作系統(tǒng)步驟1:運(yùn)行VMware,創(chuàng)建新的虛擬機(jī),選擇“典型”,轉(zhuǎn)至下一步。步驟2:選擇“稍后安裝操作系統(tǒng)”,轉(zhuǎn)至下一步。步驟3:選擇“Linux”→“Ubuntu64位”,轉(zhuǎn)至下一步。步驟4:填寫虛擬機(jī)名稱,選擇保存位置,轉(zhuǎn)至下一步。步驟5:磁盤容量使用默認(rèn)值,轉(zhuǎn)至下一步,單擊“完成”。步驟6:單擊編輯虛擬機(jī)設(shè)置。步驟7:在CD/DVD右側(cè)的選項中,選擇“使用ISO映像文件”,單擊“瀏覽”,選擇下載好的Ubuntu映像文件,單擊“確定”。步驟8:單擊“開啟此虛擬機(jī)”,進(jìn)入安裝。推薦使用英文,選擇“InstallUbuntu”。步驟9:直接單擊“Continue”。步驟10:使用Ubuntu默認(rèn)的分區(qū),不自己進(jìn)行分區(qū),分別單擊“InstallNow”和“Continue”。步驟11:選擇你的所在地,選擇語言鍵盤,填寫用戶名、主機(jī)名和密碼。步驟12:Ubuntu開始安裝,完成后會提示重啟,單擊“RestartNow”。步驟13:Ubuntu安裝完成。01配置Linux環(huán)境02Mininet介紹03Mininet實驗Mininet是由斯坦福大學(xué)基于LinuxContainer架構(gòu)開發(fā)的一個進(jìn)程虛擬化網(wǎng)絡(luò)仿真工具,可以創(chuàng)建一個含有主機(jī)、交換機(jī)、控制器和鏈路的虛擬網(wǎng)絡(luò),其交換機(jī)支持OpenFlow,具有高度靈活的自定義軟件定義網(wǎng)絡(luò)。Mininet是什么相較于仿真器:啟動速度快擴(kuò)展性大帶寬提供多方便安裝、易使用相較于模擬器:運(yùn)行真實的代碼容易連接真實網(wǎng)絡(luò)相較于硬件測試床:便宜快速重新配置及重新啟動Mininet軟件安裝Mininet安裝主要有三種方法(/download/):
使用裝有Mininet的虛擬機(jī)github獲取安裝Mininet源代碼Mininet文件包安裝Mininet命令圖譜網(wǎng)絡(luò)構(gòu)建啟動參數(shù)內(nèi)部交互命令Mininet--topo--custom--switch--controller--mac…外部運(yùn)行參數(shù)dumpnetnodeslinksdpctliperf…-c清除配置信息-h幫助01配置Linux環(huán)境02Mininet介紹03Mininet實驗實驗內(nèi)容:利用Mininet的可視化應(yīng)用完成自定義拓?fù)涞膭?chuàng)建。實驗?zāi)康模毫私饨粨Q機(jī)的MAC地址學(xué)習(xí)過程;了解交換機(jī)對已知單播、未知單播和廣播幀的轉(zhuǎn)發(fā)方式。Mininet實驗——可視化應(yīng)用Mininet可視化Miniedit可視化,直接在界面上編輯任意拓?fù)?,生成python自定義拓?fù)淠_本,簡單方便。Mininet2.2.0+內(nèi)置miniedit。在mininet/examples下提供miniedit.py腳本,執(zhí)行腳本后顯示可視化界面,可自定義拓?fù)浼芭渲脤傩浴iniedit啟動自定義創(chuàng)建拓?fù)?,設(shè)置設(shè)備信息運(yùn)行拓?fù)洳⑸赏負(fù)淠_本Miniedit三步走實驗內(nèi)容:通過Mininet模擬二層交換機(jī)和兩個主機(jī),通過兩個主機(jī)通信來了解交換機(jī)MAC地址學(xué)習(xí)過程。實驗?zāi)康模毫私饨粨Q機(jī)的MAC地址學(xué)習(xí)過程;了解交換機(jī)對已知單播、未知單播和廣播幀的轉(zhuǎn)發(fā)方式。Mininet實驗——MAC地址學(xué)習(xí)初始狀態(tài)交換機(jī)A、B的MAC表均為空MAC地址學(xué)習(xí)過程分析在11上ping33主機(jī)之后,MAC地址表分別為在33上ping11主機(jī)之后,MAC地址表分別為
謝謝!
SDN數(shù)據(jù)平面01數(shù)據(jù)平面簡介02開源交換機(jī)OpenvSwitch03OpenvSwitch實驗傳統(tǒng)交換設(shè)備架構(gòu)傳統(tǒng)網(wǎng)絡(luò)的設(shè)計遵循OSI的7層模型,交換設(shè)備包括了工作在第二層(數(shù)據(jù)鏈路層)的交換機(jī)和工作在第三層(網(wǎng)絡(luò)層)的路由器。交換機(jī)可以識別數(shù)據(jù)分組中的MAC地址,并基于MAC地址來轉(zhuǎn)發(fā)數(shù)據(jù)分組;路由器可以識別數(shù)據(jù)分組中的IP地址,并基于IP地址來轉(zhuǎn)發(fā)數(shù)據(jù)分組和實現(xiàn)路由。傳統(tǒng)交換設(shè)備由控制平面和數(shù)據(jù)平面組成。傳統(tǒng)交換設(shè)備功能傳統(tǒng)交換設(shè)備的控制平面和數(shù)據(jù)平面在物理上是緊密耦合的,邏輯上是相互分離的??刂破矫嫱ㄟ^網(wǎng)絡(luò)操作系統(tǒng)和底層軟件,生成、維護(hù)交換設(shè)備內(nèi)部的轉(zhuǎn)發(fā)表,并實現(xiàn)對網(wǎng)絡(luò)的配置管理。數(shù)據(jù)平面通過硬件轉(zhuǎn)發(fā)芯片對數(shù)據(jù)分組進(jìn)行高速轉(zhuǎn)發(fā),基本功能主要包括轉(zhuǎn)發(fā)決策、背板轉(zhuǎn)發(fā)以及輸出鏈路調(diào)度等幾個方面。轉(zhuǎn)發(fā)決策:在端口收到數(shù)據(jù)分組時,將數(shù)據(jù)分組中的目的地址與設(shè)備自身存儲的MAC地址表或路由表進(jìn)行匹配,從而確定數(shù)據(jù)分組轉(zhuǎn)發(fā)的目的端口背板轉(zhuǎn)發(fā):交換機(jī)通過背板把各個端口連接起來,數(shù)據(jù)分組經(jīng)轉(zhuǎn)發(fā)決策后,由背板從入端口轉(zhuǎn)發(fā)到目的端口。輸出鏈路調(diào)度:各個端口針對接收線路和發(fā)送線路各有一個緩沖隊列。當(dāng)數(shù)據(jù)分組發(fā)往交換機(jī)時,發(fā)出的數(shù)據(jù)分組暫存在交換機(jī)的接收隊列中,然后等待下一步處理。如果交換機(jī)決定把接收的數(shù)據(jù)分組發(fā)送給某一終端,這時候交換機(jī)把要發(fā)送的數(shù)據(jù)分組發(fā)往該接收終端所在端口的發(fā)送隊列,然后發(fā)送到接收終端,如果終端忙則一直存儲在發(fā)送隊列中。傳統(tǒng)交換設(shè)備架構(gòu)與SDN數(shù)據(jù)平面架構(gòu)傳統(tǒng)網(wǎng)絡(luò)的數(shù)據(jù)平面和控制平面在物理上是完全緊密耦合的,分布在各個單獨的交換設(shè)備中,并只支持制定好的網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議,用戶無法部署新的網(wǎng)絡(luò)策略。加之各廠商的設(shè)備接口均對外封閉,用戶亦無法自行管理和調(diào)用網(wǎng)絡(luò)設(shè)備,在使用廠商的設(shè)備時不得不同時依賴其軟件和服務(wù),網(wǎng)絡(luò)相對僵化,缺乏足夠的靈活性。不同于傳統(tǒng)交換設(shè)備,SDN將交換設(shè)備的數(shù)據(jù)平面與控制平面完全解耦,所有數(shù)據(jù)分組的控制策略由遠(yuǎn)端控制器通過南向接口協(xié)議下發(fā),網(wǎng)絡(luò)的配置管理也同樣由控制器完成,這大大提高了網(wǎng)絡(luò)管控的效率。交換設(shè)備只保留數(shù)據(jù)平面,專注于數(shù)據(jù)分組的高速轉(zhuǎn)發(fā),降低了交換設(shè)備的復(fù)雜度。傳統(tǒng)交換設(shè)備架構(gòu)缺點SDN數(shù)據(jù)平面架構(gòu)優(yōu)勢SDN交換設(shè)備架構(gòu)SDN中交換設(shè)備不再有二層交換機(jī)、路由器、三層交換機(jī)之分。SDN交換設(shè)備架構(gòu)如下圖所示,SDN交換設(shè)備的基本功能仍然包括轉(zhuǎn)發(fā)決策、背板轉(zhuǎn)發(fā)、輸出鏈路調(diào)度,但在功能的具體實現(xiàn)上與傳統(tǒng)網(wǎng)絡(luò)的交換設(shè)備有所不同。SDN交換設(shè)備的基本功能轉(zhuǎn)發(fā)決策:SDN交換設(shè)備首先用流表代替了傳統(tǒng)網(wǎng)絡(luò)設(shè)備二層和三層轉(zhuǎn)發(fā)表,該流表中的每個表項都代表了一種流解析以及相應(yīng)的處理動作。數(shù)據(jù)分組進(jìn)入SDN交換機(jī)后,先與流表進(jìn)行匹配查找,若與其中一個表項匹配成功,則執(zhí)行相應(yīng)的處理動作;若無匹配項則上交控制器,由其決定處理決策。背板轉(zhuǎn)發(fā):就目前的網(wǎng)絡(luò)設(shè)備來說,設(shè)備的速率瓶頸主要還是交換芯片,背板提供滿足要求的交換速率并不難。輸出鏈路調(diào)度:SDN交換機(jī)對QoS的支持主要有基于流表項設(shè)置報文入隊列、根據(jù)Meter進(jìn)行限速、基于Counter進(jìn)行計費、基于Group的Select功能進(jìn)行隊列調(diào)度等。背板轉(zhuǎn)發(fā)和輸出鏈路調(diào)度功能沒有給SDN交換機(jī)帶來太大挑戰(zhàn),但轉(zhuǎn)發(fā)決策卻給SDN交換機(jī)在技術(shù)實現(xiàn)上帶來了很大的難題。SDN硬件交換機(jī)基于ASIC芯片的品牌交換機(jī)①NECIP8800系列交換機(jī)②IBMRackSwitchG8264交換機(jī)③HPSDN系列交換機(jī)④Arista7150S系列和7500E交換機(jī)⑤DCNCS16800系列交換機(jī)⑥CiscoNexus9000系列交換機(jī)⑦JuniperEX9200系列交換機(jī)⑧H3CS12500系列交換機(jī)⑨博科ICX7450交換機(jī)基于ASIC芯片的白盒交換機(jī)①盛科V330、V350、V580白盒交換機(jī)②Pica8白盒交換機(jī)系列③基于NP的SDN交換機(jī)④基于NetFPGA的SDN交換機(jī)SDN軟件交換機(jī)由于當(dāng)前OpenFlow標(biāo)準(zhǔn)仍在不斷完善,支持OpenFlow標(biāo)準(zhǔn)的硬件交換機(jī)較少。相對于硬件交換機(jī),在眾多SDN軟件交換機(jī)中,OpenFlow軟件交換機(jī)成本更低、配置更為靈活,其性能基本可以滿足中小規(guī)模實驗網(wǎng)絡(luò)的要求,因此OpenFlow軟件交換機(jī)是當(dāng)前進(jìn)行創(chuàng)新研究、構(gòu)建試驗平臺以及建設(shè)中小型OpenFlow網(wǎng)絡(luò)的首選。(1)OpenvSwitch(2)Pantou(3)Indigo(4)LINC(5)OpenFlowClick(6)OF1.3SoftSwitch01數(shù)據(jù)平面簡介02開源交換機(jī)OpenvSwitch03OpenvSwitch實驗SDN數(shù)據(jù)平面OpenvSwitch是一個優(yōu)秀的開源軟件交換機(jī),支持主流的交換機(jī)功能,比如二層交換、網(wǎng)絡(luò)隔離、QoS、流量監(jiān)控等,而其最大的特點就是支持openflow,openflow定義了靈活的數(shù)據(jù)包處理規(guī)范。為用戶提供L2-L7包處理能力。OVS支持多種Linux虛擬化技術(shù),包括Xen、KVM以及VirtualBox。此外,OVS支持硬件交換機(jī)。OVS支持豐富的特性,如下:OpenvSwitch的典型組網(wǎng)OpenvSwitch具備很強(qiáng)的靈活性,可以在管理程序中作為軟件交換機(jī)運(yùn)行,也可以直接部署到硬件設(shè)備上作為控制層。利用其作為SDN的基礎(chǔ)設(shè)施層轉(zhuǎn)發(fā)設(shè)備,可以大幅降低部署成本,還可以提高網(wǎng)絡(luò)的靈活性以及擴(kuò)展性。OpenvSwitch系統(tǒng)架構(gòu)OpenvSwitch系統(tǒng)架構(gòu)分為內(nèi)核空間(KernelSpace)、用戶空間(UserSpace)、配置管理層(NetworkDevice)這3部分。其中,內(nèi)核空間包含OVS模塊和流表,用戶空間運(yùn)行著OVS的守護(hù)進(jìn)程(ovs-vswitchd)和數(shù)據(jù)庫(ovsdb-server),配置管理層包括ovs-dpctl、ovs-appctl、ovs-vsctl和ovs-ofctl等OpenvSwitch各模塊簡要介紹ovs-vswitchd:主要模塊,實現(xiàn)vSwitch的守候進(jìn)程(Daemon),包括一個支持流交換的DVS內(nèi)核模塊。ovsdb-server:輕量級數(shù)據(jù)庫服務(wù)器,保存配置信息,ovs-vswitchd通過這個數(shù)據(jù)庫獲取配置信息。ovs-dpctl:用來配置vSwitch內(nèi)核模塊的一個工具。ovs-appctl:一個向ovs-vswtichd的守護(hù)進(jìn)程發(fā)送命令的程序。ovs-vsctl:主要獲取或更改ovs-vswitchd的配置信息,此工具操作時會更新ovsdb-server中的數(shù)據(jù)庫。OpenvSwitch(datapath):內(nèi)核模塊,根據(jù)流表匹配結(jié)果做相應(yīng)處理。ovs-ofctl:查詢和控制OpenFlow虛擬交換機(jī)的流表。01數(shù)據(jù)平面簡介02開源交換機(jī)OpenvSwitch03OpenvSwitch實驗OVS的安裝部署實驗內(nèi)容:了解OpenvSwitch的版本信息以及安裝需求,實現(xiàn)源代碼安裝OpenvSwitch。配置、運(yùn)行OpenvSwitch,驗證安裝是否正確。實驗?zāi)康模毫私釵penvSwitch的背景、功能和基本組成結(jié)構(gòu)。掌握安裝部署OpenvSwitch的方法,能夠獨立解決安裝部署中遇到的問題。OVS的安裝部署步驟1解壓源文件,生成Makefile#cd/home/openlab/lab#tar-zxvfopenvswitch-2.3.2.tar.gz#cdopenvswitch-2.3.2#./configure--with-linux=/lib/modules/3.13.0-24-generic/build步驟2編譯安裝OpenvSwitch#make#makeinstall步驟3配置OpenvSwitch#insmod./datapath/linux/openvswitch.ko#mkdir-p/usr/local/etc/openvswitch#ovsdb-toolcreate/usr/local/etc/openvswitch/conf.db/usr/local/share/openvswitch/vswitch.ovsschema#ovsdb-server--remote=punix:/usr/local/var/run/openvswitch/db.sock--remote=db:Open_vSwitch,Open_vSwitch,manager_options--private-key=db:Open_vSwitch,SSL,private_key--certificate=db:Open_vSwitch,SSL,certificate--bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert--pidfile--detach步驟4初始化數(shù)據(jù)庫并啟動#ovs-vsctl--no-waitinit#ovs-vswitchd--pidfile--detachOVS的網(wǎng)橋管理實驗內(nèi)容:學(xué)習(xí)網(wǎng)橋的基本理論知識。學(xué)習(xí)常用的網(wǎng)橋命令,進(jìn)行網(wǎng)橋和端口的添加、刪除、查看等操作。實驗?zāi)康模毫私饩W(wǎng)橋(Bridge)的基本概念以及工作原理。掌握網(wǎng)橋相關(guān)命令的基本使用方法。OVS的網(wǎng)橋管理執(zhí)行以下命令添加名為br0的網(wǎng)橋。#ovs-vsctladd-brbr0執(zhí)行以下命令,列出OpenvSwitch中所有網(wǎng)橋,如下所示。#ovs-vsctllist-br執(zhí)行以下命令,列出掛接到網(wǎng)橋br0上的所有網(wǎng)卡,如下所示。#ovs-vsctllist-portsbr0執(zhí)行以下命令,列出掛接到eth0網(wǎng)卡上的所有網(wǎng)橋,如下所示。#ovs-vsctlport-to-breth0執(zhí)行以下命令,查看OpenvSwitch的網(wǎng)絡(luò)狀態(tài),如下所示。#ovs-vsctlshow步驟1添加網(wǎng)橋端口執(zhí)行以下命令,將物理網(wǎng)卡掛接到網(wǎng)橋br0上,如下所示。#ovs-vsctladd-portbr0eth0說明:port和bridge是多對一的關(guān)系,也就是說一個網(wǎng)橋上可以掛接多個物理網(wǎng)卡。OVS的網(wǎng)橋管理步驟2刪除網(wǎng)橋端口執(zhí)行以下命令,刪除掛接到網(wǎng)橋br0上的網(wǎng)卡eth0。#ovs-vsctldel-portbr0eth0執(zhí)行以下命令,查看OpenvSwitch的網(wǎng)絡(luò)狀態(tài),如下所示。#ovs-vsctlshow由上可知,刪除et0后網(wǎng)橋br0依舊存在。執(zhí)行如下命令,刪除網(wǎng)橋br0,并進(jìn)行確認(rèn),如下所示。#ovs-vsctldel-brbr0說明:如果不刪除eth0直接刪除br0,br0及掛接到br0上的端口會被一并刪除。
OVS的流表管理實驗內(nèi)容:學(xué)習(xí)OpenvSwitch流表的概念、作用及常用命令。進(jìn)行流表的添加、查看等操作。實驗?zāi)康模毫私釵penvSwitch流表的基本概念。掌握流表的基本命令及其使用方法。OVS的流表管理以root用戶登錄交換機(jī),執(zhí)行以下命令,查看鏡像中原有的網(wǎng)橋,如下所示。#ovs-vsctlshow執(zhí)行以下命令,刪除當(dāng)前網(wǎng)橋,并進(jìn)行確認(rèn),如下所示。#ovs-vsctldel-brbr-sw#ovs-vsctlshow執(zhí)行以下命令,添加網(wǎng)橋,并查看虛擬交換機(jī)的基本信息,如下所示。#ovs-vsctladd-brbr0#ovs-ofctlshowbr0OVS的流表管理執(zhí)行以下命令,查看虛擬交換機(jī)上初始流表信息,如下所示。#ovs-ofctldump-flowsbr0執(zhí)行以下命令,添加一條流表項,設(shè)置流表項生命周期為1000s,優(yōu)先級為17,入端口為3,動作是output:2。#ovs-ofctladd-flowbr0idle_timeout=1000,priority=17,in_port=3,actions=output:2說明:這條流表項的作用是將端口3接收到的數(shù)據(jù)包從端口2輸出。
執(zhí)行以下命令,查看交換機(jī)上所有流表信息,如下所示。#ovs-ofctldump-flowsbr0執(zhí)行以下命令,刪除入端口為3的的流表項,刪除后,再次查看流表信息,如下所示。#ovs-ofctldel-flowsbr0in_port=3#ovs-ofctldump-flowsbr0OVS的QoS設(shè)置及端口映射實驗內(nèi)容:利用OpenvSwitch設(shè)置端口速率,通過對比主機(jī)間的吞吐量,直觀地展示出利用OpenvSwitch配置QoS的效果。學(xué)習(xí)端口映射的作用,利用OpenvSwitch設(shè)置端口映射。實驗?zāi)康模毫私釷oS、端口映射等相關(guān)網(wǎng)絡(luò)知識。掌握利用OpenvSwitch調(diào)控網(wǎng)絡(luò)性能。OVS的QoS設(shè)置在主機(jī)1上執(zhí)行以下命令設(shè)置eth0吞吐量為100±50Mbps。#ovs-vsctlsetinterfaceeth0ingress_policing_rate=100000#ovs-vsctlsetinterfaceeth0ingress_policing_burst=50000說明:利用ingress_policing_rate設(shè)置eth0端口最大速率(kbps),ingress_policing_burst設(shè)置最大浮動速率(kbps)。在主機(jī)2上執(zhí)行以下命令啟動客戶端,測量服務(wù)器與主機(jī)之間的吞吐量,如下所示。#netperf-tUDP_STREAM-H-p9991由圖可知,端接收速率明顯降低。OVS的端口映射執(zhí)行以下命令查看端口uuid。由于端口比較多,用|more分頁顯示。#ovs-vsctllistport|moreeth2uuid是:dff77057-e7a8-43ff-95f7-8c6e3308fd87,如下所示。
eth1uuid是:2e9edacd-f52a-4855-83b8-3839891b546c,如下所示。OVS的端口映射eth3uuid是:679aefab-88ba-44da-a1f7-0324a5790759,如下所示。執(zhí)行以下命令將發(fā)往eth1端口和從eth2端口發(fā)出的數(shù)據(jù)包全部定向到eth3端。#ovs-vsctl--setbridgebr-swmirrors=@m----id=@mcreatemirrorname=mymirrorselect-dst-port=2e9edacd-f52a-4855-83b8-3839891b546cselect-src-port=dff77057-e7a8-43ff-95f7-8c6e3308fd87output-port=679aefab-88ba-44da-a1f7-0324a5790759
謝謝!
SDN控制平面
01控制平面簡介02開源控制器OpenDaylight0304OpenDaylight實驗——安裝和配置OpenDaylight實驗——使用界面下發(fā)流表SDN控制器層次化架構(gòu)基本功能層模塊管理事件機(jī)制任務(wù)日志資源數(shù)據(jù)庫網(wǎng)絡(luò)基礎(chǔ)服務(wù)層交換機(jī)管理主機(jī)管理拓?fù)涔芾砺酚?、轉(zhuǎn)發(fā)策略虛擬網(wǎng)管理控制器是SDN的重要組成部分,其設(shè)計與實現(xiàn)是SDN最為關(guān)鍵的技術(shù)環(huán)節(jié)之一,因此理解控制器的架構(gòu)對于深入研究SDN技術(shù)是極其重要的。SDN控制器業(yè)務(wù)編排SDN控制器需要協(xié)調(diào)一系列分布在各下級平臺的相關(guān)資源,并且有時需要保持事件完整性,通常將這個過程稱為編排(Orchestration)將n層的節(jié)點看作服務(wù)器,n?1層的節(jié)點看作客戶端。一個服務(wù)器控制多個客戶端的情況都可以看作編排。例如,應(yīng)用可以編排多個控制器,超級控制器(SuperController,SC)可以編排多個域內(nèi)控制器(DomainController,DC),DC能夠編排多個設(shè)備。目前SDN對編排還沒有正式的定義。根據(jù)ONF的理解,SDN業(yè)務(wù)編排暫時可以定義為一個以最優(yōu)方式滿足競爭性需求的資源分配的持續(xù)過程。這里的“最優(yōu)”至少可以包括優(yōu)先化用戶服務(wù)等級協(xié)定(ServiceLevelAgreement,SLA)保障和一些要素,包括用戶端點位置、地理或拓?fù)渚嚯x、延遲、聚合或細(xì)粒度的負(fù)載、經(jīng)濟(jì)開銷、資源共享或親和度。這里的“持續(xù)”表示環(huán)境和服務(wù)需求隨著時間推移在不斷變化,所以編排是一個持續(xù)的、多維的優(yōu)化反饋回路。SDN控制器評估要素網(wǎng)絡(luò)虛擬化對OpenFlow的支持網(wǎng)絡(luò)功能可擴(kuò)展性性能控制器供應(yīng)商集中管理和可視化網(wǎng)絡(luò)安全性可靠性網(wǎng)絡(luò)可編程性01控制平面簡介02開源控制器OpenDaylight0304OpenDaylight實驗——安裝和配置OpenDaylight實驗——使用界面下發(fā)流表OpenDaylight概述OpenDaylight項目在2013年年初由Linux協(xié)會聯(lián)合業(yè)內(nèi)18家企業(yè)(包括Cisco、Juniper、Broadcom等多家傳統(tǒng)網(wǎng)絡(luò)公司)創(chuàng)立,旨在推出一個開源的通用SDN平臺。OpenDaylight項目的設(shè)計目標(biāo)是降低網(wǎng)絡(luò)運(yùn)營的復(fù)雜度,擴(kuò)展現(xiàn)有網(wǎng)絡(luò)架構(gòu)中硬件的生命期,同時能夠支持SDN新業(yè)務(wù)和新能力的創(chuàng)新。OpenDaylight開源項目希望能夠提供開放的北向API,同時支持包括OpenFlow在內(nèi)的多種南向接口協(xié)議,底層支持傳統(tǒng)交換機(jī)和OpenFlow交換機(jī)。OpenDaylight擁有一套模塊化、可插拔且極為靈活的控制器,能夠被部署在幾乎所有支持Java的平臺上。目前,OpenDaylight的基本版本已經(jīng)實現(xiàn)了傳統(tǒng)二、三層交換機(jī)的基本轉(zhuǎn)發(fā)功能,并支持任意網(wǎng)絡(luò)拓?fù)浜妥顑?yōu)路徑轉(zhuǎn)發(fā)。OpenDaylight總體架構(gòu)OpenDaylight主要模塊功能模塊名功能SAL控制器模塊化設(shè)計的核心,支持多種南向接口協(xié)議,屏蔽了協(xié)議間差異,為上層模塊和應(yīng)用提供一致性的服務(wù)拓?fù)涔芾碡?fù)責(zé)管理節(jié)點、連接、主機(jī)等信息,并負(fù)責(zé)拓?fù)溆嬎憬y(tǒng)計管理負(fù)責(zé)統(tǒng)計各種狀態(tài)信息主機(jī)追蹤負(fù)責(zé)追蹤主機(jī)信息,記錄主機(jī)的IP地址、MAC地址、VLAN以及連接交換機(jī)的節(jié)點和端口信息。該模塊支持ARP請求發(fā)送及ARP消息監(jiān)聽,支持北向接口的主機(jī)創(chuàng)建、刪除及查詢FRM(ForwardingRulesManager,轉(zhuǎn)發(fā)規(guī)則管理)負(fù)責(zé)管理流規(guī)則的增加、刪除、更新、查詢等操作,并在內(nèi)存數(shù)據(jù)庫中維護(hù)所有安裝到網(wǎng)絡(luò)節(jié)點的流規(guī)則信息,當(dāng)流規(guī)則發(fā)生變化時負(fù)責(zé)維護(hù)規(guī)則的一致性交換機(jī)管理負(fù)責(zé)維護(hù)網(wǎng)絡(luò)中節(jié)點、節(jié)點連接器、接入點屬性、三層配置、Span配置、節(jié)點配置、網(wǎng)絡(luò)設(shè)備標(biāo)識ARP處理負(fù)責(zé)處理ARP報文SAL框架介紹SAL服務(wù)基于插件提供的特性來構(gòu)建,上層服務(wù)請求被SAL映射到對應(yīng)的插件,然后采用適合的南向接口協(xié)議與底層設(shè)備進(jìn)行交互。各個插件之間相互獨立并與SAL松耦合。SAL支持上層不同的控制功能模塊,包括交換機(jī)管理、主機(jī)檢測、統(tǒng)計管理、切片管理、拓?fù)涔芾砗娃D(zhuǎn)發(fā)管理等。OpenDaylight代碼結(jié)構(gòu)OpenDaylight控制器Lithium-SR3版本代碼結(jié)構(gòu):OpenDaylight系統(tǒng)架構(gòu)OpenDaylight代碼解析使攻擊者非法獲取主機(jī)的系統(tǒng)級訪問權(quán)限,執(zhí)行任意指令。使攻擊者非法獲取主機(jī)的系統(tǒng)級訪問權(quán)限,執(zhí)行任意指令??刂破骷簩τ诳刂破鱽碚f,集群不是功能,而是控制器必需的基礎(chǔ)框架。集群作為其他模塊正常工作的重要保障,使得控制器不再是一個單點故障點,這就需要控制器有災(zāi)難恢復(fù)機(jī)制和控制器實例之間數(shù)據(jù)一致性保障。MD-SALDatastore在OpenDaylight中,基于MD-SAL的應(yīng)用將數(shù)據(jù)存儲(DataStore)分為兩種類型:一種類型稱為配置,在NETCONF中以config:configuration模塊來定義;另一種類型稱為狀態(tài),在NETCONF中以config:stats模塊來定義。MD-SAL實例源碼分析Toaster應(yīng)用一般由以下幾個模塊組成:應(yīng)用模型模塊、應(yīng)用服務(wù)模塊、應(yīng)用提供模塊、應(yīng)用配置模塊、應(yīng)用組建模塊、集成測試模塊。01控制平面簡介02開源控制器OpenDaylight0304OpenDaylight實驗——安裝和配置OpenDaylight實驗——使用界面下發(fā)流表實驗介紹實驗內(nèi)容:采用兩種不同的方式啟動Karaf控制臺,對比兩種方式的區(qū)別。安裝OpenDaylight組件,掌握一系列相關(guān)的安裝、查詢命令。安裝后進(jìn)行簡單的驗證,確保OpenDaylight安裝正確。實驗?zāi)康模毫私釵penDaylight的背景和基本架構(gòu)。掌握安裝、部署OpenDaylight的方法,能夠獨立解決實驗過程中遇到的問題。實驗拓?fù)鋵嶒炌負(fù)浒ㄒ粋€控制器和一臺主機(jī)設(shè)備:OpenDaylight的安裝直接啟動Karaf控制臺后臺啟動Karaf控制臺在Karaf控制臺查看日志安裝OpenDaylight組件驗證OpenDaylight基本功能卸載OpenDaylight組件OpenDaylight配置配置TCP監(jiān)聽端口配置Web服務(wù)端口配置Java環(huán)境01控制平面簡介02開源控制器OpenDaylight0304OpenDaylight實驗——安裝和配置OpenDaylight實驗——使用界面下發(fā)流表實驗介紹實驗內(nèi)容:比較使用YANGUI下發(fā)流表的方法,與直接在交換機(jī)中通過命令下流表的方法,總結(jié)兩者的異同點。通過YANGUI下發(fā)流表控制主機(jī)之間的連通性,并且利用scapy工具進(jìn)行測試驗證。分別基于OpenFlow1.0協(xié)議和OpenFlow1.3協(xié)議下發(fā)流表,經(jīng)過下流表的過程了解單級流表和多級流表的概念。實驗?zāi)康模赫莆誝ANGUI下發(fā)流表的方式,了解YANGUI的功能特點,以及其在OpenDaylight架構(gòu)中所起的作用。通過下發(fā)流表的過程,梳理出數(shù)據(jù)包處理的簡單流程。并且進(jìn)一步了解單級流表和多級流表的處理過程。實驗拓?fù)鋵嶒炌負(fù)浒ㄒ粋€控制器,一個交換機(jī)和三臺主機(jī)設(shè)備:基于OpenFlow1.0下發(fā)流表下發(fā)流表:檢查流表是否已經(jīng)成功下發(fā):基于OpenFlow1.3下發(fā)流表檢查流表是否已經(jīng)成功下發(fā):下發(fā)流表:
謝謝!
SDN協(xié)議接口
01南向接口協(xié)議02北向接口協(xié)議03
使用OpenFlow協(xié)議建立連接04
使用Postman下發(fā)流表南向接口協(xié)議概述SDN控制平面通過南向接口協(xié)議對數(shù)據(jù)平面進(jìn)行控制和管理,包括鏈路發(fā)現(xiàn)、拓?fù)涔芾?、策略制定、表項下發(fā)等。南向接口協(xié)議在完成控制平面與數(shù)據(jù)平面間交互的同時,也需要完成部分管理配置功能。SDN南向接口協(xié)議有很多種,其中發(fā)展較為成熟、使用較為廣泛的交互協(xié)議是OpenFlow協(xié)議,較為典型的網(wǎng)絡(luò)設(shè)備管理協(xié)議是NETCONF協(xié)議,本節(jié)將分別對這兩種協(xié)議進(jìn)行詳細(xì)介紹。OpenFlow協(xié)議架構(gòu)OF交換機(jī)通過OpenFlow協(xié)議與控制器通信。流表、安全通道與OpenFlow協(xié)議是v1.0版本中最為核心的概念。流表是一些針對特定流的策略的集合,負(fù)責(zé)數(shù)據(jù)分組的查詢和轉(zhuǎn)發(fā),主要包含數(shù)據(jù)分組的匹配特征和處理方法。OF交換機(jī)通過安全通道與控制器相連,安全通道上傳輸?shù)木褪荗penFlow協(xié)議消息,負(fù)責(zé)控制器與交換機(jī)間的交互。OpenFlow流表項結(jié)構(gòu)OpenFlowv1.0流表項結(jié)構(gòu)OpenFlow的流表項主要包括3個部分:分組頭域(HeadField):用于數(shù)據(jù)分組匹配;計數(shù)器(Counter):用于保存與條目相關(guān)的統(tǒng)計信息;動作表:用于匹配表項后對數(shù)據(jù)分組執(zhí)行動作。OpenFlow分組頭域分組頭域是數(shù)據(jù)分組匹配流表項時的參考依據(jù),作用類似于傳統(tǒng)交換機(jī)進(jìn)行二層交換時匹配數(shù)據(jù)分組的MAC地址,也類似于路由器進(jìn)行三層路由時匹配的IP地址。如圖5-3所示,在OpenFlowv1.0中,流表項的分組頭域包括了12個字段,協(xié)議稱其為12元組(12-Tuple),它提供了1~4層的網(wǎng)絡(luò)控制信息。OpenFlow12元組字段字節(jié)數(shù)適用范圍說明入端口未規(guī)定所有數(shù)據(jù)分組數(shù)據(jù)分組進(jìn)入交換機(jī)的端口號,從1開始以太網(wǎng)源地址6B有效端口收到的數(shù)據(jù)分組無以太網(wǎng)目的地址6B有效端口收到的數(shù)據(jù)分組無以太網(wǎng)幀類型2B有效端口收到的數(shù)據(jù)分組OF交換機(jī)必須支持由IEEE802.2+SNAP或OUI規(guī)定的類型。使用IEEE802.3而非SNAP的幀類型為0x05FFVLAN標(biāo)識12bit幀類型為0x8100的數(shù)據(jù)分組VLANIDVLAN優(yōu)先級3bit幀類型為0x8100的數(shù)據(jù)分組VLANPCP字段源IP地址4BARP與IP數(shù)據(jù)分組可劃分子網(wǎng)目的IP地址4BARP與IP數(shù)據(jù)分組可劃分子網(wǎng)IP數(shù)據(jù)分組類型1BARP與IP數(shù)據(jù)分組對應(yīng)ARP中opcode字段的低字節(jié)服務(wù)類型ToS6bitIP數(shù)據(jù)分組高6bit為ToS傳輸層源端口號/ICMP類型2BTCP/UDP/ICMP分組當(dāng)數(shù)據(jù)分組類型是ICMP時,低8bit用于標(biāo)識ICMP類型傳輸層目的端口號/ICMP碼值2BTCP/UDP/ICMP分組當(dāng)數(shù)據(jù)分組類型是ICMP時,低8bit用于標(biāo)識ICMP碼值OpenFlowv1.0中12元組詳細(xì)信息:OpenFlow計數(shù)器類型計數(shù)器字節(jié)數(shù)/B每張表有效表項4查表的數(shù)據(jù)分組8匹配的數(shù)據(jù)分組8每條流表項接收數(shù)據(jù)分組8接收字節(jié)8生存時間(單位為s)4生存時間(單位為ns)4每個端口接收數(shù)據(jù)分組8傳送數(shù)據(jù)分組8接收字節(jié)8傳送字節(jié)8接收出現(xiàn)的錯誤8傳送出現(xiàn)的錯誤8接收后丟棄的分組8傳送時丟棄的分組8接收的幀排列錯誤8溢出錯誤8循環(huán)冗余校驗(CRC)錯誤8幀沖突8每個隊列傳送的數(shù)據(jù)分組8傳送的字節(jié)8溢出錯誤8流表項中的計數(shù)器被用來統(tǒng)計流的一些信息,例如查找次數(shù)、收發(fā)分組數(shù)、生存時間等。OpenFlow針對每張表、每條流表項、每個端口、每個隊列也都會維護(hù)它們相應(yīng)的計數(shù)器。OpenFlow動作表動作表指定了OF交換機(jī)處理相應(yīng)流的行為。動作表可以包含0個或多個動作,交換機(jī)會按照這些動作的先后順序依次執(zhí)行。如果其中不包含轉(zhuǎn)發(fā)(Forward)動作,數(shù)據(jù)分組就會被丟棄掉;如果包含轉(zhuǎn)發(fā)動作,數(shù)據(jù)分組會得到相應(yīng)的轉(zhuǎn)發(fā)處理。類型名稱說明必選動作轉(zhuǎn)發(fā)交換機(jī)必須支持將數(shù)據(jù)分組轉(zhuǎn)發(fā)給設(shè)備的物理端口及下面的虛擬端口。ALL:數(shù)據(jù)分組復(fù)制為多份轉(zhuǎn)發(fā)到所有端口(不包括入口,不考慮最小生成樹)。CONTROLLER:將數(shù)據(jù)分組封裝為Packet-in消息并轉(zhuǎn)發(fā)給控制器。LOCAL:轉(zhuǎn)發(fā)給本地網(wǎng)絡(luò)棧。TABLE:對控制器Packet-out數(shù)據(jù)分組執(zhí)行流表的匹配。IN_PORT:把數(shù)據(jù)分組從它的入端口發(fā)回去丟棄沒有明確指明處理行動的表項,匹配的所有數(shù)據(jù)分組默認(rèn)被丟棄可選動作轉(zhuǎn)發(fā)NORMAL:按照OF交換機(jī)所支持的傳統(tǒng)交換機(jī)的二層或三層策略進(jìn)行轉(zhuǎn)發(fā)。FLOOD:通過最小生成樹從出口泛洪發(fā)出,但不包括入口入隊將分組轉(zhuǎn)發(fā)到某個端口上已配置好的隊列中,隊列的配置OpenFlow無法實現(xiàn)修改域交換機(jī)將修改數(shù)據(jù)分組的分組頭,可以為12元組中的任意字段OpenFlow流表的匹配在OpenFlowv1.0中,數(shù)據(jù)分組是依照12元組進(jìn)行匹配的。當(dāng)數(shù)據(jù)分組進(jìn)入OF交換機(jī)后,就會將它的12元組解析出來,并將該12元組與流表中各個表項的分組頭域中的12元組對照,以決定后續(xù)的動作,整個流程如下圖所示。OpenFlow安全通道OpenFlow安全通道負(fù)責(zé)承載OpenFlow協(xié)議的消息,不管是流表的下發(fā)還是其他的控制消息,都要經(jīng)過這條通道。這部分流量屬于OpenFlow網(wǎng)絡(luò)的控制信令,不同于數(shù)據(jù)平面的網(wǎng)絡(luò)流,它不需要經(jīng)過交換機(jī)流表的檢查。為了保證這部分流量安全可靠的傳輸,OpenFlowv1.0規(guī)定通道建立在TCP連接之上,采用安全傳輸層協(xié)議(TransportLayerSecurity,TLS)進(jìn)行加密。OpenFlow安全通道的建立OpenFlow安全通道的維護(hù)OpenFlow協(xié)議消息OpenFlow協(xié)議消息——Controller-to-Switch子類型功能描述Features安全通道建立以后,控制器會立即發(fā)送Features-Request消息給交換機(jī),以獲取交換機(jī)支持的相關(guān)特性。Configuration控制器可以通過Set-Config消息設(shè)置交換機(jī)的配置信息,通過Get-Config消息查詢配置信息,交換機(jī)需要通過Config-Reply消息做出應(yīng)答。Modify-State控制器通過Port-mod消息管理交換機(jī)的端口狀態(tài),通過Flow-mod消息增加或者刪除交換機(jī)的流表項。Read-StateOpenFlow會維護(hù)每張表、每個流表項、每個端口、每個隊列相應(yīng)的計數(shù)器,當(dāng)控制器需要統(tǒng)計信息時,還會向交換機(jī)發(fā)送相關(guān)的Request消息,請求相關(guān)信息。Send-Packet很多情況下,控制器需要發(fā)送消息到數(shù)據(jù)平面,這時可以通過Packet-out消息封裝好數(shù)據(jù)分組并傳給OF交換機(jī),并在該消息中指定特定的動作表,指導(dǎo)交換機(jī)如何處理這個數(shù)據(jù)分組,而不再進(jìn)行流表的匹配。Barrier控制器通過Barrier-Request消息確保之前下發(fā)的消息已經(jīng)被交換機(jī)執(zhí)行完。Controller-to-Switch(控制器—交換機(jī)):這類消息由控制器發(fā)起。Asynchronous消息子類型功能描述Packet-in收到的數(shù)據(jù)分組如果在流表中沒有匹配的流表項,或者匹配的流表項中給出了轉(zhuǎn)發(fā)動作,但動作中指定端口為CONTROLLER時,OF交換機(jī)會封裝Packet-in消息,把這個數(shù)據(jù)分組上交給控制器。Flow-Removed交換機(jī)中的流表項因為超時或修改等原因被刪除掉時,會觸發(fā)Flow-Removed消息,觸發(fā)的前提是在下發(fā)這條流表項時flags字段置位了OFPFF_SEND_FLOW_REM。Port-Status交換機(jī)端口狀態(tài)發(fā)生變化時(如Up/Down),會觸發(fā)Port-Status消息報告端口的信息以及發(fā)生的狀態(tài)變化(如Add、Delete或者M(jìn)odify)。Error交換機(jī)通過Error消息來通知控制器發(fā)生錯誤的信息。Asynchronous(異步):這類消息由交換機(jī)主動發(fā)起。用來將網(wǎng)絡(luò)事件或交換機(jī)狀態(tài)的變化更新到控制器。Symmetric消息子類型功能描述Hello認(rèn)證通過后,雙方通過握手消息(Hello)建立安全通道。Echo雙方均可以主動向?qū)Ψ桨l(fā)出Echo-Request消息,接收者需要回復(fù)Echo-Reply。該消息用來“?;睢?,也可以用來測量延遲。VendorVendor是為未來的協(xié)議版本預(yù)留的,以便允許OF交換機(jī)廠商提供額外的OpenFlow功能。Symmetric(對稱):這類消息可由控制器發(fā)起,也可以由OF交換機(jī)發(fā)起。OpenFlow協(xié)議的演進(jìn)OpenFlow協(xié)議由開放網(wǎng)絡(luò)基金會(ONF)負(fù)責(zé)維護(hù),OpenFlowv1.0作為第一個較為成熟的版本,于2009年12月發(fā)布,隨后陸續(xù)地發(fā)布了幾個版本,協(xié)議仍在不斷地演進(jìn)。OpenFlow協(xié)議面臨的問題使攻擊者非法獲取主機(jī)的系統(tǒng)級訪問權(quán)限,執(zhí)行任意指令。使攻擊者非法獲取主機(jī)的系統(tǒng)級訪問權(quán)限,執(zhí)行任意指令。協(xié)議消息類型尚不完善SDN是一種革命性的技術(shù),雖然各個版本在不斷豐富消息類型,但整體來看OpenFlow在這方面仍然存在很多的缺陷,控制平面的安全性與擴(kuò)展性問題SDN是集中式控制思想的產(chǎn)物。當(dāng)網(wǎng)絡(luò)規(guī)模超過一定限度時,單點控制會成為SDN中的瓶頸,而且其安全性也存在很大隱患。數(shù)據(jù)平面的設(shè)備性能問題OpenFlow將網(wǎng)絡(luò)協(xié)議棧扁平化,對轉(zhuǎn)發(fā)設(shè)備而言,協(xié)議棧各層次不再具有明確的界限,各個網(wǎng)絡(luò)字段都可作為流表中的匹配域,還可以進(jìn)行任意字段的組合。硬件設(shè)備為了適應(yīng)這種通用的匹配方式,需要付出高昂的代價,這極大地限制了流表的規(guī)模,也就限制了SDN的規(guī)模。NETCONF協(xié)議概述NETCONF定義了一種簡單的管理網(wǎng)絡(luò)設(shè)備的機(jī)制,通過該機(jī)制可以在設(shè)備中檢索配置數(shù)據(jù)信息,使用相應(yīng)的軟件向設(shè)備上傳新的配置數(shù)據(jù)。通過NETCONF協(xié)議,網(wǎng)絡(luò)設(shè)備可以提供規(guī)范的應(yīng)用程序接口(ApplicationProgrammingInterface,API),應(yīng)用程序可以使用這個簡單的API來發(fā)送和接收完整或部分的配置數(shù)據(jù)。NETCONF使用遠(yuǎn)程過程調(diào)用(RemoteProcedureCall,RPC)方式促進(jìn)客戶端和服務(wù)器之間的通信??蛻舳送ǔW鳛榫W(wǎng)絡(luò)管理器的一部分運(yùn)行腳本或應(yīng)用程序。服務(wù)器通常是網(wǎng)絡(luò)設(shè)備??蛻舳耸褂每蓴U(kuò)展標(biāo)記語言(ExtensibleMarkupLanguage,XML)對RPC進(jìn)行編碼,并使用安全的、面向連接的會話將其發(fā)送到服務(wù)器。服務(wù)器以XML編碼的回復(fù)進(jìn)行響應(yīng)。請求和響應(yīng)的具體內(nèi)容在XMLDTDs或XML模式中進(jìn)行了詳細(xì)的描述。NETCONF協(xié)議分層架構(gòu)NETCONF協(xié)議采用了分層協(xié)議模型,初始的配置數(shù)據(jù)通過每一層對應(yīng)的協(xié)議進(jìn)行包裝,然后向下一層提供相關(guān)的服務(wù)。采用這種分層架構(gòu)能夠?qū)ETCONF復(fù)雜的整體拆分成相對獨立的幾層,讓每層都只專注于協(xié)議的某個方面,將各層內(nèi)部發(fā)生修改之后對其他層的影響降到最低,使得整個過程實現(xiàn)起來更加簡單。NETCONF協(xié)議分層介紹NETCONF協(xié)議在邏輯上可以劃分為4層:層面說明第一層:傳輸層面向連接;身份認(rèn)證、完整性和機(jī)密性;強(qiáng)制性運(yùn)輸協(xié)議。第二層:消息層NETCONF協(xié)議采用基于RPC的通信模式。NETCONF協(xié)議使用<rpc>和<rpc-reply>元素來提供與傳輸協(xié)議相獨立的NETCONF請求和響應(yīng),來完成對網(wǎng)絡(luò)設(shè)備的配置管理工作。第三層:操作層NETCONF協(xié)議在操作層中提供了一系列低級別操作來管理設(shè)備配置和檢索設(shè)備狀態(tài)信息,而設(shè)備狀態(tài)信息一般存放在數(shù)據(jù)庫中,這些操作提供了檢索、配置、復(fù)制和刪除配置數(shù)據(jù)存儲的功能。第四層:內(nèi)容層內(nèi)容層由配置數(shù)據(jù)和通知數(shù)據(jù)組成。在NETCONF的標(biāo)準(zhǔn)規(guī)定中并沒有對內(nèi)容層進(jìn)行標(biāo)準(zhǔn)化,但是在RFC6020標(biāo)準(zhǔn)中提出的YANG數(shù)據(jù)建模語言被應(yīng)用于NETCONF數(shù)據(jù)模型和協(xié)議操作。01南向接口協(xié)議02北向接口協(xié)議03
使用OpenFlow協(xié)議建立連接04
使用Postman下發(fā)流表北向接口協(xié)議概述北向接口是提供給運(yùn)營商或者用戶接入和管理的接口,用戶通過控制器提供的北向接口定義和開發(fā)應(yīng)用層中的網(wǎng)絡(luò)管理應(yīng)用程序。與南向接口領(lǐng)域已經(jīng)有OpenFlow等多種國際標(biāo)準(zhǔn)不同,北向接口方面還缺少業(yè)界公認(rèn)的標(biāo)準(zhǔn)。其主要原因是北向接口直接為業(yè)務(wù)應(yīng)用服務(wù),其設(shè)計需密切聯(lián)系業(yè)務(wù)應(yīng)用需求,具有多樣化的特征,很難統(tǒng)一。本節(jié)針對RESTfulAPI這一北向接口進(jìn)行介紹。RESTfulAPI簡介RESTfulAPI指的就是REST風(fēng)格的應(yīng)用程序接口。最初是由RoyFielding(參與設(shè)計HTTP)在其博士畢業(yè)論文中提出。REST的全稱是RepresentationalStateTransfer,可以翻譯為“描述性狀態(tài)遷移”。REST主要有以下幾個特點:資源統(tǒng)一資源標(biāo)識符統(tǒng)一接口無狀態(tài)RESTfulAPI調(diào)測工具Postman介紹Postman是Google開發(fā)的一款功能強(qiáng)大的網(wǎng)頁調(diào)試、發(fā)送網(wǎng)頁HTTP請求,并能運(yùn)行測試用例的Chrome插件。其主要功能:(1)模擬各種HTTP請求(2)Collection功能(測試集合)(3)人性化的Response整理(4)內(nèi)置測試腳本語言(5)設(shè)定變量與環(huán)境01南向接口協(xié)議02北向接口協(xié)議03使用OpenFlow協(xié)議建立連接04
使用Postman下發(fā)流表實驗介紹實驗內(nèi)容:學(xué)習(xí)OpenFlow交換機(jī)和控制器的配置方式。使用Wireshark抓包并進(jìn)行分析,學(xué)習(xí)OpenFlow交換機(jī)與控制器的消息交互過程。實驗?zāi)康模毫私釵penFlow交換機(jī)與控制器建立TCP連接的過程。掌握配置安全通道中OpenFlow版本的方法。理解OpenFlow交換機(jī)和控制器的消息交互過程。實驗拓?fù)鋵嶒炌負(fù)浒ㄒ粋€控制器和一臺主機(jī)設(shè)備:OpenFlow連接建立交互流程1、控制器與OpenFlow交換機(jī)通過TCP“三次握手”,建立有效的連接。其中,控制器一端的端口號為6633。2、控制器與OpenFlow交換機(jī)之間相互發(fā)送Hello消息,用于協(xié)商雙方的OpenFlow版本號。在雙方支持的最高版本號不一致的情況下,協(xié)商的結(jié)果將以較低的OpenFlow版本為準(zhǔn)。如果雙方協(xié)商不一致,還會產(chǎn)生Error消息。OpenFlow連接建立交互流程3.控制器向OpenFlow交換機(jī)發(fā)送FeaturesRequest消息,請求OpenFlow交換機(jī)上傳自己的詳細(xì)參數(shù)。OpenFlow交換機(jī)收到請求后,向控制器發(fā)送FeaturesReply消息,詳細(xì)匯報自身參數(shù),包括支持的buffer數(shù)目、流表數(shù)以及Actions等。4.控制器通過SetConfig消息下發(fā)配置參數(shù),然后通過GetConfigRequest消息請求OpenFlow交換機(jī)上傳修改后的配置信息。OpenFlow交換機(jī)通過GetConfigReply消息向控制器發(fā)送當(dāng)前的配置信息。5.控制器與OpenFlow交換機(jī)之間發(fā)送Packet_out、Packet_in消息,通過Packet_out中內(nèi)置的LLDP包,進(jìn)行網(wǎng)絡(luò)拓?fù)涞奶綔y。6.控制器與OpenFlow交換機(jī)之間通過發(fā)送EchoRequest、EchoReply消息,保證二者之間存在有效連接,避免失聯(lián)。OpenFlowv1.3交互流程分析01南向接口協(xié)議02北向接口協(xié)議03
使用OpenFlow協(xié)議建立連接04使用Postman下發(fā)流表實驗介紹實驗內(nèi)容:學(xué)習(xí)OpenFlow流表的組成,包頭域的解析流程及流表的匹配流程。設(shè)置OpenDaylight控制器對接OpenvSwitch交換機(jī)。使用Postman工具,下發(fā)L2、L3、L4層流表并驗證流表下發(fā)效果。實驗?zāi)康模赫莆誒penFlow流表相關(guān)知識,理解SDN中L2、L3、L4層流表的概念。學(xué)習(xí)并掌握使用Postman工具下發(fā)L2、L3、L4層流表的方法。實驗拓?fù)鋵嶒炌負(fù)浒ㄒ粋€控制器、一個交換機(jī)和兩臺主機(jī)設(shè)備:L2層流表下發(fā)與驗證L2層對應(yīng)OSI模型的二層,控制器可以通過匹配源MAC地址、目的MAC地址、以太網(wǎng)幀類型、VLANID、VLAN優(yōu)先級等字段實現(xiàn)流的轉(zhuǎn)發(fā)。本實驗基于源和目的MAC地址進(jìn)行數(shù)據(jù)流的轉(zhuǎn)發(fā)。L3層流表下發(fā)與驗證匹配源IP地址L3層對應(yīng)OSI模型的三層,三層流表主要匹配IP包的協(xié)議類型和IP地址。L3層流表下發(fā)與驗證匹配nw_proto字段L4層流表下發(fā)與驗證L4對應(yīng)OSI模型中的四層,即流表對應(yīng)的TCP/UDP源端口(TCP/UDPsrcport)、TCP/UDP目的端口號(TCP/UDPdstport)字段。本實驗匹配TCP目的端口。
謝謝!
SDN基礎(chǔ)應(yīng)用開發(fā)01SDN應(yīng)用開發(fā)簡介02防DDoS攻擊SDN應(yīng)用開發(fā)03
服務(wù)器災(zāi)備SDN應(yīng)用開發(fā)04
簡易負(fù)載均衡SDN應(yīng)用開發(fā)SDN應(yīng)用開發(fā)場景SDN的應(yīng)用場景非常廣泛,常見的SDN應(yīng)用開發(fā)場景按照功能可劃分為以下3種:基于SDN的流量調(diào)度、流量可視化應(yīng)用開發(fā)流量采集模塊--數(shù)據(jù)分析模塊--前端展示模塊--控制模塊基于SDN的網(wǎng)絡(luò)安全應(yīng)用開發(fā)防火墻模塊--網(wǎng)絡(luò)策略分析模塊--前端展示模塊基于SDN的上層業(yè)務(wù)應(yīng)用開發(fā)。
上層應(yīng)用模塊--上層應(yīng)用管理模塊--策略轉(zhuǎn)化模塊01SDN應(yīng)用開發(fā)簡介02防DDoS攻擊SDN應(yīng)用開發(fā)03
服務(wù)器災(zāi)備SDN應(yīng)用開發(fā)04
簡易負(fù)載均衡SDN應(yīng)用開發(fā)DDoS攻擊簡介DoS(DenialofService,即拒絕服務(wù))攻擊是一種很簡單但又很有效的進(jìn)攻方式。它的目的是拒絕服務(wù)訪問,破壞組織的正常運(yùn)行。DoS攻擊的基本過程如右圖所示首先攻擊者向服務(wù)器發(fā)送眾多的帶有虛假地址的請求服務(wù)器發(fā)送回復(fù)信息后等待回傳信息,由于地址是偽造的,所以服務(wù)器一直等不到回傳的消息,分配給這次請求的資源就始終沒有被釋放當(dāng)服務(wù)器等待一定的時間后,連接會因超時而被切斷,在這種反復(fù)發(fā)送偽地址請求的情況下,服務(wù)器資源最終會被耗盡DDoS攻擊典型場景DDoS攻擊場景現(xiàn)象流量型(直接)SYN\ACK\ICMP\UDP\ConnectionFLOOD等DDoS告警流量型(反射)NTP\DNS\SSDP\ICMPFLOOD等DDoS告警CC流量變化可能不明顯,業(yè)務(wù)訪問緩慢,超時嚴(yán)重,大量訪問請求指向同一個或少數(shù)幾個頁面HTTP慢速流量變化可能不明顯,業(yè)務(wù)訪問緩慢,超時嚴(yán)重,大量不完整的HTTPGET請求,出現(xiàn)有規(guī)律大?。ㄍǔ:苄。┑腍TTPPOST請求的報文URL反射流量變化明顯,業(yè)務(wù)訪問緩慢,超時嚴(yán)重,大量請求的Referer字段相同,表明均來自同一跳轉(zhuǎn)頁面各種DoS效果漏洞利用入侵檢測防御設(shè)備可能出現(xiàn)告警,DDoS攻擊檢測設(shè)備告警不明顯針對典型DDoS攻擊通過攻擊特征進(jìn)行分類,轉(zhuǎn)換為攻擊場景:SDN應(yīng)用開發(fā)示例:防DDoS攻擊核心技術(shù)——sFlowsFlow技術(shù)是一種以設(shè)備端口為基本單元的數(shù)據(jù)流隨機(jī)采樣的流量監(jiān)控技術(shù),不僅可以提供完整的第二層到第四層甚至全網(wǎng)范圍內(nèi)的實時流量信息,而且可以適應(yīng)超大網(wǎng)絡(luò)流量環(huán)境下的流量分析。sFlow監(jiān)控工具由sFlowAgent和sFlowCollector兩部分組成。Agent作為客戶端,一般內(nèi)嵌于網(wǎng)絡(luò)轉(zhuǎn)發(fā)設(shè)備,通過獲取設(shè)備上的接口統(tǒng)計信息和數(shù)據(jù)信息,將信息封裝成sFlow報文,當(dāng)sFlow報文緩沖區(qū)滿或是在sFlow報文緩存時間超時后,sFlowAgent會將sFlow報文發(fā)送到指定的Collector。Collector作為遠(yuǎn)端服務(wù)器SDN應(yīng)用開發(fā)示例:防DDoS攻擊本示例中,Collector作為遠(yuǎn)端服務(wù)器,部署在Op
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年北師大版高二上學(xué)期期末英語試題及解答參考
- 網(wǎng)課發(fā)言稿短篇范文
- 16《夏天里的成長》 教學(xué)設(shè)計-2024-2025學(xué)年六年級上冊語文統(tǒng)編版
- 高中生物《伴性遺傳》說課稿
- 法學(xué)專業(yè)實習(xí)報告3000字
- 2025年電子控制自動變速箱合作協(xié)議書
- 《Unit 4 My tidy bag里》(教學(xué)設(shè)計)-2024-2025學(xué)年粵教滬外教版(2024)英語一年級上冊
- 第一課 安全乘坐校車(教學(xué)設(shè)計)-2023-2024學(xué)年六年級下冊綜合實踐活動滬科黔科版
- Unit 2 Section B Writing 教學(xué)設(shè)計2024-2025學(xué)年人教版英語七年級上冊
- 2024八年級英語下冊 Unit 2 Plant a PlantLesson 7 Planting Trees教學(xué)實錄(新版)冀教版
- 肥胖患者麻醉管理專家共識2023年版中國麻醉學(xué)指南與專家共識
- (正式版)JBT 14449-2024 起重機(jī)械焊接工藝評定
- 口語交際《演講》:會演講的人成功機(jī)會多兩倍-【中職專用】高一語文(高教版2023基礎(chǔ)模塊下冊)
- 2023年財政部部屬單位招聘考試真題及答案
- 成人癌性疼痛指南解讀護(hù)理課件
- 醫(yī)療糾紛預(yù)防和處理條例通用課件
- 家具類抖音直播策劃方案
- 廠房安全管理制度
- 第四單元整本書閱讀《平凡的世界》(第一課時)公開課一等獎創(chuàng)新教案-【中職專用】(中職語文高教版2023-2024-基礎(chǔ)模塊上冊)
- 逾期催收技巧培訓(xùn)課件
- 客服面試常見問題及回答技巧(3篇)
評論
0/150
提交評論