一種基于混合組網轉發SRv6報文的裝置的制作方法
path sid轉發表srv6報文,獲取下一跳路徑;在中間節點對srv6 path sid進行編程的情況下,編程的srv6 path function和srv6 path arguments字段發生變化導致srv6 path sid值發生變化,提取srv6 path id來查詢srv6 path sid轉發表srv6報文,獲取下一跳路徑,并交由混合棧處理模塊處理。
12.與現有技術相比,本發明具有如下有益效果:本發明基于混合組網轉發srv6報文的裝置能夠實現支持srv6 path sid特性的裝置和不支持該特性的裝置的混合組網場景下進行正確的數據轉發,同時,支持使用當前srv6技術的網絡向基于srv6 path sid技術的網絡平滑演進。從上述組網環境可以看出,當使用srv6 path sid特性的裝置連續出現時,可以使用srv6 path sid替代段節點列表中這些設備的sid,為支持現有srv6技術正常轉發,需要在段節點列表中體現與現有srv6技術裝置下游邊界裝置的sid,即當srv6 path sid特性的裝置連續出現大于2個就可以減少srh頭部中段節點列表數量,且當srv6 path sid特性的裝置連續出現的越多,srh頭部中段節點列表數量減少也越多。
附圖說明
13.圖1為本發明基于srv6 path sid混合組網轉發srv6報文的裝置示意圖;
14.圖2為本發明中srv6 path sid混合路徑示意圖;
15.圖3為本發明中srv6 path sid混合路徑srh頭部示意圖;
16.圖4為實施例中srv6 path sid混合組網拓撲示意圖。
具體實施方式
17.下面結合附圖和實施例對本發明的技術方案作進一步地解釋說明。
18.如圖1為本發明基于srv6 path sid混合組網轉發srv6報文的裝置示意圖,該裝置包括:混合路徑模塊、混合棧處理模塊、srv6 path sid提取模塊和srv6 path sid查詢模塊,srv6 path sid提取模塊與srv6 path sid查詢模塊連接,srv6 path sid查詢模塊與混合路徑模塊連接,混合路徑模塊與混合棧處理模塊連接,混合棧處理模塊與srv6 path sid查詢模塊連接。在混合組網的首節點中,混合路徑模塊將段節點列表和srv6 path sid的狀態表進行混合處理,形成攜帶srv6 path sid的混合路徑,然后在按需經過混合棧處理模塊處理完srv6頭部后進行數據轉發;在混合組網中間支持srv6 path sid的節點,使用srv6 path sid提取模塊從報文中的srv6頭部提取srv6 path sid的值或者path id值,然后使用srv6 path sid查詢模塊在本地查詢得到下一跳的轉發接口,然后在按需經過混合棧處理模塊處理完srv6頭部后進行數據轉發。通過本發明混合組網轉發srv6報文的裝置能夠實現支持srv6 path sid特性的裝置和不支持該特性的裝置的混合組網場景下進行正確的數據轉發,同時,支持使用當前srv6技術的網絡向基于srv6 path sid技術的網絡平滑演進。
19.如圖2,本發明中混合路徑模塊通過bgp-ls學習到混合組網中裝置的段節點列表中節點對srv6 path sid特性支持的情況,在生成srh頭部中的列表時,使用一個srv6 path sid代替段節點列表中連續支持srv6 path sid特性的節點集合,只保留一個緊鄰不支持srv6path sid特性的裝置的下游節點用于確保不支持srv6 path sid的裝置能按現有srv6技術正常轉發報文,即在確保正常轉發的情況下,在srh頭部攜帶一個srv6 path sid,替代支持srv6 path sid特性的節點集合的多個srv6 sid,以減小srh頭部,因此,在混合組網中
至少存在兩個連續的支持srv6 path sid的裝置。如2圖中的示例,srv6 path sid替代了sid1、sid2和sid6,實現srh頭部減少2個ipv6地址長度。
20.當前srh頭部的sid segment list堆棧在segment left中表述為0到n-1,在混合組網中為了防止不支持srv6 path sid的裝置處理srv6 path sid,導致轉發失效的情況,約定將srv6 path sid置于第n棧,在當前的srv6轉發中不會指向此棧,不會被讀取處理。在支持srv6 path sid的設備優先讀取第n棧進行處理。本發明中混合棧處理模塊用于修改srh頭部的srv6path sid轉發標志位、segments left、以及將混合路徑壓入段節點列表字段,并將混合路徑中的srv6 path sid放入棧底,即第n棧。如圖3所示,為首節點混合棧處理將處理的ipv6頭部和srh頭部的字段,ipv6報文頭部將段節點列表中首個節點sid3放入ipv6頭部的目的地址字段destination address,srh頭部處理的段節點列表棧位置segment left填入sid3所在位置,棧長度last entry設置為包含了srv6 path sid的長度4,標志位flag置位pf的標志位表示報文允許使用srv6 path sid技術轉發,段節點清單segment list填入混合路徑的所有節點。優先處理放入棧底的srv6 path sid,若支持srv6 path sid的裝置出現在段節點列表中,處理報文時將segments left的字段值減1。
21.本發明中設計了srv6 path sid轉發標志位用于srv6 path sid提取模塊識別報文是否支持使用srv6 path sid技術,如果置位flag,srv6提取模塊將從srh頭部段節點列表棧底提取srv6 path sid值,可以在進一步根據本地配置的srv6 path sid格式提取srv6 path locator、srv6 path id,srv6 path function和srv6 path arguments,用于對應的編程轉發功能。
22.本發明中為了在每個支持srv6 path sid技術轉發裝置能實現使用srv6 path sid轉發數據,需要在本地存儲每條路徑相對應的轉發節點和對應的下一跳出口,本發明設計了srv6 path sid查詢模塊來提取報文中的srv6 path sid值或者path id值,查詢本地存儲的路徑轉發數據表匹配的下一跳路徑。當srv6 path sid查詢模塊在中間節點不對srv6 path sid進行編程的情況下,srv6 path sid在整個轉發過程中不變化,直接提取srv6 path sid查詢srv6 path sid轉發表srv6報文,獲取下一跳路徑;在中間節點對srv6 path sid進行編程的情況下,編程的srv6 path function和srv6 path arguments字段發生變化導致srv6 path sid值發生變化,提取srv6 path id來查詢srv6 path sid轉發表srv6報文,獲取下一跳轉發接口,并交由混合棧處理模塊處理。
23.實施例
24.如圖4,本實施例混合組網中由裝置1-6依次連接組成,且裝置1-2、裝置5-6支持srv6 path sid,裝置3-4不支持srv6 path sid,將使用基于支持混合組網轉發srv6報文特性的裝置作為路由反射器,與裝置1-2、裝置5-6建立bgp-ls和bgp-sr policy的對等體。bgp-ls用于傳遞srv6 path locator和srv6 path sid特性激活狀態,裝置1、2、5、6在混合組網中均建立一張完整的srv6 path sid的狀態表,如表1,通過這張狀態表掌握混合組網中可以處理srv6 path sid的節點,這張狀態表支持混合路徑模塊生成攜帶srv6 path sid的段節點列表。
25.表1:srv6 path sid狀態表
26.nodesrv6 path locatorsrv6 path enable裝置1path locator1y
裝置2path locator2y裝置5
??
y裝置6path locator2y
27.bgp-sr policy用于在支持srv6 path sid特性的裝置間傳遞頭節點配置的srv6 te tunnel的路徑策略,路徑中包含的節點會保存對應的路徑信息和srv6 path sid信息生成對應的srv6 path sid轉發信息表,如表2所示。節點收到報文后根據srv6 path sid查詢srv6 path轉發信息表,確認下一跳和轉發的出接口,進行srv6報文的轉發處理。
28.表2:srv6 path sid轉發信息表
29.srv6 path sidpath idnext hopsegment leftout interfacestatussrv6 path sid1srv6 path id1ipv6 address1xx active/inactive
30.在混合組網中裝置1上配置了srv6 segment list和對應的srv6 path sid后,混合路徑模塊將實施方式中描述的操作把srv6 path sid插入srv6 segment list底部,同時結合srv6 path sid狀態表信息將srv6 segment list中的支持srv6 path sid的裝置1刪除,保留不支持srv6 path sid裝置下游鄰接支持srv6 path sid裝置,形成混合的segment list。業務流量在接入srv6 te tunnel后,混合棧處理模塊將為業務報文加入srv6的頭部,包括:ipv6頭部和srh頭部。將段節點列表中首個節點sid3放入ipv6頭部的目的地址字段destination address,srh頭部處理的段節點列表棧位置segment left填入sid3所在位置,棧長度last entry設置為包含了srv6 path sid的長度4,標志位flag置位pf的標志位表示報文允許使用srv6 path sid技術轉發,段節點清單segment list填入混合路徑的所有節點,混合棧處理模塊處理完成后進行srv6報文轉發。
31.裝置2接收到srv6報文后,srv6 path sid提取模塊識別srv6頭部flag字段pf置位進入srv6 path sid提取流程,讀取segment list[last entry]提取了srv6 path sid;提取的srv6 path sid值傳給srv6 path sid查詢模塊查srv6 path sid信息轉發表,確定下一跳sid為sid3和出接口;查詢結果傳給混合棧處理模塊,修改ipv6目的地址為下一跳裝置sid3,因為裝置2的sid不在segment list,因下一跳裝置3不支持srv6 path sid,刪除flag字段的pf置位,因其不在segment list不需要修改segment left字段。處理完頭部后轉發給裝置3。
[0032]
裝置3接收到srv6報文后,按照當前srv6處理流程,按照segment left=2提取到sid3,與ipv6的目的對比正確,將segment left-1=1提取到sid4,將ipv6頭部的目的地址修改為sid4,segment left修改為2,完成修改后轉發給裝置4。
[0033]
裝置4接收到srv6報文后,按照當前srv6處理流程,按照segment left=1提取到sid4,與ipv6的目的對比正確,將segment left-1=0提取到sid5,將ipv6頭部的目的地址修改為sid5,segment left修改為0,完成修改后轉發給裝置5。
[0034]
裝置5收到報文后,因為本地已經激活了srv6 path sid特性,提取segment left[entry]提取到棧底的srv6 path sid。本地查詢到下一跳是sid6,同時支持srv6 path sid特性,轉發時將ipv6頭部的目的地址改為sid6,srh頭部的flag置位為fp,因為其在segment list字段中segment left值減去1,然后轉發給裝置6。
[0035]
裝置6接收到報文后,srv6 path sid提取模塊識別srv6頭部flag字段pf置位進入srv6 path sid提取流程,讀取segment list[last entry]提取了srv6 path sid;提取的
srv6 path sid值傳給srv6 path sid查詢模塊查srv6 path sid信息轉發表,查詢到裝置6是最后一跳,彈出srv6頭部,至此,完成對srv6報文的轉發。
[0036]
本發明基于混合組網轉發srv6報文的裝置通過使用srv6 path sid技術兼容現有srv6網絡,能夠實現轉發srv6報文。
[0037]
以上僅是本發明的優選實施方式,本發明的保護范圍并不僅局限于上述實施例,凡屬于本發明思路下的技術方案均屬于本發明的保護范圍。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理前提下的若干改進和潤飾,應視為本發明的保護范圍。
技術特征:
1.一種基于混合組網轉發srv6報文的裝置,其特征在于,包括:混合路徑模塊、混合棧處理模塊、srv6 path sid提取模塊和srv6 path sid查詢模塊,所述srv6 path sid提取模塊與srv6 path sid查詢模塊連接,所述srv6 path sid查詢模塊與混合路徑模塊連接,所述混合路徑模塊與混合棧處理模塊連接,所述混合棧處理模塊與srv6 path sid查詢模塊連接。2.根據權利要求1所述的一種基于混合組網轉發srv6報文的裝置,其特征在于,所述混合路徑模塊通過bgp-ls學習到混合組網中裝置的段節點列表中節點對srv6 path sid特性支持的情況,使用一個srv6 path sid代替段節點列表中連續支持srv6 path sid特性的節點集合。3.根據權利要求2所述的一種基混合組網轉發srv6報文的裝置,其特征在于,在混合組網中裝置配置段節點列表和srv6 path sid,并使用基于支持混合組網轉發srv6報文特性的裝置作為路由反射器,將支持srv6 path sid的裝置與路由反射器之間建立bgp-ls和bgp-sr policy的對等體。4.根據權利要求3所述的一種基于混合組網轉發srv6報文的裝置,其特征在于,所述混合組網中至少存在兩個連續的支持srv6 path sid的裝置。5.根據權利要求1所述的一種基于混合組網轉發srv6報文的裝置,其特征在于,所述混合棧處理模塊用于修改srh頭部的srv6 path sid轉發標志位、segments left、以及將混合路徑壓入段節點列表字段,并將混合路徑中的srv6 path sid放入棧底。6.根據權利要求5所述的一種基于混合組網轉發srv6報文的裝置,其特征在于,優先處理放入棧底的srv6 path sid,若支持srv6 path sid的裝置出現在段節點列表中,處理報文時將segments left的字段值減1。7.根據權利要求1所述的一種基于混合組網轉發srv6報文的裝置,其特征在于,所述srv6 path sid提取模塊用于識別出報文的srv6 path sid轉發標志位,從段節點列表棧底提取srv6 path sid值、srv6 path locator、srv6 path id,srv6 path function和srv6 path arguments。8.根據權利要求1所述的一種基于混合組網轉發srv6報文的裝置,其特征在于,所述srv6 path sid查詢模塊在中間節點不對srv6 path sid進行編程的情況下,srv6 path sid在整個轉發過程中不變化,直接提取srv6 path sid查詢srv6 path sid轉發表srv6報文,獲取下一跳路徑;在中間節點對srv6 path sid進行編程的情況下,編程的srv6 path function和srv6 path arguments字段發生變化導致srv6 path sid值發生變化,提取srv6 path id來查詢srv6 path sid轉發表srv6報文,獲取下一跳路徑,并交由混合棧處理模塊處理。
技術總結
本發明公開了一種基于混合組網轉發SRv6報文的裝置,包括:混合路徑模塊、混合棧處理模塊、SRv6 Path SID提取模塊和SRv6 Path SID查詢模塊,所述SRv6 Path SID提取模塊與SRv6 Path SID查詢模塊連接,所述SRv6 Path SID查詢模塊與混合路徑模塊連接,所述混合路徑模塊與混合棧處理模塊連接。本發明基于混合組網轉發SRv6報文的裝置能夠實現支持SRv6 Path SID特性的裝置和不支持該特性的裝置的混合組網場景下進行正確的數據轉發,同時,支持使用當前SRv6技術的網絡向基于SRv6 Path SID技術的網絡平滑演進。網絡平滑演進。網絡平滑演進。
