天天看點

老網工: SD-WAN運維經驗及相關開源技術分享

作者:老李講安全
作者簡介:楊文斌,山東未來網絡研究院(紫金山實驗室工業網際網路創新應用基地)專家;北京大地雲網科技有限公司技術總監,在SDNLAB上發表了多篇“老網工”文章。

編者按

SD-WAN早已走過炒作進入應用,據IDC報告顯示,2022上半年中國SD-WAN市場規模為1.2億美元,同比增長45.8%。随着SD-WAN組網方案繼續發展成熟,預計其後續部署仍有較大潛力。目前關于SD-WAN的文章多是從市場分析、技術方案等角度展開,本文作者獨辟蹊徑,根據其幾十年的網絡經驗和幾年的SD-WAN從業經曆,介紹了SD-WAN運維相關經驗。SD-WAN實際運維會面臨哪些棘手問題?SD-WAN産品設計對運維會産生什麼影響?SD-WAN有哪些開源工具?SD-WAN從業人員需要具備哪些技能?我們一起來看看。

盡管從部署和使用者角度來看SD-WAN非常簡單, 但SD-WAN的運維卻并不容易 :SD-WAN運維過程中會涉及産品能力了解(産品能力或設計架構)、客戶環境問題排障、網際網路底層問題、組網設計、軟體疊代開發和釋出、服務流程的管理,以及和其它系統對接等諸多問題, 覆寫範圍很廣。

作為一個SD-WAN創業團隊,我們需要支撐幾十家大型基礎營運商、服務商和企業的複雜SD-WAN二線運維。雖說是二線支援,但有時客戶基礎環境出問題(如網際網路、防火牆配置的導緻SD-WAN業務問題 ,通常80%以上都是基礎環境相關),我們也需要參與分析排障。

作為網絡領域浪漫又務實的技術,SD-WAN有着極簡部署、一鍵組網和上雲、統一的配政策管理和運維管理等特點,筆者非常看好。本文将重點聊聊筆者在SD-WAN運維過程中解決問題常用的網絡技術、開源工具和心得體會,同時在此感謝這些年一起并肩戰鬥在第一線和第二線的SD-WAN運維網工和研發網工。

老網工: SD-WAN運維經驗及相關開源技術分享

SD-WAN産品能力

産品本身的設計和自愈能力,尤其是控制器的架構設計在SD-WAN運維和支撐中至關重要:光鮮的SD-WAN光環下其實面臨着艱巨的運維工作,SD-WAN多是大型服務商面向多租戶場景使用,SD-WAN運維保障和背景支援壓力很大。

在市場推銷SD-WAN的時候,部署運維簡化是一大亮點,但真正接手運維之後,客戶環境千差萬别,運維中各種問題層次不窮:CPE穿透防火牆問題,POP點NAT映射也會經常出錯,而且還需要考慮基于網際網路SD-WAN是否會不穩定的風險,客戶SD-WAN系統會不會DOWN機,技術人員有限如何支撐成千上萬的多租戶CPE……

下面先聊聊幾個SD-WAN産品能力對運維的影響:

  • SD-WAN的架構設計至關重要

