本发明涉及sr,具体为一种基于frrouting的srv6 sid统一分配管理方法。
背景技术:
1、frrouting是一个免费、开源的互联网路由协议套件,被广泛用于构建和管理数据网络。它提供了一系列的路由协议,包括 bgp、ospf、rip、is-is、pim、ldp、bfd、babel、pbr、vrrp 等路由协议,并支持 ip、ipv6 和 mpls 等不同类型的网络。
2、frrouting是一个高度灵活和可靠的路由解决方案,它具有强大的性能和扩展性。
3、现有frrouting的实现,只有bgp协议扩展支持了srv6 end.dt4、end.dt6以及end.dt46 sid的路由功能,但是bgp协议是在自己的进程里根据locator前缀通过动态自动分配以及指定index的配置方式自行分配sid,若igp协议也要支持srv6的扩展功能,在和bgp协议绑定相同srv6 locator的情况下进行分配end和end.x sid的话,容易造成igp协议分配的sid和bgp协议分配的sid产生冲突的情况,同时通过静态分配指定的srv6 sid,在srv6 locator相同的情况下,也可能会和bgp协议分配的sid产生冲突。
技术实现思路
1、本发明通过建立一个公共分配和管理srv6 sid的机制,避免igp协议、bgp协议自行分配的sid和静态分配指定的sid之间产生冲突。
2、本发明提出一种基于frrouting的srv6 sid统一分配管理方法,采取的技术方案为:
3、一种基于frrouting的srv6 sid统一分配管理方法,所述分配管理方法,包括以下步骤:
4、as1.在frrouting的zebra模块中建立公共的sid pool,在netlink消息交互类型中新增增加sid消息交互类型和删除sid消息交互类型,frrouting包括cli命令接口;
5、as2.各路由协议根据自身协议进程需求通过静态分配或动态分配的方式向zebra模块发送静态sid申请消息或动态sid申请消息申请分配静态sid或动态sid,并将成功分配的静态sid或动态sid的sid存储至sid pool中,sid包括locator信息;
6、as3.基于as2的基础上,根据各路由协议进程需求或者zebra进程需求对静态sid或动态sid进行删除,完成sid的删除释放。
7、对本发明技术方案的进一步优选,路由协议通过增加sid消息交互类型向zebra模块发送动态sid申请消息,zebra模块通过增加sid消息交互类型将动态分配的动态sid发送给路由协议。
8、对本发明技术方案的进一步优选,路由协议通过cli命令接口向zebra模块发送静态sid申请消息,静态sid申请消息包括申请的静态sid。
9、对本发明技术方案的进一步优选,步骤as2中各路由协议根据自身协议进程需求通过静态分配或动态分配的方式向zebra模块发送静态sid申请消息或动态sid申请消息申请分配静态sid或动态sid,并将成功分配的sid存储至sid pool中,包括以下三种情况:
10、各路由协议都申请静态sid,各路由协议通过cli命令接口发送多个静态sid申请消息到zebra模块,按照发送静态sid申请消息的时间顺序,一一与sid pool中的sid进行比较,若进行比较的静态sid在sid pool中不存在一样的sid,则申请成功,将静态sid存储至sid pool中,同时静态分配的静态sid通过cli命令接口返回申请成功的消息,若进行比较的静态sid在sid pool中存在一样的sid,则申请不成功,zebra模块通过cli命令接口向申请此静态sid的路由协议发送错误提示;
11、各路由协议都申请动态sid,各路由协议通过增加sid消息交互类型向zebra模块发送的多个动态sid申请消息,zebra模块接收到多个动态sid申请消息,自动生成动态sid,按照发送动态sid申请消息的时间顺序,一一与sid pool中的sid进行比较,若进行比较的动态sid在sid pool中不存在一样的sid,则申请成功,将动态sid存储至sid pool中,动态分配的动态sid通过增加sid消息交互类型返回成功动态分配的动态sid,若进行比较的动态sid在sid pool中存在一样的sid,则申请不成功,zebra模块重新进行计算生成另一个动态sid再次按照时间顺序进行比较,直至申请成功;
12、各路由协议申请静态sid和动态sid,分别通过cli命令接口和增加sid消息交互类型发送对应的申请消息,zebra模块接收到动态sid申请消息和静态sid申请消息,zebra模块接收到动态sid申请消息时自动生成动态sid,并按照接收到静态sid申请消息和动态sid申请消息的时间顺序一一与sid pool中的sid信息进行比较,
13、若进行比较的动态sid或静态sid在sid pool中不存在一样的sid,则申请成功,静态分配成功的静态sid通过cli命令接口返回申请成功的消息,动态分配成功的动态sid通过增加sid消息交互类型返回成功动态分配的动态sid,并将分配成功的sid储存至sidpool中,
14、若进行比较的动态sid或静态sid在sid pool中存在一样的sid,若动态sid存在,则申请不成功,zebra模块重新进行计算生成另一个动态sid,再次按照时间顺序进行比较,直至申请成功;若静态sid存在,则zebra模块通过cli命令接口向申请此静态sid的路由协议发送错误提示。
15、对本发明技术方案的进一步优选,路由协议和zebra模块通过删除sid消息交互类型向对方发送动态sid的删除消息。
16、对本发明技术方案的进一步优选,路由协议还通过cli命令接口向zebra模块发送静态sid的删除消息。
17、对本发明技术方案的进一步优选,步骤as3中根据各路由协议进程需求或者zebra进程需求对静态sid或动态sid进行删除,包括根据各路由协议进程需求对动态sid和静态sid进行删除和根据zebra进程需求对动态sid进行删除两种情况,具体如下:
18、根据各路由协议进程需求对动态sid和静态sid进行删除,具体步骤如下:
19、bs1.各路由协议根据自身协议进程需求删除自身协议进程中的动态sid或静态sid,同时向zebra模块发送sid删除消息,sid删除消息包括需要删除的sid;
20、bs2.zebra模块将接收到的sid删除消息中的sid与sid pool中的sid进行查找、对比,然后进行删除,完成sid的删除、释放;
21、根据zebra进程需求对动态sid进行删除,具体步骤如下:
22、cs1.zebra模块根据zebra进程需求删除locator信息时,将对应sid pool中包含此locator信息的sid全部清除,并通过删除sid消息交互类型发送locator删除消息到路由协议中,locator删除消息包括locator信息;
23、cs2.各路由协议接收到locator删除消息,将各路由协议进程中包含该locator信息的动态sid全部清除。
24、一种电子设备,包括处理器和存储器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行计算机程序时执行以上方法的步骤。
25、本发明与现有技术相比,其有益效果是:
26、1、本发明将zebra作为公共管理的模块进行动态和静态分配,避免动态分配的动态sid和静态分配的静态sid出现重复的情况,同时在frrouting架构中路由协议进程所需的sid信息都是存放在zebra模块中,便于获取到sid的locator的具体信息。
27、2、本发明在zebra模块中建立sid pool用于将申请分配的动态sid、静态和sidpool中已有的sid进行比对,保证成功分配的路由协议中的静态sid和动态sid不会产生冲突。
1.一种基于frrouting的srv6 sid统一分配管理方法,其特征在于:所述分配管理方法,包括以下步骤:
2.根据权利要求1所述的一种基于frrouting的srv6 sid统一分配管理方法,其特征在于:路由协议通过增加sid消息交互类型向zebra模块发送动态sid申请消息,zebra模块通过增加sid消息交互类型将动态分配的动态sid发送给路由协议。
3.根据权利要求1所述的一种基于frrouting的srv6 sid统一分配管理方法,其特征在于:路由协议通过cli命令接口向zebra模块发送静态sid申请消息,静态sid申请消息包括申请的静态sid。
4.根据权利要求3所述的一种基于frrouting的srv6 sid统一分配管理方法,其特征在于:步骤as2中各路由协议根据自身协议进程需求通过静态分配或动态分配的方式向zebra模块发送静态sid申请消息或动态sid申请消息申请分配静态sid或动态sid,并将成功分配的sid存储至sid pool中,包括以下三种情况:
5.根据权利要求1所述的一种基于frrouting的srv6 sid统一分配管理方法,其特征在于:路由协议和zebra模块通过删除sid消息交互类型向对方发送动态sid的删除消息。
6.根据权利要求1所述的一种基于frrouting的srv6 sid统一分配管理方法,其特征在于:路由协议还通过cli命令接口向zebra模块发送静态sid的删除消息。
7.根据权利要求1所述的一种基于frrouting的srv6 sid统一分配管理方法,其特征在于:步骤as3中根据各路由协议进程需求或者zebra进程需求对静态sid或动态sid进行删除,包括根据各路由协议进程需求对动态sid和静态sid进行删除和根据zebra进程需求对动态sid进行删除两种情况,具体如下:
8.一种电子设备,包括处理器和存储器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于:所述处理器运行计算机程序时执行权利要求1-7任一项所述方法的步骤。
