發(fā)布時間:2020-10-19
作者:小錦
工程師日常中總會碰到這樣的情況:
銀行客戶網(wǎng)點VPN經(jīng)常斷開,現(xiàn)場排查費時費力!
連鎖門店總是咨詢線路有故障,無法切換,影響業(yè)務(wù)!
學(xué)校老師反饋在線教學(xué)時老是卡頓,總是需要和學(xué)生PK看誰帶寬搶得過誰
......
這些客戶反饋的聲音讓小銳深刻意識到如何通過多樣的策略調(diào)度提供良好的業(yè)務(wù)體驗,如何快速部署降低上線難度、如何多維度地全網(wǎng)監(jiān)控是目前需要重點關(guān)注的。
其實,SD-WAN方案就解決了以上的這些問題,接下來我們就來簡單聊聊什么是SD-WAN方案。
SD-WAN方案,傳統(tǒng)廣域網(wǎng)的“改革者”
我們在了解什么是SD-WAN之前要先了解下什么是WAN。
WAN(廣域網(wǎng))如下圖所示是由多個分支在不同地理位置,總部與多個分支可以通過VPN或?qū)>€來建立連接后組成的。
當(dāng)今隨著越來越多企業(yè)從傳統(tǒng)數(shù)據(jù)中心轉(zhuǎn)型到云數(shù)據(jù)中心,許多應(yīng)用程序都向云過渡,網(wǎng)絡(luò)環(huán)境涉及范圍愈大,傳統(tǒng)廣域網(wǎng)中現(xiàn)場維護成本大、網(wǎng)絡(luò)部署復(fù)雜度高,不夠靈活等問題也逐漸暴露,那么如何解決傳統(tǒng)廣域網(wǎng)帶來的弊端呢?SD-WAN也就成為了應(yīng)對傳統(tǒng)廣域網(wǎng)挑戰(zhàn)的創(chuàng)新手段。
SD-WAN方案其實指的是基于SDN思想,通過軟件的形式來定義廣域網(wǎng)。網(wǎng)絡(luò)管理員可以通過ONC控制器來創(chuàng)建不同的策略,比如可以針對不同的用戶、應(yīng)用創(chuàng)建不同的策略進行限速或阻斷,也可基于當(dāng)前WAN情況以及應(yīng)用程序偏好設(shè)置等信息來執(zhí)行轉(zhuǎn)發(fā),比如可以根據(jù)線路的優(yōu)劣情況保障關(guān)鍵應(yīng)用優(yōu)先選路,控制器可以對整網(wǎng)流量線路統(tǒng)一進行管理以及監(jiān)控并且以不同維度來進行呈現(xiàn)網(wǎng)絡(luò)中應(yīng)用使用情況、鏈路使用狀態(tài),智能告警(設(shè)備告警、離線告警、安全告警),針對不同告警等級和日期進行篩選,針對網(wǎng)點的出口設(shè)備進行告警日志的收集及呈現(xiàn),輕松掌握當(dāng)前的網(wǎng)絡(luò)情況。
小帖士:什么是SDN思想呢?
SDN,是Software Defined Network的縮寫,就是“軟件定義網(wǎng)絡(luò)”,其試圖擺脫硬件對網(wǎng)絡(luò)架構(gòu)的限制,通過使用應(yīng)用軟件參與到對網(wǎng)絡(luò)的控制管理、滿足上層業(yè)務(wù)的需求,通過自動化業(yè)務(wù)部署簡化網(wǎng)絡(luò)運維。如果把現(xiàn)有的網(wǎng)絡(luò)看成手機,SDN實現(xiàn)的效果就相當(dāng)于一個網(wǎng)絡(luò)界的Android系統(tǒng),可以在手機上安裝升級,同時還能安裝更多更強大的手機APP。
SD-WAN架構(gòu)組成
SD-WAN方案的整體方案架構(gòu)圖主要分為三個部分,第三方管理和展示平臺、控制器、網(wǎng)絡(luò)設(shè)備區(qū)域,第三方管理和顯示平臺是用于顯示我們所收集到的數(shù)據(jù)以及設(shè)備狀態(tài),網(wǎng)絡(luò)環(huán)境其實就是客戶設(shè)備的基礎(chǔ)保證了。
我們重點來聊聊控制器,控制器相當(dāng)于是我們整個SD-WAN方案中的神經(jīng)中樞,其中控制器主要的是有兩個接口:北向接口和南向接口,我們可以按方位來理解這兩個接口。如下圖所示,上北下南,和第三方平臺的API接口對接就是北向接口了,而南向接口主要是對接網(wǎng)絡(luò)提供一個配套的控制器部署,控制器通過NETCONF協(xié)議通道來進行下發(fā)配置,網(wǎng)關(guān)設(shè)備通過gRPC協(xié)議來上報數(shù)據(jù)。控制器本身的部署方式有三種:單機部署、集群部署、總分部署,具體的部署配置的話這邊就不再詳細描述了。
SD-WAN南向接口的“魅力”
在SD-WAN方案中要用軟件來定義網(wǎng)絡(luò),并且網(wǎng)絡(luò)的設(shè)備類型多種多樣,業(yè)務(wù)類型更是成百上千的情況下,要與如此復(fù)雜的方案來匹配,其所使用的對接協(xié)議也不簡單,南向接口對接的協(xié)議主要是NETCONF協(xié)議和gRPC協(xié)議,這里我們細細道來。
NETCONF協(xié)議是新一代網(wǎng)絡(luò)管理協(xié)議,提供了一套管理網(wǎng)絡(luò)設(shè)備的機制,其報文可以類比如同ISO/OSI 七層模型一樣采用了分層結(jié)構(gòu),每個層分別對協(xié)議的某一個方面進行包裝,并向上層提供相關(guān)的服務(wù),具體報文結(jié)構(gòu)如下圖,由下至上分別是安全傳輸層,消息層,操作層和內(nèi)容層。
NETCONF傳輸層使用SSH作為承載協(xié)議,為NETCONF連接提供可靠的序列號發(fā)送機制,為上層數(shù)據(jù)安全性提供了保障;消息層客戶端發(fā)起配置管理請求,服務(wù)器端予以相應(yīng)的回應(yīng);操作層提供對數(shù)據(jù)庫信息的獲取、配置、復(fù)制和刪除等功能;內(nèi)容層描述了網(wǎng)絡(luò)管理所涉及的配置數(shù)據(jù),使用YANG進行建模,可讀性好,易學(xué)習(xí)、可復(fù)用、可擴展。
| NETCONF | SNMP | |
| 擴展性 | 協(xié)議模型分層定義,各個層之間互相獨立,采用標準的YANG模型定義結(jié)構(gòu),協(xié)議采用XML編碼,擴展靈活 | SNMP這樣的傳統(tǒng)的網(wǎng)管協(xié)議擴展性差 |
| 安全性 | 采用現(xiàn)有的安全協(xié)議(SSH, TLS),提供安全保證,而且不和具體的安全協(xié)議綁定,更靈活 | SNMP雖然也有安全性,但是比如SNMPV3是自定義的,沒有擴展的余地 |
| 效率 | 對整個系統(tǒng)的配置數(shù)據(jù)進行操作,定義了過濾功能,查詢效率高 | SNMP只能對某個表的一條或者多條記錄操作,需要多次交互,效率低下 |
| 跨廣域網(wǎng) | 支持NETCONF CALLHOME,分支主動發(fā)起連接 | 不支持廣域網(wǎng) |
gRPC協(xié)議采用主動推送方式采集數(shù)據(jù),一次可以推送多個采集數(shù)據(jù),整體降低設(shè)備壓力,有助于整體網(wǎng)絡(luò)監(jiān)控效率提升和監(jiān)控質(zhì)量提升。
gRPC數(shù)據(jù)上報的處理流程如下:
靜態(tài)訂閱上報事件(下發(fā)開局配置或由NETCONF下發(fā)配置),相當(dāng)于先確認會有哪些信息會上報。gRPC組件通過NETCONF組件的GET方法,定時獲取各訂閱的事件數(shù)據(jù)(上報數(shù)據(jù)信息);根據(jù)GNMI(是gRPC網(wǎng)絡(luò)管理接口,基于gRPC實現(xiàn)的配置管理與數(shù)據(jù)采集)定義的格式,將xml轉(zhuǎn)換為json格式封裝,上報到控制器(數(shù)據(jù)格式轉(zhuǎn)換,保證可以正常讀取)。
|
gRPC |
SnmpTrap&Syslog | Snmp&Cli |
| gRPC采用主動推送方式采集數(shù)據(jù),一次可以推送多個采集數(shù)據(jù),整體降低設(shè)備壓力。gRPC采用標準的YANG模型定義結(jié)構(gòu),識別度高,用http 2作為數(shù)據(jù)傳輸協(xié)議,編碼性能更優(yōu)。gRPC的整體方案,有助于整體網(wǎng)絡(luò)監(jiān)控效率提升和監(jiān)控質(zhì)量提升 | 雖然是推模式的,能夠在設(shè)備產(chǎn)生告警和事件時及時推送數(shù)據(jù),然而其推推送數(shù)據(jù)的編碼效率非常低。 | 與設(shè)備之間是一問一答的交互。效率非常低,只能支持分鐘級查詢 |
多樣的策略調(diào)度
行為策略可以實現(xiàn)對網(wǎng)點內(nèi)的終端行為進行管控策略設(shè)置,并可批量下發(fā)給各網(wǎng)點設(shè)備。
針對內(nèi)網(wǎng)的不同應(yīng)用來設(shè)置不同優(yōu)先級的流控通道,并可設(shè)置彈性帶寬,在帶寬緊張/不緊張時,分別做出不同的流控限速策略。流控通道調(diào)度基于兩個原則:先保證承諾帶寬,然后再進行帶寬借用;高優(yōu)先級流控通道優(yōu)先調(diào)度,相同優(yōu)先級流控通道輪轉(zhuǎn)調(diào)度。學(xué)校環(huán)境中就可以針對老師學(xué)生,以及應(yīng)用基于帶寬進行劃分,優(yōu)先保障關(guān)鍵應(yīng)用的使用。
線路度量,是用于監(jiān)測線路質(zhì)量,通過對應(yīng)線路探測報文的丟包、時延、抖動來判斷,有ICMP協(xié)議探測和http協(xié)議探測兩種探測方式,ICMP檢測是以T為周期,取樣N個計算平均延時、標準差,以及丟包情況。
而HTTP的檢測方式中丟包的計算方式不同于ICMP,HTTP的檢測中丟包率相當(dāng)于重傳率。
通過這兩種方法進行判斷后,可以根據(jù)線路度量結(jié)果分為符合閾值和不符合閾值兩部分。同時存在多個符合閾值出口的情況下,根據(jù)接口索引大小進行排序,實現(xiàn)依照線路質(zhì)量選路的策略調(diào)度。線路度量的策略調(diào)用可以使用在多個場景下,比如說VPN場景下,可以針對VPN線路質(zhì)量進行檢測,依照線路度量選擇線路來防止出現(xiàn)VPN經(jīng)常掉線的情況。
基于應(yīng)用的路由選路可以實現(xiàn)訪問特定的應(yīng)用按照客戶指定的線路去進行轉(zhuǎn)發(fā),那質(zhì)量較優(yōu)的路由選路策略是按照多線路中當(dāng)前質(zhì)量較好的線路進行選路,多鏈路負載均衡的話是所選擇的應(yīng)用按照選擇的多條線路來平均進行負載的。門店場景下線路切換不成功的問題,可以針對線路度量選擇線路,不同優(yōu)先級指向不同接口,始終確保選路正常。
小結(jié):SD-WAN的內(nèi)容還有很多,一篇短文不足以涵蓋,只是希望大家可以通過這篇短文對SD-WAN有了一個初步的了解。