由于SD-WAN是基于網際網路組網技術,CPE連接配接控制器和POP系統基本上基于網際網路實作,網際網路可靠性和盡力而為的機制有一定的局限性或薄弱環節,這就要求SD-WAN控制器系統尤其是CPE(承載租戶業務)具有較強容忍性和自愈能力。可以說系統設計架構是決定SD-WAN 可靠性能力的重要因素。幾年前談過SD-WAN四種業務場景架構(https://www.sdnlab.com/22769.html),今天談談目前業界SD-WAN内部的幾種典型轉控分離設計架構,下面僅為作者個人分析 (不針對任何廠商,請勿對号入座)。

老網工: SD-WAN運維經驗及相關開源技術分享

# 強控模式

資料流的包或第一個包的處理基于控制器的參與,典型的是基于OpenFlow的SDN/SD-WAN技術架構,這種設計屬于強控模式,控制器出問題會直接影響流表轉發,大大影響系統的穩定性和性能,基本上已經被淘汰。

# 中控模式

基于SD-WAN路由反射器設計組網,RR 是控制層的核心元件,主要負責網絡控制,RR參與或負責租戶VPN路由的分發和過濾、VPN 站點間Overlay隧道的建立和維護等。中控模式下,RR的穩定性和性能也會對全網造成很大影響(盡管RR有備份,如MPLS RR也很穩定,但網際網路環境什麼可能性都會有),對于大型服務商SD-WAN多租戶網絡建議慎重評估。

# 弱控模式-或者真正的轉控分離模式

在規劃設計SD-WAN架構的時候,控制器隻負責配置政策、系統管理和監控等,轉發層面租戶VPN路由學習都是由CPE基于控制的配置政策在本地實作,類似資料中心SDN+ VXLAN/EVPN的思路。以大地雲網TerraEdge為例,在可靠性設計有三個鐵定原則和設計理念:

1)SD-WAN控制器不參與轉發面

2)即使正常運作階段控制器通訊失聯,業務也不受影響

3)即使控制器斷掉或失聯,轉發面(CPE和POP)裝置有強大的自愈能力,客戶CPE業務不受影響并且具有基于已有的政策進行自愈和選路的自動修複

  • POP 智能探測和切換

經常和朋友讨論SD-WAN和傳統路由器網絡最大的差別,我會毫不猶豫說是基于POP站點的智能探測和選路算法。IP網絡發展了幾十年,但是服務保障SLA/QOS一直是個千年難題,傳統網絡是基于IP QoS技術當中的兩種服務體系:IntServ和DiffServ。DiffServ是基于類的QoS技術,沒有端到端QOS能力;IntServ是端到端的基于流的QoS技術,但是節點/網絡管理和配置是一個複雜和艱巨的任務,導緻很難大規模部署。

SD-WAN系統的POP點的探測和切換政策是SD-WAN系統成功的關鍵,客戶裝置CPE智能探測網際網路網絡服務品質,選擇最佳POP站點(POP站點通常建議多營運商出口)以及實時監測和自動切換,這個機制目前可以很好地解決網際網路SLA品質問題以及跨營運商瓶頸問題,確定核心業務通路擷取更好體驗。我們基于POP點的服務品質探測和切換政策研究了一個TerraFlow的網絡機器算法模型,包括延時、抖動、丢包、帶寬、路由切換、路由防洩漏、穩定性等限制條件進行自動化探測和隧道管理。同時POP算法中還引入了多隧道機制和Active/Active機制,不僅解決網際網路SLA品質問題,同時也是對可靠性的很好保障。

  • 租戶CPE的幾個特色運維功能

CPE 加密端口動态調整:由于各種情況,網際網路經常會出現加密端口封殺、SD-WAN加密端口号協商、VPN加密端口自動調整等情況,如支援對IPSEC SSLVPN 端口動态調整,實作複雜環境下的業務上線。

CPE MTU動态探測和調整:通常VPN技術中的MTU問題是個頭疼問題,我們在SD-WAN增加 MTU的檢測和調整以及 DF-BIT清除,使網絡更加健壯易用。

  • 賬号管理:分級分權賬号和審計

基于多租戶下分級分權分域管理在SD-WAN系統運維管理和安全至關重要。以TerraEdge賬号管理為例,角色支援三級:系統管理者、合作夥伴管理者、租戶管理者,不同賬戶可以有不同的可視化界面管理權限和資源管理能力。這個功能對大型服務商或者基礎營運商非常有用,既有利于業務拓展更有利于系統的安全運維管理。

SD-WAN常用的開源工具

