一种基于混合组网转发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技术的网络平滑演进。网络平滑演进。网络平滑演进。