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

基于開源項目定制開發軟件定義網絡控制器的方法

2019-07-13 01:47:24周宇暉
鐵路通信信號工程技術 2019年6期

韋 文, 師 進, 王 欣, 周宇暉

(1.北京全路通信信號研究設計院集團有限公司,北京 100070;2.北京市高速鐵路運行控制系統工程技術研究中心,北京 100070)

1 概述

軟件定義網絡(Softw are Defined Netw ork,SDN)技術誕生于2006 年,是一種新型網絡創新架構,是一種實現網絡虛擬化的方式。SDN 架構的核心思想是將網絡設備的控制面與數據面分離開,設備開放可編程的控制接口,由位于中心的SDN 控制器對整個網絡設備進行集中控制,功能豐富的控制器將較大地拓展網絡能力,實現網絡功能的靈活控制和調度,使網絡作為管道變得更加智能,為核心網絡及應用創新提供良好的平臺。

隨著SDN 技術的發展成熟,SDN 已在數字中心互連、軟件定義的廣域網(Softw are Defined-Wide Area Network,SD-WAN)、行業專用網絡等場景中應用,并將應用于方興未艾的5G 移動通信網絡領域。

軌道交通通信系統作為行業專用網絡系統,對網絡的首要要求是高可靠、高安全。傳統網絡技術主要采用冗余保護、網絡安全技術提供相關特性。SDN 的出現為行業專用網絡的構建提供了新的思路,如何為軌道交通通信專用網絡開發專用SDN 控制器已成為目前相關領域的研究熱點之一。本文將研究如何進行SDN 控制器的開發,并主要研究如何采用業界成熟SDN 開源軟件項目進行定制化開發方法。該開發方式既可快速構建和部署與業界主用SDN 控制器軟件框架一致的控制器,又可融合具有行業特色的用戶定制軟件功能,滿足軌道交通通信等行業的特殊應用需求。

2 主流控制器開源項目對比

控制器軟件可完全自主開發,也可參考部分成熟開源項目。即使自主開發,開源項目也可提供良好的參考。目前業界最典型的兩種開源控制器軟件為Open Daylight(簡稱ODL)和Open Netw ork Operating System(簡稱ONOS)。

ODL 是由Linux 基金會推出的一個開源項目,集聚了行業中領先的供應商和Lin ux 基金會的一些成員。ODL 的目標是建立一套標準化軟件,幫助用戶以此為基礎開發出具有附加值的應用程序。

ONOS 是由斯坦福、伯克利等知名大學聯合了運營商、設備制造商等發起的非營利性開源社區組織,其目標是創建一個運營商級的開源SDN 網絡操作系統,滿足運營商網絡遷移到SDN 的需求。

在近幾年的快速發展中,兩種開源控制器項目相互取長補短,包括在整體軟件架構上也相互模仿,接口類型支持全面,它們的開源社區參與者中有很大部分是重合的廠商,因此兩種開源控制器目前都是業界主流項目,用戶在具體項目開發中可針對更細致的比較項進行對比挑選,如表1 所示。

表1 典型開源控制器軟件比較Tab.1 Comparison of typical open-source controllers

3 基于開源控制器的定制化開發方法

本文主要以ONOS 為例對控制器定制化開發方法進行說明。

ONOS 作為一個控制器開發平臺,其底層運用了Karaf 平臺。Karaf 是一個Java 的輕量級的開放服務網關協議(Open Service Gateway Initiative,OSGi)容器平臺,其特點是支持各組件和應用的熱部署、動態配置,并集成了多種日志處理系統、可編程擴展控制臺、安全認證機制等。因此ONOS 采用的是一個Java 動態化、模塊化的系統軟件框架。

3.1 ONOS框架結構

ONOS 整個框架結構如圖 1 所示。

圖1 ONOS框架結構圖Fig.1 ONOS framework structure

ONOS 的分層結構完整覆蓋了SDN 網絡從底層網元設備到頂層用戶應用組件的各層次,內核層已提供SDN 控制器所需的所有必要組件,而且ONOS為各層解耦開發提供了良好的機制,包括:服務發布(Provider)-調用,服務監聽(Listener)-通知,服務注冊(Registry)-響應等。傳統Java 開發中組件調用依賴關系被轉變為服務依賴關系,組件間呈現松耦合狀態。

