新聞中心
NOX——現(xiàn)代網(wǎng)絡(luò)操作系統(tǒng)
2011-03-28 16:27:49
云計(jì)算
虛擬化 本系列前面的三篇文章中,介紹了軟件定義網(wǎng)絡(luò)(SDN)的基本概念和相關(guān)平臺(tái)。按照SDN的觀點(diǎn),網(wǎng)絡(luò)的智能/管理實(shí)際上是通過控制器來(lái)實(shí)現(xiàn)的。本篇將介紹一個(gè)代表性的控制器實(shí)現(xiàn)——NOX。

創(chuàng)新互聯(lián)建站從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元萬(wàn)全做網(wǎng)站,已為上家服務(wù),為萬(wàn)全各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
本系列前面的三篇文章《OpenFlow – 打造彈性化的可控互聯(lián)網(wǎng)》、《Open vSwitch – 開放虛擬交換標(biāo)準(zhǔn)》和《Mininet – “懶惰”網(wǎng)絡(luò)研究者的福音》中,介紹了軟件定義網(wǎng)絡(luò)(SDN)的基本概念和相關(guān)平臺(tái)。按照SDN的觀點(diǎn),網(wǎng)絡(luò)的智能/管理實(shí)際上是通過控制器來(lái)實(shí)現(xiàn)的。本篇將介紹一個(gè)代表性的控制器實(shí)現(xiàn)——NOX。
現(xiàn)代大規(guī)模的網(wǎng)絡(luò)環(huán)境十分復(fù)雜,給管理帶來(lái)較大的難度。特別對(duì)于企業(yè)網(wǎng)絡(luò)來(lái)說(shuō),管控需求繁多,應(yīng)用、資源多樣化,安全性、擴(kuò)展性要求都特別高。因此,網(wǎng)絡(luò)管理始終是研究的熱點(diǎn)問題。
從操作系統(tǒng)到網(wǎng)絡(luò)操作系統(tǒng)
早期的計(jì)算機(jī)程序開發(fā)者直接用機(jī)器語(yǔ)言編程。因?yàn)闆]有各種抽象的接口來(lái)管理底層的物理資源(內(nèi)存、磁盤、通信),使得程序的開發(fā)、移植、調(diào)試等費(fèi)時(shí)費(fèi)力。而現(xiàn)代的操作系統(tǒng)提供更高的抽象層來(lái)管理底層的各種資源,極大的改善了軟件程序開發(fā)的效率。
同樣的情況出現(xiàn)在現(xiàn)代的網(wǎng)絡(luò)管理中,管理者的各種操作需要跟底層的物理資源直接打交道。例如通過ACL規(guī)則來(lái)管理用戶,需要獲取用戶的實(shí)際IP地址。更復(fù)雜的管理操作甚至需要管理者事先獲取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、用戶實(shí)際位置等。隨著網(wǎng)絡(luò)規(guī)模的增加和需求的提高,管理任務(wù)實(shí)際上變成巨大的挑戰(zhàn)。
而NOX則試圖從建立網(wǎng)絡(luò)操作系統(tǒng)的層面來(lái)改變這一困境。網(wǎng)絡(luò)操作系統(tǒng)(Network Operating System)這個(gè)術(shù)語(yǔ)早已經(jīng)被不少?gòu)S家提出,例如Cisco的IOS、Novell的NetWare等。這些操作系統(tǒng)實(shí)際上提供的是用戶跟某些部件(例如交換機(jī)、路由器)的交互,因此稱為交換機(jī)/路由器操作系統(tǒng)可能更貼切。而從整個(gè)網(wǎng)絡(luò)的角度來(lái)看,網(wǎng)絡(luò)操作系統(tǒng)應(yīng)該是抽象網(wǎng)絡(luò)中的各種資源,為網(wǎng)絡(luò)管理提供易用的接口。
實(shí)現(xiàn)技術(shù)探討
模型
NOX的模型主要包括兩個(gè)部分。
一是集中的編程模型。開發(fā)者不需要關(guān)心網(wǎng)絡(luò)的實(shí)際架構(gòu),在開發(fā)者看來(lái)整個(gè)網(wǎng)絡(luò)就好像一臺(tái)單獨(dú)的機(jī)器一樣,有統(tǒng)一的資源管理和接口。
二是抽象的開發(fā)模型。應(yīng)用程序開發(fā)需要面向的是NOX提供的高層接口,而不是底層。例如,應(yīng)用面向的是用戶、機(jī)器名,但不面向IP地址、MAC地址等。
通用性標(biāo)準(zhǔn)
正如計(jì)算機(jī)操作系統(tǒng)本身并不實(shí)現(xiàn)復(fù)雜的各種軟件功能,NOX本身并不完成對(duì)網(wǎng)絡(luò)管理任務(wù),而是通過在其上運(yùn)行的各種“應(yīng)用”(Application)來(lái)實(shí)現(xiàn)具體的管理任務(wù)。管理者和開發(fā)者可以專注到這些應(yīng)用的開發(fā)上,而無(wú)需花費(fèi)時(shí)間在對(duì)底層細(xì)節(jié)的分析上。為了實(shí)現(xiàn)這一目的,NOX需要提供盡可能通用(General)的接口,來(lái)滿足各種不同的管理需求。
架構(gòu)
組件
下圖給出了使用NOX管理網(wǎng)絡(luò)環(huán)境的主要組件。包括交換機(jī)和控制(服務(wù))器(其上運(yùn)行NOX和相應(yīng)的多個(gè)管理應(yīng)用,以及1個(gè)Network View),其中Network View提供了對(duì)網(wǎng)絡(luò)物理資源的不同觀測(cè)和抽象解析。注意到NOX通過對(duì)交換機(jī)操作來(lái)管理流量,因此,交換機(jī)需要支持相應(yīng)的管理功能。此處采用支持OpenFlow的交換機(jī)。
操作
流量經(jīng)過交換機(jī)時(shí),如果發(fā)現(xiàn)沒有對(duì)應(yīng)的匹配表項(xiàng),則轉(zhuǎn)發(fā)到運(yùn)行NOX的控制器,NOX上的應(yīng)用通過流量信息來(lái)建立Network View和決策流量的行為。同樣的,NOX也可以控制哪些流量需要轉(zhuǎn)發(fā)給控制器。
多粒度處理
NOX對(duì)網(wǎng)絡(luò)中不同粒度的事件提供不同的處理。包括網(wǎng)包、網(wǎng)流、Network View等。
應(yīng)用實(shí)現(xiàn)
NOX上的開發(fā)支持python、C++語(yǔ)言,NOX核心架構(gòu)跟關(guān)鍵部分都是使用C++實(shí)現(xiàn)以保證性能。代碼可以從http://www.noxrepo.org獲取,遵循GPL許可。
系統(tǒng)庫(kù)
提供基本的高效系統(tǒng)庫(kù),包括路由、包分類、標(biāo)準(zhǔn)的網(wǎng)絡(luò)服務(wù)(DHCP、DNS)、協(xié)議過濾器等。
相關(guān)工作
NOX項(xiàng)目主頁(yè)在http://noxrepo.org。
其他類似的項(xiàng)目包括SANE、Ethane、Maestro、onix、difane等,有興趣的同學(xué)可以進(jìn)一步研究參考。
【編輯推薦】
- 紅帽企業(yè)版6.0 KVM虛擬機(jī)實(shí)戰(zhàn)攻略
- 怎樣選擇虛擬機(jī)安全的管理工具
- 故障恢復(fù) 兩大虛擬機(jī)快速備份方法
- Hyper-V與VMware不同的虛擬機(jī)備份策略
- 四大方式實(shí)現(xiàn)私有云 看虛擬機(jī)管理器前景
- 為虛擬機(jī)增加網(wǎng)絡(luò)可用帶寬的三大途徑
- 網(wǎng)絡(luò)虛擬化對(duì)數(shù)據(jù)中心資源整合的意義
- 網(wǎng)絡(luò)虛擬化成為未來(lái)IP網(wǎng)絡(luò)演進(jìn)的方向
名稱欄目:NOX——現(xiàn)代網(wǎng)絡(luò)操作系統(tǒng)
文章地址:http://www.dlmjj.cn/article/dhipdep.html


咨詢
建站咨詢
