modbus报文解析实例_云原生、全栈可编程的下一代SDN解析与实践 (一)丨传统SDN架构演进...
點(diǎn)擊上方藍(lán)字關(guān)注我們
多年以前,由于基于傳統(tǒng)協(xié)議的控制平面缺乏靈活性,無(wú)法滿足多樣的業(yè)務(wù)對(duì)數(shù)據(jù)平面的轉(zhuǎn)發(fā)需求,軟件定義網(wǎng)絡(luò)(SDN)被提了出來(lái)。業(yè)界希望通過(guò)一種轉(zhuǎn)控分離、開(kāi)放解耦的架構(gòu),讓網(wǎng)絡(luò)資源能夠被上層應(yīng)用通過(guò)標(biāo)準(zhǔn)的API,更加靈活的按需分配。在這種架構(gòu)下,SDN控制器提供北向接口給上層應(yīng)用,實(shí)現(xiàn)網(wǎng)絡(luò)資源的動(dòng)態(tài)管理;并通過(guò)OpenFlow、NETCONF、SNMP、RESTCONF等南向接口控制底層網(wǎng)絡(luò)設(shè)備數(shù)據(jù)平面轉(zhuǎn)發(fā)行為及設(shè)備管理。可見(jiàn),SDN控制器的架構(gòu)以及南向接口是SDN的關(guān)鍵技術(shù)點(diǎn),不夸張的說(shuō),這兩方面是決定整個(gè)SDN方案成敗的關(guān)鍵因素。在控制器領(lǐng)域,盡管OpenDaylight,ONOS和Ryu等開(kāi)源系統(tǒng)已經(jīng)逐漸被各個(gè)廠家和用戶所接受,但由于南向接口OpenFlow的天然缺陷以及單體架構(gòu)控制器的日漸臃腫,使得基于傳統(tǒng)架構(gòu)和技術(shù)的SDN解決方案,遲遲無(wú)法達(dá)到最初的設(shè)計(jì)理念,很難適應(yīng)業(yè)務(wù)對(duì)網(wǎng)絡(luò)的需求。從本期開(kāi)始,小編將連續(xù)出三篇系列文章,以O(shè)NOS(開(kāi)放網(wǎng)絡(luò)操作系統(tǒng))為例,詳細(xì)分析控制器的架構(gòu)、網(wǎng)絡(luò)設(shè)備可編程接口的發(fā)展趨勢(shì),解析以去中心化、云原生、協(xié)議無(wú)關(guān)為設(shè)計(jì)目標(biāo)的下一代SDN體系結(jié)構(gòu),并分享星融在這方面的最新實(shí)踐。
什么是ONOS?ONOS是領(lǐng)先的開(kāi)源SDN控制器,被廣泛應(yīng)用于構(gòu)建下一代SDN / NFV解決方案。它為SDN提供控制平臺(tái)和管理網(wǎng)絡(luò)的組件(例如交換機(jī)和鏈接),并運(yùn)行網(wǎng)絡(luò)應(yīng)用程序提供通信服務(wù)。如果您熟悉傳統(tǒng)的嵌入式交換機(jī)操作系統(tǒng),則會(huì)發(fā)現(xiàn)ONOS可以管理整個(gè)網(wǎng)絡(luò)而不是單個(gè)設(shè)備,可以大大簡(jiǎn)化多臺(tái)交換機(jī)的軟硬件配置管理和部署。如果您熟悉SDN控制器,則應(yīng)該感到賓至如歸,因?yàn)镺NOS是一個(gè)可擴(kuò)展的模塊化的分布式SDN控制器。
接下來(lái)我們看看ONOS的設(shè)計(jì)原則和總體架構(gòu)。
ONOS的設(shè)計(jì)遵循四條基本原則:
第一,高可用性,高可擴(kuò)展性和高性能;
第二,要對(duì)網(wǎng)絡(luò)資源進(jìn)行高度抽象并簡(jiǎn)練地表示出來(lái);
第三,要做到協(xié)議無(wú)關(guān)及硬件無(wú)關(guān);
第四,網(wǎng)絡(luò)應(yīng)用程序的模塊化。
? ? ? ? ? ? ? ? ? ? ?? ?圖1?ONOS的總體架構(gòu)
? ? ? ONOS整體架構(gòu)可分為三層,分別為:
1、北向接口(NBI),應(yīng)用程序使用這些接口來(lái)了解網(wǎng)絡(luò)狀態(tài)(例如遍歷拓?fù)鋱D、攔截網(wǎng)絡(luò)數(shù)據(jù)包),并控制網(wǎng)絡(luò)數(shù)據(jù)平面。
2、分布式核心,負(fù)責(zé)管理網(wǎng)絡(luò)狀態(tài),并將狀態(tài)的變化通知給網(wǎng)絡(luò)應(yīng)用程序。核心層內(nèi)部使用的數(shù)據(jù)庫(kù)是可擴(kuò)展的分布式鍵/值存儲(chǔ)數(shù)據(jù)庫(kù)Atomix。
3、南向接口(SBI),由共享協(xié)議庫(kù)和特定設(shè)備的驅(qū)動(dòng)程序構(gòu)成的插件集合。
接下來(lái)我們主要介紹下分布式核心和南向接口層如何通過(guò)P4runtime協(xié)議與設(shè)備交互。
分布式核心ONOS分布式核心由許多子系統(tǒng)組成,子系統(tǒng)負(fù)責(zé)網(wǎng)絡(luò)拓?fù)洹⒅鳈C(jī)跟蹤、數(shù)據(jù)包攔截、流編程等的維護(hù)和管理。主要的子系統(tǒng)有:
Device Subsystem- 管理網(wǎng)絡(luò)設(shè)備集群
Link Subsystem- 管理網(wǎng)絡(luò)鏈路
Host Subsystem- 管理主機(jī)及其在網(wǎng)絡(luò)上的位置
Topology Subsystem- 管理網(wǎng)絡(luò)拓?fù)浼皩?shí)時(shí)狀態(tài)的更新
Packet Subsystem- 允許應(yīng)用程序收發(fā)業(yè)務(wù)報(bào)文(從/往網(wǎng)絡(luò)設(shè)備)
Path Subsystem-計(jì)算/查找網(wǎng)絡(luò)設(shè)備之間或終端主機(jī)之間的路徑
FlowRule Subsystem- 管理網(wǎng)絡(luò)設(shè)備的流表規(guī)則
這些服務(wù)大多是使用分布式表(映射)構(gòu)建的,而這些表存儲(chǔ)在atomix數(shù)據(jù)庫(kù)中,接下來(lái)讓我們來(lái)看下Atomix數(shù)據(jù)庫(kù)。
它可以跨一組分布式服務(wù)器進(jìn)行擴(kuò)展,并實(shí)現(xiàn)故障時(shí)的容錯(cuò)處理。Atomix是構(gòu)建分布式系統(tǒng)的通用工具,它是一個(gè)基于Java開(kāi)發(fā)的系統(tǒng),其支持以下功能特性:分布式數(shù)據(jù)結(jié)構(gòu),包括maps、sets、trees、counters
分布式通信,包括直接消息傳遞和發(fā)布/訂閱
分布式協(xié)作,包括locks、leader elections、barriers
管理群組成員
? ? ? ? ? ? ? ? ? ???圖3 FlowRule Translation
PI框架里的流表操作涉及到三個(gè)階段的轉(zhuǎn)換操作,分別對(duì)應(yīng)Pipeliner、Interpreter、P4Info這三個(gè)元素,也就是上圖中的藍(lán)色部分,是我們pipeconf(.oar)應(yīng)用里的內(nèi)容。如果我們使用FlowObjective來(lái)下發(fā)決策,就會(huì)經(jīng)過(guò)Pipeliner把它轉(zhuǎn)換成FlowRule,當(dāng)然我們也可以直接使用FlowRule。然后P4設(shè)備驅(qū)動(dòng)會(huì)調(diào)用PI框架的FlowRuleTranslation 子系統(tǒng),借助Pipeline Interpreter把FlowRule轉(zhuǎn)換成PI Table Entry,它是PI框架對(duì)一條表項(xiàng)的抽象。最后PI Table Entry會(huì)在南向協(xié)議插件的P4Runtime Client中借助P4Info轉(zhuǎn)換成P4 Runtime Message這個(gè)通信報(bào)文,然后在網(wǎng)絡(luò)中傳遞給P4設(shè)備。如上圖3所示,流表操作主要就是三次轉(zhuǎn)換。介紹完分布式核心和P4Runtime,讓我們來(lái)看看ONOS的發(fā)展現(xiàn)狀。ONOS的發(fā)展現(xiàn)狀隨著ONOS 2.0版本的發(fā)布,當(dāng)今的ONOS架構(gòu)提供了一個(gè)穩(wěn)定的基礎(chǔ)平臺(tái),包含了許多的功能特性,例如簡(jiǎn)單的第三方應(yīng)用開(kāi)發(fā)、輕松的分布式集群部署、服務(wù)自動(dòng)導(dǎo)入、已存在大量的第三方應(yīng)用和拓展組件。但是,ONOS架構(gòu)當(dāng)前也同樣存在一些限制,比如有限的資源隔離、基于平臺(tái)的應(yīng)用僅支持java或JVM-based語(yǔ)言開(kāi)發(fā);比如應(yīng)用/服務(wù)水平擴(kuò)展困難、組件無(wú)法遷移到平臺(tái)之外(控制平面功能無(wú)法卸載到設(shè)備);再比如與NFV的集成受限且對(duì)NFV的支持也同樣有限等等。盡管上述限制在本質(zhì)上都是技術(shù)性的,但它們還是限制了ONOS在一些重要的行業(yè)場(chǎng)景中的應(yīng)用,因此我們必須解決ONOS的這些限制。ONF(Open Network Foundation)正在開(kāi)發(fā)一個(gè)新的開(kāi)源架構(gòu)Micro ONOS(μONOS)以提供真實(shí)網(wǎng)絡(luò)控制、零接觸配置和可驗(yàn)證/安全的網(wǎng)絡(luò),并使運(yùn)營(yíng)商可以完全控制其網(wǎng)絡(luò)?,這也是下一代SDN的發(fā)展趨勢(shì)。那么μONOS架構(gòu)到底如何呢?下篇文章再做介紹。點(diǎn)點(diǎn)在看行不行
總結(jié)
以上是生活随笔為你收集整理的modbus报文解析实例_云原生、全栈可编程的下一代SDN解析与实践 (一)丨传统SDN架构演进...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: wpf中xps文档合并功能实现
- 下一篇: jetty xml解析