因此,通常基于ONOS 定制化開發控制器時,主要集中考慮應用組件的定制開發即可,有時涉及南向接口中網元硬件私有協議或驅動的開發。

3.2 ONOS應用組件的開發方式

ONOS 應用組件有兩種常用的開發方式。

第一種方式是直接修改ONOS 開源代碼。由于ONOS 底層為K ar af 容器平臺,各應用組件可封裝成Bundle 或Feature(即多個Bundle 及配置的集合)動態加載,ONOS 自身還提供了稱為App的可選封裝方式。因此該方式是以模塊化的方式對ONOS 進行修改或添加,其優點是方便快捷,缺點是依賴整個ONOS 代碼,當ONOS 定期發布升級版本時,定制化組件的代碼移植、重新編譯工作較繁瑣。

第二種方式是為應用組件創建獨立的Bu n d le、Feature 或App 代碼工程。Karaf 或ONOS 的容器管理都支持從外部安裝和動態部署應用組件,定制開發完成后,在運行階段而不是編譯階段將應用組件嵌入到ONOS 運行平臺中。該方式成功解耦了應用組件代碼的開發維護和ONOS 開源社區代碼的發展升級,因此是本文推薦的開發方式。下文采用該方式介紹一個定制ONOS 應用組件的開發示例。

4 開發示例:定制告警應用組件

在本示例中,假設用戶需為ONOS 控制器增添一個基于簡單網絡管理協議(Simp le Netw or k Management Protocol, SNMP)的鏈路告警應用組件,其功能為通過SNMP 協議自動接收網元上報的鏈路狀態信息,并在ONOS 控制臺界面上打印顯示告警信息。

4.1 場景說明

鏈路告警應用組件的工作場景如圖 2 所示。

網元間鏈路互連組成SDN 網絡的數據面,控制器邏輯上與所有網元的管理口連接組成SDN 網絡的控制面,此外SNMP 報文也在控制面中傳送。網元監測到數據面鏈路狀態變化時,將SNMP 報文上報給控制器的鏈路告警應用組件進行處理。

4.2 代碼結構設計

用代碼開發工具構建一個名為鏈路告警(Link A lar m)的應用組件代碼項目。推薦使用Mav en 或集成了Maven 插件的集成開發環境,因為Maven 提供了很多自動生成ONOS/Karaf 應用組件的模板。該代碼項目包含的模塊如下。

1)Link Alarm-suite:僅包含一個項目對象模型(Project Object Model,POM)文件,用于描述如何將該組件所有模塊組織為一個ONOS ap p,其總體依賴關系和參數等。

2)Link Alarm-apps:應用組件主模塊,這里封裝為Feature 并包含3 個典型的Bundle:

Link Alarm-main:定義組件主函數入口;

Link Alarm-cli:定義組件在ONOS 控制臺中新增的命令;

Link Alarm-api:定義組件的對外服務接口。3種Bundle 均可用對應的Maven 模板生成,注意在生成的POM 文件中使用了標簽指明將其封裝為ONOS 的App。

3)Pr oviders:SNMP 協議的服務模塊,包括兩個Bundle:

Device-prov:負責用SNMP 初始化網元設備;

Alarm-prov:負責用SNMP 協議接收網元設備上報的數據,進行處理并輸出結果。

4)Dr iver s:SNMP 協議允許各網元設備廠商定義私有管理信息庫(Management Information Base,MIB),因此需要在Drivers 模塊中定義相應的私有MIB。用一個xml 文件和標簽指明將其封裝為ONOS 的Driver。

5)Pr otocols:實現標準的SNMP 通信協議,該部分可直接引用既有的第三方代碼或協議庫。

6)U tils:一些工具類實用功能模塊,如單元測試、異常處理等。

4.3 主要流程設計

在告警應用組件中,主要功能邏輯體現在Alarm-prov 模塊中,其流程框如圖3 所示。

該流程主要分為兩大部分,一是為網元設備配置、建立SNMP 會話進行報文監聽;二是接收網元設備上報的SNMP 報文后,根據廠商MIB 庫進行報文內容翻譯,提取告警信息并輸出。

圖3 Alarm-prov模塊流程圖Fig.3 Flowchart of Alarm-prov module

5 示例運行結果

