本申请涉及通信,尤其涉及一种路由处理方法及装置。
背景技术:
1、目前,spine-leaf组网架构是组成一个区域的基本组网模式,若存在多个区域,区域间可通过汇聚交换机实现互联。各区域内每个leaf为接入用户的三层网关设备,全部网关设备的网关接口的ip地址、mac地址均配置为相同值,从而构成分布式网关。
2、用户终端接入spine-leaf组网中处于区域1内的leaf1后,leaf1生成指向用户终端的用户表项(例如,arp表项或ipv6 nd表项),并将用户表项转换为指示到达用户终端的用户主机路由。通过bgp协议,leaf1向区域1内的spine1通告用户主机路由。spine1进而向本区域内的其他leaf以及汇聚交换机通告用户主机路由。汇聚交换机向区域2的spine2通告用户主机路由。spine2接收到用户主机路由后,向本区域内全部的leaf通告用户主机路由。
3、同理,区域2内用户终端的用户主机路由也将通告至区域1中,将使得每个区域内的spine、leaf上存储所有区域内用户终端的用户主机路由。
4、上述spine-leaf组网中各网络设备相互通告用户主机路由的过程将暴露出下述问题:1)路由表、转发表资源消耗问题。本区域内leaf将接收到其他区域内上线的所有用户终端的用户主机路由,将导致用户主机路由的数量超过路由表的容量,甚至超过内存能容纳的软件表项数量。现有leaf通常是中低端接入交换机,分配给转发表的硬件资源容量较小,比如,几千条。
技术实现思路
1、有鉴于此,本申请提供了一种路由处理方法及装置,用以解决现有spine-leaf组网中通告用户主机路由出现的路由表、转发表资源消耗的问题。
2、第一方面,本申请提供了一种路由处理方法,所述方法应用于第一网络设备,所述第一网络设备处于spine-leaf组网内,所述第一网络设备包括bgp协议模块以及第一路由信息库rib,所述方法包括:
3、接收第二网络设备发送的第一路由通告,所述第一路由通告包括第一主机路由以及所述第一主机路由的第一序列号;
4、将所述第一主机路由以及所述第一主机路由的第一序列号存储在所述bgp协议模块包括的第二rib中;
5、根据所述第一主机路由包括的地址信息,从所述第二rib中,获取包括所述地址信息的所有第二主机路由以及第二主机路由的第二序列号,所述第二主机路由包括所述第一主机路由,所述第二序列号包括所述第一序列号,每个第二主机路由为所述第一网络设备的bgp对等体发送;
6、从所有第二序列号中,选择第三序列号,所述第三序列号为所有第二序列号中的最大序列号;
7、若所述第三序列号对应的第三主机路由为与所述第一网络设备处于相同区域的第三网络设备发送,则将所述第三主机路由添加至所述第一rib中,并将添加后的路由表项下发至转发表fib中;
8、所述第三网络设备为用户终端接入,初始生成所述第三主机路由的网络设备。
9、第二方面,本申请提供了一种路由处理装置,所述装置应用于第一网络设备,所述第一网络设备处于spine-leaf组网内,所述第一网络设备包括bgp协议模块以及第一路由信息库rib,所述装置包括:
10、接收单元,用于接收第二网络设备发送的第一路由通告,所述第一路由通告包括第一主机路由以及所述第一主机路由的第一序列号;并将所述第一主机路由以及所述第一主机路由的第一序列号添加到所述bgp协议模块包括的第二rib中;
11、存储单元,用于将所述第一主机路由以及所述第一序列号存储在所述bgp协议模块包括的第二rib中;
12、获取单元,用于根据所述第一主机路由包括的地址信息,从所述第二rib中,获取包括所述地址信息的所有主机路由以及第二主机路由的第二序列号,所述第二主机路由包括所述第一主机路由,所述第二序列号包括所述第一序列号,每个第二主机路由为所述第一网络设备的bgp对等体发送;
13、选择单元,用于从所有第二序列号,选择第三序列号,所述第三序列号为所有第二序列号中的最大序列号;
14、添加单元,用于若所述第三序列号对应的第三主机路由为与所述第一网络设备处于相同区域的第三网络设备发送,则将所述第三主机路由添加至所述第一rib中,并将添加后的路由表项下发至转发表fib中;
15、所述第三网络设备为用户终端接入,初始生成所述第三主机路由的网络设备。
16、第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
17、因此,应用本申请提供的路由处理方法及装置,第一网络设备接收第二网络设备发送的第一路由通告,该第一路由通告包括第一主机路由以及第一主机路由的第一序列号;第一网络设备将第一主机路由以及第一主机路由的第一序列号存储在bgp协议模块包括的第二rib中;根据第一主机路由包括的地址信息,第一网络设备从第二rib中,获取包括地址信息的所有第二主机路由以及第二主机路由的第二序列号,第二主机路由包括第一主机路由,第二序列号包括第一序列号,每个第二主机路由为第一网络设备的bgp对等体发送;第一网络设备从所有第二序列号中,选择第三序列号,第三序列号为所有第二序列号中的最大序列号;若第三序列号对应的第三主机路由为与第一网络设备处于相同区域的第三网络设备发送,则第一网络设备将第三主机路由添加至第一rib中,并将添加后的路由表项下发至转发表fib中;第三网络设备为用户终端接入,初始生成第三主机路由的网络设备。
18、如此,多区域场景下的spine、leaf,通过判断主机路由来源区域对比序列号的方式,仅保存本区内上线的用户终端的用户主机路由,节省了路由表、转发表的资源。解决了现有spine-leaf组网中通告用户主机路由出现的路由表、转发表资源消耗的问题。
1.一种路由处理方法,其特征在于,所述方法应用于第一网络设备,所述第一网络设备处于spine-leaf组网内,所述第一网络设备包括bgp协议模块以及第一路由信息库rib,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述选择第三序列号之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一主机路由,生成对应的网段路由,具体包括:
10.一种路由处理装置,其特征在于,所述装置应用于第一网络设备,所述第一网络设备处于spine-leaf组网内,所述第一网络设备包括bgp协议模块以及第一路由信息库rib,所述装置包括:
11.根据权利要求10所述的装置,其特征在于,所述存储单元还用于,用于若所述第三序列号对应的第三主机路由为与所述第一网络设备处于不同区域的第三网络设备发送,则将所述第三主机路由保持在所述第二rib中。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:识别单元,用于识别所述第三网络设备发送的第三主机路由是否包含连接不同区域的网络设备所在自治系统的标识;
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:第一生成单元,用于当用户终端接入所述第一网络设备时,生成与所述用户终端对应的第四主机路由;
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:处理单元,用于若存在,则获取第五主机路由的第五序列号,并将所述第五序列号与1的和值作为所述第四序列号;
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:第二判断单元,用于判断本地arp表中是否存在与所述第一主机路由包括的地址信息匹配的arp表项;
16.根据权利要求15所述的装置,其特征在于,所述第二判断单元还用于,判断本地arp表中是否存在与所述第一主机路由包括的地址信息匹配的arp表项;
17.根据权利要求13所述的装置,其特征在于,所述装置还包括:
18.根据权利要求17所述的装置,其特征在于,所述第三生成单元具体用于,根据不同的地址类型,获取已配置的聚合路由的前缀长度;