軟件規(guī)劃我們的網(wǎng)絡(luò)已經(jīng)很長時間了,SDN也與它們之間有什么不同?
確實,由分布式路由算法和管理協(xié)議等軟件決定轉(zhuǎn)發(fā)路徑和設(shè)置網(wǎng)絡(luò)設(shè)備參數(shù)已經(jīng)很長時間了。盡管如此,這些工具被孤立于每個廠商的網(wǎng)絡(luò)生態(tài)和專利之外。SDN有幾個能夠改變這種局面的重要理念:集中化控制、編程接口以及與編配/自動化工具整合。
為什么SDN比我們目前使用的傳統(tǒng)網(wǎng)絡(luò)要優(yōu)秀?
SDN在多大程度上提升你的網(wǎng)絡(luò)在很大程度上取決于你正在嘗試解決哪些問題。通過在適當(dāng)?shù)牡胤讲渴疬m合的SDN解決方案,你能夠讓操作流程更為順暢,減少人為錯誤,或是像公司獨特指標(biāo)所要求的那樣用非常規(guī)方式轉(zhuǎn)發(fā)流量。簡而言之,它們可以讓你獲得更高的效率和更高的靈活性。
常見的使用案例是什么?
以下是兩個目前企業(yè)中常見的SDN使用案例。第一個是幫助網(wǎng)絡(luò)數(shù)據(jù)采集和網(wǎng)絡(luò)可視化。在這個使用案例中,感興趣的網(wǎng)絡(luò)流量將按軟件策略所定義那樣被拷貝至采集器中。在采集器中,這些流量可以被分析和直觀化。SDN控制器能夠在整個網(wǎng)絡(luò)基礎(chǔ)設(shè)施中插入虛擬網(wǎng)卡,并將來自任何地方的流量拷貝發(fā)送到分析引擎所在地。
第二個案例為創(chuàng)新性轉(zhuǎn)發(fā)。在這里,流量的轉(zhuǎn)發(fā)將橫跨一個工程化網(wǎng)絡(luò)路徑。這個工程化網(wǎng)絡(luò)路徑不同于OSPF 、BGP或MPLS等傳統(tǒng)轉(zhuǎn)發(fā)機(jī)制。常見的應(yīng)用為專門處理對延時或抖動敏感的流量的應(yīng)用。它們能夠強迫所選擇的流量通過監(jiān)控設(shè)備以提高安全性,并且還能夠根據(jù)費用選擇路由。它們可根據(jù)時間段或是鏈路利用率讓流量路由經(jīng)過對于公司來說相比便宜的路徑。
為什么開放網(wǎng)絡(luò)基金會(ONF)采用一個封閉的方式運行,而不像IETF或IEEE一樣?
創(chuàng)建ONF的部分初衷是為了促進(jìn)OpenFlow協(xié)議的快速發(fā)展。OpenFlow協(xié)議是一個獨立于廠商的協(xié)議。SDN控制器使用該協(xié)議為使用多種流量匹配條件和措施的網(wǎng)絡(luò)交換機(jī)編制轉(zhuǎn)發(fā)表單。速度將由一小組特定結(jié)果中既得利益成員控制。如果像IETF或IEEE那樣以開放的方式運行,那么開發(fā)程序必然會被放緩,以便涵蓋所有的成員、使用案例以及可能涉及到的問題。
目前已經(jīng)出現(xiàn)了一些關(guān)于在某一節(jié)點開放ONF議程的討論,以便讓一些規(guī)模較大的網(wǎng)絡(luò)社區(qū)可以對OpenFlow規(guī)范的討論進(jìn)行觀察。
OpenFlow能否成為在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)流量的新方式?
OpenFlow的前景目前還不確定。通過依托基于服務(wù)器的x86計算能力進(jìn)行必需的處理,OF已被證明在虛擬層網(wǎng)絡(luò)邊緣運行的軟交換機(jī)中非常有用。盡管如此,若在傳統(tǒng)網(wǎng)絡(luò)硬件交換機(jī)中部署OF,那么OF的優(yōu)勢將取決于交換機(jī)芯片的性能,以及芯片在使用案例中處理大規(guī)模OpenFlow操作的能力。
網(wǎng)絡(luò)設(shè)計師在評估OpenFlow硬件時必須要仔細(xì)評估廠商,因為并不是所有的OF交換機(jī)性能都相差無幾。OpenFlow最終將替代傳統(tǒng)轉(zhuǎn)發(fā)的另一個依據(jù)是,OF不必復(fù)制思科、瞻博和博通等ASIC(專用集成電路)設(shè)計公司芯片所具備的全部硬件功能。盡管這些廠商可能會支持OF作為一種充填轉(zhuǎn)發(fā)表單和策略的附屬手段,但是他們還是會大力推廣他們自己的API,宣傳這些API能夠充分發(fā)揮他們硬件的性能。
由于流條目有限以及轉(zhuǎn)出至控制器存在延時,有些人對OF的擴(kuò)展性提出了質(zhì)疑。這是真的嗎?
帶OF功能的網(wǎng)絡(luò)交換機(jī)最大流條目低于10K是真的。這一限制取決于使用案例和整個網(wǎng)絡(luò)設(shè)計。廠商指出,如果在網(wǎng)絡(luò)邊緣使用OF(與在核心使用OF截然相反),幾千條流條目不太可能會達(dá)到上限,而簡化的內(nèi)核(在這里邊緣租戶被覆蓋層所遮蓋)也能夠取得成功。
當(dāng)OpenFlow交換機(jī)的流條目與流量不匹配時,流量必須被轉(zhuǎn)出至控制器。這會產(chǎn)生幾十至幾百毫秒的延時。此外,OpenFlow交換機(jī)CPU僅進(jìn)行轉(zhuǎn)出速度非常快,但通常轉(zhuǎn)出操作被限制在每秒最多1000次。盡管在習(xí)慣以太字節(jié)級線速轉(zhuǎn)發(fā)L2和L3流量的網(wǎng)絡(luò)設(shè)計師看來這一速度非常緩慢,但是廠商指出在典型部署中,由于控制器知道端點,因此流表可通過流條目被預(yù)先充填。這樣最大限度地降低了對轉(zhuǎn)出的需求。
一個SDN控制器不是一個單點故障嗎?
SDN的一個理念是集中化的控制器知道整個網(wǎng)絡(luò)的拓?fù)洌蚨軌蛴枚喾N方式替代網(wǎng)絡(luò),這點是分布式控制層所無法做到的。廠商已經(jīng)認(rèn)識到控制器的關(guān)鍵任務(wù)角色,常常會將控制器作為一個能夠象聚合工具一樣運行的分布式應(yīng)用,或是作為一個能夠利用虛擬層高可靠性的虛擬機(jī)。此外,它們會不出現(xiàn)如果控制器發(fā)生故障,網(wǎng)絡(luò)也會跟著發(fā)生故障這種情況。雖然廠商會設(shè)計許多種架構(gòu),但是合理的設(shè)想是,即使控制器不存在,網(wǎng)絡(luò)也將會繼續(xù)轉(zhuǎn)發(fā)流量(至少是一段時間內(nèi))。
我能夠在現(xiàn)有網(wǎng)絡(luò)旁邊安裝SDN嗎?
是的。針對在擴(kuò)建環(huán)境中部署的一個常見拓?fù)涫?ldquo;SDN孤島”。在這個孤島中,SDN域中的流量會通過網(wǎng)關(guān)設(shè)備流至遺留網(wǎng)絡(luò)。另一個拓?fù)涫腔旌辖粨Q,能夠處理OpenFlow和傳統(tǒng)網(wǎng)絡(luò)的交換機(jī)會在兩個域之間分配它們的端口。不同廠商會提供不同的混合功能。
覆蓋層是什么?為什么會有如此多的不同種類?
覆蓋層被用于創(chuàng)建虛擬網(wǎng)絡(luò)容器。盡管共享同一個基礎(chǔ)物理網(wǎng)絡(luò),但是這些虛擬網(wǎng)絡(luò)容器在邏輯上彼此相互孤立。VXLAN(虛擬可擴(kuò)展局域網(wǎng))、使用通用路由封裝的網(wǎng)絡(luò)虛擬化(NVGRE)和無狀態(tài)傳輸隧道(STT)等技術(shù)幾乎是同時出現(xiàn)的。不同的廠商正在主導(dǎo)不同的技術(shù)。
用一句話概括,就是思科正在力推VXLAN,微軟正在推動NVGRE,Nicira(目前已經(jīng)被VMware收購)支持STT。每一個覆蓋層都有一些相似的特點,但是在細(xì)節(jié)上存在區(qū)別,這使得它們彼此相似但又彼此不同。隨著時間的推移,VXLAN已經(jīng)獲得了一些行業(yè)巨頭的支持(有意思的是其中包括VMware),但NVGRE和NVGRE還沒有明確被放棄,兩者目前仍然擁有支持者。此外,IETF NVO3工作組也正在致力于其它的覆蓋層,其封裝類型與現(xiàn)有的一種覆蓋層相似。
為什么會有如此多的不同類型控制器?
早期上市銷售SDN技術(shù)的廠商不得不將控制器作為整體解決這群的一部分。目前還沒有SDN控制器標(biāo)準(zhǔn)出臺。因此每家廠商都會推出滿足他們目標(biāo)市場需求的控制器。
出臺獲得行業(yè)認(rèn)同的SDN控制器標(biāo)準(zhǔn)不好嗎?
隨著OpenDaylight 項目的設(shè)立,行業(yè)貌似也是這么考慮的。OpenDaylight是一個由行業(yè)內(nèi)部為開源SDN貢獻(xiàn)代碼的廠商組成的聯(lián)盟。時間將告訴我們SDN控制器標(biāo)準(zhǔn)將如何進(jìn)入廠商產(chǎn)品當(dāng)中,以及它們對SDN消費者意味著什么。
網(wǎng)絡(luò)工程師必須要成為程序員嗎?
熟悉腳本和編程的網(wǎng)絡(luò)工程師將具備利用SDN技術(shù)的能力。他們必須要這么做嗎?這還將有待觀察。我所看到的場景是,廠商將向公司提供帶有豐富網(wǎng)絡(luò)功能的軟件。部分工程師將使用這些軟件接口配置網(wǎng)絡(luò),他們會對符合預(yù)期自己預(yù)期的網(wǎng)絡(luò)功能感到滿意。還有一部分工程師將使用廠商提供的軟件,并精通創(chuàng)建業(yè)務(wù)所需的獨特網(wǎng)絡(luò)應(yīng)用所要使用的語言。隨著這些網(wǎng)絡(luò)工程理由逐漸獲得編程技能,他們將維持這種能力,以更為高效地監(jiān)控和維護(hù)網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
在評估SDN技術(shù)時,我應(yīng)當(dāng)考慮哪些關(guān)鍵性的東西?
需要搞清楚的一件最重要的事情是并不是所有的SDN解決方案都能解決相同的問題。此外,終端用戶對不同的SDN技術(shù)有著不同的期望。盡管一些解決方案打算通過提供簡單易用的解決方案過濾掉網(wǎng)絡(luò)和操作的復(fù)雜性,但是還有一些解決方案正在提供帶有更多工具的工具包,以便用戶能夠創(chuàng)建自己的應(yīng)用。因此,搞清楚自己正在嘗試解決的問題處于什么層次的技術(shù)水平非常重要。越詳細(xì)地將自己的需求告之廠商,越清楚廠商的解決方案將如何滿足自己的需求。
SDN是不是為我的環(huán)境帶來了新的安全風(fēng)險?
雖然很難說SDN帶來了“新的”風(fēng)險,但是事實表明通過編程接口暴露的網(wǎng)絡(luò)設(shè)備存在管理風(fēng)險。也就是,SNMP大致類似于可編程的API,不過它們擁有一個詳細(xì)的風(fēng)險消減策略。從在這個意義上說,SDN并沒有帶來新風(fēng)險。是的,SDN會帶來風(fēng)險,但是IT部門已經(jīng)通過訪問控制、信任、加密、深層數(shù)據(jù)包檢查等措施緩解了這些風(fēng)險。
SDN倡導(dǎo)者指出,集中化控制的安全優(yōu)勢是減少了配置網(wǎng)絡(luò)時所需的人手。對于IT基礎(chǔ)設(shè)施來說,人為錯誤是最大的安全風(fēng)險,SDN可能會被證明是它們實際上一種安全資產(chǎn)。