兩年前,我曾經(jīng)寫到過:修復(fù)軟件定義網(wǎng)絡(luò)故障需要使用數(shù)據(jù)包穿梭機(jī)才能在快速變化的動態(tài)網(wǎng)絡(luò)中理清復(fù)雜且快速變化的拓?fù)?。此外,企業(yè)正在加速遷移到混合云網(wǎng)絡(luò),這使得我們更加依賴目前無法輕松控制的服務(wù)提供商網(wǎng)絡(luò)內(nèi)部路由。
網(wǎng)絡(luò)結(jié)構(gòu)會在防火墻兩端自動定期重新配置,那么網(wǎng)絡(luò)工程師又該如何修復(fù)快速變化、路由波動或最新變化等問題呢?SDN路由新工具可以解決這些問題,但是它們與我們以前使用的工具大相徑庭。
遠(yuǎn)程分析網(wǎng)絡(luò)行為
科學(xué)的一個重要原則就是可再現(xiàn)性,其他研究人員按照相同的流程就能夠在類似的條件下獲得相同的結(jié)果。如果說網(wǎng)絡(luò)中有屬于科學(xué)范疇的東西,那它一定是命令行。它的功能限制有嚴(yán)格的用法規(guī)定,雖然不同完全不變,但是重復(fù)執(zhí)行相同命令會產(chǎn)生相同的操作。此外,它相對較為昂貴,因此在我們嘗試?yán)斫鉃槭裁丛谝粋€特定時(shí)間會出現(xiàn)網(wǎng)絡(luò)異常時(shí),它能夠保證結(jié)果的穩(wěn)定性。在半夜反向工程Mike所作的修改時(shí),搞清楚“為什么Mike要修改防火墻規(guī)則?”這個問題是合理且有意義的。
Mike、Kirstin和我自己的成本在于同為高水平管理員卻要在凌晨3點(diǎn)的維護(hù)期間做一些效率低下的事情。通過命令行配置網(wǎng)絡(luò)是一件耗時(shí)、容易出錯且最容易讓網(wǎng)絡(luò)速度產(chǎn)生巨大變化的方法。
其中還有一個副作用是,低基數(shù)(人數(shù)少)可以讓我們在大腦中構(gòu)思出有用的拓?fù)淠P?。我們能記住重要路由中的鏈路和?jié)點(diǎn),因?yàn)樗鼈兪俏覀冏约航ǖ?。?dāng)服務(wù)出現(xiàn)問題時(shí),我們能回憶起最可能導(dǎo)致問題的錯誤特性,還有更重要的是修改過的節(jié)點(diǎn)。我們就會用命令行接口(CLI)連接該主機(jī),修復(fù)問題,然后關(guān)掉問題單。
修復(fù)復(fù)雜路由中的故障
SDN是一把雙刃劍:實(shí)際上可任意修改。在SDN路由中,在任何1臺路由器上添加首選的下一跳路由,跟在100臺路由器上操作是完全相同的,而且管理員在圖形化界面上可以快速地創(chuàng)建多個目標(biāo)的連接,修改過程中完全沒有任何障礙。
我們不要忘記了,IT喜歡在遇到棘手問題時(shí)修改網(wǎng)絡(luò)。在出現(xiàn)VMware之前,你還記得自己有多頻繁地重新配置物理服務(wù)器嗎?現(xiàn)在,你又多頻繁地修改虛擬機(jī)(VM)呢?SDN將同樣的功能帶到了網(wǎng)絡(luò)中。
就像是客戶機(jī)幾個小時(shí)發(fā)生一次變化,然后要在4個小時(shí)之后才去修復(fù)虛擬機(jī)操作系統(tǒng)的問題。只是分析網(wǎng)絡(luò)的當(dāng)前狀態(tài)還不夠——我們的網(wǎng)絡(luò)故障修復(fù)工具需要支持及時(shí)回滾路由變化,同時(shí)要能修復(fù)可能只存在幾分鐘的路由問題。這種問題早就存在于運(yùn)營商網(wǎng)絡(luò)中;只是現(xiàn)在我們也開始遇到同類的問題了。
可視化SDN路由工具
新型網(wǎng)絡(luò)工具注重發(fā)現(xiàn)和監(jiān)控網(wǎng)絡(luò)路徑。路徑并不像傳統(tǒng)意義的路由,因?yàn)樗鼈冇?個維度。一條路徑有一對流量終端,以及所有可能用于傳輸數(shù)據(jù)包的路由,但是它只能按照特定時(shí)間進(jìn)行捕捉和監(jiān)控。由于路徑具有相當(dāng)?shù)膹?fù)雜性,特別是在互聯(lián)網(wǎng)路由中,這些網(wǎng)絡(luò)故障修復(fù)工具并不是那種我們能輕松駕馭的匯總和點(diǎn)擊查看明細(xì)的典型儀表板工具。
這些新型SDN路由工具是交互式的,帶有瀏覽和與上下文相關(guān)的瀏覽前端和中心。通過前后滾動連接可視化控件,我們就能對比不同時(shí)間捕捉的快照,從而發(fā)現(xiàn)網(wǎng)絡(luò)配置變化之后出現(xiàn)的復(fù)雜SDN路由性能問題。它們能夠在大量鏈路中分辨出導(dǎo)致某一條配置錯誤鏈路出現(xiàn)的丟包原因。它們能夠區(qū)分正常路徑總延遲與路徑中間節(jié)點(diǎn)正常行為之間的差別。這一點(diǎn)很重要,因?yàn)樗軌虬l(fā)現(xiàn)復(fù)雜網(wǎng)絡(luò)中的問題,這些網(wǎng)絡(luò)的長傳輸時(shí)間延遲可能會擴(kuò)大總延遲時(shí)間。
兩年前,我還不知道供應(yīng)商是如何監(jiān)控SDN的真實(shí)性能和拓?fù)?,因?yàn)樗傇谕ㄟ^編程來修改自身配置,甚至可能一天修改幾百次。而且,我擔(dān)心我們可能無法越過SDN控制器的vRoutes和vLinks而全面了解應(yīng)用程序狀態(tài)。但是,最終我們看到一些新工具從實(shí)驗(yàn)室誕生,可能這也是一種革命性的進(jìn)步(至少在網(wǎng)絡(luò)領(lǐng)域是的)。
或許我們已經(jīng)遇到了一種實(shí)際的運(yùn)營臨界點(diǎn),這時(shí)如果不使用監(jiān)控工具去可視化展示SDN所制造的復(fù)雜狀態(tài),我們就不可能實(shí)現(xiàn)更多的自動化。今年可能會成為對路由人員而言意義重大的一年——無論是軟件驅(qū)動或是通過CLI手動配置的環(huán)境,無論是在數(shù)據(jù)中心或是云環(huán)境,都是這樣。