TT中國 發(fā)表于:14年03月27日 10:22 [綜述] DOIT.com.cn
網(wǎng)絡工程師通常會使用命令行接口(CLI)或圖形化用戶界面(GUI)來配置網(wǎng)絡設備。雖然這種工作方式很普遍,但是這里也有一些問題。實現(xiàn)復雜的網(wǎng)絡配 置可能要求工程師分別配置幾個不同的網(wǎng)絡設備。這個過程非常耗費時間、繁雜且容易出錯。系統(tǒng)管理員可以使用一些自動化工具(如Puppet )來簡化他們的工作。盡管簡單網(wǎng)絡管理協(xié)議(SNMP)遠處不在,但是網(wǎng)絡工程師從未有一些能夠處理任務分配的可預言管理工具。
網(wǎng)絡可編程性旨在轉(zhuǎn)變原先的做法:通過提供應用編程接口(API),通過編程語言向網(wǎng)絡設備發(fā)送強大的編程指令。使用這種API,就意味著網(wǎng)絡分配不需要網(wǎng)絡工程師通過發(fā)送CLI來實現(xiàn),而是通過一些支持網(wǎng)絡編程的工具來實現(xiàn)。下面是一些例子:
網(wǎng)絡工程師可以使用腳本創(chuàng)建自動化分配任務,或者收集網(wǎng)絡統(tǒng)計信息。(雖然網(wǎng)絡工程師現(xiàn)在可以使用腳本,但是他們通常只是對CLI或SNMP交互的一種封裝而已。)API可以提供更豐富的功能,也可以為工程師創(chuàng)造可以協(xié)作的生態(tài)系統(tǒng)。
編排工具可以整合網(wǎng)絡分配任務和其他用于開發(fā)業(yè)務應用程序的任務。
網(wǎng)絡應用程序可以作為中央控制器的插件,它們可以給網(wǎng)絡環(huán)境增加功能,概念上很像一個類似于智能手機的應用程序。
許多網(wǎng)絡供應商一直在努力開發(fā)能夠完全利用網(wǎng)絡硬件特性的自定義API。思科和瞻博網(wǎng)絡就是這樣的。雖然思科的onePK在早期提供了一個API庫,它允 許對運行IOS、IOS-XR和NX-OS的各種思科網(wǎng)絡硬件進行編程。瞻博的Junos一直有XML API;甚至它的CLI都會生成XML代碼,然后再發(fā)送到底層操作系統(tǒng)。
在提及網(wǎng)絡可編程性時,不可避免地要涉及OpenFlow。 在開放網(wǎng)絡聯(lián)盟成員的穩(wěn)定支持和開發(fā)下,OpenFlow已經(jīng)成為使用中央控制器實現(xiàn)網(wǎng)絡編程的主流方法。OpenFlow是一個不依賴供應商的標題,它 描述了如何編程控制一個網(wǎng)絡交換機。它使用各種匹配條件(MAC地址、IP目標地址等)來標識特定的流,然后在這些流上執(zhí)行一些操作(通過端口X轉(zhuǎn)發(fā)、丟 棄數(shù)據(jù)包等)。掌握整個網(wǎng)絡拓撲信息的OpenFlow中央控制器可以在所有網(wǎng)絡交換機上通過編程實現(xiàn)這種行為。
開源的OpenFlow控制器有Beacon和FloodLight。在交換產(chǎn)品中支持OpenFlow的網(wǎng)絡供應商有惠普、瞻博、Pica8、思科等。 雖然OpenFlow在概念上很龐大,但是它也遇到了規(guī)模和兼容性問題,因為OpenFlow操作經(jīng)常無法與網(wǎng)絡芯片相匹配,從而導致不同的供應商在“兼 容OpenFlow”時會遇到各不相同的問題。因此,OpenFlow的未來并不明朗。