本公开涉及计算机通信,尤其涉及一种路由表维护方法、路径选择方法、设备、系统及存储介质。
背景技术:
1、相关技术中,可编程网关上联多台物理交换机采用ecmp方式构建高可用集群,可编程网关与每台上联交换机间通过多条链路连接,上联的多台交换机之间通常采用堆叠方式进行端口统一管理,但是堆叠方式容易出现网络震荡问题。
技术实现思路
1、本公开提供一种路由表维护方法、路径选择方法、设备、系统及存储介质,以解决相关技术中的问题。
2、本公开的第一方面实施例提出了一种路由表维护方法,该方法包括:
3、控制设备基于第一网络设备的每个物理端口的连接信息,将与同一第二网络设备连接的至少一个物理端口创建为二级聚合组,并生成第二路由表;所述第二网络设备的数目为至少一个,所述第二网络设备指所述第一网络设备的上联网络设备;所述第二路由表存储有每个所述二级聚合组对应的三层子接口,和对应的报文目的地址的范围;
4、基于每个所述二级聚合组对应的三层子接口,将至少一个所述二级聚合组创建为至少一个一级聚合组,并生成第一路由表;所述第一路由表存储有每个一级聚合组对应的二级聚合组,以及对应的报文目的地址的范围;
5、向所述第一网络设备发送所述第一路由表和第二路由表,及用户业务的数据转发请求;所述用户业务的数据转发请求包含所述用户业务的数据转发请求中的下一跳地址。
6、在本公开的一些实施例中,所述每个二级聚合组至少包含以下信息:
7、二级聚合组的名称、二级聚合组的ip地址和mac地址,二级聚合组关联的物理端口。
8、在本公开的一些实施例中,所述基于每个所述二级聚合组对应的三层子接口,将至少一个所述二级聚合组创建为至少一个一级聚合组,包括:
9、为至少一个所述二级聚合组中的每个二级聚合组创建对应的三层子接口,并设置每个所述三层子接口的ip地址和mac地址;
10、将所述每个二级聚合组与其对应的所述三层子接口建立边界网关协议bgp邻居;
11、将至少一个所述三层子接口中的所有所述三层子接口创建为一级聚合组;
12、为所述一级聚合组创建对应的三层子接口。
13、本公开的第二方面实施例提出了一种路径选择方法,该方法包括:
14、基于所述第一路由表和第二路由表,及用户业务的数据转发请求,确定用于转发数据的第一物理端口;所述第一路由表存储有每个一级聚合组对应的二级聚合组,以及对应的报文目的地址的范围;所述第二路由表存储有每个所述二级聚合组对应的三层子接口,和对应的报文目的地址的范围;所述用户业务的数据转发请求包含所述用户业务的数据转发请求中的下一跳地址。
15、在本公开的一些实施例中,所述基于所述第一路由表和第二路由表,及用户业务的数据转发请求,确定用于转发数据的第一物理端口,包括:
16、基于所述用户业务的数据转发请求中的下一跳地址,判断所述下一跳地址指向所述第一路由表或第二路由表对应的报文目的地址的范围;
17、若所述下一跳地址指向所述第一路由表对应的报文目的地址的范围,
18、则基于所述第一路由表中存储的每个一级聚合组对应的二级聚合组,确定所述下一跳地址指向的二级聚合组;
19、从被指向的二级聚合组所关联的物理端口中确定用于转发数据的第一物理端口。
20、若所述下一跳地址指向所述第二路由表对应的报文目的地址的范围,
21、则修改所述用户业务的数据转发请求中的下一跳地址为指向第一路由表对应的报文目的地址的范围的下一跳地址;
22、从被指向的二级聚合组所关联的物理端口中确定用于转发数据的第一物理端口。
23、在本公开的一些实施例中,所述从被指向的二级聚合组所关联的物理端口中确定用于转发数据的第一物理端口,包括:
24、判断所述用于转发数据的第一物理端口中是否存在状态为不可用的物理端口;
25、若是,则从被指向的二级聚合组中删除状态为不可用的物理端口;
26、从剩余的物理端口中确定用于转发数据的第一物理端口;所述剩余的物理端口指被指向的二级聚合组中,删除状态为不可用的物理端口后,剩余的物理端口。
27、在本公开的一些实施例中,所述从被指向的二级聚合组所关联的物理端口中确定用于转发数据的第一物理端口,包括:
28、利用等价多路径算法,从被指向的二级聚合组所关联的物理端口中确定用于转发数据的第一物理端口。
29、本公开的第三方面实施例提出了一种控制设备,该控制设备包括:
30、二级聚合组及第二路由表创建单元,用于基于第一网络设备的每个物理端口的连接信息,将与同一第二网络设备连接的至少一个物理端口创建为二级聚合组,并生成第二路由表;所述第二网络设备的数目为至少一个,所述第二网络设备指所述第一网络设备的上联网络设备;所述第二路由表存储有每个所述二级聚合组对应的三层子接口,和对应的报文目的地址的范围;
31、一级聚合组及第一路由表创建单元,用于基于每个所述二级聚合组对应的三层子接口,将至少一个所述二级聚合组创建为至少一个一级聚合组,并生成第一路由表;所述第一路由表存储有每个一级聚合组对应的二级聚合组,以及对应的报文目的地址的范围;
32、发送单元,用于向所述第一网络设备发送所述第一路由表和第二路由表,及用户业务的数据转发请求;所述用户业务的数据转发请求包含所述用户业务的数据转发请求中的下一跳地址。
33、本公开的第四方面实施例提出了一种网络设备,该网络设备包括:
34、确定单元,用于基于所述第一路由表和第二路由表用户业务的数据转发请求,确定用于转发数据的第一物理端口;所述第一路由表存储有每个一级聚合组对应的二级聚合组,以及对应的报文目的地址的范围;所述第二路由表存储有每个所述二级聚合组对应的三层子接口,和对应的报文目的地址的范围;所述用户业务的数据转发请求包含所述用户业务的数据转发请求中的下一跳地址。
35、本公开的第五方面实施例提出了一种路径选择系统,该系统包括:
36、控制设备和第一网络设备;所述控制设备通过交换机抽象接口sai与所述第一网络设备连接;
37、所述控制设备,用于基于第一网络设备的每个物理端口的连接信息,将与同一第二网络设备连接的至少一个物理端口创建为二级聚合组,并生成第二路由表;所述第二网络设备的数目为至少一个,所述第二网络设备指所述第一网络设备的上联网络设备;所述第二路由表存储有每个所述二级聚合组对应的三层子接口,和对应的报文目的地址的范围;基于每个所述二级聚合组对应的三层子接口,将至少一个所述二级聚合组创建为至少一个一级聚合组,并生成第一路由表;所述第一路由表存储有每个一级聚合组对应的二级聚合组,以及对应的报文目的地址的范围;向所述第一网络设备发送所述第一路由表和第二路由表,及用户业务的数据转发请求;所述用户业务的数据转发请求包含所述用户业务的数据转发请求中的下一跳地址。
38、所述第一网络设备,用于基于所述第一路由表和第二路由表用户业务的数据转发请求,确定用于转发数据的第一物理端口。
39、本公开的第六方面实施例提出了一种电子设备,其特征在于,包括:
40、至少一个处理器;以及
41、与所述至少一个处理器通信连接的存储器;其中,
42、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开第一方面实施例或本公开第二方面实施例所述的方法。
43、本公开的第七方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行本公开第一方面实施例或本公开第二方面实施例所述的方法。
44、综上,本公开提出了一种路由表维护方法、路径选择方法、设备、系统及存储介质,所述的方法包括:控制设备基于第一网络设备的每个物理端口的连接信息,将与同一第二网络设备连接的至少一个物理端口创建为二级聚合组,并生成第二路由表;所述第二网络设备的数目为至少一个,所述第二网络设备指所述第一网络设备的上联网络设备;所述第二路由表存储有每个所述二级聚合组对应的三层子接口,和对应的报文目的地址的范围;基于每个所述二级聚合组对应的三层子接口,将至少一个所述二级聚合组创建为至少一个一级聚合组,并生成第一路由表;所述第一路由表存储有每个一级聚合组对应的二级聚合组,以及对应的报文目的地址的范围;向所述第一网络设备发送所述第一路由表和第二路由表,及用户业务的数据转发请求;所述用户业务的数据转发请求包含所述用户业务的数据转发请求中的下一跳地址。第一网络设备基于所述第一路由表和第二路由表用户业务的数据转发请求,确定用于转发数据的第一物理端口。
45、通过本公开提供的方案,通过为至少一个所述二级聚合组中的每个二级聚合组创建对应的三层子接口,将至少一个所述三层子接口中的所有所述三层子接口创建为一级聚合组,能够将与同一第二网络设备连接的至少一个物理端口创建为二级聚合组并生成第二路由表,并通过为每个二级聚合组创建三层子接口,能够将所有二级聚合组聚合为一级聚合组并生成第一路由表,用户业务的数据转发请求中的路由配置无需关注第一网络设备的每个端口,只需与一级聚合组关联即可实现用户业务的数据转发路径的选择,与上联的多台交换机之间通常采用堆叠方式进行端口统一管理相比,网络不容易震荡,且大大降低了路由表的规模。
46、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。