本发明涉及通信领域,特别是涉及一种分段路由模型的转发方法和装置。
背景技术:
1、基于ipv6转发平面的段路由(segment routing over ipv6,简写为srv6)的可编程能力得到越来越多的认可,运营商客户也在积极主动布局srv6,并已开始逐步升级现网设备部署srv6业务。分层虚拟专用网(hierarchy of virtual private network,简写为:hovpn/hovpn/h-vpn)作为运营商客户典型的业务部署模型,其在升级srv6后,业务转发性能的影响性评估显得尤为重要。
2、当前的hovpn srv6转发模型中,当接入上行流量从接入设备到汇聚节点后,转发芯片会根据ipv6报文头的目的地址匹配本地sid(全称为segment identifier)表项(localsid),此时会匹配上本地的end dt4 sid字段,相应的转发动作为:去除分段路由头(segment routing header,简写为srh),解封装ipv6报文头。再根据解封后的ipv6内部报文头查找路由,再封装新的srh+ipv6报文头,最后根据新的ipv6目的地址信息查找路由转发出去。整个过程中需要对ipv6报文头+srh作两次大的操作,而ipv6报文头+srh在工程部署实际应用中是较为庞大的,两次路由查找和两次srh操作对于转发芯片是极大的负担,十分影响转发效率。
3、鉴于此,如何克服现有技术所存在的缺陷,解决现有技术中在转发时需要对srh进行解封和封装两次操作造成的转发效率降低现象,是本技术领域待解决的问题。
技术实现思路
1、针对现有技术的以上缺陷或改进需求,本发明解决了在转发时需要对srh进行解封和封装两次操作造成的转发效率降低的问题。
2、本发明实施例采用如下技术方案:
3、第一方面,本发明提供了一种分段路由模型的转发方法,具体为:下游设备向转发设备发布第一sid信息,转发设备向上游设备发布第二sid信息,转发设备建立第一sid信息和第二sid信息的关联;其中,第一sid信息为下游设备上相应虚拟路由转发实例的私网vpnsid,第二sid信息为转发设备上相应虚拟路由转发实例的私网vpn sid;当转发设备接收到下行报文时,获取下行报文中的第二sid信息,根据第一sid信息与第二sid信息的关联获取第一sid信息,使用获取到的第一sid信息更新下行报文的分段路由头,基于更新后的分段路由头将下行报文转发至下游设备;当转发设备接收到上行报文时,获取上行报文中的第一sid信息,根据第一sid信息与第二sid信息的关联获取第二sid信息,使用获取到的第二sid信息更新上行报文的分段路由头,基于更新后的分段路由头将上行报文转发至上游设备。
4、优选的,所述下游设备向转发设备发布第一sid信息,具体包括:转发设备建立与下游设备的边界网关协议邻居关系,下游设备向转发设备发送第一信息发布报文,第一信息发布报文中包含下游设备所在的虚拟专用网的私网路由和相应的第一sid信息。
5、优选的,所述转发设备向上游设备发布第二sid信息,具体包括:转发设备建立与上游设备的边界网关协议邻居关系,转发设备向上游设备发送第二信息发布报文,第二信息发布报文中包含下游设备所在的虚拟专用网的私网路由和相应的第二sid信息。
6、优选的,所述转发设备建立第一sid信息和第二sid信息的关联,具体包括:转发设备的控制平面新建下一跳sid表项,其中,下一跳sid表项中包含第一sid信息;将本地sid表项和下一跳sid表项通过控制平面进行关联,其中,本地sid表项中包含第二sid信息。
7、优选的,所述将本地sid表项和下一跳sid表项通过控制平面进行关联,还包括:在控制平面中,将一个本地sid表项和多个下一跳sid表项关联,其中,每个下一跳sid表项中包含一个不同下游设备的第一sid信息,以支持链路保护场景。
8、优选的,所述使用获取到的第一sid信息更新下行报文的分段路由头,具体包括:转发设备建立包含第一sid信息的分段表项,将建立的分段表项插入分段路由头中分段列表的最后一跳位置,将分段列表的最后一跳位置的分段表项拷贝至报文的ipv6头的da字段中。
9、优选的,所述基于更新后的分段路由头将下行报文转发至下游设备,具体包括:以更新后的ipv6头的da字段为下行报文的目的地址,将下行报文转发至下游设备。
10、优选的,所述根据第一sid信息与第二sid信息的关联获取第一sid信息之前,还包括:获取下行报文中ipv6头的da字段的值,以报文da字段的值作为第二sid信息,将第二sid信息的值与本地sid表项匹配;当第二sid信息的值匹配到本地sid表项时,根据匹配的本地sid表项获取第一sid信息;当第二sid信息的值未匹配到本地sid表项时,使用da字段的值匹配本地路由表项进行报文转发。
11、优选的,所述使用获取到的第一sid信息更新下行报文的分段路由头之前,还包括:获取本地sid表项中的功能类型字段;当功能类型字段为第一指定值时,使用获取到的第一sid信息更新下行报文的分段路由头,并基于更新后的分段路由头进行后续转发;当功能类型字段为第二指定值时,解封分段路由头信息和ipv6头信息,根据da信息锁定虚拟路由转发实例,重新封装分段路由头信息和ipv6头信息,并基于重新封装分段路由头信息和ipv6头信息进行后续转发。
12、另一方面,本发明提供了一种分段路由模型的转发装置,具体为:包括至少一个处理器和存储器,至少一个处理器和存储器之间通过数据总线连接,存储器存储能被至少一个处理器执行的指令,指令在被处理器执行后,用于完成第一方面中的分段路由模型的转发方法。
13、与现有技术相比,本发明的有益效果在于:在控制平面引入新下一跳sid信息承载下游设备的sid信息,在转发设备上建立下游设备的sid信息与本地sid信息的关联关系,使得转发设备无需对srh进行解封和重新封装,可以直接进行查表转发,简化了转发芯片需要多次报文操作的流程,提升了转发性能,在转发芯片进行流水线作业时减轻设备负担。
14、进一步的,还可以通过关联多个下游设备的sid信息支持链路保护的场景,并在本地sid表项中定义全新的功能类型及其相应的附件功能,从而便于与现有转发方式兼容。
1.一种分段路由模型的转发方法,其特征在于,具体包括:
2.根据权利要求1所述的分段路由模型的转发方法,其特征在于,所述下游设备向转发设备发布第一sid信息,具体包括:
3.根据权利要求1所述的分段路由模型的转发方法,其特征在于,所述转发设备向上游设备发布第二sid信息,具体包括:
4.根据权利要求1所述的分段路由模型的转发方法,其特征在于,所述转发设备建立第一sid信息和第二sid信息的关联,具体包括:
5.根据权利要求4所述的分段路由模型的转发方法,其特征在于,所述将本地sid表项和下一跳sid表项通过控制平面进行关联,还包括:
6.根据权利要求1所述的分段路由模型的转发方法,其特征在于,所述使用获取到的第一sid信息更新下行报文的分段路由头,具体包括:
7.根据权利要求6所述的分段路由模型的转发方法,其特征在于,所述基于更新后的分段路由头将下行报文转发至下游设备,具体包括:
8.根据权利要求1所述的分段路由模型的转发方法,其特征在于,所述根据第一sid信息与第二sid信息的关联获取第一sid信息之前,还包括:
9.根据权利要求1所述的分段路由模型的转发方法,其特征在于,所述使用获取到的第一sid信息更新下行报文的分段路由头之前,还包括:
10.一种分段路由模型的转发装置,其特征在于:
