openflow和SDN深入介紹及openflow代碼分析、環(huán)境搭建ppt課件_第1頁
openflow和SDN深入介紹及openflow代碼分析、環(huán)境搭建ppt課件_第2頁
openflow和SDN深入介紹及openflow代碼分析、環(huán)境搭建ppt課件_第3頁
openflow和SDN深入介紹及openflow代碼分析、環(huán)境搭建ppt課件_第4頁
openflow和SDN深入介紹及openflow代碼分析、環(huán)境搭建ppt課件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 2021.12.20Deep Intro to SDN/OpenflowOpenflow 代碼分析Openflow環(huán)境搭建與測(cè)試Reference OpenFlow/SDN Introduction 2021ONSOpenFlow and SDN in the Financial IndustryPeter Krey.2021ONSFlow Visor Engineering TutorialRob Sherwood.2021ONSTrema tutorialNEC Trema Team2021ONSHow SDN will shape networking Nick McKeown.202

2、1ONSOpenflow Specification v1.1.0Openflow1.0.0reference版根源碼 Why&what is SDN&Openflow?The network todayclose systems設(shè)備管理獨(dú)立、協(xié)議分散Controller as network OSOpen APISDN(網(wǎng)絡(luò)功能重構(gòu))open systemWhat SDN looks like運(yùn)用層:虛擬網(wǎng)絡(luò)覆蓋、network slicing(網(wǎng)絡(luò)分片)、 tenant-aware broadcast、application-aware path computati

3、on路經(jīng)計(jì)算、集成其他軟件包、政策、平安認(rèn)證、流量工程控制平面層:數(shù)據(jù)平面資源調(diào)度、共享庫(如拓?fù)湫畔?、主機(jī)元數(shù)據(jù)、形狀籠統(tǒng))數(shù)據(jù)平面層:數(shù)據(jù)包轉(zhuǎn)發(fā)按照流表項(xiàng)、數(shù)據(jù)包支配按照流表項(xiàng)、流量統(tǒng)計(jì)Openflow components網(wǎng)絡(luò)虛擬化Trema is Openflow programming framework for Ruby and C FlowVisor就是位于硬件構(gòu)造元件和軟件之間的網(wǎng)絡(luò)虛擬層允許多個(gè)控制同時(shí)控制一臺(tái)OpenFlow交換機(jī),但是每個(gè)控制器僅僅可以控制經(jīng)過這個(gè)OpenFlow交換機(jī)的某一個(gè)虛擬網(wǎng)絡(luò)經(jīng)過FlowVisor建立的實(shí)驗(yàn)平臺(tái)可以在不影響商業(yè)流的轉(zhuǎn)發(fā)速度的情況下

4、,允許多個(gè)網(wǎng)絡(luò)實(shí)驗(yàn)在不同的虛擬網(wǎng)絡(luò)上同時(shí)進(jìn)展A network slice is a collection of sliced switches/routers.Slicing layer (虛擬切片) :實(shí)現(xiàn)網(wǎng)絡(luò)切片隔離How SDN will shape networkingAn industry change使網(wǎng)絡(luò)運(yùn)營商和運(yùn)用者對(duì)所運(yùn)營所運(yùn)用的網(wǎng)絡(luò)有更大的權(quán)限用戶定制本地所需的網(wǎng)絡(luò)功能、淘汰不需求的功能模塊、創(chuàng)建虛擬網(wǎng)絡(luò)實(shí)現(xiàn)隔離加快網(wǎng)絡(luò)創(chuàng)新以軟件更新的速度創(chuàng)新、規(guī)范隨軟件的更新情況而制定、促進(jìn)技術(shù)交流、促進(jìn)高校技術(shù)創(chuàng)新供應(yīng)鏈多樣化很多軟件供應(yīng)商、根本的硬件層籠統(tǒng)后實(shí)現(xiàn)多樣化的功能延伸建立

5、更強(qiáng)壯的機(jī)制規(guī)范化的數(shù)據(jù)轉(zhuǎn)發(fā)層籠統(tǒng)、對(duì)各種網(wǎng)絡(luò)功能可實(shí)現(xiàn)單獨(dú)測(cè)試SDN developmentOpenflow switchesOpen controllers Openflow Demonstration可以在網(wǎng)絡(luò)系統(tǒng)中經(jīng)過挪動(dòng)每個(gè)子模塊來測(cè)試每個(gè)模塊,并可以決議如何劃分設(shè)計(jì)單元支持無線網(wǎng)絡(luò)挪動(dòng)性研討的框架Elastic tree邏輯上分成三個(gè)功能模塊優(yōu)化、尋址、能量控制。能量控制模塊來切換各端口、線卡和整個(gè)交換機(jī)的能耗形狀。 FlowVisor Creates Virtual NetworksOpenflow數(shù)據(jù)包轉(zhuǎn)發(fā)代碼分析 代碼的大體構(gòu)造涉及報(bào)文傳輸與生成的main函數(shù)udatapat

6、h.c 擔(dān)任datapathcontroller.c 擔(dān)任controllersecchan.c 擔(dān)任平安通道,銜接controller和udatapath,controller和switch的數(shù)據(jù)交互要經(jīng)過secchandpctl.c 擔(dān)任管理dpopenflow設(shè)備上建立的主銜接和附屬銜接主銜接是可靠銜接,附屬銜接不一定是可靠銜接 /Vconn-provider.h struct vconn_class const char *name;/用戶定義的銜接名字int (*open)(const char *name, char *suffix, struct vconn *vconnp);

