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
主站蜘蛛池模板: 亚洲国产精品人久久电影| 日本精品视频| 国产乱人乱偷精品视频a人人澡| 亚洲 日韩 激情 无码 中出| 日韩av电影一区二区三区四区| 亚洲精品国产首次亮相| 亚洲欧美日韩久久精品| 欧美日韩在线国产| 亚洲成人精品| 成人精品午夜福利在线播放 | 亚洲有无码中文网| 日本色综合网| 久久精品视频一| 又粗又大又爽又紧免费视频| 一区二区欧美日韩高清免费| 国产国模一区二区三区四区| 国产拍在线| 五月天在线网站| 伊人久久久久久久| 国产精品视频公开费视频| 国产成人一区在线播放| 97视频精品全国在线观看| 露脸真实国语乱在线观看| …亚洲 欧洲 另类 春色| 午夜无码一区二区三区| 她的性爱视频| 国产精品第页| 亚洲人成网线在线播放va| 特级做a爰片毛片免费69| 2020亚洲精品无码| 香蕉eeww99国产精选播放| 午夜福利亚洲精品| 九色视频在线免费观看| 亚洲欧美成人综合| 中文字幕永久视频| 第九色区aⅴ天堂久久香| 国产美女91呻吟求| 日韩av电影一区二区三区四区| 国产国语一级毛片在线视频| 97久久免费视频| 亚洲性日韩精品一区二区| 国产成人AV综合久久| 欧美劲爆第一页| 国产第一页第二页| 国产一区二区三区精品欧美日韩| 国内精品九九久久久精品| 91亚洲视频下载| 国内精品伊人久久久久7777人| 无码人中文字幕| 成人亚洲视频| 91精品啪在线观看国产60岁| 久久久亚洲色| 极品av一区二区| 欧美色视频在线| 久久久久人妻一区精品色奶水| 好紧好深好大乳无码中文字幕| 丁香六月激情综合| 欧美a在线视频| 国产精彩视频在线观看| 91在线丝袜| 成人免费视频一区二区三区 | 久久网欧美| 亚洲永久免费网站| 国产区福利小视频在线观看尤物| 5388国产亚洲欧美在线观看| 国产女人在线| 亚洲一区二区黄色| 欧美日韩v| 免费又爽又刺激高潮网址| 毛片在线区| 日韩欧美中文在线| 四虎永久在线精品国产免费| 日韩天堂在线观看| 在线免费不卡视频| 国产噜噜噜| 国产99视频免费精品是看6| 91午夜福利在线观看| 久久国产高清视频| 久久情精品国产品免费| 啊嗯不日本网站| 精品无码人妻一区二区| 制服丝袜亚洲|