理解Segment Routing和SDWAN

作爲一項新技術,Segment Routing(SR)最近幾年非常火爆,它和另一個概念SDN有效結合,成就了一些非常有意思的東西,比如說SR-TE。

但其實,SR理解起來其實是SDN/SDWAN發展到一定階段自然而然的思路。

SDWAN中非常重要的一啪就是 “如何自定義一條任意節點到任意節點的路徑。”

自定義路徑可以在傳統的基於鏈路度量值的IGP選路之外更加靈活地進行最短路徑度量和選擇,爲繁複業務提供體驗更好的傳輸服務。

實現自定義路徑不外乎下面的方式:

  • 隧道方式。
  • 鬆散源路由方式(loose source route)。
  • 嚴格源路由方式(strict source route)。
  • 級聯正向代理的方式。
  • 傳統NAT的方式。

日光之下,並無新事。對於overlay方式的SDWAN,其自定義路徑實際上就是一種鬆散源路由。

但本文以隧道方式爲例開始扯。

想想看,在傳統的IP網絡中,如何構建一條隧道:
在這裏插入圖片描述

很簡單的操作,只需要在隧道兩端的設備上 進行一些配置 即可,這也是當年很多網工們的日常工作。至於說隧道承載的數據包實際如何到達對端,那就交給IGP吧。

IGP是內部路由協議的統稱,比如OSPF,IS-IS都是,它是分佈式協議,所有路由器通過交換信息一起來計算最優路徑。

現在,進入到SDWAN隧道場景,我需要在傳統IP網絡上overlay一個由隧道組成的網絡,這意味着多條隧道要首尾相接,形成一個互聯結構:
在這裏插入圖片描述如果仍然按照傳統的方式去配置隧道,網工和運維們是不是要跪了。傳統IP網絡的隧道的目的不是爲了構建這種 大範圍互聯互通的overlay網絡 的。

我在若干年前還真的這麼構建過一個互聯互通的overlay隧道網絡,馬上就要上集中控制器的時候,我離職了…當時的SDN理念是自發形成的,所以這不是什麼高大上的東西,只要你身臨其境並飽受了運維之苦,你也能想得到。

既然不想人肉部署,那麼交給機器來做就是顯而易見的事了,這就是SDN的思想。

新拉出一臺機器,作爲控制器,收集全網拓撲信息,只需要在這一臺控制器上進行配置編排,隨後將這些配置自動下發到各個節點路由器即可:
在這裏插入圖片描述

從體力活兒中解脫了,但還是很亂。

IGP的最優路徑計算往往基於一些基礎性的指標,比如物理距離,裸RTT,線路配置帶寬等,但是overlay網絡的最短路徑計算就靈活多了,這就意味着它會相對頻繁地重收斂。

如果路徑頻繁重收斂,上圖中的機制就會產生更多的控制流量,即南向流量,隧道頻繁拆建,會極大影響網絡的同步。

換一個思路, 讓數據包自帶路徑信息即可。 這樣,僅僅需要底層標準的IP路由就能完成數據包在overlay網絡上的運輸。這就是SR的思路:
在這裏插入圖片描述
控制器只把路徑信息下發到邊緣設備,這些途徑的路徑類似一個鬆散源路由,以stack形式堆積起來,然後按照標準的IP路由逐跳轉發就可以了,簡單點說:

  1. pkt到達A,匹配到stream1,堆上標籤棧B-C,A按照IGP查詢到達B的下一跳,結果爲A_n,發送給 A_n。
  2. pkt到達A_n,A_n看到標籤頂部的B,查詢IGP,直連B,pop掉B標籤,發送給B。
  3. pkt到達B,B看到標籤頂部的C,查詢IGP找到達C的下一跳,結果爲B_n,發送給 B_n。

你會看到,這一切完全只需要IGP查找即可,就和標準IP路由一樣,但是顯然就像源路由一樣限定了數據包的經由路徑。

也許你會說,這也不簡單啊,至少需要對設備進行改造以支持標籤轉發吧。

具體到實現,確實是五花八門,但都是一勞永逸的事情,此外,不改造設備,我用標準的NAT配合源路由技術也實現了這些邏輯:
在這裏插入圖片描述嗯,這其實也是源路由的一種實現方式。

但不要用源路由選項實現自定義路徑,因爲很多運營商路由器會嚴防這種行爲,故而丟棄帶有源路由選項的數據包!

對運營商而言,這是合理,你要無條件走它幫你規劃好的路徑。

事實上,運營商可能已經想到一些互聯網公司護或者民間手藝人的過境流量裏會藏着各種奇技淫巧以構建一些灰色的東西,所以禁止一些非必要的選項也是可以理解的。

至此爲止,我沒有提到MPLS,其實我是故意的。SR的思路是可以自發產生的,所以不必強行把SR和MPLS關聯起來,當然,SR可以直接借用MPLS的實現。

在我看來,MPLS是一個陳舊的技術,在很多年以前,不得不設計一些複雜的技術去粘合IP,ATM等多種多樣的網絡傳輸協議,而如今,基本上就是IP協議,依託IP協議玩各種overlay,簡單爲王!

如果把SR和overlay網絡結合起來,SR的節點都是overlay網絡的節點,那麼總體來講:

  • SR不規定數據包的underlay逐跳路徑。
  • SR規定了數據包的一條overlay的逐跳路徑。
  • SR允許在underlay做ECMP。

在這裏插入圖片描述


如果單看SR技術本身,它確實沒啥新奇的,但是和SDN技術結合,就可以實現非常簡潔明瞭的自定義選路,這就成了SDWAN。

方便部署,快速迭代是SDWAN的特點,所以它註定不能使用傳統WAN中的那種複雜的分佈式協議,比如MPLS-LDP,IS-IS等,那些複雜的技術非常不適合S(oftware/elf)D(efine),充其量可以歸到WAN優化的範疇。

傳統的Underlay WAN依然由傳統的運營商和傳統設備商把持着,畢竟他們人多,有錢,可以充分地互動拉通。然而對於新生的SDWAN,則可以讓更多的民間手藝人多分一杯羹。

無論是在既有的傳統運營商WAN上做overlay,還是自建機房白牌自研設備互聯,均屬於SDWAN,無非是SDWAN的兩大陣營,但它們均面臨幾乎相同的問題:

  • 民間手藝人陣營:沒有足夠的資金購買設備和帶寬資源,沒有足夠的人力研發和運營。
  • 大型互聯網公司陣營:業務爲中心,沒有足夠的動機將資金和人力鋪在底層基礎設施上。

因此,SDWAN必須是簡單的,易於部署,易於運維的,SR技術符合這樣的特徵:
在這裏插入圖片描述

當然了,SDWAN並非只有SR一種技術可用,SDWAN不是SR,SR也不是SDWAN。本文既然是閒談SR,那必然要多些筆墨了。


浙江溫州皮鞋溼,下雨進水不會胖。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章