999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenDayLight 的流表控制研究

2023-09-12 00:50:30
科學(xué)技術(shù)創(chuàng)新 2023年21期
關(guān)鍵詞:界面設(shè)置

高 麗

(蘭州石化職業(yè)技術(shù)大學(xué),甘肅 蘭州)

1 OpenDayLight 介紹

SDN 控制器是SDN 中的應(yīng)用程序,類似網(wǎng)絡(luò)的“大腦”,控制網(wǎng)絡(luò)中的所有設(shè)備,而原來的通用網(wǎng)絡(luò)硬件只需要聽從控制器的命令進(jìn)行“傻瓜式”轉(zhuǎn)發(fā)就可以了,完全將網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)平面和控制平面相分離,實(shí)現(xiàn)網(wǎng)絡(luò)的集中控制和智能化管理。

SDN 開源的控制器[1]主要有NOX、POX、Ryu、Floodlight、OpenDayLight(ODL)等,其中NOX 是一款OpenFlow 控制器,是SDN 開發(fā)的基礎(chǔ),POX 多用于快速開發(fā)控制器原型。Ryu 與OpenStack 平臺(tái)相結(jié)合,提供很多API,支持創(chuàng)建網(wǎng)絡(luò)管理應(yīng)用。Floodlight 是基于Beacon 的企業(yè)級(jí)OpenFlow 控制器。ODL 是Linux基金會(huì)管理的開源項(xiàng)目,本研究主要介紹ODL。

ODL 是使用JAVA 語言開發(fā)的控制器,它的框架具有模塊化、可升級(jí)、支持多協(xié)議、可擴(kuò)展的特點(diǎn)。ODL 框架包括網(wǎng)絡(luò)應(yīng)用編排與服務(wù)、控制器、物理/虛擬網(wǎng)絡(luò)設(shè)備三層,三層之間有北向接口與南向接口連接。控制器通過北向接口向應(yīng)用層提供服務(wù),使用控制器收集信息進(jìn)行分析、部署網(wǎng)絡(luò)規(guī)則。南向接口通過多種協(xié)議,動(dòng)態(tài)地連接在業(yè)務(wù)抽象層(SAL)。ODL 平臺(tái)采用OSGI 框架,支持模塊化和可擴(kuò)展。YANG UI是ODL 中基于DLUX 的應(yīng)用,通過動(dòng)態(tài)封裝、調(diào)用YANG 模型和相關(guān)REST APIs,生成并展示UI 界面。在ODL 中通過YANGTools 項(xiàng)目管理YANG,該項(xiàng)目包含YANG、YANG 模型的代碼生成和DOM/Java 格式之間的映射,DataStore 的建模及其操作(RPC 和通知),提供RESTCONF 訪問數(shù)據(jù)等模塊。為了簡(jiǎn)化和促進(jìn)ODL 應(yīng)用程序的開發(fā),ODL 提供了基于YANG 模型生成并呈現(xiàn)簡(jiǎn)單的界面,相關(guān)的feature 組建有odldlux-core、odl-dluxapps-yangui、odl-dluxapps-yangvisualizer、odl-dluxapps-yangman 等。

2 構(gòu)建OpenDayLight 控制器

2.1 環(huán)境準(zhǔn)備

構(gòu)建OpenDayLight 控制器的環(huán)境所需要的環(huán)境,硬件環(huán)境中CPU 數(shù)量為2 核、內(nèi)存空間為4G、磁盤容量為20G,軟件環(huán)境需要Ubuntu16.04、Mininet、Open-DayLight。本研究是在已經(jīng)安裝Mininet 工具的基礎(chǔ)上進(jìn)行ODL 的安裝和使用。

2.2 安裝準(zhǔn)備

在root 模式下:

(1)安裝OpenDayLight 的依賴包:apt-get update。

(2)安裝基礎(chǔ)包:apt-get install unzip lrzsz。

(3)安裝運(yùn)行環(huán)境JDK。命令apt-get install openjdk-8-jdk。

(4)設(shè)置JDK 環(huán)境變量。

打開配置文件:vi /etc/profile。在文件最后添加以下設(shè)置:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-ope njdk-i386

export JRE_HOME=u${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME)/lib:$(JRE_HOME)/lib

export PATH=${JAVA HOME}/bin:$PATH

注意為使得文件生效,要執(zhí)行source /etc/profile命令。并使用echo ${JAVA_HOME}和java -version命令確認(rèn)JDK 版本、配置是否生效。

2.3 下載安裝OpenDayLight

OpenDayLight 為開源軟件下載鏈接:

解壓壓縮文件,并打開文件org.apache.karaf.managemnet.cfg 修改參數(shù)如下:

OpenDayLight 已安裝成功,在distribution-karaf-0.6.0-Carbon 目錄下使用命令./bin/karaf 啟動(dòng)karaf 容器,開啟界面見圖1。

圖1 OpenDayLight 的開啟界面

此時(shí)通過karaf 安裝feature。安裝內(nèi)容如下,在此提醒需要嚴(yán)格按照以下順序安裝,否則可能會(huì)導(dǎo)致無法訪問UI 界面。

如果沒有按照順序安裝,致使無法登錄進(jìn)入ODL主界面[2]。需要?jiǎng)h除data 后重新安裝組件。

3 OpenDayLight 控制器的使用

3.1 開啟ODL

Miniet 環(huán)境下,在Miniedit 界面化工具下創(chuàng)建拓?fù)洌慌_(tái)交換機(jī)下掛三臺(tái)主機(jī)。運(yùn)行拓?fù)洌诖颂嵝炎⒁忾_啟OpenDayLight。

在下發(fā)流表之前,查看以下內(nèi)容:

(1)登錄控制器c0。執(zhí)行netstat -an | grep 6633 命令,得到c0 是否處于監(jiān)聽的狀態(tài)。

(2)登錄交換機(jī)s1。在c0 處于監(jiān)聽狀態(tài)的前提下,執(zhí)行ovs-vsctl show 命令,查看交換機(jī)的網(wǎng)卡鏈接情況,此時(shí)結(jié)果中is_connectedde 的值為true 時(shí),表示已連接到控制器c0。

(3)查看主機(jī)IP 地址。分別登錄h1、h2、h3,使用ifconfig 命令查看IP 地址為10.0.0.1、10.0.0.2、10.0.0.3。

3.2 基于openflow1.0 下發(fā)流表

OpenFlow1.0 協(xié)議只支持單流表,處理數(shù)據(jù)包的流程簡(jiǎn)潔。它的工作流程即是交換機(jī)接收、解析數(shù)據(jù)包,之后從table 0 開始匹配,匹配成功時(shí)對(duì)該數(shù)據(jù)包執(zhí)行相應(yīng)的動(dòng)作、更新計(jì)數(shù)器;如果匹配失敗則將數(shù)據(jù)包交給控制器c0。

操作如下:

(1)切換到交換機(jī)s1,使用命令ovs-vsctl set bridge br0 protocol=OpenFlow10.

(2)在瀏覽器中輸入http://127.0.0.1:8181/index.html,開啟ODL 的web 界面。使用賬號(hào)和密碼:admin登錄之后,加載網(wǎng)絡(luò)拓?fù)洌榭赐負(fù)涔?jié)點(diǎn)ID 信息,得到端口號(hào)及對(duì)應(yīng)節(jié)點(diǎn)控制器ID、MAC 地址等。

(3)基于節(jié)點(diǎn)信息,選擇expand all 中的open daylight-inventoryrev 2013-08-19, 設(shè)置node id=openflow:1,table id=0,flow{id}的信息。

(4)點(diǎn)擊flow list 后面的“+”,設(shè)置id=1,flow id會(huì)自動(dòng)同步,然后match --> ethernet-match -->ethernet -type,填寫“type”為“0x0800(IPv4)”。

