本发明涉及互联网领域,进一步涉及虚拟化路由器领域,具体涉及一种基于segementrouting实现可编程虚拟路由器servicechain功能的方法。
背景技术:
虚拟化路由器组网中会存在middlexbox,如ips、防火墙等设备,用于实现入侵防护、网络安全等功能。传统网络中,需要将流量引入此类设备时,需要进行复杂的配置,如隧道、ip地址、路由等,而且不能实现网络功能随业务快速灵活变更。
sr,segementrouting是一种源路由协议,通过在报文中添加segment列表来指定路径,中间节点按报文路径转发。sr可使用多协议标签交换mpls转发面。
技术实现要素:
本发明旨在提出基于segmentrouting技术,在虚拟化路由器网络中实现servicechain功能。
为实现上述目的,本发明提供的具体技术方案如下:
sdn控制器根据虚拟化路由器组网计算segmentrouting路径,分配和下发sr路径到vr1,如图2所示。经由vr1转发的流量在报文中添加segment列表,中间节点按报文路径转发,每经过一个节点就从标签栈顶弹出一个标签。
一种基于segementrouting实现可编程虚拟路由器servicechain功能的方法,其特征在于,包括segmentid分配和计算segmentrouting转发路径lsp两部分。
所述segmentid分配具体包括如下步骤:
步骤1.1:指定分配sid集合,可编程虚拟路由器的sid从集合中分配;
步骤1.2:给可编程虚拟路由器手工分配sid,标识节点。
所述计算segmentrouting转发路径lsp包括如下步骤:
步骤2.1:获取可编程虚拟路由器组网物理拓扑;
步骤2.2:根据组网拓扑计算segmentrouting路径,通过sdn控制器下发到可编程虚拟路由器vr1,设置sr-mpls标签栈路径;
步骤2.3:vr1封装sr-mpls标签栈,数据流量需要流经防火墙、入侵检测系统,每经过一个网元去掉标签栈顶一个标签,直到标签栈为空。
所述步骤2.1还包括在可编程虚拟路由器组网中添加转发网元,具体包括如
下步骤:
步骤1:获取可编程虚拟路由器组网物理拓扑,拓扑中增加新增的middlebox,如防火墙,ips等;
步骤2:根据更新后的物理拓扑重新计算segmentrouting路径,通过sdn控制器下发到可编程虚拟路由器vr1,设置sr-mpls标签栈路径;
步骤3:vr1封装sr-mpls标签栈,数据流量需要流经防火墙、入侵检测系统,每经过一个网元去掉标签栈顶一个标签,直到标签栈为空。
当数据流量不再需要流经防火墙等middlebox处理时,sdn控制器仅需要给vr1下发新的路径,如vr1-vr2-vr3-vr4即可,网络中的其他节点不需要进行配置修改。
本发明的有益效果如下:
本发明提供的一种基于segementrouting实现可编程虚拟路由器servicechain功能的方法,使网络功能可以随业务快速灵活变更,在流量需要引入middlexbox时,不再需要进行复杂的配置。
附图说明
图1为标签栈报文格式示意图;
图2为虚拟路由器servicechain图;
图3为sdn控制器业务流程图。
图中vr1为可编程虚拟路由器。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述,但并不以此作为对
本技术:
保护范围的限定。
sr,segementrouting是一种源路由协议,通过在报文中添加segment列表来指定路径,中间节点按报文路径转发。sr可使用多协议标签交换mpls转发面,如图1所示,报文路径通过一个标签栈表示,当前活跃的标签位于栈顶。
可编程虚拟机化路由器利用segmentrouting和mpls实现servicechain功能。
如图2所示,vr1转发数据报文到vr4,数据流量需要流经防火墙、入侵检测系统时,通过sdn控制器,仅需要在vr1上下发segmentrouting路径,通过设置sr-mpls标签栈路径,从而实现虚拟路由器的servicechain功能。在数据转发过程中,每经过一个网元都会去掉标签栈顶的一个标签,直到标签栈为空。sdn控制器负责sr域内sr标签的分配和路径下发。
当数据流量不再需要流经防火墙等middlebox处理时,sdn控制器仅需要给vr1下发新的路径,如vr1-vr2-vr3-vr4即可,网络中的其他节点不需要进行配置修改。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
1.一种基于segementrouting实现可编程虚拟路由器servicechain功能的方法,其特征在于,包括segmentid分配和计算segmentrouting转发路径lsp两部分。
2.根据权利要求1所述的基于segementrouting实现可编程虚拟路由器servicechain功能的方法,其特征在于,所述segmentid分配具体包括如下步骤:
步骤1.1:指定分配sid集合,可编程虚拟路由器的sid从集合中分配;
步骤1.2:给可编程虚拟路由器手工分配sid,标识节点。
3.根据权利要求1所述的基于segementrouting实现可编程虚拟路由器servicechain功能的方法,其特征在于,所述计算segmentrouting转发路径lsp包括如下步骤:
步骤2.1:获取可编程虚拟路由器组网物理拓扑;
步骤2.2:根据组网拓扑计算segmentrouting路径,通过sdn控制器下发到可编程虚拟路由器vr1,设置sr-mpls标签栈路径;
步骤2.3:vr1封装sr-mpls标签栈,数据流量需要流经防火墙、入侵检测系统,每经过一个网元去掉标签栈顶一个标签,直到标签栈为空。
4.根据权利要求3所述的基于segementrouting实现可编程虚拟路由器servicechain功能的方法,其特征在于,所述步骤2.1还包括在可编程虚拟路由器组网中添加转发网元,具体包括如下步骤:
步骤1:获取可编程虚拟路由器组网物理拓扑,拓扑中增加新增的middlebox,如防火墙,ips等;
步骤2:根据更新后的物理拓扑重新计算segmentrouting路径,通过sdn控制器下发到可编程虚拟路由器vr1,设置sr-mpls标签栈路径;
步骤3:vr1封装sr-mpls标签栈,数据流量需要流经防火墙、入侵检测系统,每经过一个网元去掉标签栈顶一个标签,直到标签栈为空。
5.根据权利要求3所述的基于segementrouting实现可编程虚拟路由器servicechain功能的方法,其特征在于,当数据流量不再需要流经防火墙等middlebox处理时,sdn控制器仅需要给vr1下发新的路径,如vr1-vr2-vr3-vr4即可,网络中的其他节点不需要进行配置修改。