• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      面向數據平面P4編程的虛擬仿真實驗教學平臺

      2019-11-07 11:42:54林為偉葉福玲
      中國現(xiàn)代教育裝備 2019年19期
      關鍵詞:流表圖形化網絡拓撲

      林為偉 張 棟 葉福玲

      1.福州大學數學與計算機科學學院 福建福州 350108

      2.福州大學網絡信息安全與計算機技術實驗教學中心 福建福州 350108

      3.福州大學至誠學院 福建福州 350002

      網絡實驗教學是計算機專業(yè)網絡課程的重要組成部分。現(xiàn)有網絡實驗課程主要集中在設備操作與協(xié)議驗證,對網絡底層,如路由器或交換機的體系結構、工作機制及工作原理等涉及較少[1,2]。教師受限于固化的硬件,難以編程設計或優(yōu)化底層設備,實驗教學主要圍繞步驟化的驗證性實驗展開。隨著軟件定義網絡(Software Defined Networking,SDN)技術的發(fā)展,上述困境逐步得到緩解。SDN作為新型網絡架構,將控制平面與數據平面分離,控制平面通過OpenFlow協(xié)議制訂和下發(fā)轉發(fā)策略,數據平面按策略轉發(fā)[3]。然而OpenFlow不具有協(xié)議不相關性,使數據轉發(fā)只能依據現(xiàn)有的協(xié)議[4]。而P4(Programming Protocol-Independent Packet Processors)的問世,克服了OpenFlow的上述缺陷。

      作為SDN領域的編程語言,P4為數據平面提供了一套編程抽象,開發(fā)者可以使用P4描述網絡數據平面協(xié)議和數據包處理行為,而無須關心底層硬件的實現(xiàn)細節(jié),并可編程更改數據包解析與轉發(fā)流程,解決了傳統(tǒng)網絡硬件設備可編程能力低的問題[5,6]。已有越來越多高校將SDN引入計算機網絡教學,并探索將P4作為SDN的重要組成部分引入課堂,解決當前網絡實驗教學無法涉及底層設備架構與可編程的問題[7,8]。但是,現(xiàn)有的P4從開發(fā)到部署運行,配套的集成運行環(huán)境較為缺乏,嚴重依賴于控制平面的復雜配置,難以滿足初學者的仿真實驗學習要求。因此,如何簡化控制平面的復雜配置,設計簡便的P4集成仿真實驗環(huán)境,將教與學的精力集中于數據平面可編程,成為保障P4實驗教學順利實施的重要課題。

      1 P4虛擬仿真實驗教學平臺的設計與實現(xiàn)

      作為數據平面的編程語言,P4的開發(fā)、部署和運行,都依賴控制平面的配置。首先,P4程序的運行,需要控制平面下發(fā)網絡拓撲結構的具體配置;其次,P4程序只定義對數據平面匹配動作的一系列高級描述,但匹配動作何時被執(zhí)行,還需要控制平面配置下發(fā)流表,來驗證匹配動作執(zhí)行的正確性??刂破矫娴呐渲貌僮鳠┈崳绊慞4教學實驗的順利實施與推廣。針對該問題,構建P4虛擬仿真實驗教學平臺,為P4程序提供配套的集成運行環(huán)境,將教與學的精力集中于P4編程上。

      1.1 平臺設計

      P4虛擬仿真實驗教學平臺包含五個模塊,分別是Web前端、初始化模塊、網絡拓撲配置模塊、流表配置模塊和P4源代碼模塊,各模塊間的關系如圖1所示。各模塊功能如下。

      (1)Web前端:啟動Web圖形化界面,提交網絡拓撲生成的文件和配置下發(fā)流表。

      (2)初始化模塊:存放網絡拓撲文件和前端啟動腳本,通過運行啟動腳本可以啟動網絡環(huán)境的虛擬仿真。

      (3)網絡拓撲配置模塊:服務后端,存放網絡拓撲配置文件,處理前端操作生成的網絡拓撲文件,實際配置網絡拓撲。

      (4)流表配置模塊:服務后端,存放流表配置文件,處理前端操作提交的流表配置命令。

      (5)P4源代碼模塊:存放用戶編寫的P4代碼及代碼所依賴的頭文件和解析文件,根據前端建立網絡拓撲和提交的流表配置完成相應的動作匹配。

      圖1 P4虛擬仿真實驗平臺模塊結構圖

      平臺為P4程序的開發(fā)部署提供了兩項控制平面配置服務功能,一是提供圖形化操作建立并展示網絡拓撲;二是提供圖形化操作查看和修改交換機的流表項。

      1.2 平臺實現(xiàn)

      平臺采用輕量級仿真工具Mininet提供底層網絡拓撲生成,通過初始化模塊啟動Mininet,并基于控制器Ryu應用gui_topology進行二次開發(fā),提供Web前端的圖形化展示[9,10]。Mininet 基于 Linux Container 架構,是斯坦福大學Nick McKeown 教授領導的研究小組開發(fā)的網絡虛擬仿真工具,可以在計算機上模擬完整的網絡主機、鏈路和交換機,同時還具有很強的擴展性[11]。Ryu是SDN的一種開源控制器,可以將Mininet平臺連接到Ryu控制器上,通過Ryu提供的可視化界面展示SDN對網絡的集中式控制。P4虛擬仿真實驗教學平臺可以讓學生通過可視化的Web界面創(chuàng)建網絡拓撲,同時動態(tài)查看和修改數據平面交換機的流表項。

      2 P4虛擬仿真實驗教學方案

      通過建立拓撲和修改流表實驗對提出的P4虛擬仿真實驗教學方案進行展示。實驗需要驗證P4代碼switch.p4在網絡拓撲中對數據包的轉發(fā),程序關鍵代碼展示如下。

      首先,利用P4虛擬仿真實驗教學平臺提供的圖形化界面,建立并驗證網絡拓撲的正確性;其次,在建立網絡拓撲基礎上,選擇特定的交換機,由平臺完成流表下發(fā),驗證所寫P4程序數據包轉發(fā)的功能。通過上述實驗,能讓學生感受到平臺的圖形化界面為控制平面配置工作所提供的便捷,將師生從原本復雜的控制平面配置中解脫出來,專注于數據平面的P4編程。

      本實驗將要建立的網絡拓撲如圖2所示,其中s1,s2,s3是三臺形成環(huán)路的交換機,每臺交換機分別連接一臺主機和相鄰兩臺交換機。在沒有平臺的輔助下,學生若需要建立該拓撲,要按照特定的格式,以文本文件的形式將所需網絡拓撲結構編寫保存,再由Mininet加載生成虛擬網絡環(huán)境。建立拓撲和修改流表實驗將展示由平臺提供的Web圖形化界面,幫助快速便捷地建立網絡拓撲。網絡搭建完成后,還將進行修改流表的操作。若缺少平臺輔助,學生需逐臺登錄交換機,再通過命令行的方式,逐條下發(fā)流表規(guī)則,學生需要記憶復雜的流表下發(fā)命令格式。建立拓撲和修改流表實驗將展示由平臺提供的Web圖形化界面,便捷地配置下發(fā)流表。

      圖2 實驗網絡拓撲圖

      (1)創(chuàng)建網絡拓撲:首先,使用Ryu開源控制器的ryu-manager命令,運行Web前端當中的python代碼p4web.py,啟動Web前端。其次,在瀏覽器中打開Web圖形化界面。在Web界面左側輸入交換機和主機的數量,輸入鏈路信息,點擊提交,即可在Web界面的右側展示出所創(chuàng)建的網絡拓撲,如圖3所示,同時程序后臺將生成網絡拓撲文件,以供后續(xù)啟動Mininet時加載。

      圖3 P4虛擬仿真實驗平臺的前端界面

      (2)驗證網絡拓撲:通過Web前臺展示的網絡拓撲圖可以初步驗證網絡拓撲的正確性。啟動Mininet,啟動過程將加載步驟(1)創(chuàng)建的網絡拓撲文件,Mininet完成交換機和主機的虛擬仿真,完成網絡拓撲的配置。在Mininet上使用net命令查看網絡拓撲,驗證發(fā)現(xiàn)由虛擬仿真平臺生成的網絡拓撲與要建立網絡拓撲是一致的,如圖4所示。

      圖4 在Mininet上驗證網絡拓撲

      通過步驟(1)、步驟(2)發(fā)現(xiàn),平臺能夠幫助學生快速建立網絡拓撲。此外,平臺具有配置交換機流表的能力,配置入口如圖3右下方所展示。實驗將展示學生在完成P4程序switch.p4后,利用平臺在控制平面上對網絡拓撲內的交換機配置轉發(fā)規(guī)則,以實現(xiàn)主機間的網絡互通。

      (3)配置下發(fā)流表:實驗前交換機流表并沒有配置任何規(guī)則,因此網絡拓撲內的3臺主機相互間是不通的,如圖5a所示。實驗要求通過修改流表實現(xiàn)h1和h3,h2和h3之間互通,需分別配置下發(fā)3臺交換機的流表規(guī)則。通過平臺提供的Web圖形化界面,學生可以方便快速地完成交換機流表規(guī)則的下發(fā),而不再需要上述煩瑣的過程。以s1為例,點擊Web前臺右下角的交換機流表信息,進入下發(fā)流表頁面,點擊下發(fā)流表按鈕,進行流表下發(fā),下發(fā)流表后,平臺將展示在s1上下發(fā)的所有流表規(guī)則,如圖6所示。之后再以同樣的操作,分別在s2和s3上完成下發(fā)流表的操作。

      (4)驗證流表規(guī)則:在s1,s2,s3完成下發(fā)流表的操作后,再次驗證h1,h2,h3互相之間的網絡通信,發(fā)現(xiàn)h1和h3,h2和h3互相間網絡已經連通,如圖5b所示,說明此前下發(fā)的流表規(guī)則已經生效,交換機內的數據包成功被轉發(fā)。此外,P4虛擬仿真實驗教學平臺還可對已經下發(fā)的流表執(zhí)行刪除操作,只需點擊交換機流表規(guī)則右邊的刪除按鈕即可完成。

      圖5 主機之間的相互通信結果

      圖6 s1下發(fā)流表

      通過建立拓撲和修改流表實驗,展示了學生在P4程序的開發(fā)過程中,使用P4虛擬仿真實驗教學平臺提供的圖形化界面,建立并驗證網絡拓撲的正確性,不需要預先按照特定格式編輯網絡拓撲文件,并可在網絡拓撲內選擇特定的交換機,利用圖形化界面完成配置下發(fā)流表的操作,從而驗證所寫P4程序的數據包轉發(fā)功能,無須手工輸入命令。傳統(tǒng)方法和通過平臺輔助的對比見表1。實驗表明,學生在P4編程學習過程中,可以借助P4虛擬仿真實驗教學平臺快速便捷地完成控制平面的配置,克服因控制平面的復雜配置給P4開發(fā)部署帶來的不便,有利于P4實驗教學的進一步推廣。

      表1 傳統(tǒng)方法和P4虛擬仿真平臺的功能對比

      3 結語

      面對網絡新技術的發(fā)展,傳統(tǒng)計算機網絡實驗教學課程相對滯后,師生難以對網絡底層設備的設計與優(yōu)化實現(xiàn)編程控制。P4推動了SDN數據平面可編程,成為高校SDN課程教學中的重要一環(huán)。雖然P4提供了數據平面可編程能力,但在開發(fā)、部署和運行的過程中,依賴于控制平面的復雜配置。本文提出了面向數據平面P4編程的虛擬仿真實驗教學平臺,并以建立拓撲和修改流表實驗為例,展示了平臺為P4程序運行提供圖形化的網絡拓撲和動態(tài)的可視化流表管理。平臺有助于提升SDN課程的教學質量,促進了P4實驗教學的推廣。

      猜你喜歡
      流表圖形化網絡拓撲
      基于通聯(lián)關系的通信網絡拓撲發(fā)現(xiàn)方法
      基于時序與集合的SDN流表更新策略
      能量高效的無線傳感器網絡拓撲控制
      電子制作(2018年23期)2018-12-26 01:01:16
      基于緩存策略的OpenFlow流表存儲優(yōu)化方案研究
      電子測試(2018年21期)2018-11-08 03:09:34
      簡析yangUI流表控制
      軟件定義網絡中一種兩步式多級流表構建算法
      LKJ自動化測試系統(tǒng)圖形化技術研究
      勞斯萊斯古斯特與魅影網絡拓撲圖
      基于多任務異步處理的電力系統(tǒng)序網絡拓撲分析
      電測與儀表(2016年5期)2016-04-22 01:13:46
      運用圖形化聽寫式復習,構建高效地理課堂
      地理教學(2015年18期)2016-01-06 12:00:40
      聂拉木县| 香港| 永城市| 洛阳市| 正阳县| 宁化县| 定远县| 五台县| 清远市| 铜山县| 花莲市| 古丈县| 淮北市| 大埔区| 芦溪县| 双鸭山市| 无为县| 东宁县| 阳朔县| 昭苏县| 洛隆县| 和硕县| 大兴区| 伊吾县| 奉新县| 九龙坡区| 多伦县| 吴江市| 梨树县| 常熟市| 泸定县| 威远县| 夏邑县| 如皋市| 东港市| 和硕县| 资兴市| 通海县| 晋中市| 通州区| 平江县|