按照本文所述開發方法設計實現了告警應用組件的演示程序。編譯通過后,在圖2 所示場景上運行、試驗過程如下:

1) 運行ONOS,安裝告警應用組件到ONOS中;

2) 用命令使能告警應用組件:ap p activ ate Link Alarm-suite;

3) 網元設備上設置SNMP 試驗參數:上報的IP 地址為ONOS 的IP 地址;觸發事件的OID分 別 為1.3.6.1.6.3.1.1.5.3( 鏈 路 斷 開) 和1.3.6.1.6.3.1.1.5.4(鏈路啟用);

4) 用腳本將網元設備的配置推送到ONOS 中,讓Device-prov 模塊發現并初始化網元;

5) 試驗操作:對IP 為192.168.10.57 的網元上連接的網線,先拔出后重新插入,觀察輸出。

結果輸出示例如圖4 所示,拔出網線時,ONOS 收到SNMP trap 報文后解析,實時顯示端口3 為Link Dow n(鏈路斷開)事件;重新插入網線時,ONOS 顯示端口3 為Lin k U p(鏈路啟用)事件。

圖4 告警應用組件示例運行結果Fig.4 Example result of Link Alarm app

6 結論和建議

研究基于開源SDN 控制器定制化開發專網控制應用組件的方法,并以ONOS 上開發告警應用組件為示例進行演示。該方法對于快速構建靈活可靠的軌道交通行業專網控制器有指導意義。

基于本文的方法,建議進一步研究擴展告警應用組件并與網絡自動恢復組件進行聯動,形成自動化網絡故障保護功能,發揮SDN 控制器動態調度網絡的優勢,提高軌道交通通信專網的可靠性。

主站蜘蛛池模板: 毛片在线播放网址| 日韩色图区| 国产黄在线免费观看| 美女高潮全身流白浆福利区| 欧美在线免费| 天天综合网色| 欧美成一级| 在线欧美一区| 久青草网站| jizz国产在线| 自拍偷拍欧美日韩| 在线精品亚洲一区二区古装| 国产91av在线| 亚洲天堂日本| 精品伊人久久久大香线蕉欧美| 韩日午夜在线资源一区二区| 国产在线啪| 在线日韩一区二区| 狠狠色成人综合首页| 国产91丝袜在线播放动漫| 亚洲va精品中文字幕| 在线国产资源| www.精品国产| 亚洲天堂久久久| 日韩AV手机在线观看蜜芽| 国产在线日本| 久久综合五月| 一级毛片免费高清视频| 曰韩免费无码AV一区二区| 欧美中出一区二区| 日本欧美一二三区色视频| 综合亚洲网| 亚洲国产精品国自产拍A| 免费在线看黄网址| 强乱中文字幕在线播放不卡| 18禁不卡免费网站| 国产精品久久自在自2021| 日韩成人午夜| 77777亚洲午夜久久多人| 国模极品一区二区三区| 欧美成人a∨视频免费观看| 亚洲经典在线中文字幕| 亚洲天堂网在线播放| 亚洲一级毛片在线播放| 国内自拍久第一页| 亚洲视频欧美不卡| 欧美日韩资源| 欧美自慰一级看片免费| 国产成人亚洲欧美激情| 国产欧美中文字幕| 国产精品视频a| 91在线视频福利| 天天综合天天综合| 亚洲日韩欧美在线观看| 中文字幕丝袜一区二区| 在线欧美一区| 日韩中文字幕亚洲无线码| 亚洲精品国产精品乱码不卞| 欧美成人综合在线| 伊人色在线视频| 欧美亚洲国产精品第一页| 欧美中文字幕在线视频| 色哟哟国产成人精品| 97久久人人超碰国产精品| 青青青草国产| 国产又大又粗又猛又爽的视频| 91成人在线免费观看| 69国产精品视频免费| 欧美综合区自拍亚洲综合绿色 | 自偷自拍三级全三级视频| 欧美性天天| 亚洲视频欧美不卡| 成人av手机在线观看| 欧美a级完整在线观看| 精品成人一区二区| 久久国产乱子伦视频无卡顿| 日韩成人在线网站| 亚洲一区第一页| 免费国产高清精品一区在线| 91麻豆精品视频| 福利片91| 91麻豆久久久|