1.本说明书实施例涉及计算机技术领域,特别涉及虚拟网络的路由系统、路由方法及路由装置。
背景技术:2.基于计算虚拟化发展而来的云计算,对网络也提出了虚拟化的需求。目前主流的网络虚拟化方案中,使用交换机作为虚拟隧道端点来实现网络虚拟化方案。由于虚拟转发节点以虚拟机的形态部署,便会有在不同的交换机下连的物理服务器间迁移的可能性。为保证虚拟转发节点迁移到不同交换机下时流量均能正常转发,目前通常由交换机将路由信息在租户的虚拟网络中进行通告。这样,就会有多台交换机向虚拟网络中的网络设备通告相同虚拟转发节点的路由,从而在网络设备上对同一虚拟转发节点的路由形成多个负荷分担,下一跳分别指向对应的交换机的虚拟隧道端点地址。
3.但是,一个虚拟转发节点同一时间只会存在一台交换机下,因此当网络设备将发往虚拟转发节点的流量分担到了下面没有虚拟转发节点的交换机时,需要交换机将流量转发给其他交换机才能将流量发送给虚拟转发节点,流量转发过程中存在绕行,增加了交换机带宽占用以及流量时延。
技术实现要素:4.有鉴于此,本说明书实施例提供了虚拟网络的路由系统、路由方法、路由装置、计算设备、计算机可读存储介质以及计算机程序,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种虚拟网络的路由系统,包括:多台交换机及第一网络设备。所述交换机,被配置为在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;所述交换机还被配置为,响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。所述第一网络设备,被配置为接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
6.可选地,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络。所述第一网络设备为所述虚拟网络中的网关设备,所述多台交换机分别与所述网关设备连接。
7.根据本说明书实施例的第二方面,提供了一种虚拟网络的路由方法,应用于第一网络设备,包括:接收第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的
网段的虚拟转发节点初始配置的服务器接口地址;接收第二类路由信息,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较;如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
8.可选地,还包括:在确定所述路由条目的下一跳为有效出接口的情况下,将所述路由条目写入转发表,以便基于所述转发表进行流量转发。
9.可选地,所述将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,包括:根据所述第一类路由信息,生成第一类路由条目,所述第一类路由条目中,目的网段为所述第一类路由信息中的目的网段,下一跳为发送所述第一类路由信息的交换机的虚拟隧道端点地址;根据所述第二类路由信息,生成第二类路由条目,所述第二类路由条目中,目的网段为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;判断所述第一类路由信息是否携带了所述目的网段的虚拟转发节点初始配置的服务器接口地址;如果是,将所述目的网段的虚拟转发节点初始配置的服务器接口地址与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较。
10.可选地,所述将所述目的网段的虚拟转发节点初始配置的服务器接口地址与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较,包括:将所述目的网段的虚拟转发节点初始配置的服务器接口地址设置为所述第一类路由条目中的下一跳;将所述第一类路由条目中的下一跳与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较;所述如果一致,则生成路由条目,包括:如果一致,则将所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址设置为所述第一类路由条目中的下一跳,得到所述路由条目。
11.可选地,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络;所述接收第一类路由信息,包括:接收包含所述第一类路由信息的rt5型路由。所述判断所述第一类路由信息是否携带了所述目的网段的虚拟转发节点初始配置的服务器接口地址,包括:判断所述rt5型路由中是否存在基于所述边界网关协议的社团属性携带的所述目的网段的虚拟转发节点初始配置的服务器接口地址。
12.根据本说明书实施例的第三方面,提供了一种虚拟网络的路由方法,应用于交换机,包括:在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;所述第一类路由信息以及所述第二类路由信息,用于使所述虚拟网络中的第一网络设备接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服
务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
13.可选地,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络。所述在虚拟网络中发送第一类路由信息,包括:在所述虚拟网络中发送包含所述第一类路由信息的rt5型路由,其中,所述虚拟转发节点初始配置的服务器接口地址通过所述边界网关协议的社团属性携带在所述rt5型路由。所述在虚拟网络中发送第二类路由信息,包括:在所述虚拟网络中发送包含所述第二类路由信息的rt2型路由,其中,所述rt2型路由中的目的网段设置为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳设置为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
14.可选地,所述在虚拟网络中发送包含所述第一类路由信息的rt5型路由之前,还包括:配置静态路由,所述静态路由中包括:目的网段以及所述目的网段的下一跳,所述下一跳为虚拟转发节点初始配置的服务器接口地址;根据所述静态路由,基于所述边界网关协议生成所述rt5型路由,所述rt5型路由中目的网段的下一跳为所述交换机自身的虚拟隧道端点地址,且所述rt5型路由中的社团属性携带虚拟转发节点初始配置的服务器节点地址。
15.根据本说明书实施例的第四方面,提供了一种虚拟网络的路由装置,配置于第一网络设备,包括:第一路由接收模块,被配置为接收第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址。第二路由接收模块,被配置为接收第二类路由信息,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。初始地址查找模块,被配置为将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较。路由生成模块,被配置为如果所述初始地址查找模块判定为一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
16.根据本说明书实施例的第五方面,提供了一种虚拟网络的路由装置,配置于交换机,包括:第一路由发送模块,被配置为在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址。第二路由发送模块,被配置为响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。所述第一类路由信息以及所述第二类路由信息,用于使所述虚拟网络中的第一网络设备接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
17.根据本说明书实施例的第六方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该
计算机可执行指令被处理器执行时实现本说明书任意实施例所述虚拟网络的路由方法的步骤。
18.根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述虚拟网络的路由方法的步骤。
19.根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟网络的路由方法的步骤。
20.本说明书一个实施例提供了虚拟网络的路由系统,该系统包括多台交换机及第一网络设备,由于该虚拟网络中的交换机在虚拟网络中发送的第一类路由信息中包含目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址,而且,该虚拟网络中的交换机会在感知任一虚拟转发节点在所述交换机连接的服务器上线的情况下,发送包含所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址的第二类路由信息,从而使第一网络设备能够在接收第一路由信息以及接收第二路由信息后,将第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,并且路由条目中目的网段的下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址,也即路由条目中目的网段的下一跳为虚拟转发节点实际连接的交换机的虚拟隧道端点地址,从而第一网络设备能够基于该路由条目,将流量直接转发给虚拟转发节点实际连接的交换机,避免了流量在网络中的绕行,减少交换机带宽占用以及流量时延。
附图说明
21.图1是本说明书一个实施例提供的虚拟网络示意图;
22.图2是本说明书一个实施例提供的虚拟网络的路由系统的应用场景示意图;
23.图3是本说明书一个实施例提供的虚拟网络的路由系统的结构示意图;
24.图4是本说明书一个实施例提供的应用于交换机的虚拟网络的路由方法的流程图;
25.图5是本说明书一个实施例提供的虚拟网络的路由方法的处理过程流程图;
26.图6是本说明书另一个实施例提供的虚拟网络的路由方法的处理过程流程图;
27.图7是本说明书一个实施例提供的应用于第一网络设备的虚拟网络的路由方法的流程图;
28.图8是本说明书再一个实施例提供的虚拟网络的路由方法的处理过程流程图;
29.图9是本说明书一个实施例提供的配置于交换机的虚拟网络的路由装置的结构示意图;
30.图10是本说明书一个实施例提供的配置于第一网络设备的虚拟网络的路由装置的结构示意图;
31.图11是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
32.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
33.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
34.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
35.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
36.arp(address resolve protocol),表示地址解析协议。
37.ndp(neighbor discover protocol),表示邻居发现协议,是tcp/ip协议栈的一部分。邻居发现协议在数据链路层,负责在链路上发现其他节点和相应的ip地址,并确定可用路由和维护关于可用路径和其他活动节点的信息可达性。
38.tor(top of rack),架顶交换机。
39.bgp(border gateway protocol),表示边界网关协议,是互联网上一个核心的去中心化自治路由协议。
40.evpn(ethenet vpn),表示以太网虚拟专用网络,在虚拟专用网络中转发l2以太网流量,一般指作为网络虚拟化技术转发控制面的bgp evpn协议。
41.vxlan(virtual extensible local area network),表示虚拟可扩展局域网。vxlan的特点是将l2的以太帧封装到udp报文(即l2 over l4)中,并在l3网络中传输。其中,l2表示二层,l3表示三层,l4表示四层。
42.vtep(virutal tunnel end point),表示虚拟隧道端点。
43.vrf(virtual routing and forwarding),表示虚拟路由转发实例。
44.ip,是指互联网上的每台设备都规定的一个唯一的地址。由于有了这个唯一的ip地址,能保证高效地找到想要进行通信的设备。
45.基于计算虚拟化发展而来的云计算,对网络也提出了虚拟化的需求。目前,一些网络虚拟化方案中,使用硬件交换机作为vtep点,基于bgp evpn与vxlan实现网络虚拟化,由于对服务器无侵入、转发性能优异、运维界面清晰等优点,在业内得到广泛部署与应用。
46.网络虚拟化场景中,经常会存在租户的转发节点以虚拟机形态部署在物理服务器上。这类虚拟转发节点可以表现为如:虚拟防火墙、虚拟负载均衡、虚拟路由器等。虚拟转发节点一般不是流量的转发终点,是流量的中转节点。因此,与虚拟转发节点上连的交换机(如tor),通常需要在租户对应的vrf中配置路由。为降低虚拟转发节点与上连交换机的耦合性,可以选择静态路由,当然基于实际应用场景需要,也可以选择动态路由。由于路由指
向虚拟转发节点背后连接的网络,所以交换机需要将路由在租户的虚拟网络中进行通告,才能正确的将发往这些网络的流量转发给虚拟转发节点,再由虚拟转发节点转发到对应网络。虚拟网络,又称为overlay网络、叠加网络、覆盖网络,可以理解为把逻辑网络建立在实体网络之上。
47.下面,以图1所示的虚拟网络为例,对目前基于bgp evpn实现的虚拟网络中交换机通告路由以及转发流量的过程进行示意性说明。如图1所示,虚拟交换节点vrouter,部署在交换机tor1下连的服务器1上,服务器1的接口ip为192.168.1.100/32/24,对应的交换机tor1上的分布式网关ip为192.168.1.1,虚拟转发节点vrouter背后网络的目的网段为172.18.1.0/24。为了使流量能转发到vrouter背后网络,可以在交换机tor1上租户对应的vrf中配置静态路由。配置的静态路由中,目的网段指向172.18.1.0/24,下一跳为虚拟转发节点vrouter初始配置的服务器接口地址192.168.1.100/32。在交换机tor1上,将该条静态路由以重分布的方式分发到bgp evpn协议栈中,由bgp evpn以rt5型路由通告给远端的网络设备,路由通告时,根据bgp evpn协议,下一跳修改为交换机tor1的虚拟隧道端点地址vtep ip。当虚拟转发节点vrouter首次在交换机tor1上线时,交换机tor1收到虚拟转发节点vrouter发出的arp类报文(如arp请求、garp)后,交换机tor1会形成对应的arp条目,并根据arp条目在bgp evpn协议栈生成对应的rt2型路由,通告给其它bgp evpn邻居。这样,在如图1所示的网络设备gw与交换机tor2上,都会看到一条指向虚拟转发节点vrouter初始配置的服务器接口地址192.168.1.100/32的rt2型路由。由于虚拟转发节点vrouter可能迁移到服务器2上,为保证虚拟转发节点vrouter迁移到服务器2后流量能正常转发,可以在交换机tor2上租户对应的vrf中也预配置指向虚拟转发节点vrouter初始配置的服务器接口地址的静态路由,并也重分布到bgp evpn协议栈中。此时在gw上会同时学习到两条指向172.18.1.0/24的路由,下一跳分别指向tor1与tor2各自的vtep ip,并在gw上形成负荷分担。当gw接收到发往172.18.1.0/24网段的流量时,可能将流量分担到tor1,也可能将流量分担到tor2。分担到tor1时,流量通过如图1标识为“流向1”的路线流入vrouter。分担到tor2时,流量通过如图1标识为“流向2”的路线流入vrouter。通过“流向2”可见,由于虚拟转发节点vrouter实际连接在交换机tor1下,因此当交换机tor2收到gw发送的流量后,tor2需要先查找本地路由发现172.18.1.0/24下一跳为192.168.1.100/32,而192.168.1.100/32下一跳通过rt2路由学习到的,指向交换机tor1的虚拟隧道端点地址vtep ip:10.0.0.1。因此,交换机tor2需要将流量先转发到tor1,tor1才能最终将流量转发给虚拟转发节点vrouter,流量转发过程中存在绕行。
48.通过上述示例的过程可见,由于虚拟转发节点以虚拟机的形态部署,便会有在不同的交换机下连的物理服务器间迁移的可能性。由于虚拟转发节点存在迁移的可能性,交换机并不能感知虚拟转发节点迁移事件,为保证虚拟转发节点迁移到不同交换机下时,流量均能正常转发,会在交换机租户对应的vrf中配置好对应的路由信息,并由交换机将这些路由信息在租户的虚拟网络中进行通告。当交换机对外通告虚拟网络的路由信息时,默认会将该路由信息以rt5型路由通告给远端的网络设备。rt5型路由中携带的下一跳信息为交换机上配置的vtep ip地址(也即虚拟隧道端点地址)。这样,当多台交换机都向远端通告相同虚拟转发节点的路由信息时,在网络设备上对同一个虚拟转发节点的路由条目形成多个负荷分担,下一跳分别指向对应的交换机vtep ip地址。但由于虚拟转发节点同一时间只会
存在一台交换机下,因此当远端的网络设备将发往虚拟转发节点的流量分担到了下面没有虚拟转发节点的交换机时,交换机收到后,需要再根据rt2型路由查找下一跳虚拟转发节点接口地址所在的交换机,并将流量发往对应交换机后,才能最终将流量发送给虚拟转发节点。整个过程中流量大概率会存在绕行,增加交换机带宽占用同时,也会增加流量时延。
49.在一些技术方案中,基于bgp evpn实现的虚拟网络,可以通过虚拟转发节点vrouter与网络设备gw在overlay网络直接建立bgp路由邻居的方式,让虚拟转发节点vrouter与网络设备gw直接交互路由,以达到gw节点学习到路由原始下一跳的目标,再通过网络设备gw执行路由迭代的方式,来得到vrouter实际所在的交换机的虚拟隧道端点地址。但是,这会导致虚拟转发节点与网络设备耦合增加,对虚拟转发节点的能力产生依赖,使虚拟转发节点须支持bgp路由协议,才能让虚拟转发节点与网络设备之间通过bgp协议交互,对虚拟转发节点与网络设备之间的bgp协议互通性提出要求。
50.有鉴于此,在本说明书中,提供了虚拟网络的路由系统,虚拟网络的路由方法,虚拟网络的路由装置,计算设备,以及计算机可读存储介质,接下来在下面的实施例中逐一进行详细说明。
51.参见图2,图2示出了根据本说明书一个实施例提供的虚拟网络的路由系统的应用场景示意图。图2所示的虚拟网络为基于边界网关协议的以太网虚拟专用网络。所述虚拟网络的路由系统可以包括:交换机tor1以及交换机tor2,及第一网络设备gw。在该应用场景中,虚拟网络中的各个交换机如交换机tor1,tor2以及第一网络设备gw通过以下处理步骤来避免流量绕行。具体地:
52.在步骤202中,交换机在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址。
53.在图2所示的应用场景中,所述第一类路由信息具体表现为携带在evpn rt5型路由中的路由信息。例如,如图2所示的交换机tor1以及tor2对外通告overlay网络的路由信息。该路由信息以evpn rt5型路由发送,图2所示的evpn rt5型路由范例中包含:目的网段“route_prefix:172.18.1.0/24”,下一跳“next_hop:10.0.0.1”以及通过bgp扩展社团属性(图2中表示为ext-community)的形式携带静态路由中的原始下一跳(图2中表示为origin-next-hop)“192.168.1.100”,来使得虚拟网络中的任意网络设备获得静态路由的原始下一跳信息。静态路由中的原始下一跳,是指虚拟转发节点初始配置的服务器接口地址或者理解为虚拟转发节点的上连接口ip。
54.在步骤204中,交换机响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
55.其中,所述通知消息,可以称为地址解析协议通知消息,是触发交换机感知任一虚拟转发节点在所述交换机连接的服务器上线的消息。例如,在基于边界网关协议的虚拟网络中,所述通知消息表现为arp通知消息,能够触发交换机感知mac地址位置变化的类似arp请求、arp协议报文。
56.其中,所述第二类路由信息具体表现为携带在evpn rt2型路由中的路由信息。例如,如图2所示的交换机tor2响应于接收到表现为arp消息的通知消息,将静态路由的原始
下一跳信息,以evpn rt2型路由通告出来。该evpn rt2型路由中,目的网段为虚拟转发节点vrouter初始配置的32位的服务器接口地址,下一跳为虚拟转发节点vrouter实际连接的交换机tor1的虚拟隧道端点地址。
57.在步骤206中,第一网络设备接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
58.例如,如图2所示的第一网络设备gw,gw先在evpn rt5型路由中确定扩展的社团属性中的原始下一跳信息,利用该原始下一跳到rt2路由中进行实际连接的交换机的虚拟隧道端点地址的查找,进而将实际连接的交换机的虚拟隧道端点地址写入到evpn rt5型路由对应的本地路由条目,使gw上的rt5型路由对应的路由条目中的下一跳为虚拟转发节点vrouter上连的真实交换机的虚拟隧道端点地址。
59.经过上述步骤的处理,gw获得了虚拟转发节点vrouter实际上连的交换机的虚拟隧道端点地址,使发往虚拟转发节点vrouter背后网络的流量,可以正确的发送到虚拟转发节点vrouter实际上连的交换机,从而避免流量绕行。在虚拟转发节点vrouter发生迁移的情况下,由于虚拟转发节点vrouter迁移后会向上连的交换机主动发出arp消息(图2中表示为arp packets),因此,上连交换机在收到后,会生成新的evpn rt2型路由,来更新虚拟转发节点vrouter最新连接的交换机的虚拟隧道端点地址。
60.图2中,协议报文路径以及流量转发路径分别通过不同类型虚线绘制以示区别。
61.参见图3,图3示出了根据本说明书一个实施例提供的虚拟网络的路由系统的结构示意图。如图3所示,所述虚拟网络的路由系统可以包括:多台交换机302及第一网络设备304。在图3中,多台交换机以交换机a以及交换机b来示意,实际应用中交换机的数量可以根据需要进行设置。所述第一网络设备304,在实际应用中,可以表现为网关,交换机等任意网络设备。
62.所述交换机302,可以被配置为在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;所述交换机302还被配置为,响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
63.所述第一网络设备304,可以被配置为接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
64.由于该虚拟网络中的交换机在虚拟网络中发送的第一类路由信息中包含目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址,而且,该虚拟网络中的交换机会在感知任一虚拟转发节点在所述交换机连接的服务器上线的情况下,发送包含所
述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址的第二类路由信息,从而使第一网络设备能够在接收第一路由信息以及接收第二路由信息后,将第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,并且路由条目中目的网段的下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址,也即路由条目中目的网段的下一跳为虚拟转发节点实际连接的交换机的虚拟隧道端点地址,从而第一网络设备能够基于该路由条目,将流量直接转发给虚拟转发节点实际连接的交换机,避免了流量在网络中的绕行,减少交换机带宽占用以及流量时延。
65.需要说明的是,本说明书实施例所述的虚拟网络,可以基于任意网络虚拟化技术实现。例如,本说明书一个或多个实施例中,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络。所述第一网络设备为所述虚拟网络中的网关设备,所述多台交换机分别与所述网关设备连接。在该实施例中,交换机发送路由信息以及网关设备将虚拟转发节点实际连接的交换机的虚拟隧道端点地址写入路由条目的具体实施方式,可以参见图2所示的应用场景实施例中的介绍,在此不再详细赘述。
66.参见图4,图4示出了根据本说明书一个实施例提供的虚拟网络的路由方法的流程图。该实施例提供的虚拟网络的路由方法应用于交换机。如图4所示,具体可以包括:
67.步骤402,在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址。
68.其中,所述第一类路由信息,是指示发往目的网段的数据包的流向的信息。交换机所配置的路由可以是静态路由或动态路由的方式,交换机基于自身配置的路由向虚拟网络中通告路由信息。交换机在虚拟网络中通告路由时,虚拟网络中的任意网络设备都可以接收到交换机通告的路由。在交换机通告的路由中,根据实际应用场景需要,可以包括目的网段,目的网段的下一跳。其中,目的网段的下一跳可以直接为虚拟转发节点初始配置的服务器接口地址,也可以为发送该路由的交换机的虚拟隧道端点地址。在通告的路由中的目的网段的下一跳为发送该路由的交换机的虚拟隧道端点地址的情况下,虚拟转发节点初始配置的服务器接口地址可以携带在该路由的其他属性中。
69.以所述虚拟网络为基于边界网关协议的虚拟专用网络为例,交换机可以在所述虚拟网络中发送包含所述第一类路由信息的rt5型路由,其中,所述虚拟转发节点初始配置的服务器接口地址通过所述边界网关协议的社团属性携带在所述rt5型路由中。
70.在基于bgp evpn实现的虚拟网络中,交换机在虚拟网络中通告静态路由时,将静态路由以rt5型路由通告给远端的网络设备。该rt5型路由也称为ip前缀路由。rt5型路由中携带的下一跳为交换机配置的虚拟隧道端点地址。另外在evpn rt5型路由中,还以bgp扩展社团属性的形式携带静态路由的原始下一跳,也即虚拟转发节点初始配置的服务器接口地址,来使得接收端的网络设备获得路由的原始下一跳信息。
71.步骤404,响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
72.其中,所述第二类路由信息,是指示任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址的信息。
73.以所述虚拟网络为基于边界网关协议的虚拟网络为例,可以在所述虚拟网络中发送包含所述第二类路由信息的rt2型路由,其中,所述rt2型路由中的目的网段设置为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳设置为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
74.所述第一类路由信息以及所述第二类路由信息,用于使所述虚拟网络中的第一网络设备接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
75.由于该方法中,虚拟网络中的交换机在虚拟网络中发送的第一类路由信息中包含目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址,而且,该虚拟网络中的交换机会在感知任一虚拟转发节点在所述交换机连接的服务器上线的情况下,发送包含所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址的第二类路由信息,从而使第一网络设备能够在接收第一路由信息以及接收第二路由信息后,将第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,并且路由条目中目的网段的下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址,也即路由条目中目的网段的下一跳为虚拟转发节点实际连接的交换机的虚拟隧道端点地址,从而第一网络设备能够基于该路由条目,将流量直接转发给虚拟转发节点实际连接的交换机,避免了流量在网络中的绕行,减少交换机带宽占用以及流量时延。
76.本说明书一个或多个实施例中,在基于bgp evpn实现的虚拟网络中,所述在虚拟网络中发送包含所述第一类路由信息的rt5型路由之前,还可以包括:配置静态路由,所述静态路由中包括:目的网段以及所述目的网段的下一跳,所述下一跳为虚拟转发节点初始配置的服务器接口地址;根据所述静态路由,基于所述边界网关协议生成所述rt5型路由,所述rt5型路由中目的网段的下一跳为所述交换机自身的虚拟隧道端点地址,且所述rt5型路由中的社团属性携带虚拟转发节点初始配置的服务器节点地址。在该实施例中,通过在交换机上配置静态路由,由交换机基于静态路由在虚拟网络中通告携带虚拟转发节点初始配置的服务器接口地址的rt5型路由,免除了需要虚拟转发节点支持bgp路由协议的要求。交换机在遵守边界网关协议的情况下,能够使第一网络设备将流量直接转发给虚拟转发节点实际连接的交换机,避免了流量在网络中的绕行。
77.下面,结合图5,对交换机通过rt5型路由扩展社团属性,携带虚拟转发节点初始配置的服务器接口地址的具体实施方式进行详细说明。图5示出了根据本说明书一个实施例提供的虚拟网络的路由方法的处理过程流程图。如图5所示,具体可以包括:
78.步骤502,虚拟网络的各个交换机上分别配置指向相同目的网段的静态路由,并重发布到bgp evpn地址族中。
79.例如,结合图2所示应用场景,交换机tor1和tor2分别配置了指向目的网段172.18.1.0/24,下一跳为192.168.1.100/32的静态路由。192.168.1.100/32是该目的网段的虚拟转发节点初始配置的服务器接口地址。
80.步骤504,各个交换机分别生成对应的bgp evpn rt5型路由,下一跳分别填写为自身vtep ip。
81.例如,结合图2所示应用场景,交换机tor1和tor2分别生成对应的bgp evpn rt5型路由。在bgp evpn rt5型路由中,目的网段为下一跳172.18.1.0/24,下一跳分别为自身vtep ip。
82.步骤506,各个交换机检查自身bgp evpn rt5型路由中社团属性携带虚拟转发节点初始配置的服务器节点地址的功能是否开启。
83.如果未开启,则直接进入步骤510。
84.步骤508,如果开启,交换机在生成的bgp evpn rt5型路由中,附带扩展的社团属性,属性值为虚拟转发节点初始配置的服务器接口地址。
85.例如,结合图2所示应用场景,交换机tor1和tor2在生成的bgp evpn rt5型路由中,附带扩展的社团属性,属性值为192.168.1.100/32。
86.步骤510,各个交换机将各自生成的bgp evpn rt5型路由在虚拟网络中进行通告。
87.例如,结合图2所示应用场景,交换机tor1和tor2将bgp evpn rt5型路由通告给gw。
88.下面,结合图6,对虚拟转发节点上线后,交换机通过rt2型路由通告主机路由的具体实施方式进行详细说明。图6示出了根据本说明书另一个实施例提供的虚拟网络的路由方法的处理过程流程图。如图6所示,具体可以包括:
89.步骤602,虚拟转发节点实例初始化完成后,向上连的交换机发送arp请求/garp通知类arp消息。
90.例如,结合图2所示应用场景,虚拟转发节点vrouter实例初始化完成后,发送arp请求/garp通知类arp消息。
91.步骤604,交换机在收到arp/garp消息后,在本地生成对应arp条目,同时生成对应的bgp evpn rt2型路由,bgp evpn rt2型路由中的下一跳为该交换机自身vtep ip。
92.例如,结合图2所示应用场景,vrouter上连tor1交换机在收到arp/garp消息后,在本地生成对应arp条目,同时生成对应的bgp evpn rt2路由,下一跳为自身vtep ip。
93.步骤606,交换机将bgp evpn rt2型路由通告给虚拟网络中的其它网络设备。
94.其它网络设备在收到交换机通告的bgp evpn rt2型路由后,在本地生成第二类路由条目,该第二类路由条目中,目的网段为虚拟转发节点初始配置的服务器接口地址,下一跳指向发送该bgp evpn rt2型路由的交换机的vtep ip。
95.例如,结合图2所示应用场景,gw在收到tor1交换机通告的bgp evpn rt2路由后,在本地生成到vrouter初始配置的服务器接口地址的路由,下一跳指向tor1交换机vtep ip。
96.参见图7,图7示出了根据本说明书一个实施例提供的虚拟网络的路由方法的流程图。该实施例提供的虚拟网络的路由方法应用于第一网络设备。如图7所示,具体可以包括:
97.步骤702,接收第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目
的网段的虚拟转发节点初始配置的服务器接口地址。
98.步骤704,接收第二类路由信息,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
99.步骤706,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较。
100.需要说明的是,所述比较的处理可以有多种实施方式,本说明书实施例对此并不进行限制。例如,可以直接从第一类路由信息以及第二类路由信息中获得虚拟转发节点初始配置的服务器接口地址并进行比较。再例如,可以基于虚拟网络的网关协议先自动生成各自对应的路由条目,再从路由条目中获得虚拟转发节点初始配置的服务器接口地址并进行比较。
101.步骤708,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
102.其中,所述生成路由条目可以包括:基于对路由条目进行更新而生成的更新的路由条目,或者,利用路由信息新生成的路由条目。
103.另外,第一网络设备还可以在确定所述路由条目的下一跳为有效出接口的情况下,将所述路由条目写入转发表,以便基于所述转发表进行流量转发。
104.由于该方法中,第一网络设备能够在接收第一路由信息以及接收第二路由信息后,将第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,并且路由条目中目的网段的下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址,也即路由条目中目的网段的下一跳为虚拟转发节点实际连接的交换机的虚拟隧道端点地址,从而第一网络设备能够基于该路由条目,将流量直接转发给虚拟转发节点实际连接的交换机,避免了流量在网络中的绕行,减少交换机带宽占用以及流量时延。
105.本说明书一个或多个实施例中,基于网络设备接收到路由信息一般会自动生成对应的路由条目的机制,在自动生成路由条目后,再对两条路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,使得本说明书实施例提供的方法更加易于在实际应用场景中实施。具体地,所述将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,包括:
106.根据所述第一类路由信息,生成第一类路由条目,所述第一类路由条目中,目的网段为所述第一类路由信息中的目的网段,下一跳为发送所述第一类路由信息的交换机的虚拟隧道端点地址;
107.根据所述第二类路由信息,生成第二类路由条目,所述第二类路由条目中,目的网段为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;
108.判断所述第一类路由信息是否携带了所述目的网段的虚拟转发节点初始配置的服务器接口地址;
109.如果是,将所述目的网段的虚拟转发节点初始配置的服务器接口地址与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较。
110.以所述虚拟网络为基于边界网关协议的以太网虚拟专用网络为例,所述将所述目的网段的虚拟转发节点初始配置的服务器接口地址与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较,包括:将所述目的网段的虚拟转发节点初始配置的服务器接口地址设置为所述第一类路由条目中的下一跳;将所述第一类路由条目中的下一跳与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较。相应地,所述如果一致,则生成路由条目,包括:如果一致,则将所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址设置为所述第一类路由条目中的下一跳,得到所述路由条目。
111.在上述实施例中,通过将路由携带的虚拟转发节点初始配置的服务器接口地址,迭代到对应生成的第一类路由条目的下一跳,从而建立了该第一类路由条目与虚拟转发节点初始配置的服务器接口地址的直接联系,以便与第二类路由条目中的虚拟转发节点初始配置的服务器接口地址进行比较,并在确定一致的情况下,能够更加直接快捷地将虚拟转发节点实际连接的交换机的虚拟隧道端点地址代入到第一类路由条目中的下一跳。
112.以所述虚拟网络为基于边界网关协议的以太网虚拟专用网络为例,所述接收第一类路由信息,包括:接收包含所述第一类路由信息的rt5型路由。所述判断所述第一类路由信息是否携带了所述目的网段的虚拟转发节点初始配置的服务器接口地址,包括:判断所述rt5型路由中是否存在基于所述边界网关协议的社团属性携带的所述目的网段的虚拟转发节点初始配置的服务器接口地址。
113.下面,结合图8,对第一网络设备通过迭代查找到虚拟转发节点实际连接的交换机的虚拟隧道端点地址的具体实施方式进行详细说明。图8示出了根据本说明书再一个实施例提供的虚拟网络的路由方法的处理过程流程图。如图8所示,具体可以包括:
114.步骤802,第一网络设备接收交换机通告的bgp evpn rt5路由,对应生成第一类路由条目。
115.例如,结合图2所示应用场景,gw接收tor1和tor2通告的bgp evpn rt5型路由。bgp evpn rt5型路由中的社团属性携带虚拟转发节点初始配置的服务器节点地址。例如,gw从tor1收到的evpn rt5路由范例如下:
116.{route_prefix:172.18.1.0/24
117.next_hop:10.0.0.1
118.ext-community{origin-next-hop:192.168.1.100}
119.}
120.其中,route_prefix表示目的网段,172.18.1.0/24是图2所示场景中目的网段的值。next_hop表示下一跳,10.0.0.1是交换机tor1的虚拟隧道端点地址,ext-community表示社团属性,origin-next-hop表示原始下一跳,也即虚拟转发节点初始配置的服务器接口地址,192.168.1.100是虚拟转发节点初始配置的服务器接口地址的值。
121.步骤804,第一网络设备接收交换机感知到任一虚拟转发节点在所述交换机连接的服务器上线而在虚拟网络中通告的bgp evpn rt2型路由,对应生成第二类路由条目。
122.例如,结合图2所示应用场景,gw接收tor1通告的bgp evpn rt2型路由,gw对应生
成第二类路由条目。第一类路由条目以及第二类路由条目中的内容如下所示,包括:
123.路由条目1:172.18.1.0/24,next-hop 10.0.0.1,type evpn-rt5,oif vxlan1;
124.路由条目2:172.18.1.0/24,next-hop 10.0.0.2,type evpn-rt5,oif vxlan2;
125.路由条目3:192.168.1.100/32,next-hop 10.0.0.1,type evpn-rt2,oif vxlan1;
126.其中,带有类型信息“type evpn-rt5”的路由条目1和路由条目2是基于bgp evpn rt5型路由对应生成的第一类路由条目,带有类型信息“type evpn-rt2”的路由条目3是基于bgp evpn rt2型路由对应生成的第二类路由条目。如上内容示例,两条第一类路由条目中的下一跳“next-hop 10.0.0.1”、“next-hop 10.0.0.2”是发送路由信息的交换机的虚拟隧道端点地址。第二类路由条目中的下一跳“next-hop 10.0.0.1”是虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
127.步骤806,第一网络设备解析收到的bgp evpn rt5型路由,从社团属性中获得虚拟转发节点初始配置的服务器接口地址,并将虚拟转发节点初始配置的服务器接口地址设置为第一类路由条目的下一跳。
128.例如,结合图2所示应用场景,修改后的第一类路由条目如下所示:
129.路由条目1:172.18.1.0/24,next-hop 192.168.1.100,type evpn-rt5,oif vxlan1;
130.路由条目2:172.18.1.0/24,next-hop 192.168.1.100,type evpn-rt5,oif vxlan2;
131.步骤808,第一网络设备将第一类路由条目中的下一跳与路由表中第二类路由条目的目的网段进行比较。
132.例如,结合图2所示应用场景,gw根据路由条目1和路由条目2的下一跳为192.168.1.100,将192.168.1.100与路由表中的其他路由条目的目的网段比较,查找是否有目的网段为192.168.1.100的路由条目。gw在路由表中,查找到192.168.1.100有对应的第二类路由路由:路由条目3。
133.步骤810,第一网络设备将比较结果为一致的第一类路由条目的下一跳的值修改为对应第二类路由条目的下一跳的值。
134.例如,结合图2所示应用场景,gw根据比较结果,将路由条目1、路由条目2的下一跳修改为路由条目3的下一跳。修改后gw的路由条目如下:
135.路由条目1:172.18.1.0/24,next-hop 10.0.0.1,type evpn-rt5,oif vxlan1;
136.路由条目2:172.18.1.0/24,next-hop 10.0.0.1,type evpn-rt5,oif vxlan2;
137.步骤812,第一网络设备在确定第一类路由条目的下一跳为有效出接口的情况下,将第一类路由条目写入转发表,以便基于所述转发表进行流量转发。
138.例如,结合图2所示应用场景,gw检查路由条目1的出接口为vxlan1,是有效出接口,则将路由条目1写入转发表,用于后续转发。
139.通过上述实施例可见,通过在交换机上配置静态路由的方式,在交换机通告的bgp evpn rt5路由中增加扩展社团属性支持携带原始下一跳信息,免除了虚拟转发节点与网络设备之间建立bgp邻居的需求,免除了需要虚拟转发节点支持bgp路由协议的要求,使网络设备能够基于bgp evpn rt5路由携带的原始下一跳信息查找到虚拟转发节点实际连接的
交换机的虚拟隧道端点地址,避免流量在网络中的绕行。
140.与上述应用于交换机的虚拟网络的路由方法相应地,本说明书还提供了配置于交换机的虚拟网络的路由装置实施例,图9示出了本说明书一个实施例提供的一种虚拟网络的路由装置的结构示意图。如图9所示,该装置包括:
141.第一路由发送模块902,可以被配置为在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址。
142.第二路由发送模块904,可以被配置为响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
143.其中,所述第一类路由信息以及所述第二类路由信息,用于使所述虚拟网络中的第一网络设备接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
144.本说明书一个或多个实施例中,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络。所述第一路由发送模块,可以被配置为在所述虚拟网络中发送包含所述第一类路由信息的rt5型路由,其中,所述虚拟转发节点初始配置的服务器接口地址通过所述边界网关协议的社团属性携带在所述rt5型路由。所述第二路由发送模块,可以被配置为在所述虚拟网络中发送包含所述第二类路由信息的rt2型路由,其中,所述rt2型路由中的目的网段设置为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳设置为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
145.本说明书一个或多个实施例中,所述装置还可以包括:路由配置模块,被配置为配置静态路由,所述静态路由中包括:目的网段以及所述目的网段的下一跳,所述下一跳为虚拟转发节点初始配置的服务器接口地址。路由生成模块,被配置为根据所述静态路由,基于所述边界网关协议生成所述rt5型路由,所述rt5型路由中目的网段的下一跳为所述交换机自身的虚拟隧道端点地址,且所述rt5型路由中的社团属性携带虚拟转发节点初始配置的服务器节点地址。
146.与上述应用于第一网络设备的虚拟网络的路由方法相应地,本说明书还提供了配置于第一网络设备的虚拟网络的路由装置实施例,图10示出了本说明书一个实施例提供的一种虚拟网络的路由装置的结构示意图。如图10所示,该装置包括:
147.第一路由接收模块1002,可以被配置为接收第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址。
148.第二路由接收模块1004,可以被配置为接收第二类路由信息,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
149.初始地址查找模块1006,可以被配置为将所述第一类路由信息中的虚拟转发节点
初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较;
150.路由生成模块1008,可以被配置为如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。
151.本说明书一个或多个实施例中,所述装置还可以包括:转发表写入模块,可以被配置为在确定所述路由条目的下一跳为有效出接口的情况下,将所述路由条目写入转发表,以便基于所述转发表进行流量转发。
152.本说明书一个或多个实施例中,所述初始地址查找模块包括:
153.第一路由条目生成子模块,可以被配置为根据所述第一类路由信息,生成第一类路由条目,所述第一类路由条目中,目的网段为所述第一类路由信息中的目的网段,下一跳为发送所述第一类路由信息的交换机的虚拟隧道端点地址。
154.第二路由条目生成子模块,可以被配置为根据所述第二类路由信息,生成第二类路由条目,所述第二类路由条目中,目的网段为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。
155.初始地址判断子模块,可以被配置为判断所述第一类路由信息是否携带了所述目的网段的虚拟转发节点初始配置的服务器接口地址;
156.比较子模块,可以被配置为如果所述初始地址判断子模块判定为是,将所述目的网段的虚拟转发节点初始配置的服务器接口地址与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较。
157.本说明书一个或多个实施例中,所述比较子模块可以包括:
158.初始地址迭代子模块,可以被配置为将所述目的网段的虚拟转发节点初始配置的服务器接口地址设置为所述第一类路由条目中的下一跳。
159.比较条目子模块,可以被配置为将所述第一类路由条目中的下一跳与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较。
160.相应地,所述路由生成模块1008,可以被配置为所述比较条目子模块确定为一致,则将所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址设置为所述第一类路由条目中的下一跳,得到所述路由条目。
161.本说明书一个或多个实施例中,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络。所述第一路由接收模块,可以被配置为接收包含所述第一类路由信息的rt5型路由。所述初始地址判断子模块,判断所述rt5型路由中是否存在基于所述边界网关协议的社团属性携带的所述目的网段的虚拟转发节点初始配置的服务器接口地址。
162.上述为本实施例的虚拟网络的路由装置的示意性方案。需要说明的是,该虚拟网络的路由装置的技术方案与上述的虚拟网络的路由方法的技术方案属于同一构思,虚拟网络的路由装置的技术方案未详细描述的细节内容,均可以参见上述虚拟网络的路由方法的技术方案的描述。
163.图11示出了根据本说明书一个实施例提供的一种计算设备1100的结构框图。该计算设备1100的部件包括但不限于存储器1110和处理器1120。处理器1120与存储器1110通过总线1130相连接,数据库1150用于保存数据。
164.计算设备1100还包括接入设备1140,接入设备1140使得计算设备1100能够经由一个或多个网络1160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
165.在本说明书的一个实施例中,计算设备1100的上述部件以及图11中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图11所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
166.计算设备1100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1100还可以是移动式或静止式的服务器。
167.其中,处理器1120用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟网络的路由方法的步骤。
168.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的虚拟网络的路由方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟网络的路由方法的技术方案的描述。
169.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟网络的路由方法的步骤。
170.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟网络的路由方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟网络的路由方法的技术方案的描述。
171.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟网络的路由方法的步骤。
172.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的虚拟网络的路由方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述虚拟网络的路由方法的技术方案的描述。
173.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
174.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、
电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
175.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
176.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
177.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
技术特征:1.一种虚拟网络的路由系统,包括:多台交换机及第一网络设备;所述交换机,被配置为在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;所述交换机还被配置为,响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;所述第一网络设备,被配置为接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。2.根据权利要求1所述的系统,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络;所述第一网络设备为所述虚拟网络中的网关设备,所述多台交换机分别与所述网关设备连接。3.一种虚拟网络的路由方法,应用于第一网络设备,包括:接收第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;接收第二类路由信息,所述第二类路由信息,包括:任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较;如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。4.根据权利要求3所述的方法,还包括:在确定所述路由条目的下一跳为有效出接口的情况下,将所述路由条目写入转发表,以便基于所述转发表进行流量转发。5.根据权利要求3所述的方法,所述将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,包括:根据所述第一类路由信息,生成第一类路由条目,所述第一类路由条目中,目的网段为所述第一类路由信息中的目的网段,下一跳为发送所述第一类路由信息的交换机的虚拟隧道端点地址;根据所述第二类路由信息,生成第二类路由条目,所述第二类路由条目中,目的网段为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;判断所述第一类路由信息是否携带了所述目的网段的虚拟转发节点初始配置的服务器接口地址;
如果是,将所述目的网段的虚拟转发节点初始配置的服务器接口地址与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较。6.根据权利要求5所述的方法,所述将所述目的网段的虚拟转发节点初始配置的服务器接口地址与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较,包括:将所述目的网段的虚拟转发节点初始配置的服务器接口地址设置为所述第一类路由条目中的下一跳;将所述第一类路由条目中的下一跳与所述第二类路由条目中的所述任一虚拟转发节点初始配置的服务器接口地址进行比较;所述如果一致,则生成路由条目,包括:如果一致,则将所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址设置为所述第一类路由条目中的下一跳,得到所述路由条目。7.根据权利要求5所述的方法,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络;所述接收第一类路由信息,包括:接收包含所述第一类路由信息的rt5型路由;所述判断所述第一类路由信息是否携带了所述目的网段的虚拟转发节点初始配置的服务器接口地址,包括:判断所述rt5型路由中是否存在基于所述边界网关协议的社团属性携带的所述目的网段的虚拟转发节点初始配置的服务器接口地址。8.一种虚拟网络的路由方法,应用于交换机,包括:在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;所述第一类路由信息以及所述第二类路由信息,用于使所述虚拟网络中的第一网络设备接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。9.根据权利要求8所述的方法,所述虚拟网络为基于边界网关协议的以太网虚拟专用网络;所述在虚拟网络中发送第一类路由信息,包括:在所述虚拟网络中发送包含所述第一类路由信息的rt5型路由,其中,所述虚拟转发节点初始配置的服务器接口地址通过所述边界网关协议的社团属性携带在所述rt5型路由;所述在虚拟网络中发送第二类路由信息,包括:
在所述虚拟网络中发送包含所述第二类路由信息的rt2型路由,其中,所述rt2型路由中的目的网段设置为所述任一虚拟转发节点初始配置的服务器接口地址,下一跳设置为所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址。10.根据权利要求9所述的方法,所述在虚拟网络中发送包含所述第一类路由信息的rt5型路由之前,还包括:配置静态路由,所述静态路由中包括:目的网段以及所述目的网段的下一跳,所述下一跳为虚拟转发节点初始配置的服务器接口地址;根据所述静态路由,基于所述边界网关协议生成所述rt5型路由,所述rt5型路由中目的网段的下一跳为所述交换机自身的虚拟隧道端点地址,且所述rt5型路由中的社团属性携带虚拟转发节点初始配置的服务器节点地址。11.一种虚拟网络的路由装置,配置于第一网络设备,包括:第一路由接收模块,被配置为接收第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;第二路由接收模块,被配置为接收第二类路由信息,所述第二类路由信息,包括:任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;初始地址查找模块,被配置为将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较;路由生成模块,被配置为如果所述初始地址查找模块判定为一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。12.一种虚拟网络的路由装置,配置于交换机,包括:第一路由发送模块,被配置为在虚拟网络中发送第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;第二路由发送模块,被配置为响应于接收到通知消息,在所述虚拟网络中发送第二类路由信息,所述通知消息,用于使交换机感知任一虚拟转发节点在所述交换机连接的服务器上线,所述第二类路由信息,包括:所述任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;所述第一类路由信息以及所述第二类路由信息,用于使所述虚拟网络中的第一网络设备接收所述第一类路由信息,接收所述第二类路由信息,将所述第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与所述第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较,如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,所述下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。13.一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求3至7或8至10任意一项所述虚拟网
络的路由方法的步骤。14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求3至7或8至10任意一项所述虚拟网络的路由方法的步骤。
技术总结本说明书实施例提供虚拟网络的路由系统、路由方法及路由装置,其中所述方法包括:接收第一类路由信息,所述第一类路由信息,包括:目的网段以及所述目的网段的虚拟转发节点初始配置的服务器接口地址;接收第二类路由信息,所述第二类路由信息,包括:任一虚拟转发节点初始配置的服务器接口地址以及所述任一虚拟转发节点实际连接的交换机的虚拟隧道端点地址;将第一类路由信息中的虚拟转发节点初始配置的服务器接口地址与第二类路由信息中的虚拟转发节点初始配置的服务器接口地址进行比较;如果一致,则生成路由条目,所述路由条目中包含所述目的网段以及所述目的网段的下一跳,下一跳为所述第二类路由信息中的交换机的虚拟隧道端点地址。拟隧道端点地址。拟隧道端点地址。
技术研发人员:李旅 齐辰晨 费腾 白晓磊
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2022.06.21
技术公布日:2022/11/1