SRV6基本概念:
基於IPv6轉發平面的段路由(SR+IPv6) SR技術文章中有講
采用現有的IPV6轉發技術,通過靈活的IPv6擴展頭,實現網絡可編程
SRv6報文封裝格式:
IPv6的目的地址可變
在IPv6報文中引入了SRv6擴展頭(SRH,其Routing Type=4)
其中SRH最主要的就是Segment(也就是SID)——Segment List
其中Segment List又分為三大部分(最主要的就是Function)
SRv6的Segment:
Segment List就是SR6的Segment(128bit)
Locator(位置標識):
網絡中分配給一個網絡節點的標識,可以用於路由和轉發數據包
Function(功能):
設備分配給本地轉發指令的一個ID值,該值可用於表達需要設備執行的轉發動作,相當於計算機指令的操作碼。
SRv6網絡編程中,不同的轉發行為由不同的功能ID來表達。一定程度上功能ID和MPLS標簽類似,用於標識VPN轉發實例等。
Args(變量):
轉發指令在執行的時候所需要的參數,這些參數可能包含流,服務或任何其他相關的可變信息。
路由器收到SID,先判斷Locator,如果是本機發布的,那就去處理Function指令
SRV6的三層編程空間:
SRv6具有比SR-MPLS更強大的網絡編程能力。可以更好地滿足不同的網絡路徑需求。
SRv6的網絡可編程性體現在SRH擴展頭中。
SRH中有三層編程空間:
第一部分是Segment序列(SID)
第二部分是對SRv6 SID的128比特的運用:
第三部分是是緊接着Segment序列之后的可選TLV(Type-Length-Value):
SRV6的轉發流程:
- 數據包進入到節點1(源節點),節點1給數據包增加SRH,並會指定整條路徑中SR節點的相關操作,外層再封裝標准的IPv6報頭。
- 數據包轉發到節點2,由於節點2只支持常規的IPv6而不支持SRv6,節點2收到SRv6數據包時,按照IPv6 RFC的規定,當數據包目的地址不是節點自身網段地址時,此節點不處理擴展報頭,直接根據IPv6報頭中的目的地址進行轉發;
- 節點3收到數據包時,節點3根據外層IPv6地址2001::3查找本地Local SID表,命中本地的Local SID表,執行相關指令。將SL減1操作,指針指向Segment List[1](此為活動Segment),並將Segment List[1]的地址拷貝到外層IPv6報頭中的目的地址,然后根據IPv6目的地址進行轉發;
- 節點4的處理過程和節點3一致
- 節點5收到數據報文時,識別到目的地址是本節點,同時Segment List為0。此時,節點5會剝離SRH和IPv6報頭,讀取真正的Payload,並根據SID里的相關指令完成轉發。
SRV6的優點:
1.簡化網絡協議
借助SRv6和EVPN,可以使IP承載網的協議簡化、歸一
2.促進雲網融合
SRv6具備Natice IPV6屬性,SRv6報文和普通IPv6報文具有相同的報文頭,使得SRv6緊緊依賴IPv6可達性即可實現網絡節點的互通,打破運營商網絡和數據中心之間的界限
3.兼容存量網絡
SRv6與存量IPv6網絡兼容
業務開通只需在頭尾節點進行部署,縮短部署時間,提升部署效率
頭部節點需要支持SRv6,中間節點只需要支持IPv6
4.提升跨域體驗:
SR技術的補充:
配置SRv6/SR技術時 底層IGP推薦使用IS-IS,因為ISIS 支持TE Policy擴展
SRv6部署不需要對傳統網絡全網進行改造
SR-TE部署不需要對傳統IP網絡全網進行改造
配置SR控制器算路時:
配置SRv6技術時:
邊界和端點支持SRv6,然后中間節點支持IPv6就可以