(5)選擇“l(fā)ayer-3-match”下拉框中的“ipv4-match”,彈開“l(fā)ayer-3-match”,補(bǔ)充完整源IP 地址和目的 IP 地址,分別為 h1、h2 的 IP 地址是10.0.0.1,10.0.0.2。

(6)設(shè)置instructions 的動(dòng)作為丟包。彈開instructions,點(diǎn)擊instruction list 后面的“+”,instruction order 設(shè)置為0,instruction 的值選擇為“apply-actionscase”;彈開apply-actions,點(diǎn)擊“action list”后面的“+”,action order 設(shè)置為0,action 設(shè)置為“dropaction-case”。

(7)配置priority 為27,cookie 為100000000,table_id 為0,idle-timeout 為0,hard-timeout 為0。

(8)發(fā)送流表。選擇PUT 動(dòng)作,點(diǎn)擊Send,彈出request sent successfully 提示信息,即發(fā)送成功。

(9)測(cè)試流表下發(fā)情況。返回mininet 終端,輸入命令sh ovs-vsctl dump-flows s1,查看下發(fā)流表。在新下發(fā)內(nèi)容的流表中,priority=27,IP 源地址、目的地址分別為h1、h2 的地址,動(dòng)作是drop。再通過執(zhí)行h1 ping h2,得到100%丟包率,見圖2。

圖2 h1 與h2 無法通信

由結(jié)果圖可知h1 與h2 之間不通,h1 與h3 通,新下發(fā)的流表項(xiàng)生效。如果刪除下發(fā)的流表項(xiàng),h1 再次ping h2,此時(shí)可以正常通信。

3.3 基于openflow1.3 下發(fā)流表

OpenFlow1.3 協(xié)議支持多流表匹配[3]。數(shù)據(jù)包處理的原理如下:

收到設(shè)備的報(bào)文后,首先進(jìn)行解析,解析后按照優(yōu)先級(jí)別開始依次匹配流表項(xiàng)。一般根據(jù)報(bào)文頭的字段和報(bào)文類型進(jìn)行匹配。如果匹配成功,按照指令集更新相關(guān)信息,并按照指令確定是否前往下一個(gè)流表,不前往則終止執(zhí)行動(dòng)作集。匹配失敗有兩種情況,一種是存在無匹配流表項(xiàng)(table miss),它的處理方式是將報(bào)文轉(zhuǎn)發(fā)給控制器、丟棄或轉(zhuǎn)發(fā)給其他流表。一種是不存在table miss 表項(xiàng)則丟棄該報(bào)文。

操作如下:

(1)指定OpenFlow1.3 版本連接ODL。使用命令mn -c 清除上面繪制的topo,創(chuàng)建拓?fù)洌付▍f(xié)議為OpenFlow1.3。命令為

mn --custom sdn.py --topo mytopo --controller=remote,ip =127.0.0.1,port =6633--switchovsk,protoctls=OpenFlow13

(2)分別通過GET、Send,DELETE、Send,查看配置流表node id=openflow:1,table id=0 信息并刪除流表信息。

(3)pingall 并使用命令sh ovs-ofctl dumpflows -O OpenFlow13 s1 查看下流表,所有流表項(xiàng)正常發(fā)送。

(4)下發(fā)流表。這里設(shè)置node id=openflow:1,table id=2,其余參考基于OpenFlow1.0 的設(shè)置方式下發(fā)流表。

(5)再次查看流表,h1 發(fā)送流表給h2,actions的值為drop。但在測(cè)試h1 ping h2,發(fā)現(xiàn)h1 發(fā)送h2的包并沒有丟棄,是連通的,這是因?yàn)镺penFlow1.3 版本的流水線式處理流表,從優(yōu)先級(jí)最高的table0 開始,依次匹配,這里執(zhí)行了優(yōu)先級(jí)更高的table0,導(dǎo)致h1 與h2 能夠正常通信。這里將instruction 設(shè)置為goto-table-case,使得table0 轉(zhuǎn)到table2,并設(shè)置priority的值為23,接下來通過選擇PUT、Send 下發(fā),再回mininet 下查看流表及h1 和h3 連通性。

