SNMP
SNMP(Simple Network Management Protocol)簡單網(wǎng)絡(luò)管理協(xié)議是應(yīng)用最為普遍,也是最古老的一種網(wǎng)管技術(shù)。一個網(wǎng)絡(luò)管理系統(tǒng)是由一組網(wǎng)絡(luò)管理的標(biāo)準(zhǔn)組成,包含被管代理、網(wǎng)絡(luò)管理工作站、簡單網(wǎng)絡(luò)管理協(xié)議SNMP和網(wǎng)絡(luò)管理信息庫MIB,其中SNMP定義了網(wǎng)絡(luò)管理站與被管代理間的通信方法,SNMP主要用于對網(wǎng)絡(luò)資源的管理。通過SNMP協(xié)議,獲取物理網(wǎng)絡(luò)設(shè)備的各種資源信息,比如:設(shè)備狀態(tài)、鏈路、告警和性能數(shù)據(jù)。SNMP分為公有MIB庫和私有MIB庫兩大部分,公有MIB節(jié)點是所有網(wǎng)絡(luò)設(shè)備都會遵守和實現(xiàn)的標(biāo)準(zhǔn)協(xié)議,私有MIB節(jié)點則是特定設(shè)備內(nèi)部的自我實現(xiàn),具有排它性,只有用對應(yīng)設(shè)備的私有MIB才可以訪問。SNMP開發(fā)于上世紀(jì)九十年代,經(jīng)歷了三個大的版本變化,不斷在進(jìn)行技術(shù)標(biāo)準(zhǔn)的完善。目前面向數(shù)據(jù)中心IP網(wǎng)絡(luò)的管理軟件絕大多數(shù)都以SNMP協(xié)議作為與被管對象通信的接口,是在數(shù)據(jù)中心里應(yīng)用最為廣泛的網(wǎng)管技術(shù),也是最簡單的一種網(wǎng)管技術(shù)。
NETCONF
SNMP雖好,但側(cè)重的是網(wǎng)絡(luò)監(jiān)控的“監(jiān)”,對數(shù)據(jù)中心網(wǎng)絡(luò)的運行狀態(tài)進(jìn)行管理,如今的網(wǎng)絡(luò)對網(wǎng)管有更高的要求,更加強(qiáng)調(diào)監(jiān)控的“控”,將網(wǎng)絡(luò)控制權(quán)從網(wǎng)絡(luò)設(shè)備上分離出來,集中起來控制,這就是經(jīng)常提到的設(shè)備管理和轉(zhuǎn)發(fā)分離的技術(shù)。新型的網(wǎng)絡(luò)管理協(xié)議NETCONF應(yīng)運而生,NETCONF采用XML作為配置數(shù)據(jù)和協(xié)議消息內(nèi)容的數(shù)據(jù)編碼方式,采用基于TCP的SSHV2進(jìn)行傳送,以簡單的遠(yuǎn)程過程調(diào)用方式實現(xiàn)操作和控制。NETCONF在2006年在IETF成為標(biāo)準(zhǔn),在2011年又通過RFC6241、RFC6242更新了NETCONF標(biāo)準(zhǔn)。NETCONF協(xié)議主要用于對網(wǎng)絡(luò)業(yè)務(wù)的配置和查詢,通過NEFCONF協(xié)議可以向設(shè)備下發(fā)配置命令,比如:設(shè)備添加到Controller后,會通過NETCONF協(xié)議自動下發(fā)OpenFlow和sFlow協(xié)議的配置,用戶在云管理平臺或者Controller上進(jìn)行的網(wǎng)絡(luò)業(yè)務(wù)的配置和查詢,通過NETCONF協(xié)議進(jìn)行。XML可以表達(dá)復(fù)雜的、具有內(nèi)在邏輯關(guān)系的、模型化的管理對象,大大提高了操作效率和對象標(biāo)準(zhǔn)化,除了XML,XSD、Xpath、SOAP、XSLT等都可以應(yīng)用到NETCONF協(xié)議中。NETCONF由應(yīng)用協(xié)議層、RPC層、操作層、內(nèi)容層組成,仍在不斷進(jìn)行完善與發(fā)展,在一些云數(shù)據(jù)中心的管理平臺上,已經(jīng)陸續(xù)開始部署NETCONF技術(shù),通過部署NETCONF可以實現(xiàn)網(wǎng)絡(luò)的自動化管理。
OpenFlow
NETCONF協(xié)議可以說是SNMP的高級版,但也僅限于是一種配置協(xié)議,而OpenFlow就完全不同了。OpenFlow是一種交換技術(shù),使用OpenFlow協(xié)議建立軟件定義網(wǎng)絡(luò),可以將網(wǎng)絡(luò)作為一個整體而不是無數(shù)的獨立設(shè)備進(jìn)行管理。OpenFlow是一種新型網(wǎng)絡(luò)協(xié)議,起源于斯坦福大學(xué)的Clean Slate項目組。OpenFlow的思路很簡單,網(wǎng)絡(luò)設(shè)備維護(hù)一個或者若干個流表,并且數(shù)據(jù)流只按照這些流表進(jìn)行轉(zhuǎn)發(fā)。流表本身的生成、維護(hù)完全由外置的控制器來管理。OpenFlow是SDN中的重要協(xié)議,是控制面和轉(zhuǎn)發(fā)面的通信通道,主要用于設(shè)備向Controller上報報文(網(wǎng)絡(luò)路徑探測中的Packet out報文),Controller處理完畢后,再向網(wǎng)絡(luò)設(shè)備下發(fā)報文(網(wǎng)絡(luò)路徑探測中的packet in報文)。OpenFlow的出現(xiàn)一下子將數(shù)據(jù)中心網(wǎng)絡(luò)帶進(jìn)了“智能化”時代, 成為了當(dāng)前最熱門的網(wǎng)管技術(shù),從2009年發(fā)布OpenFlow 1.0版本之后,不斷地進(jìn)行技術(shù)更新,如今進(jìn)行成為新建數(shù)據(jù)中心網(wǎng)絡(luò)的必備技術(shù)之一,是未來網(wǎng)絡(luò)管理的主要發(fā)展方向。OpenFlow網(wǎng)絡(luò)由OpenFlow交換機(jī)、網(wǎng)絡(luò)虛擬化層和控制器三部分組成,OpenFlow交換機(jī)進(jìn)行數(shù)據(jù)層的轉(zhuǎn)發(fā),虛擬化層對網(wǎng)絡(luò)設(shè)備進(jìn)行虛擬化,控制器對網(wǎng)絡(luò)進(jìn)行集中控制,實現(xiàn)控制層的功能。OpenFlow是將網(wǎng)絡(luò)的轉(zhuǎn)發(fā)層與控制層完全分離,控制層集中到控制器,控制器通過OpenFlow協(xié)議下發(fā)流表到網(wǎng)絡(luò)設(shè)備上,由網(wǎng)絡(luò)設(shè)備完成數(shù)據(jù)轉(zhuǎn)發(fā)。NETCONF協(xié)議通過一組可選性能適用于任何設(shè)備架構(gòu),開發(fā)人員可以創(chuàng)建額外“特性”,因此NETCONF設(shè)備可以包含專有功能。反觀,OpenFlow擁有特定設(shè)備體系結(jié)構(gòu),OpenFlow設(shè)備必須以一個標(biāo)準(zhǔn)的架構(gòu)建立,沒有專有功能,以確保廠商能夠開發(fā)依附OpenFlow標(biāo)準(zhǔn)的白盒交換機(jī),這些商品設(shè)備一經(jīng)投入使用將大大降低網(wǎng)絡(luò)成本。
從SNMP到NETCONF,再到OpenFlow,網(wǎng)管技術(shù)越來越復(fù)雜,網(wǎng)管技術(shù)也變得越來越強(qiáng)大,這些新的網(wǎng)管技術(shù)可以滿足數(shù)據(jù)中心云上管理的需要。當(dāng)然,這三者也不是完全的替代關(guān)系,不少的數(shù)據(jù)中心依然可以采用既使用SNMP,也部署NETCONF的方式,用SNMP進(jìn)行網(wǎng)絡(luò)監(jiān)控,用NETCONF做網(wǎng)絡(luò)配置,甚至可以通過SNMP發(fā)現(xiàn)網(wǎng)絡(luò)異常時,通過NETCONF進(jìn)行配置回滾,自動修復(fù)網(wǎng)絡(luò)故障。同樣,即使在全OpenFlow的網(wǎng)絡(luò)環(huán)境中,依然可以使用NETCONF進(jìn)行一些配置管理,在相當(dāng)長的一段時間里,三種技術(shù)各有各的長處,會長期并存,都不會很快消失。在一個數(shù)據(jù)中心里,也可能部署兩種以上的網(wǎng)管技術(shù),以便對網(wǎng)絡(luò)進(jìn)行更好的綜合管理。做好數(shù)據(jù)中心的網(wǎng)管,可以大大提升整個數(shù)據(jù)中心的工作效率、管理層次與維護(hù)水平,對網(wǎng)絡(luò)的安全高效運轉(zhuǎn)提供保證。