在過去的十年里,網(wǎng)絡(luò)經(jīng)歷了各種各樣的變革。從本質(zhì)上講,網(wǎng)絡(luò)已經(jīng)變得越來越復(fù)雜,使用傳統(tǒng)機(jī)制已經(jīng)難以管理。現(xiàn)在用戶迫切地需要新的設(shè)計(jì),實(shí)現(xiàn)來自多個(gè)廠商的不同設(shè)備的集成,以及采用虛擬化和云服務(wù)等新技術(shù)。
由于每個(gè)網(wǎng)絡(luò)都有著自己的獨(dú)特性,因此你永遠(yuǎn)不會(huì)遇到兩個(gè)完全相同的網(wǎng)絡(luò)。供應(yīng)商提供的產(chǎn)品是工程師設(shè)計(jì)解決方案的基石,如果我們的網(wǎng)絡(luò)都是簡單且可預(yù)測的,那么這就不會(huì)是問題。然而情況是,并沒有一個(gè)可供遵循的全球參考,不同組織機(jī)構(gòu)的設(shè)計(jì)也各不相同。即使提供類似的服務(wù),網(wǎng)絡(luò)也會(huì)發(fā)生變化。
據(jù)估計(jì),超過60%的用戶認(rèn)為他們的IT環(huán)境比兩年前變得更為復(fù)雜。我們據(jù)此認(rèn)為未來網(wǎng)絡(luò)復(fù)雜性會(huì)大大增加。
大型企業(yè)和服務(wù)提供商需要管理這種復(fù)雜性,以確保其所有流量、策略和配置都符合要求和目標(biāo)。我們不能依靠手動(dòng)來管理復(fù)雜的網(wǎng)絡(luò),因?yàn)檫@樣總是會(huì)發(fā)生一些人為的錯(cuò)誤,并最終會(huì)導(dǎo)致網(wǎng)絡(luò)速度緩慢,敏捷性下降。
正如我在Network Insight網(wǎng)站上撰文所寫的那樣,網(wǎng)絡(luò)復(fù)雜且容易出錯(cuò)這一事實(shí)催生了自動(dòng)化,以何種方式管理取決于自動(dòng)化程度,因此更高層次的編排是不可或缺的。
現(xiàn)代化的需要
組織機(jī)構(gòu)現(xiàn)在正在尋求使其業(yè)務(wù)流程和網(wǎng)絡(luò)現(xiàn)代化,這使得這種復(fù)雜性變得更加錯(cuò)綜復(fù)雜。傳統(tǒng)的垂直集成且龐大單一的網(wǎng)絡(luò)解決方案阻礙了網(wǎng)絡(luò)的現(xiàn)代化。這就造成了在架構(gòu)師的本意和實(shí)際運(yùn)行時(shí)的行為之間出現(xiàn)了脫節(jié)。
如果檢查一下,你會(huì)發(fā)現(xiàn)設(shè)計(jì)文檔的內(nèi)容與網(wǎng)絡(luò)執(zhí)行之間是存在差距的。首先,對于如何將設(shè)計(jì)文檔轉(zhuǎn)換和應(yīng)用到實(shí)際設(shè)備,并沒有結(jié)構(gòu)化的流程。如何實(shí)現(xiàn)它們?nèi)珣{個(gè)人的理解。
這些網(wǎng)絡(luò)是在不同時(shí)代建立的。因此我們現(xiàn)在必須將重點(diǎn)從傳統(tǒng)的網(wǎng)絡(luò)規(guī)范轉(zhuǎn)向基于意圖的網(wǎng)絡(luò)(IBN)。作為一種能夠?qū)崿F(xiàn)網(wǎng)絡(luò)現(xiàn)代化并按照總體業(yè)務(wù)目標(biāo)進(jìn)行處理的技術(shù),IBN可使設(shè)計(jì)規(guī)則與網(wǎng)絡(luò)緊密結(jié)合在一起。
對新工具的需求
毫無疑問,我們需要新的工具,不僅僅是站在物理設(shè)備的角度,而且從流量的角度出發(fā)。手動(dòng)驗(yàn)證方式將不再有效。當(dāng)數(shù)據(jù)包中有100個(gè)比特,那么這意味著流量可以一次執(zhí)行多次對話,使用人工方法跟蹤端到端流是不可能的。
在配置方面,CLI是最常用的配置更改方法,但是它們存在許多缺點(diǎn)。首先,它們提供了錯(cuò)誤的抽象層。它們針對的是人類,工程師是否會(huì)遵循正確的程序無法得到驗(yàn)證。
此外,跨多個(gè)供應(yīng)商的CLI語言沒有實(shí)現(xiàn)標(biāo)準(zhǔn)化。業(yè)界針對此問題推出了NETCONF。但是,NETCONF在供應(yīng)商操作系統(tǒng)中存在許多不一致之處。許多企業(yè)都會(huì)使用自己的專有格式,這導(dǎo)致難以跨多個(gè)供應(yīng)商網(wǎng)絡(luò)編寫NETCONF應(yīng)用程序。
NETCONF 的本意是為了讓自動(dòng)化變得容易實(shí)現(xiàn),但是實(shí)際上它們所呈現(xiàn)的不規(guī)則性使得自動(dòng)化變得更加困難。此外,我們使用的老式故障排除工具(如ping、traceroute)并不能提供對網(wǎng)絡(luò)行為的整體評估。traceroute存在IP未編號(hào)鏈接的問題,而這在全自動(dòng)網(wǎng)絡(luò)環(huán)境中是非常有用的。另一方面,ping沒有告訴我們網(wǎng)絡(luò)的運(yùn)行情況。這些工具的創(chuàng)建初衷只是為了滿足之前網(wǎng)絡(luò)需求較為簡單的時(shí)代。
我們需要發(fā)展到一個(gè)與供應(yīng)商無關(guān)的解決方案,該解決方案可以根據(jù)配置的策略驗(yàn)證意圖。它們要與設(shè)備數(shù)量、安裝的操作系統(tǒng)、流量規(guī)則和任何其他類型的配置策略無關(guān)。我們需要的是網(wǎng)絡(luò)自動(dòng)化和可預(yù)測性,而現(xiàn)有的常用工具對此毫無幫助。
簡言之,我們需要一個(gè)新的模型來計(jì)算出所有的設(shè)備和流量交互,不僅是在設(shè)備層面,而且是在網(wǎng)絡(luò)層面。
IBN和SDN
軟件定義網(wǎng)絡(luò)(SDN)成功吸引了人們的關(guān)注,但是部署它們的主要是大型企業(yè)。這些用戶有著構(gòu)建自己專屬硬件和軟件的資源,如谷歌和Facebook。
例如,谷歌的B4項(xiàng)目通過流優(yōu)化以動(dòng)態(tài)方式構(gòu)建起了一個(gè)高效廣域網(wǎng)(WAN)。盡管如此,但要想在生產(chǎn)網(wǎng)絡(luò)上使用傳統(tǒng)的廣域網(wǎng)架構(gòu),則是不可能實(shí)現(xiàn)的。
IBN是SDN的繼承者,它借用了相同的原則、體系結(jié)構(gòu),以及應(yīng)用程序和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)之間的劃分。與SDN類似,IBN正在開發(fā)能夠控制整個(gè)網(wǎng)絡(luò)的軟件,而不再是設(shè)備到設(shè)備。
現(xiàn)在表面上的問題是,SDN作為一個(gè)概念能否盡可能多地實(shí)現(xiàn)我們的需求自動(dòng)化?實(shí)際上,SDN是通過軟件來配置網(wǎng)絡(luò),從而驅(qū)動(dòng)基于軟件的網(wǎng)絡(luò)。IBN則是我們工作的下一步?;谝鈭D的系統(tǒng)在應(yīng)用程序中擁有更高的優(yōu)先級(jí),以提供真正的自動(dòng)化。
IBN是什么?
對網(wǎng)絡(luò)自動(dòng)化的更高要求催生了IBN,這是一種可提供增強(qiáng)的自動(dòng)化和網(wǎng)絡(luò)洞察力的技術(shù)。它代表了一種范式轉(zhuǎn)換,側(cè)重于網(wǎng)絡(luò)應(yīng)該做什么,而不是網(wǎng)絡(luò)組件的配置方式。它們還可用于監(jiān)控網(wǎng)絡(luò)設(shè)計(jì)是否正確運(yùn)行。
IBN是通過生成設(shè)計(jì)和設(shè)備的配置來實(shí)現(xiàn)這一點(diǎn)。此外,它們還不斷地實(shí)時(shí)驗(yàn)證和查驗(yàn)是否符合最初的意圖。如果不滿足預(yù)期意圖,那么系統(tǒng)可以采取糾正措施,例如修改QoS策略、VLAN或ACL。這使得網(wǎng)絡(luò)能夠更加符合業(yè)務(wù)目標(biāo)與合規(guī)性要求。
它們使用的是聲明性語句,即網(wǎng)絡(luò)應(yīng)該做什么,而不是描述應(yīng)該如何做的命令性語句。IBN能夠理解由一系列不同設(shè)備組成的大型異構(gòu)網(wǎng)絡(luò)集合。這些設(shè)備使用的也不是相同的API。這實(shí)質(zhì)上使得用戶能夠突破傳統(tǒng)網(wǎng)絡(luò)的限制,將注意力放在業(yè)務(wù)需求上。
IBN之旅
通往IBN的第一步是將所有這些轉(zhuǎn)換成清楚的邏輯規(guī)則,這些規(guī)則本質(zhì)上是IBN軟件的一部分。你還需要了解流量狀況,看看現(xiàn)實(shí)情況是否與意圖匹配。為此,系統(tǒng)將構(gòu)建一個(gè)網(wǎng)絡(luò)模型,然后驗(yàn)證該模型,這在計(jì)算機(jī)科學(xué)中稱為形式驗(yàn)證。這是一種利用數(shù)學(xué)方法分析網(wǎng)絡(luò),檢查是否符合意圖的方法。其中涉及到一些邏輯計(jì)算。
網(wǎng)絡(luò)驗(yàn)證
網(wǎng)絡(luò)驗(yàn)證是所有IBN系統(tǒng)的關(guān)鍵部分。它們需要一個(gè)網(wǎng)絡(luò)行為的基礎(chǔ)數(shù)學(xué)模型,以便分析和推理出目標(biāo)網(wǎng)絡(luò)設(shè)計(jì)和策略。系統(tǒng)需要驗(yàn)證所有可能的數(shù)據(jù)包流和流量模式。
雖然IBN沒有明確的體系結(jié)構(gòu)指導(dǎo)原則,但是數(shù)學(xué)模型可以被用來處理每個(gè)網(wǎng)絡(luò)設(shè)備。這可以被視為對每個(gè)設(shè)備層上所有數(shù)據(jù)包類型和流量進(jìn)行的一組代數(shù)和邏輯操作。這使得IBN系統(tǒng)能評估和驗(yàn)證所有可能的場景。
當(dāng)設(shè)備接收到一個(gè)數(shù)據(jù)包時(shí),它們可以執(zhí)行許多操作,例如可以將數(shù)據(jù)包轉(zhuǎn)發(fā)到特定端口、丟棄數(shù)據(jù)包,或是在修改數(shù)據(jù)包頭后轉(zhuǎn)發(fā)到端口。這取決于數(shù)學(xué)模型對每個(gè)設(shè)備如何響應(yīng)每種可能數(shù)據(jù)包類型的理解,以及對網(wǎng)絡(luò)中的(而不僅僅是在設(shè)備層級(jí))行為評估。
原則上,驗(yàn)證過程必須是端到端,并且必須從網(wǎng)絡(luò)上的每個(gè)設(shè)備收集配置文件和狀態(tài)信息。然后,在逐條的基礎(chǔ)上對所有可能的信息流的行為進(jìn)行數(shù)學(xué)分析。IBN系統(tǒng)針對網(wǎng)絡(luò)基礎(chǔ)設(shè)施構(gòu)建了一個(gè)軟件模型。該模型會(huì)首先讀取Layer 2到 Layer 4的配置詳細(xì)信息,然后再從每個(gè)設(shè)備(IP路由表)收集狀態(tài)。
有了IBN,我們將從被動(dòng)轉(zhuǎn)向主動(dòng)。隨著我們將注意力放在業(yè)務(wù)需求和便捷性上,IBN將對網(wǎng)絡(luò)的未來產(chǎn)生深遠(yuǎn)影響。IBN并不像有些人想象的那么遙不可及,但是如果你愿意的話,從今天開始你就可以開始自己的IBN之旅。雖然技術(shù)已經(jīng)有了,但是我們還是建議用戶分階段進(jìn)行部署。如果你關(guān)注的是ID/IPS的部署,那么你會(huì)發(fā)現(xiàn)目前仍然存在著許多不穩(wěn)定因素。
作者:Matt Conran 擁有超過19年的網(wǎng)絡(luò)行業(yè)從業(yè)經(jīng)驗(yàn),曾經(jīng)服務(wù)于多個(gè)初創(chuàng)企業(yè)和政府機(jī)構(gòu)。此外,他還作為高級(jí)架構(gòu)師參與了全球某大型服務(wù)提供商和數(shù)據(jù)中心網(wǎng)絡(luò)的建設(shè)工作。
編譯:陳琳華
原文網(wǎng)址:https://www.networkworld.com/article/3428356/intent-based-networking-ibn-bridging-the-gap-on-network-complexity.html