(6)查看流表結(jié)果,得到priority=23,actions 的值為goto_table:2 的流表項(xiàng)。

測(cè)試hi ping h2 連通性,結(jié)果見圖3。得到h1 ping h2 丟包率為100%。

圖3 h1 與h2 無法通信

結(jié)束語

本研究在安裝Mininet 環(huán)境下,通過程序生成真實(shí)網(wǎng)絡(luò)流量,對(duì)OpenFlow 流表實(shí)現(xiàn)控制。通過ODL的YANG UI 進(jìn)行比如改寫源和目的主機(jī)的IP、MAC地址、優(yōu)先級(jí)別等操作,下發(fā)不同流表來自主的控制轉(zhuǎn)發(fā)行為、控制主機(jī)之間的連通性,使得控制網(wǎng)絡(luò)更加靈活多樣。

猜你喜歡
界面設(shè)置
中隊(duì)崗位該如何設(shè)置
國企黨委前置研究的“四個(gè)界面”
7招教你手動(dòng)設(shè)置參數(shù)
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
人機(jī)交互界面發(fā)展趨勢(shì)研究
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 亚洲精品图区| 亚洲国产精品不卡在线| 国产精品夜夜嗨视频免费视频| 国产精品网址在线观看你懂的| 57pao国产成视频免费播放| 无套av在线| 国产成人亚洲毛片| 最新精品久久精品| 国产91丝袜在线播放动漫| 58av国产精品| 国产尹人香蕉综合在线电影 | 亚洲二三区| 欧美伦理一区| 国模私拍一区二区| 91精品综合| yy6080理论大片一级久久| 亚洲无码高清免费视频亚洲| 热热久久狠狠偷偷色男同| 国产成人久久综合777777麻豆| 国产精品久久久免费视频| 国产丝袜无码一区二区视频| 国产女人爽到高潮的免费视频| 永久免费无码成人网站| 91精品国产麻豆国产自产在线| 天天躁夜夜躁狠狠躁躁88| 国产18在线播放| 无码不卡的中文字幕视频| 久久久久无码精品国产免费| 狠狠色丁香婷婷| 99精品热视频这里只有精品7| 欧美福利在线播放| 国产在线无码av完整版在线观看| 国产高潮视频在线观看| 亚洲日本韩在线观看| 97国产成人无码精品久久久| 天天综合网亚洲网站| 亚洲天堂日本| 欧美视频在线第一页| 国产成人精品优优av| 极品尤物av美乳在线观看| 亚洲一级无毛片无码在线免费视频| 国内精品自在欧美一区| 67194在线午夜亚洲| 欧美日韩资源| 人妻精品全国免费视频| 精品人妻系列无码专区久久| 久精品色妇丰满人妻| 国内精自视频品线一二区| 国产精品流白浆在线观看| 亚洲av无码成人专区| 国产成人乱无码视频| 女人毛片a级大学毛片免费| 免费在线成人网| 国产在线精品美女观看| 欧美日韩第二页| 九色91在线视频| 色噜噜在线观看| 欧美色香蕉| 国产精品视频3p| 国产精品亚洲专区一区| 99视频免费观看| 中日韩一区二区三区中文免费视频| 18禁影院亚洲专区| 国产免费自拍视频| 好吊日免费视频| 国产午夜小视频| 亚洲精品国产精品乱码不卞| 青青国产在线| 欧美一级一级做性视频| 99国产精品国产高清一区二区| 亚洲精品图区| 国产白丝av| 国禁国产you女视频网站| 欧美成人区| 久久久久久久久亚洲精品| 一本久道久久综合多人| 久久亚洲国产视频| 性69交片免费看| 中文无码影院| 国产成人一区在线播放| 国产三级精品三级在线观看| 97在线免费视频|