俗話說,工欲善其事必先利其器。SD-WAN開發設計通常會用到許多開源技術, 如:ODL、ONOS、RYU、SpringCloud、kafka 、mysql/mongodb、Grafana、K8S/Docker、Linux/Openwrt 、Nginx 、FRR、VPP/DPDK、NetConf/Yang Model等開源技術;CPE硬體開發還會涉及 Arm、x86、Wi-Fi、4G/5G 以及相關Linux Kernel/Driver等适配工作。SD-WAN作為NetDevops成功典範之一,對于SD-WAN運維和技術網工,不僅需要了解産品設計的相關開源技術,同時還需要了熟悉相關的開源工具包括Linux相關的網絡工具,下面就一些常用的運維支撐開源工具加以介紹:

  • Jumpserver:推薦指數 5星

簡述:Jumpserver是使用python的Django開發的開源堡壘機系統,相對于普通的跳闆機,堡壘機可以看作一個更新版的跳闆機,為網際網路企業提供了認證、授權、審計和自動化運維等功能。在SD-WAN系統中Jumpserver是一個很好的運維工具,利用Jumpserver堡壘機登陸控制台,POP節點等作為運維平台,對安全管理和追溯記錄蠻好的。

另外SD-WAN系統是多租戶設計,由于租戶的CPE系統沒有帶外管理和公網位址,管理CPE成為了一個挑戰,為此SD-WAN廠商通常會提供一些手段以在CPE有異常的情況下登入到CPE進行排障(專用CPE跳闆機系統就是其中工具之一),考慮到安全,通常隻有管理者賬戶在得到租戶許可才具備登陸CPE權限。

