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