7、/嘗試與openflow設(shè)備建立銜接,勝利那么前往0、并將銜接指針存入 *vconnp;不勝利那么前往errno的錯(cuò)誤類型,假設(shè)不能立刻建立銜接,那么前往EAGAIN,轉(zhuǎn)入后臺(tái)建立銜接void (*close)(struct vconn *vconn);/封鎖vconn并且釋放存儲(chǔ)空間int (*connect)(struct vconn *vconn);/試圖完成vconn上的銜接,勝利與否都前往相應(yīng)的前往值 int (*recv)(struct vconn *vconn, struct ofpbuf *msgp);/試圖從vconn上接納openflow音訊,勝利那么前往0并且將音訊存至*

8、msgp,回話發(fā)起方需求在通訊后刪除音訊,利用ofpbuf_delete(),接納失敗那么前往errno音訊并且*msgp中存入空指針Vconn_class (2/3)void (*wait)(struct vconn *vconn, enum vconn_wait_type type);/循環(huán)等待音訊類型指出詳細(xì)的actionVconn_class (3/3)int (*send)(struct vconn *vconn, struct ofpbuf *msg);/試圖在vconn上將msg參與隊(duì)列待傳輸Datapath代碼分析openflow/udatapathdp_run:處置流超時(shí),檢

9、查交換機(jī)控制器發(fā)出的數(shù)據(jù)包,然后調(diào)度數(shù)據(jù)包給不同的程序處置/datapath.cdp_wait:調(diào)用netdev_recv_wait(),在poll loop注冊(cè),以在net_dev()要預(yù)備接納數(shù)據(jù)包時(shí)時(shí),調(diào)用poll_block()來喚醒當(dāng)前形狀,來接納數(shù)據(jù)包/datapath.c poll_block:在事件注冊(cè)后分開阻塞形狀,喚醒dp_wait() /poll_block.c數(shù)據(jù)層面轉(zhuǎn)發(fā)從netdev接納數(shù)據(jù)包存入buffer /lib/netdev.c假設(shè)接納無誤,那么fwd_port_input()被通告處置數(shù)據(jù)包 /udatapath/datapath.c交換機(jī)查詢流表,試圖找到

10、匹配 udatapath/datapath.c 經(jīng)過查詢活動(dòng)的流表的鏈表來搜索匹配 chain.c前往run_flow_through_tables和use_throughswitch-flow.c中來更新最近的流運(yùn)用時(shí)間,輸出actionDo_output,最后一個(gè)輸出端口記錄成prev_port,確保除了最后一個(gè)action其他的action都用過buffer了。 /dp_act.c假設(shè)需求繼續(xù)轉(zhuǎn)發(fā),那么需求dp_output_port ,假設(shè)輸出端口不是特定的虛擬端口,那么默許調(diào)用output_packet(),函數(shù)檢查假設(shè)端口是可用形狀,那么發(fā)出數(shù)據(jù)包,并將計(jì)數(shù)器加一,然后清空buff

11、er /datapath.c 控制層面轉(zhuǎn)發(fā)remote-_run()調(diào)用dp_run(),檢查平安通道的銜接調(diào)用fwd_control_input(), 標(biāo)識(shí)音訊的類型并且調(diào)用適宜的句柄能夠在交換機(jī)上新建流表,并進(jìn)展近一步的轉(zhuǎn)發(fā)操作Openflow 環(huán)境搭建與測(cè)試Openflow 1.0.0(Reference release)An openflow switchuserspace datapath-based switch,不需建立內(nèi)核模塊1. Ofdatapathudatapath/ofdatapath在用戶空間實(shí)現(xiàn)流表項(xiàng)配置2. Ofprotocol在參考交換機(jī)中實(shí)現(xiàn)平安通道secure

12、 channel的程序3. Dpctl 配置交換機(jī)的工具這個(gè)發(fā)行版本附帶的其他軟件1. Controller功能:可以銜接恣意數(shù)量的交換機(jī),使其發(fā)揚(yáng)普通二層交換機(jī)的作用2. Vlogconf功能:適配正在運(yùn)轉(zhuǎn)的of協(xié)議或者控制器的系統(tǒng)日志級(jí)別3. Ofp-pki功能:創(chuàng)建和管理Openflow交換機(jī)的公鑰4. 一個(gè)利用tcpdump來分析openflow音訊 的補(bǔ)丁5. 一個(gè)測(cè)試openflow功能的遞歸套件6. 一個(gè)分析openflow協(xié)議的Wireshark解析器controller punix:/var/run/controller.sock &Ifconfig eth0 192.168

13、.1.2 upcontroller -v ptcp./configureMakeMake installRmmod bridge ofdatapath punix:/var/run/dp0.sock -i eth1 -local-port=tap:tap0 &ifconfig tap0 ofprotocol unix:/var/run/dp0.sock tcp:CONNECTED測(cè)試交換機(jī)和控制器的連通性Ifconfig tap0 dpctl add-flow unix:/var/run/dp0 ,in_port=eth1,actions=output:eth3dpctl add-flow unix:/var/run/dp0 ,in_port=eth3, dl_dst=$SW1_ETH1_MAC,action=mod_dl_dst:$HOST2_MAC,output:eth1Ifconfig tap0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論