老網工: SD-WAN運維經驗及相關開源技術分享
  • Jenkins:推薦指數 4星
  • 簡述:Jenkins 是一款業界最好的完成CI/CD持續內建持續部署的工具,用于自動化各種任務,包括自動編譯、分發、部署和測試等。在SD-WAN系統中,除了軟體的疊代開發持續測試,也可基于Jenkins做系統運維資料備份,防止災難發生。别小看這個備份,SD-WAN控制系統管理全網的資源、POP和CPE配置,而SD-WAN控制平台又在網際網路通路環境運作,自然風險會相對增加,是以,SD-WAN系統運維資料備份直接關系到生産業務,至關重要。另外SD-WAN軟體版本灰階釋出也可以用Jenkins進行管理。

    老網工: SD-WAN運維經驗及相關開源技術分享
  • ZenMap:推薦指數 5星
  • 簡述:ZenMap是安全掃描工具NMap的一個官方圖形使用者界面,NMap是一個開放源代碼的網絡探測和安全稽核的工具。使用Zenmap工具可以快速地掃描大型網絡或單個主機的資訊。如掃描主機提供了哪些服務,使用的作業系統等,它是SD-WAN網絡管理者必用的軟體之一,我強烈建議SD-WAN運維人員使用。

    在SD-WAN 環境,CPE 通過網際網路連接配接控制器和POP節點,建立到POP節點的IPSEC/SSL/國密安全隧道,我們碰到最多的問題是VPN隧道的建立,CPE在客戶側,客戶環境有時“很複雜” 或做了很多複雜安全限制,或者客戶側的ISP服務商也會有些限制,如何判斷到控制器和POP節點網際網路協定和端口是否正常,ZenMap會是一個很好的手段或工具。如圖:

    老網工: SD-WAN運維經驗及相關開源技術分享
  • Postman:推薦指數 3星
  • 簡述:Postman是和研發人員對接很好的“溝通橋梁”。Postman是一個接口測試工具,在做接口測試的時候,Postman相當于一個用戶端,它可以模拟使用者發起的各類HTTP請求,将請求資料發送至服務端,擷取對應的響應結果, 進而驗證響應中的結果資料是否和預期值相比對; 并確定開發人員能夠及時處理接口中的問題,進而保證産品上線之後的穩定性和安全性。

    SD-WAN系統中,功能在不斷疊代開發,客戶通常還會有自己的業務門戶和編排系統,通過RestAPI調用SD-WAN控制器,實作業務統一管理和運維,Postman是一個偏向于開發的接口測試工具,SD-WAN網工如果掌握這個技能就可以友善和客戶的業務系統開發人員有更多共同語言,展現SD-WAN網工的能力和強大魅力。

    老網工: SD-WAN運維經驗及相關開源技術分享
  • Ansible和Python :推薦指數 4星
  • 簡述:在SD-WAN運維中,實際上也是将DevOps的理念引入到網絡領域(NetDevOps)典型場景,利用技術與工具提高自動化運維水準,目标是實作網絡的自動化管理。這就需要SD-WAN網工在傳統複雜網絡協定基礎上增加可程式設計能力和自動化腳本技能,其中 Ansible和Python 成為SD-WAN運維網工的網工必備和技能之一,也是提高日常管理、系統備份、排障效率、運維效率重要手段和工具。

  • TCPDump:推薦指數 5星
  • 簡述:TCPDump是根據使用者的定義對網絡上的資料包進行截獲的包分析工具,可以将網絡中傳送的資料包完全截獲下來提供分析。它支援針對網絡層、協定、主機、網絡或端口的過濾。

    SD-WAN系統中,控制器/POP節點以及CPE基本上在防火牆測都做了NAT,我們碰到很多次客戶抱怨隧道建立不正常,或者非常奇怪的現象,排障到最後發現是防火牆NAT做的不對或者産生異步路徑,這時候強烈推薦通過 TCPDump抓包看看源IP位址和NAT是否正确。

    老網工: SD-WAN運維經驗及相關開源技術分享
  • iperf3 :推薦指數 4星
  • 簡述:iperf3是一個廣泛使用的網絡性能測量和調整工具, 用于主動測試IP網絡上最大可用帶寬的工具。它支援時序、緩沖區、協定(TCP,UDP,SCTP與IPv4和IPv6)有關的各種參數。可以建立資料流來測量兩端之間單向或雙向的網絡吞吐量。典型的iperf輸出包含一個有時間标記的資料傳輸量和吞吐量測量的報告。

    SD-WAN有時候由于各種原因,CPE帶寬很難達到客戶期望,iperf3打流就成為網工必備技能,有時還需要調整TCP Window Size設定視窗大小。iperf3裡面很多參數,如:其中一個-R反向模式運作(Server 端發送,Client 端接收),蠻有意思。

    老網工: SD-WAN運維經驗及相關開源技術分享
  • iptables:推薦指數 4星
  • 簡述:iptables指令是Linux上常用的防火牆軟體,是netfilter項目的一部分, iptables是采用資料包過濾機制工作的,是以它會對請求的資料包的標頭進行分析,并根據我們預先設定的規則進行比對來決定是否可以進入主機。

    SD-WAN 場景:基本上SD-WAN大多基于Linux開發或部署,SD-WAN的系統安全極為重要,經常會遇到各種各樣的更新檔風險和漏鬥。沒有軟體是完美無缺的,通常軟體更新檔更新有個滞後期,但有時不需要頻繁修改,熟練使用iptables在風險或漏洞告警的時候對系統進行加強和通路政策調整也是SD-WAN網工的基本技能。

  • nc指令端口探測:推薦指數 3星
  • 簡述:Linux中可以使用指令行工具nc,判斷指定端口的TCP和UDP連接配接是否通暢 。通常SD-WAN的系統基于Linux開發,nc指令使用起來相對簡單。本人使用Mac電腦,Mac也可以使用nc指令作為用戶端工具進行端口探測,但是感覺MACBOOK NC端口探測有時不準确,更喜歡用Zenmap。

    網絡技能和畫象能力

  • 基礎網絡技術:推薦指數 5星
  • 簡述:SD-WAN是基于網絡技術的發展,基礎網絡技術尤其是WAN路由器和VPN技術是SD-WAN運維人員基礎技能。

    SD-WAN 技術的自動ZTP、自動探測、自動組網,從使用者看來隻是一個簡單配置,但是由于SD-WAN内部設計依賴複雜和健壯的BGP或IGP協定以及很多網絡和VPN技術, SD-WAN的運維排障人員還需要對WAN路由技術和VPN安全技術有豐厚的底蘊,包括各種路由技術、GRE/VXLAN、DNS、MPLS \SR(內建MPLS網絡)、IP QOS、負載分擔加速、FEC/BBR、VPN加密技術,DPI、SASE、安全/NAT、SDN等網絡協定或技術全面了解,同時在大型多域雲網環境還需要對雲網融合有一定了解,通常懂網絡技術尤其是動手經驗的人,如CCIE/CCNP技術人員在支撐SD-WAN會更加得心應手。這個相信搞網絡的都懂得,就不再贅述。

    老網工: SD-WAN運維經驗及相關開源技術分享
  • 邏輯思維和畫象能力:推薦指數 5星
  • 确定問題關鍵:善于運用以上的技術經驗、開源工具,對産品由有深入了解的基礎下,還需要有排障的邏輯思維能力,要能夠根據合作夥伴或客戶提供的片段資訊,第一時間組織一個假象的若幹可能和最可能的線索。如客戶抱怨CPE隧道問題,是CPE和控制器的通訊問題,還是CPE到POP出現問題,還是CPE本身網際網路的問題;是加密隧道端口問題、NAT防火牆或者MTU問題?這考驗着工程師的經驗和邏輯思維能力,能夠根據問題快速邏輯畫象,同時會根據初步判斷結合Log進一步分析。除了邏輯思維能力,還可以建立研發、售前和售後的共享知識庫,運維同僚可以從研發擷取第一手的産品設計原理資料和知識經驗,快速解決客戶的問題 。

    結束語

    作為一名老網工,經曆網絡發展30年來的起起伏伏,從X.25、IPX、SNA、ATM/MPoA,GE/IP,MPLS,VXLAN/EVPN,SRv6,SDN 到今天多雲時代互聯時代的 SD-WAN。SD-WAN作為在雲網融合時代下一顆冉冉升起的新星,盡管沒有帶來劃時代的新标準和協定,但SD-WAN融入了各種網絡技術并打磨成組網極簡新服務模式,使用者僅需點點滑鼠就可實作自動上線、雲接入、企業組網等一站式上雲群組網的業務,他們不再擔心複雜的路由協定配置、網絡和路由環路、VPN加密政策、備份切換等,就可輕松實作全球分支機構的組網和上線(有時候我喜歡拿SD-WAN比作網絡領域的“微信”) 。

    但這背後要求SD-WAN背景網工具備更紮實的網絡基礎知識、多樣性的開源技能和邏輯分析經驗, 同時還需要具備一定的程式設計能力和腳本技能。本文提到的開源技術或網絡工具也僅僅是我們日常運維中用到的冰山一角,篇幅有限很多細節無法展開。最後談點對SD-WAN 技術未來發展的個人看法:

    1)SD-WAN通用的協定或标準規範:實作多廠商控制器和POP/CPE分層解耦和多廠商互操作能力(目前基本上是廠商各管各的裝置,這個估計短期很難實作);

    2)E2E端到端的智能探測和算法,如将機器學習和E2E的探測和算法深度結合, 将SD-WAN服務品質探測和确定性網絡技術相結合,将E2E隧道延展到雲内、SRv6流量工程,實作端到端的多域雲網協同編排和服務能力;

    3)基于機器學習的網絡算法和模型、分析工具簡化背景運維排障、風險監控和預警分析,解放SD-WAN運維網工,讓支撐更加簡單。

    IT在發展,我們一直在努力。

    繼續閱讀