SRTE(segment routing traffic-eng)在運營商和超大型網絡中應用愈來愈熱門,你們都說對比RSVP-TE,SRTE有不少優點,SRTE的專題在個人SP全棧課程中已經有詳細的講解。今天咱們再經過這篇文章來詳細討論下它們之間算法的區別。算法
先說RSVP-TE,RSVP-TE在進行路徑計算和路徑選擇的時候,能夠使用explicit-path(顯示路徑)或dynamic(動態計算),其中dynamic使用的是CSPF算法(基於約束的SPF算法),如今在SRTE的膠片中稱爲Circuit optimization (電路優化)的算法,以下圖:網絡
l 這個說法學過RSVP-TE的同窗很容易理解,這個主要是RSVP這個協議的特性,在路徑創建的時候,須要逐跳發送RSVP的PATH/RESV消息,因此稱其爲circuit-based的算法,這個實際上跟Frame-relay(幀中繼)和ATM(異步傳輸模式)的PVC(永久虛電路)很像,PVC須要手工逐跳創建。異步
l 這種算法基於約束條件(帶寬、親和屬性和TE-cost值等),這個在SRTE中稱爲優化(optimization),實際上就是由於這些約束條件,不選擇IGP計算出來的路徑。ide
l 計算出來的結果是non-ECMP的path,這個指的是單條RSVP-TE的tunnel同一時間,只能使用一條路徑,因此RSVP-TE的算法自己不支持ECMP(等價多路徑),若是要讓RSVP-TE支持ECMP功能,須要從頭端創建到達尾端的多條隧道。學習
l 另外說計算出來的路徑SID-List很大(在RSVP-TE裏面,計算出來的路徑稱爲ERO(顯示路由)),這個主要緣由是RSVP這個協議是逐跳的優化
好,咱們下面來看看SRTE的算法,SRTE在選擇路徑的時候,也是可使用explicit-path和dynamic計算(固然還有集中式計算PCE等),它用的算法稱爲SR optimization(中文常常聽到稱爲SR原生的優化算法),如下圖:ui
l 它的特色是No more circuit!意思是不須要像RSVP-TE同樣逐跳創建隧道,他的路徑是在頭端發送數據包的時候,壓入SID-LIST的標籤(數據平面攜帶路徑),因此不須要像RSVP-TE那樣須要週期性的維護狀態(因爲RSVP是soft-state的協議)。可是SRTE壓標籤的時候,可能會壓太多層標籤,因此可能須要進行分段。spa
l 算法自己支持ECMP,看上圖上,能夠看到SRTE在計算的時候,從節點1去往節點3有3條等價路徑,那麼在Candidate-Path(候選路徑)的計算中,這三條路都會被選擇(固然實際實驗時稍有誤差,但能夠出結果)。這個跟RSVP-TE不同樣,RSVP-TE要作ECMP的時候,須要作多條隧道,更麻煩一些。視頻
l 在生成路徑的時候,Small SID-List。從上圖中能夠看到,最後在頭端生成的路徑是<7,3>,壓標籤的時候,只會壓入節點7和節點3的標籤,這樣作的好處是1.支持ECMP,2.壓標籤的時候標籤儘量少,在轉發的時候能符合鏈路的MTU需求。blog
總的來講,RSVP-TE和SRTE算法的基本區別在這裏,另外SRTE有更多的約束條件,Cost值的類型能夠設置,功能要比RSVP-TE要多。SR-TE的專題課程視頻已在IE-LAB的各平臺發佈,若是對SR-TE技術有研究興趣能夠多關注咱們的學習平臺。