一种路由发送方法及装置与流程

文档序号:12729485阅读:193来源:国知局
一种路由发送方法及装置与流程
本发明涉及通信
技术领域
,特别是涉及一种路由发送方法及装置。
背景技术
:随着通信技术的发展,EVPN(EthernetVirtualPrivateNetwork,以太网虚拟专用网络)这种二层VPN(VirtualPrivateNetwok,虚拟私有网)技术的应用变得越来越广泛。在采用EVPN技术进行组网时,整个网络中的设备一般采用核心-分支的分层结构。技术实现要素:本发明实施例的目的在于提供一种路由发送方法及装置,以在路由反射器重启后,以一种简便易行的方式,实现路由反射器对数据报文的成功转发,以避免数据报文的丢失。本发明实施例提供了一种路由发送方法,应用于以太网虚拟专用网络中的路由反射器,所述方法包括:在所述路由反射器重启后,获得第一虚拟可扩展局域网隧道端点VTEP发送的明细路由,其中,所述第一VTEP为与所述路由发射器具有对应性的任一VTEP;判断自身是否获得了所述第一VTEP内的所有明细路由;若为是,向第二VTEP发送路由,其中,所述第二VTEP为与所述路由反射器具有对应性的VTEP中、除所述第一VTEP外的其余VTEP;若为否,不向所述第二VTEP发送路由。本发明实施例还提供了一种路由发送装置,应用于以太网虚拟专用网络中的路由反射器,所述装置包括:第一获得模块,用于在所述路由反射器重启后,获得第一虚拟可扩展局域网隧道端点VTEP发送的明细路由,其中,所述第一VTEP为与所述路由发射器具有对应性的任一VTEP;判断模块,用于判断自身是否获得了所述第一VTEP内的所有明细路由;第一处理模块,用于在所述判断模块的判断结果为是的情况下,向第二VTEP发送路由,其中,所述第二VTEP为与所述路由反射器具有对应性的VTEP中、除所述第一VTEP外的其余VTEP;第二处理模块,用于在所述判断模块的判断结果为否的情况下,不向所述第二VTEP发送路由。本方案中,在路由反射器重启后,其会与第一VTEP建立BGP邻居关系,并获得第一VTEP发送的明细路由。在获得明细路由的过程中,该路由反射器会判断自身是否获得了第一VTEP内的所有明细路由。如果判断结果为是,该路由反射器就会向第二VTEP发送路由;如果判断结果为否,该路由反射器不会向第二VTEP发送路由。容易看出,在路由反射器向第二VTEP发送路由之前,由于第二VTEP根本没有获得来自该路由反射器的路由,因此,第二VTEP根本不会将获得的数据报文向该路由反射器转发,而是将该数据报文向其余的路由反射器转发,以通过其余的路由反射器来实现该数据报文的成功转发。在路由反射器向第二VTEP发送路由之后,由于第二VTEP获得了来自该路由反射器的路由,因此,该路由反射器可以正常获得来自第二VTEP的数据报文,由于该路由反射器此时已经成功获得了来自第一VTEP的所有明细路由,因此,该路由反射器内一定存在着能够指导该数据报文的转发的路由,该数据报文最终能够被成功转发。可见,本方案中,操作人员无需在路由反射器内预先配置设定时长和设定cost值,在路由反射器重启后,通过路由的延迟发送,本方案简便易行地实现了路由反射器对数据报文的成功转发,进而有效地避免了数据报文的丢失。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为EVPN的系统架构示意图;图2为本发明实施例所提供的一种路由发送方法的流程图;图3为本发明实施例所提供的一种路由发送装置的结构框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,图中示出了以太网虚拟专用网络EVPN的系统构架示意图。如图1所示,EVPN中包括:路由反射器RR(即RR1和RR2),虚拟可扩展局域网隧道端点VTEP(即VTEP1和VTEP2),以及用户边缘路由器设备(即CE11、CE21和CE22)。容易看出,EVPN中采用了核心-分支的分层结构,其中,RR1和RR2均作为VTEP1和VTEP2的核心设备,VTEP1和VTEP2均作为RR1和RR2的分支设备。一般而言,正常工作状态下,RR1和RR2均分别与自身的分支设备(即VTEP1和VTEP2)建立有边界网关协议BGP邻居关系。假设RR1发生了重启,这时,RR1与VTEP1和VTEP2之间的BGP邻居关系会依次经历解除和重新建立的过程。在BGP邻居关系重新建立后,VTEP1和VTEP2会分别将自身已存储的所有路由发送至RR1,以使得RR1存储接收到的这些路由,并利用这些路由指导自身接收到的数据报文的转发。由于RR1获得来自VTEP1和VTEP2的所有路由需要一定的时长,在RR1重启后的一段时间内可能会出现以下情况:在RR1获得路由的过程中,RR1接收到了来自VTEP1和VTEP2中的一者的数据报文,但是,RR1还未从VTEP1和VTEP2中的另一者处获得对该数据报文进行转发所需的路由,这样,RR1将无法对该数据报文进行转发,故该数据报文会被丢弃。为了避免出现上述问题,在现有技术中,RR1内可以预先配置有一设定时长和一设定cost值,该设定cost值比较大。在RR1重启后的设定时长内,RR1对应的cost值为该设定cost值,并且,该设定cost值大于RR2对应的cost值,因此,当VTEP1获得数据报文后,VTEP1会优选下一跳为RR2的路由来对该数据报文进行转发。容易看出,这种方式虽然可以实现对数据报文的成功转发,但是,操作人员需要对RR1进行预先配置,操作起来较为麻烦,并且,设定时长和设定cost值的具体取值难以把握。为了解决现有技术存在的问题,本发明实施例提供了一种路由发送方法及装置。下面首先对本发明实施例所提供的一种路由发送方法进行说明。需要说明的是,本发明实施例所提供的一种路由发送方法可以应用于以太网虚拟专用网络EVPN中的路由反射器。一般而言,EVPN中可以包括至少两个路由反射器,该路由发送方法具体应用于该至少两个路由反射器中的任一路由反射器。本领域技术人员可以理解的是,对于EVPN而言,控制平面是采用MP-BGP(Multiprotocol-BorderGatewayProtocol,多协议边界网关协议)来通告路由信息的,数据平面是采用VXLAN(VirtualeXtensibleLAN,可扩展虚拟局域网络)这种封装方式来转发数据报文的。另外,EVPN可以基于已有的服务提供商或者企业IP网络,为同一租户的相同子网提供二层互联,EVPN还可以通过EVPN网关为同一租户的不同子网提供三层互联,并为该租户的子网提供与外部网络的三层互联。参见图2,图中示出了本发明实施例所提供的一种路由发送方法的流程图。如图2所示,该方法可以包括如下步骤:S201,在路由反射器重启后,获得第一虚拟可扩展局域网隧道端点VTEP发送的明细路由,其中,第一VTEP为与路由发射器具有对应性的任一VTEP。其中,与路由反射器具有对应性的VTEP包括:将该路由反射器作为核心设备的所有VTEP。对于路由反射器而言,在其重启后,其会重新与将自身作为核心设备的所有VTEP建立BGP邻居关系。当该BGP邻居关系成功建立后,将该路由反射器作为核心设备的各个VTEP就会将自身内部当前具有的明细路由发送至该路由反射器,该路由反射器则会存储所接收到的明细路由。S202,判断自身是否获得了第一VTEP内的所有明细路由;若为是,执行S203,若为否,执行S204。S203,向第二VTEP发送路由,其中,第二VTEP为与路由反射器具有对应性的VTEP中、除第一VTEP外的其余VTEP;S204,不向第二VTEP发送路由。需要说明的是,路由反射器判断自身是否获得了第一VTEP内的所有明细路由信息的具体实现形式多样,下面进行举例介绍。在本发明实施例的一种具体实施方式中,获得第一虚拟可扩展局域网隧道端点VTEP发送的明细路由之前,该方法还可以包括:在自身重启后,获得第一VTEP发送的通知报文,其中,通知报文中携带第一VTEP内具有的明细路由的条数;相应地,判断自身是否获得了第一VTEP内的所有明细路由,可以包括:判断自身已获得的、来自第一VTEP的明细路由的条数是否不小于通知报文中携带的条数;若为是,表明自身已获得了第一VTEP内的所有明细路由;若为否,表明自身未获得第一VTEP内的所有明细路由。在路由反射器重启,且和与自身具有对应性的各VTEP建立BGP邻居关系后,与该路由反射器具有对应性的各VTEP会向该路由反射器发送通知报文。这样,根据该通知报文,该路由反射器能够获知在与各VTEP建立BGP邻居关系时,该VTEP内所具有的明细路由的条数,该路由反射器可以将各VTEP发送的通知报文中的条数存储起来。之后,与该路由反射器具有对应性的各VTEP会向该路由反射器发送明细路由。在接收来自各VTEP的明细路由的过程中,该路由反射器可以分别对来自各VTEP的明细路由的条数进行计数,并将来自各VTEP的明细路由的条数与该VTEP发送的通知报文中的条数进行比对。一旦该路由反射器检测到来自某一VTEP的明细路由的条数不小于该VTEP发送的通知报文中的条数,该路由反射器就会确定自身获得了该VTEP内的所有明细路由,接下来,该路由反射器就会执行后续的S203。相反,如果该路由反射器检测到来自某一VTEP的明细路由的条数小于该VTEP发送的通知报文中的条数,那么,该路由反射器就会执行后续的S204。容易看出,通过上述方式,路由反射器能够非常容易地判断出自身是否获得了第一VTEP内的所有明细路由信息。当然,路由反射器判断自身是否获得了第一VTEP内的所有明细路由信息的具体实现形式并不局限于此,具体可以根据实际情况来确定,本实施例对此不做任何限定。下面结合图1,以一个具体的例子对本实施例的具体实施过程进行说明。如图1所示,VTEP1和VTEP2均将RR1和RR2作为核心设备,因此,与RR1具有对应性的VTEP包括VTEP1和VTEP2,与RR2具有对应性的VTEP也包括VTEP1和VTEP2。假设RR1发生了重启,接下来,RR1会重新与VTEP1和VTEP2建立BGP邻居关系。在RR1与VTEP1重新建立好BGP邻居关系后,VTEP1会向RR1发送通知报文,该通知报文中携带VTEP1内当前具有的明细路由的条数,假设该条数为180条。在VTEP1发出该通知报文后,VTEP1开始向RR1发送明细路由。类似地,在RR1与VTEP2重新建立好BGP邻居关系后,VTEP2也会向RR1发送通知报文,该通知报文中携带VTEP2内当前具有的明细路由的条数,假设该条数为200。在VTEP2发出该通知报文后,VTEP2开始向RR1发送明细路由。对于RR1而言,在获得来自VTEP1和VTEP2的明细路由的过程中,RR1可以分别对来自VTEP1和VTEP2的明细路由的条数进行计数。一旦来自VTEP1的明细路由的条数达到180条,这说明RR1就获得了VTEP1内的所有明细路由,此时,RR1开始向VTEP2发送路由。容易理解的是,在RR1向VTEP2发送路由之前,由于VTEP2根本没有获得来自RR1的路由,因此,VTEP2根本不会将获得的数据报文向RR1转发,而是将该数据报文向RR2转发,之后,RR2会将该数据报文成功转发至VTEP1处。在RR1向VTEP2发送路由之后,由于VTEP2获得了来自RR1的路由,因此,RR1可以正常获得来自VTEP2的数据报文,由于RR1此时已经成功获得了来自VTEP1的所有明细路由,因此,RR1内一定存在着能够指导该数据报文的转发的路由,该数据报文最终能够被成功转发。本方案中,在路由反射器重启后,其会与第一VTEP建立BGP邻居关系,并获得第一VTEP发送的明细路由。在获得明细路由的过程中,该路由反射器会判断自身是否获得了第一VTEP内的所有明细路由。如果判断结果为是,该路由反射器就会向第二VTEP发送路由;如果判断结果为否,该路由反射器不会向第二VTEP发送路由。容易看出,在路由反射器向第二VTEP发送路由之前,由于第二VTEP根本没有获得来自该路由反射器的路由,因此,第二VTEP根本不会将获得的数据报文向该路由反射器转发,而是将该数据报文向其余的路由反射器转发,以通过其余的路由反射器来实现该数据报文的成功转发。在路由反射器向第二VTEP发送路由之后,由于第二VTEP获得了来自该路由反射器的路由,因此,该路由反射器可以正常获得来自第二VTEP的数据报文,由于该路由反射器此时已经成功获得了来自第一VTEP的所有明细路由,因此,该路由反射器内一定存在着能够指导该数据报文的转发的路由,该数据报文最终能够被成功转发。可见,本方案中,操作人员无需在路由反射器内预先配置设定时长和设定cost值,在路由反射器重启后,通过路由的延迟发送,本方案简便易行地实现了路由反射器对数据报文的成功转发,进而有效地避免了数据报文的丢失。在本发明实施例的一种具体实施方式中,向第二VTEP发送路由,可以包括:对来自第一VTEP的明细路由进行路由聚合,以得到聚合路由;向第二VTEP发送所得到的聚合路由。下面仍结合图1,以一个具体的例子对本实施例的具体实施过程进行说明。当RR1重启后,假设VTEP2向RR1发送的通知报文中携带的条数为200。之后,RR1会获得来自VTEP2的200条明细路由,假设RR1根据这200条明细路由得到了下面的表1:目的地址接口号下一跳地址11.1.1.1/32Vlan1414.14.14.211.1.1.2/32Vlan1414.14.14.2……Vlan1414.14.14.211.1.1.100/32Vlan1414.14.14.211.1.2.1/32Vlan1414.14.14.211.1.2.2/32Vlan1414.14.14.2……Vlan1414.14.14.211.1.2.100/32Vlan1414.14.14.2表1接下来,RR1可以对表1中的这200条明细路由进行路由聚合,以得到聚合路由。之后,RR1会得到并存储下面的表2。目的地址接口号下一跳地址11.1.1.1/32Vlan1414.14.14.211.1.1.2/32Vlan1414.14.14.2……Vlan1414.14.14.211.1.1.100/32Vlan1414.14.14.211.1.2.1/32Vlan1414.14.14.211.1.2.2/32Vlan1414.14.14.2……Vlan1414.14.14.211.1.2.100/32Vlan1414.14.14.211.1.0.0/16Vlan1414.14.14.2表2在得到表2之后,RR1可以将目的地址为11.1.0.0/16,接口号为Vlan14,下一跳地址为14.14.14.2的这条聚合路由发送至VTEP1。这时,VTEP1会存储所得到的这条聚合路由。之后,当VTEP1获得的数据报文的目的地址正好命中上述这条聚合路由时,该聚合路由就可以对该数据报文的转发进行有效地指导。本实施例中,由于路由反射器向第二VTEP发送的是聚合路由,故路由反射器需要向外发送的路由的数量得到了有效地降低。另外,如VTEP1等VTEP上所需存储的路由的数量也会得到有效地降低,VTEP内存储的路由表的规模将会大大减小。综上,在路由反射器重启后,通过对路由的延迟发送,本实施例简便易行地实现了路由反射器对数据报文的成功转发,进而有效地避免了数据报文的丢失。下面对本发明实施例所提供的一种路由发送装置进行说明。参见图3,图中示出了本发明实施例所提供的一种路由发送装置的结构框图。如图3所示,该装置可以应用于路由反射器,该装置可以包括:第一获得模块31,用于在自身重启后,获得第一虚拟可扩展局域网隧道端点VTEP发送的明细路由,其中,第一VTEP为与路由发射器具有对应性的任一VTEP;判断模块32,用于判断自身是否获得了第一VTEP内的所有明细路由;第一处理模块33,用于在判断模块32的判断结果为是的情况下,向第二VTEP发送路由,其中,第二VTEP为与路由反射器具有对应性的VTEP中、除第一VTEP外的其余VTEP;第二处理模块34,用于在判断模块32的判断结果为否的情况下,不向第二VTEP发送路由。本方案中,在路由反射器重启后,其会与第一VTEP建立BGP邻居关系,并获得第一VTEP发送的明细路由。在获得明细路由的过程中,该路由反射器会判断自身是否获得了第一VTEP内的所有明细路由。如果判断结果为是,该路由反射器就会向第二VTEP发送路由;如果判断结果为否,该路由反射器不会向第二VTEP发送路由。容易看出,在路由反射器向第二VTEP发送路由之前,由于第二VTEP根本没有获得来自该路由反射器的路由,因此,第二VTEP根本不会将获得的数据报文向该路由反射器转发,而是将该数据报文向其余的路由反射器转发,以通过其余的路由反射器来实现该数据报文的成功转发。在路由反射器向第二VTEP发送路由之后,由于第二VTEP获得了来自该路由反射器的路由,因此,该路由反射器可以正常获得来自第二VTEP的数据报文,由于该路由反射器此时已经成功获得了来自第一VTEP的所有明细路由,因此,该路由反射器内一定存在着能够指导该数据报文的转发的路由,该数据报文最终能够被成功转发。可见,本方案中,操作人员无需在路由反射器内预先配置设定时长和设定cost值,在路由反射器重启后,通过路由的延迟发送,本方案简便易行地实现了路由反射器对数据报文的成功转发,进而有效地避免了数据报文的丢失。在本发明实施例的一种具体实施方式中,第一处理模块,可以包括:路由聚合子模块,用于对来自第一VTEP的明细路由进行路由聚合,以得到聚合路由;发送子模块,用于向第二VTEP发送所得到的聚合路由。在本发明实施例的一种具体实施方式中,该装置还可以包括:第二获得模块,用于在获得第一虚拟可扩展局域网隧道端点VTEP发送的明细路由之前,在自身重启后,获得第一VTEP发送的通知报文,其中,通知报文中携带第一VTEP内具有的明细路由的条数;相应地,判断模块,具体用于:判断自身已获得的、来自第一VTEP的明细路由的条数是否不小于通知报文中携带的条数;若为是,表明自身已获得了第一VTEP内的所有明细路由;若为否,表明自身未获得第一VTEP内的所有明细路由。综上,在路由反射器重启后,通过对路由的延迟发送,本实施例简便易行地实现了路由反射器对数据报文的成功转发,进而有效地避免了数据报文的丢失。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1