一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

传输数据的方法、装置及网络设备与流程

2022-03-22 20:15:11 来源:中国专利 TAG:

media access control route,umr)。
7.在另一种可能的实现方式中,第三网络设备根据从第一网络设备接收的请求获取第一路由,包括:第三网络设备从第一网络设备接收请求,请求为用于获取到达第二用户侧设备的路由的请求,其中,请求为第一网络设备生成的请求或者为第一网络设备转发的第一用户侧设备生成的请求;根据请求获取第一路由,第一路由用于指示第一网络设备根据第一路由向第二网络设备转发发往第二用户侧设备的报文。第一路由的目的地址为第二用户侧设备的地址,第一路由的下一跳为第二网络设备的地址。第一网络设备在获取第一路由后,可以使用第一路由直接向第二网络设备发送需发往第二用户侧设备的报文。
8.从而,第一网络设备基于业务的单播流量动态请求路由,实现精准地请求路由,依据请求的路由发送报文达到路径最优的效果。如此,一方面,第一网络设备无需维护大量的路由,控制了第一网络设备存储的路由数量,明显地降低了第一网络设备的资源开销和存储压力;另一方面,由于获取所请求的路由后,第一网络设备发出的报文无需再经过第三网络设备转发,在诸如业务往来频繁等业务场景下也有利于均衡业务路径。
9.进一步的,方法还包括:第三网络设备接收第一网络设备依据第一路由发送的第一报文,向第二网络设备转发第一报文。第一报文为第一网络设备连接的第一用户侧设备向第二用户侧设备发送的报文。第一报文可以为单播报文。
10.另外,方法还包括:第三网络设备接收第二网络设备发送的第二路由,以及接收第一网络设备发送的第三路由。其中,第二路由用于指示第三网络设备转发向第二用户侧设备发送的报文。第三路由用于指示第三网络设备转发向第一用户侧设备发送的报文。
11.具体的,第三网络设备接收到第一网络设备依据第一路由发送的第一报文后,可以根据第二路由向第二网络设备转发第一报文。
12.在另一种可能的实现方式中,所述第一网络设备与所述第一用户侧设备直接或间接连接;以及所述第二网络设备与所述第二用户侧设备直接或间接连接。第一网络设备与第一用户侧设备直接连接的情况下第一网络设备可以为用户侧边缘网络设备,用于与用户主机等用户侧设备直接连接以提供网络服务。在第二网络设备与第二用户侧设备直接连接的情况下,第二网络设备也可以为用户侧边缘网络设备。以第一网络设备为例,在该直接连接方式中,第一网络设备可以从第三网络设备获取默认路由,以通过该第三网络设备向第二网络设备连接的第二用户侧设备发送第一用户侧设备的报文;或者,在该直接连接方式中,第一网络设备可以向第三网络设备发出请求以获取第一路由,从而直接根据该第一路由向第二用户侧设备发送报文。
13.第一网络设备与第一用户侧设备间接连接的情况下,第一网络设备也可以为网络侧网络设备,该第一网络设备例如可以通过第一用户侧边缘网络设备与第一用户侧设备连接。类似地,第二网络设备也可以通过第二用户侧边缘网络设备与第二用户侧设备连接。仍以第一网络设备为例,在该间接连接方式中,第一网络设备和第一用户侧边缘网络设备之间可以建立第一模式邻居,并且第三网络设备和第一网络设备之间也可以建立第一模式邻居,从而建立多级分层结构。第一网络设备可以从第三网络设备获取第一路由,该第一路由例如为umr路由,并且向第一用户侧边缘网络设备转发该umr路由,以最终通过该第三网络设备向第二网络设备连接的第二用户侧设备发送第一用户侧设备的报文;或者,在该间接连接方式中,第一网络设备可以通过第一用户侧边缘网络设备向第一网络设备发出用于获
取第一路由的请求,第一网络设备在接收该请求后,可以基于该请求生成更新的请求,以用于向第三网络设备请求获取第一路由,从而实现第一用户侧边缘网络设备或第一网络设备直接根据该第一路由向第二用户侧设备发送报文。
14.上述第一网络设备从第三网络设备获取第一路由,并向第一用户侧边缘网络设备转发的过程可以认为实现了类似路由反射器的功能。
15.此外,第一网络设备还可以获取一个或多个用于获取路由的请求,其中,该一个或多个请求可以是从一个或多个用户侧设备发出的。第一网络设备可以基于该一个或多个请求生成一个新的请求,并向第三网络设备转发,从而从第三网络设备获取对应于该一个或多个请求的一个或多个路由,并将该一个或多个路由转发至第一用户侧边缘网络设备,以使得第一用户侧边缘网络设备根据该一个或多个路由进行用户侧设备报文的转发。
16.在另一种可能的实现方式中,方法还包括:第三网络设备可以与第一网络设备协商输出路由过滤(outbound route filtering,orf)请求的数量。第三网络设备可以与第二网络设备协商orf请求的数量。orf请求用于请求网络设备连接的用户侧设备的路由。如果第三网络设备接收到大于阈值的orf请求后,第三网络设备丢弃多余数量的orf请求。
17.第二方面,本技术提供了一种传输数据的方法,该方法可应用于evpn系统中,系统包括第一网络设备、第二网络设备和第三网络设备,其中,第三网络设备分别与第一网络设备和第二网络设备建立第一模式邻居,第一网络设备连接第一用户侧设备,第二网络设备连接第二用户侧设备,方法由第一网络设备执行,或者该方法可应用于支持第一网络设备实现该方法的通信装置,例如该通信装置包括芯片系统。该方法包括:第一网络设备从第三网络设备接收第一路由,第一路由用于指示第一网络设备根据第一路由转发第一用户侧设备的报文;进而,第一网络设备接收第一用户侧设备发送的第一报文,根据第一路由转发第一报文。其中,第一报文为发往第二用户侧设备的报文。从而,第一网络设备仅存储发往第三网络设备的默认路由,依据第一网络设备为第三网络设备的spoke邻居,由第三网络设备转发第一网络设备发出的报文,或者,第一网络设备并不预先存储用于到达第二网络设备挂载的用户侧设备的路由,而是按需从第三网络设备获取相应的用户侧设备的路由,从而降低第一网络设备的资源开销和存储压力。
18.在一种可能的实现方式中,从第三网络设备接收第一路由,包括:接收第三网络设备生成并发送的第一路由;根据第一路由转发第一报文,包括:根据未查找到第二用户侧设备的媒体接入控制(media access control,mac)地址,使用第一路由向第三网络设备转发第一报文。
19.在另一种可能的实现方式中,从第三网络设备接收第一路由,包括:根据向第三网络设备发送的请求,从第三网络设备接收响应于请求的第一路由,其中,请求为用于获取到达第二用户侧设备的路由的请求;根据第一路由转发第一报文,包括:根据第一路由向与第二用户侧设备连接的第二网络设备转发第一报文。
20.在另一种可能的实现方式中,第一路由为第二用户侧设备的路由;方法还包括:在预设时段之后,删除第一路由。从而,避免第一网络设备存储较多的路由信息,增加第一网络设备的存储压力。
21.另外,第一网络设备接收第三网络设备发送的第一路由之前,方法还包括:第一网络设备向第三网络设备发送第二路由,第二路由用于指示第三网络设备转发向第一用户侧
设备转发报文。
22.在另一种可能的实现方式中,所述第一网络设备与所述第一用户侧设备直接或间接连接;以及所述第二网络设备与所述第二用户侧设备直接或间接连接。
23.第三方面,本技术提供了一种传输数据的方法,该方法可应用于evpn系统中,系统包括第一网络设备、第二网络设备和第三网络设备,其中,第三网络设备分别与第一网络设备和第二网络设备建立第一模式邻居,第一网络设备连接第一用户侧设备,第二网络设备连接第二用户侧设备,方法由第三网络设备执行,或者该方法可应用于支持第三网络设备实现该方法的通信装置,例如该通信装置包括芯片系统。该方法包括:第三网络设备接收来自第一网络设备的第一路由,并接收来自第二网络设备连接的第二用户侧设备的第一报文后,由于根据第一网络设备为第三网络设备的第一模式邻居,则第三网络设备根据第一路由向第一网络设备转发第一报文。其中,第一路由为第一包含性组播以太网标签(inclusive multicast ethernet tag,imet)路由,第一路由用于向第一用户侧设备转发报文。所述第一模式邻居例如可以是spoke邻居。
24.如此,第一网络设备和第二网络设备都仅存储第三网络设备的imet路由,无需存储其他网络设备的imet路由,从而,有效地降低了用户侧边缘节点的资源开销和存储压力。
25.在一种可能的实现方式中,方法还包括:第三网络设备接收来自第二网络设备的第二路由。第二路由为第二imet路由,第二路由用于向第二用户侧设备转发报文。
26.需要说明的是,根据第一网络设备为第三网络设备的第一模式邻居,第三网络设备不向第一网络设备转发第二路由;以及,根据第二网络设备为第三网络设备的第一模式邻居,第三网络设备不向第二网络设备转发第一路由。
27.另外,根据第二网络设备为第三网络设备的第一模式邻居,并且第一报文来自第二网络设备,第三网络设备不向第二网络设备转发第一报文。
28.在另一种可能的实现方式中,第三网络设备接收来自第二网络设备连接的第二用户侧设备的第一报文之前,方法还包括:向第二网络设备发布第三imet路由,以指示第二网络设备根据第三imet路由向第三网络设备发送第一报文。
29.在另一种可能的实现方式中,方法还包括:向第一网络设备发布第三imet路由,以指示第一网络设备根据第三imet路由向第三网络设备发送第二报文,其中,第二报文为与第一网络设备连接的第一用户侧设备的报文。
30.其中,第一报文和第二报文均为广播,未知单播,多播(broadcast,unknown unicast,multicast,bum)报文,也即第一报文和第二报文均为广播、未知单播或多播报文中的任意一种。
31.在另一种可能的实现方式中,所述第一网络设备与所述第一用户侧设备直接或间接连接;以及所述第二网络设备与所述第二用户侧设备直接或间接连接。第一网络设备与第一用户侧设备直接连接的情况下第一网络设备可以为用户侧边缘网络设备,用于与用户主机等用户侧设备直接连接以提供网络服务。在第二网络设备与第二用户侧设备直接连接的情况下,第二网络设备也可以为用户侧边缘网络设备。以第一网络设备为例,在该直接连接方式中,第一网络设备可以从第三网络设备获取第三网络设备发布的imet路由,以通过该第三网络设备向第二网络设备连接的第二用户侧设备发送第一用户侧设备的报文。在第一网络设备与第一用户侧设备间接连接的情况下,第一网络设备也可以为网络侧网络设
备,该第一网络设备例如可以通过第一用户侧边缘网络设备与第一用户侧设备连接。类似地,第二网络设备也可以通过第二用户侧边缘网络设备与第二用户侧设备连接。仍以第一网络设备为例,在该间接连接方式中,第一网络设备和第一用户侧边缘网络设备之间可以建立第一模式邻居,并且第三网络设备和第一网络设备之间也可以建立第一模式邻居,从而建立多级分层结构。第一网络设备可以从第三网络设备获取imet路由,并且向第一用户侧边缘网络设备转发该imet路由,以最终通过该第三网络设备向第二网络设备连接的第二用户侧设备发送第一用户侧设备的报文。
32.上述第一网络设备从第三网络设备获取imet路由,并向第一用户侧边缘网络设备转发的过程可以认为实现了类似路由反射器的功能。
33.第四方面,本技术提供一种传输数据的方法,该方法可应用于evpn系统中,系统包括第一网络设备、第二网络设备和第三网络设备,其中,第三网络设备分别与第一网络设备和第二网络设备建立第一模式邻居,第一网络设备连接第一用户侧设备,第二网络设备连接第二用户侧设备,方法由第一网络设备执行,或者该方法可应用于支持第一网络设备实现该方法的通信装置,例如该通信装置包括芯片系统。该方法包括:第一网络设备根据第一网络设备为第三网络设备的第一模式邻居,向第三网络设备发送第一路由。进而,第一网络设备接收第三网络设备发送的第一报文,第一报文为与第二网络设备连接的第二用户侧设备的报文。其中,第一路由为第一imet路由,第一路由用于向第一用户侧设备转发报文。
34.此外,根据第一网络设备不是第二网络设备的第一模式邻居,第一网络设备不向第二网络设备发送第一路由。第一模式邻居例如为spoke邻居。
35.在另一种可能的实现方式中,所述第一网络设备与所述第一用户侧设备直接或间接连接;以及所述第二网络设备与所述第二用户侧设备直接或间接连接。
36.第五方面,本技术提供了一种通信装置,有益效果可以参见第一方面至第四方面中任一方面的描述,此处不再赘述。所述通信装置具有实现上述第一方面至第四方面中任一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,该通信装置包括:接收单元、处理单元和发送单元。作为一个示例的,通信装置用于实现上述第三网络设备的功能,具体的,处理单元用于生成第一路由。发送单元用于向第一网络设备和第二网络设备发送第一路由。接收单元用于接收第一网络设备发送的第二路由,以及接收第二网络设备发送的第三路由。路由可以是mac路由或imet路由。另外,接收单元还用于接收第一网络设备发送的第一报文。发送单元用于依据第三路由向第二网络设备转发第一报文。接收单元还用于接收第二网络设备发送的第二报文。发送单元用于依据第二路由向第一网络设备转发第二报文。报文可以是单播报文或bum报文。这些模块可以执行上述第一方面至第四方面中任一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
37.第六方面,本技术提供了一种网络设备,该网络设备可以为上述方法实施例中的各网络设备,或者为设置在网络设备中的芯片。该网络设备包括接口电路以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序或指令,处理器与存储器、接口电路耦合,当处理器执行所述计算机程序或指令时,使网络设备执行上述方法实施例中由各网络设备所执行的相应方法。
38.第七方面,本技术提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码并运行时,使得上述各方面中由网络设备执行的方法被执行。
39.第八方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各方面的方法中网络设备的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
40.第九方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述各方面中由网络设备执行的方法。
附图说明
41.图1为本技术实施例提供的一种vxlan的简化结构示意图;
42.图2为本技术实施例提供的一种传输数据的方法流程图;
43.图3为本技术实施例提供的一种路由学习过程示意图;
44.图4为本技术实施例提供的另一种传输数据的方法流程图;
45.图5为本技术实施例提供的一种报文发送过程示意图;
46.图6为本技术实施例提供的另一种传输数据的方法流程图;
47.图7为本技术实施例提供的一种arp报文发送过程示意图;
48.图8为本技术实施例提供的另一种报文发送过程示意图;
49.图9为本技术实施例提供的另一种传输数据的方法流程图;
50.图10为本技术实施例提供的另一种路由学习过程示意图;
51.图11为本技术实施例提供的另一种传输数据的方法流程图;
52.图12为本技术实施例提供的另一种报文发送过程示意图;
53.图13为本技术实施例提供的另一种vxlan的简化结构示意图;
54.图14为本技术实施例提供的另一种传输数据的方法流程图;
55.图15为本技术实施例提供的另一种传输数据的方法流程图;
56.图16为本技术实施例提供的一种通信装置的结构图;
57.图17为本技术实施例提供的一种网络设备的结构图;
58.图18为本技术实施例提供的另一种网络设备的结构图。
具体实施方式
59.目前,规模化、虚拟化、云计算已成为网络的发展方向,来实现整合信息技术(information technology,it)资源、提升资源利用效率、降低维护成本等目的。随着网络在物理网络基础设施上实施虚拟化的快速发展,物理设备上虚拟机(virtual machine,vm)的数量在不断增加,虚拟化环境下运行的应用数量也在不断上升,物理网络的架构限制了虚拟机的发展规模,为虚拟网络带来了很大的挑战。作为基于三层(layer 3,l3)承载的网络虚拟化(network virtualizaiton over layer 3,nvo3)技术之一的虚拟扩展局域网(virtual extensible local area network,vxlan)技术具有很强的适应性,为网络的虚拟化提供了良好的解决方案。
60.vxlan中的vxlan隧道端点(vxlan tunnel endpoints,vtep)采用用户数据报协议
(user datagram protocol,udp)封装源虚拟机发出的数据包,得到vxlan报文。将物理网络中的vtep的网际互连协议(internet protocol,ip)地址和媒体接入控制(media access control,mac)作为vxlan报文中的外层报头(outer-header)。vxlan报文中源ip地址为vxlan隧道的本端vtep的地址,vxlan报文中目的ip地址为vxlan隧道的对端vtep的地址。将vxlan报文在ip网络上利用一对vtep组建的vxlan隧道传输,由vxlan隧道终结处的vxlan隧道端点解封装vxlan报文,并将数据发送给目的虚拟机。从而,实现了物理网络和虚拟网络解耦,租户可以规划自己的虚拟网络,不需要考虑物理网络ip地址和广播域的限制,大大降低了网络管理的难度。
61.示例的,图1为本技术实施例提供的一种vxlan的简化结构示意图。如图1所示,vxlan包括网络设备101、网络设备102和网络设备103。网络设备101、网络设备102和网络设备103之间可以利用物理介质相互连接。网络设备101、网络设备102和网络设备103分别是三个不同的vxlan隧道端点。网络设备101和网络设备102之间建立了vxlan隧道1。网络设备102和网络设备103之间建立了vxlan隧道2。网络设备103和网络设备101之间建立了vxlan隧道3。网络设备103可以接入其他网络(如互联网络)。例如,网络设备103可以是vxlan的网关设备,网络设备103连接互联网络中的网络设备108,则vxlan内的报文可以通过网络设备103传输至vxlan以外的网络。网络设备101连接服务器104和服务器105。网络设备102连接服务器106和服务器107。服务器104至服务器107中每个服务器上划分了多个虚拟机。假设服务器104上的虚拟机向服务器106上的虚拟机发送数据,网络设备101先采用udp对服务器104上的虚拟机发送的数据包进行封装,得到vxlan报文。通过网络设备101和网络设备102之间的vxlan隧道1,将vxlan报文传输给网络设备102,网络设备102解封装vxlan报文,将vxlan报文包括的数据传输给服务器106上的虚拟机。与服务器连接的网络设备101和网络设备102可以称为网络中的用户侧边缘节点,并且均与网络侧的网络设备103连接。
62.本实施例所述的网络设备可以是路由器或交换机等设备。由接入用户侧边缘节点(如网络设备101和网络设备102)的设备连接的设备除了图1中所示的服务器,还可以是其他设备,例如,主机或终端(terminal)。终端也可以称为终端设备、用户设备(user equipment,ue)、移动台(mobile station,ms)或移动终端(mobile terminal,mt)等。终端可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、可穿戴设备、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本技术的实施例对终端所采用的具体技术和具体设备形态不做限定。图1只是示意性说明,本技术的实施例对该系统中包括的网络设备和服务器的数量不做限定。
63.通常,一台服务器可以虚拟出多台虚拟机,而一台虚拟机可以视为一台主机。在虚拟机上可以灵活部署业务。其中,同一业务可以部署在属于同一网段的虚拟机上。不同的业务可以部署在属于不同网段的虚拟机上。属于同一网段的虚拟机之间可以进行通信。属于不同网段的虚拟机之间也可以进行通信。例如,服务器104和服务器106上属于同一网段的虚拟机上部署财务部的业务。又如,服务器105和服务器107上属于同一网段的虚拟机上部
署工程部的业务。承载财务部的业务虚拟机之间可以通信。承载财务部的业务的虚拟机和承载工程部的业务的虚拟机之间也可以通信。又如,人力资源部的业务部署在传统的网络的服务器上,承载财务部的业务虚拟机、承载工程部的业务虚拟机和承载人力资源部的业务的服务器之间也可通信。
64.需要说明的是,vxlan中vxlan隧道端点通过广播报文发现其他vxlan隧道端点和学习主机信息。主机信息包括ip地址、mac地址、vxlan网络标识(vxlan network identifier,vni)和网关vtep的ip地址等。这种方式导致网络存在很多泛洪流量。为了解决这一问题,在vxlan中,可以采用以太网虚拟专用网络(ethernet virtual private network,evpn)技术,在边界网关协议(border gateway protocol,bgp)的基础上定义了一种新的网络层可达信息(network layer reachability information,nlri),即evpn nlri,evpn nlri定义了几种新的bgp-evpn路由类型(如:mac/ip路由,包含性组播以太网标签(inclusive multicast,imet)路由,ip前缀路由等),通过在vtep之间交换bgp-evpn路由实现vtep的自动发现和主机信息相互通告等特性。
65.但是,在规模较大的vxlan(如一些大型园区中部署的vxlan)网络中,用户侧边缘节点(如:靠近服务器的网络设备)的数量非常多。即使每个用户侧边缘节点产生一条路由,用户侧边缘节点的硬件也是无法支持这样规模的路由量。
66.为此,本技术实施例提出解决方案,在该方案中,网络侧节点分别与和其连接的各个用户侧边缘节点之间建立特定邻居模式,以使得各个用户侧边缘节点根据建立的该邻居模式,向该网络侧节点发布通过用户侧边缘节点实现网络通信的设备(如用户主机等)的路由,各用户侧边缘节点之间可以不再相互通告路由,而是通过该网络侧节点相互转发报文,或者按需动态地从该网络侧节点获取到达其他用户侧边缘节点的路由,从而降低用户侧边缘节点的存储压力和资源开销。
67.接下来,结合附图对本技术提供的传输数据的方法进行详细说明。
68.图2为本技术实施例提供的一种传输数据的方法流程图。这里以网络设备101、网络设备102和网络设备103为例进行说明。其中,网络设备103分别与网络设备101和网络设备102建立第一模式邻居。第一模式邻居可以是指spoke邻居。如图2所示,该方法包括以下步骤。
69.s201、网络设备103生成第一路由。
70.网络设备103根据存储的与其建立spoke邻居的网络设备的信息,确定网络设备101为网络设备103的第一模式邻居,以及确定网络设备102为网络设备103的第一模式邻居。进而,网络设备103根据网络设备101为网络设备103的第一模式邻居,以及网络设备102为网络设备103的第一模式邻居,生成第一路由。
71.第一路由用于指示网络设备101根据第一路由向网络设备103转发发往网络设备102连接的虚拟机的报文。
72.第一路由还用于指示网络设备102根据第一路由向网络设备103转发发往网络设备101连接的虚拟机的报文。
73.第一路由可以是默认路由。例如,默认路由为未知mac路由(unknown mac route,umr),如由mac地址0-0-0表示。网络设备103通过发布该默认路由,可以使得接收到该默认路由的网络设备根据该默认路由将需发送的业务报文转发至网络设备103,然后由网络设
备103通过本地查表确定将接收的业务报文转发至下一网络设备。
74.s202、网络设备103向网络设备101发送第一路由。
75.网络设备103依据与网络设备101的spoke模式的bgp-evpn邻居关系向网络设备101发送第一路由。
76.s203、网络设备103向网络设备102发送第一路由。
77.网络设备103依据与网络设备102的spoke模式的bgp-evpn邻居关系向网络设备102发送第一路由。
78.s204、网络设备101从网络设备103接收第一路由。
79.网络设备101接收到第一路由后,将第一路由记录到未知单播路由表中。在网络设备101接收到网络设备101连接的虚拟机发送的报文后,可以根据第一路由向网络设备103转发报文。
80.s205、网络设备102从网络设备103接收第一路由。
81.网络设备102接收到第一路由后,将第一路由记录到未知单播路由表中。在网络设备102接收到网络设备102连接的虚拟机发送的报文后,可以根据第一路由向网络设备103转发报文。
82.在一种情形中,第一路由可以是网络设备103根据其与网络设备102和网络设备103之间的第一模式邻居关系主动发送的。在另一种情形中,网络设备103也可以接收到来自网络设备101和网络设备102的请求(如:输出路由过滤(outbound route filtering,orf)请求)后,向网络设备101和网络设备102发送第一路由。orf请求用于请求默认路由。在一些实施例中,orf请求包括路由类型,该路由类型指示默认路由。示例的,在s201之前,该方法还可以包括以下步骤。
83.s206、网络设备101向网络设备103发送第一输出路由过滤请求。
84.网络设备101依据与网络设备103的中心(hub)模式的bgp-evpn邻居关系,向网络设备103发送第一输出路由过滤请求。
85.s207、网络设备103接收网络设备101发送的第一输出路由过滤请求。
86.网络设备103接收到网络设备101发送的第一输出路由过滤请求后,向网络设备101发送第一路由。
87.s208、网络设备102向网络设备103发送第一输出路由过滤请求。
88.网络设备102依据与网络设备103的hub模式的bgp-evpn邻居关系,向网络设备103发送第一输出路由过滤请求。
89.s209、网络设备103接收网络设备102发送的第一输出路由过滤请求。
90.网络设备103接收到网络设备102发送的第一输出路由过滤请求后,向网络设备102发送第一路由。
91.在另一些实施例中,网络设备101和网络设备102还可以向网络设备103发送自己的mac路由。该方法还包括以下步骤。
92.s210、网络设备102向网络设备103发送第二路由。
93.第二路由用于指示网络设备103根据第二路由向网络设备102转发发往网络设备102连接的虚拟机的报文。
94.s211、网络设备101向网络设备103发送第三路由。
95.第三路由用于指示网络设备103根据第三路由向网络设备101转发发往网络设备101连接的虚拟机的报文。
96.s212、网络设备103接收网络设备102发送的第二路由。
97.s213、网络设备103接收网络设备101发送的第三路由。
98.示例的,如图3所示,为本技术实施例提供的一种路由学习过程示意图。网络设备103分别向网络设备101和网络设备102发送第一路由。网络设备102向网络设备103发送第二路由。网络设备101向网络设备103发送第三路由。
99.根据网络设备101为网络设备103的第一模式邻居,网络设备103接收到网络设备102发送的第二路由,但不向网络设备101转发第二路由。以及,根据网络设备102为第三网络设备103的第一模式邻居,网络设备103接收到网络设备101发送的第三路由,但不向网络设备102转发第三路由。并且,网络设备101和网络设备102之间还可以根据相互不为第一模式邻居而不向对方通告第二路由或第三路由。网络设备101和网络设备102之间例如可以是第二模式邻居,例如hub模式的邻居。
100.如此,网络设备101和网络设备102都仅存储默认路由,但无需存储vxlan中其他网络设备的路由,从而,有效地降低了用户侧边缘节点的资源开销和存储压力。
101.进一步地,在与网络设备101连接的设备(如:服务器104、服务器105)上的虚拟机启动后,虚拟机将自己的mac地址通告给网络设备103。同理,在与网络设备102连接的设备(如:服务器106、服务器107)上的虚拟机启动后,虚拟机将自己的mac地址通告给网络设备103。从而,网络设备103学习到了vxlan中与用户侧边缘节点连接的所有虚拟机的mac地址。虚拟机之间进行通信时,由网络设备103转发虚拟机之间的单播报文。
102.图4为本技术实施例提供的一种传输数据的方法流程图。与上述图2的区别在于,这里假设网络设备103已学习到了网络设备101的地址、与网络设备101连接的所有服务器上的虚拟机的地址、网络设备102的地址和与网络设备102连接的所有服务器上的虚拟机的地址。其中,网络设备103分别与网络设备101和网络设备102建立第一模式邻居。以服务器104中的虚拟机1访问服务器106中的虚拟机2为例进行说明。假设服务器104中的虚拟机1已获知服务器106中的虚拟机2的mac地址。如图4所示,在s201至s213之后,该方法包括以下步骤。
103.s401、服务器104中的虚拟机1向网络设备101发送第一报文。
104.第一报文的报头中包括虚拟机1的mac地址和虚拟机2的mac地址。第一报文为网络设备101连接的虚拟机1向网络设备102连接的虚拟机2发送的报文。在本实施例中,该第一报文为单播报文。
105.s402、网络设备101接收服务器104中的虚拟机1发送的第一报文。
106.s403、网络设备101根据第一路由转发第一报文。
107.由于网络设备101在单播路由表中没有未查找到虚拟机2的mac地址,则网络设备101使用未知单播路由表中的第一路由向网络设备103转发第一报文。
108.可理解的,网络设备101可以利用udp封装第一报文,得到第一vxlan报文。第一vxlan报文的报头可以包括网络设备101的ip地址、网络设备103的ip地址、网络设备101的mac地址和第一报文包含的网络设备102连接的虚拟机2的mac地址。网络设备101通过网络设备101与网络设备103之间的vxlan隧道3,向网络设备103发送第一vxlan报文。
109.s404、网络设备103接收网络设备101发送的第一报文。
110.s405、网络设备103根据第二路由向网络设备102转发第一报文。
111.网络设备103解封装第一vxlan报文,根据网络设备102连接的虚拟机2的mac地址查询单播路由表得到第二路由,网络设备102是网络设备103的spoke邻居,则网络设备103根据第二路由向网络设备102转发第一报文。
112.可理解的,网络设备103可以利用udp封装第一报文,得到第二vxlan报文。网络设备103根据第二路由通过网络设备103与网络设备102之间的vxlan隧道2,向网络设备102转发第二vxlan报文。第二vxlan报文的报头包括网络设备103的ip地址、网络设备103的mac地址、网络设备102的ip地址和网络设备102的mac地址。
113.s406、网络设备102接收网络设备103发送的第一报文。
114.s407、网络设备102向与网络设备102连接的虚拟机2转发第一报文。
115.可理解的,网络设备102解封装第二vxlan报文,得到第一报文,向与网络设备102连接的虚拟机2发送第一报文。
116.示例的,如图5所示,为本技术实施例提供的一种报文发送过程示意图。服务器104中的虚拟机1向服务器106中的虚拟机2发送第一报文的路径为服务器104中的虚拟机1-》网络设备101-》网络设备103-》网络设备102-》服务器106中的虚拟机2。服务器107中的虚拟机向服务器105中的虚拟机发送第二报文的路径为服务器107中的虚拟机-》网络设备102-》网络设备103-》网络设备101-》服务器105中的虚拟机。
117.如此,在网络设备101和网络设备102都仅存储默认路由,无需存储vxlan中其他网络设备的路由的情况下,按需从网络设备103获取向网络设备102连接的虚拟机2发送报文的路由,通过网络设备103转发报文,使得网络设备101连接的虚拟机1和网络设备102连接的虚拟机2进行通信。从而,有效地降低了用户侧边缘节点的资源开销和存储压力。
118.在一些实施例中,如果网络设备101连接的虚拟机1不知道网络设备102连接的虚拟机2的mac地址,网络设备101连接的虚拟机1发送请求,获取网络设备102连接的虚拟机2的mac地址。图6为本技术实施例提供的一种传输数据的方法流程图。如图6所示,在s401之前,所述方法还包括以下步骤。
119.s601、服务器104中的虚拟机1向网络设备101发送地址解析协议(address resolution protocol,arp)报文。
120.地址解析协议报文用于请求网络设备102连接的虚拟机2的mac地址。地址解析协议报文包括网络设备102连接的虚拟机2的ip地址。
121.s602、网络设备101接收服务器104中的虚拟机1发送的地址解析协议报文。
122.s603、网络设备101向网络设备103转发该地址解析协议报文。
123.网络设备101在接收到该地址解析协议报文后,如果在本地存储的arp表中查询到与虚拟机2的ip地址关联的虚拟机2的mac地址,网络设备101向服务器104中的虚拟机1反馈虚拟机2的mac地址。否则,如果网络设备101在本地存储的arp表中未查询到与虚拟机2的ip地址关联的虚拟机2的mac地址,网络设备101向网络设备103广播该地址解析协议报文。例如,网络设备101根据网络设备103发送的imet路由向网络设备103广播该地址解析协议报文。
124.可理解的,网络设备101可以利用udp封装该地址解析协议报文,得到第三vxlan报
文。通过网络设备101与网络设备103之间的vxlan隧道3,向网络设备103发送第三vxlan报文。
125.s604、网络设备103接收网络设备101发送的地址解析协议报文。
126.s605、网络设备103根据第三路由向网络设备101发送响应报文。
127.由于网络设备103学习到了网络设备102连接的虚拟机2的ip地址和mac地址,网络设备103根据网络设备102连接的虚拟机2的ip地址查询arp表得到网络设备102连接的虚拟机2的mac地址。网络设备103生成响应报文,响应报文包括网络设备102连接的虚拟机2的mac地址。网络设备103通过网络设备101与网络设备103之间的vxlan隧道3,向网络设备101转发响应报文。可理解的,网络设备103可以利用udp封装响应报文,得到第四vxlan报文。通过网络设备103与网络设备101之间的vxlan隧道3,向网络设备103发送第四vxlan报文。
128.例如,假设网络设备102连接的虚拟机2的ip地址为10.1.1.2,网络设备102连接的虚拟机2的mac地址2-2-2。网络设备103根据10.1.1.2查询到2-2-2,向网络设备101反馈10.1.1.2和2-2-2。
129.s606、网络设备101接收网络设备103发送的响应报文。
130.s607、网络设备101向网络设备101连接的虚拟机1发送响应报文。
131.进而,网络设备101连接的虚拟机1可以根据网络设备102连接的虚拟机2的mac地址向网络设备102连接的虚拟机2发送报文。具体的参考上述实施例中s401至s407的阐述,不予赘述。
132.示例的,如图7所示,为本技术实施例提供的一种arp报文发送过程示意图。服务器104中的虚拟机1请求服务器106中的虚拟机2的mac地址的arp报文的路径为服务器104中的虚拟机1-》网络设备101-》网络设备103-》网络设备101-》服务器104中的虚拟机1。
133.可选的,网络设备101也可以根据网络设备101连接的虚拟机1发送的arp请求生成orf请求,网络设备101利用orf请求获取网络设备102连接的虚拟机2的mac地址。例如,网络设备101向网络设备103发送第二orf请求,第二orf请求包括的路由类型指示获取网络设备102连接的虚拟机2的路由。
134.从而,网络设备101基于业务的单播流量动态请求mac地址,实现精准地请求路由,依据请求的路由发送报文达到最优路径的效果,并且减少网络设备101存储的mac地址数量,从而降低网络设备101的资源开销和存储压力。
135.网络设备102连接的虚拟机2的路由的目的地址为网络设备102连接的虚拟机2的地址。另外,网络设备103可以保存网络设备102连接的虚拟机2的路由的下一跳为网络设备102。
136.如果网络设备101连接的虚拟机向网络设备102连接的虚拟机发送的报文每次都由网络设备103的转发,消耗网络设备103的大量资源。在另一种情形中,如果服务器104中的虚拟机向网络设备102连接的虚拟机发送报文的次数大于预设门限,网络设备101可以生成orf请求,网络设备101利用orf请求获取网络设备102连接的虚拟机的mac地址。网络设备101接收到网络设备103发送的网络设备102连接的虚拟机的mac地址后,将网络设备102连接的虚拟机的mac地址添加到单播路由表。从而,避免由网络设备103转发网络设备101连接的虚拟机向网络设备102连接的虚拟机发送的报文,减少网络设备103的资源消耗。后续,网络设备101连接的虚拟机向网络设备102连接的虚拟机发送报文时,网络设备101可以查询
单播路由表,即可获取到网络设备102连接的虚拟机的mac地址,网络设备101通过网络设备101与网络设备102之间的vxlan隧道1,向网络设备102转发网络设备101连接的虚拟机的报文。不需要再将网络设备101连接的虚拟机的报文转发到网络设备103,由网络设备103查询网络设备102连接的虚拟机的mac地址,转发网络设备101连接的虚拟机的报文。示例的,如图8所示,为本技术实施例提供的一种报文发送过程示意图。服务器104中的虚拟机1向服务器106中的虚拟机2发送单播报文的路径为服务器104中的虚拟机1-》网络设备101-》网络设备102-》服务器106中的虚拟机2。
137.此外,在预设时长内,网络设备101未再接收到网络设备101连接的虚拟机向网络设备102连接的虚拟机发送的单播报文,则网络设备101可以删除单播路由表中的网络设备102连接的虚拟机的mac地址。从而,减少网络设备101存储的mac地址的数量。
138.在另一种可能的实现方式中,网络设备101还可以与网络设备103协商输出路由过滤(outbound route filtering,orf)请求的数量。orf请求用于请求网络设备连接的用户侧设备的路由。网络设备103可以根据网络设备103的spoke邻居的数量或evpn实例的(route distinguisher,rd)值确定orf请求的数量。或者,网络设备101告知网络设备103orf请求的最大数量。如果网络设备103接收到大于阈值的orf请求后,网络设备103丢弃多余数量的orf请求。
139.图9为本技术实施例提供的一种传输数据的方法流程图。这里以网络设备101、网络设备102和网络设备103为例进行说明。其中,网络设备103分别与网络设备101和网络设备102建立第一模式邻居。第一模式邻居可以是指spoke邻居。如图9所示,该方法包括以下步骤。
140.s901、网络设备101向网络设备103发送第一imet路由。
141.网络设备101根据存储的与其建立spoke邻居的网络设备的信息,确定网络设备101为网络设备103的第一模式邻居,网络设备101向网络设备103发送第一imet路由。
142.第一imet路由用于指示网络设备103根据第一imet路由向网络设备101转发发往网络设备101连接的虚拟机的广播、未知单播和多播(broadcast,unknown unicast,multicast,bum)报文,也即发往网络设备101连接的虚拟机的报文为广播、未知单播或多播报文中的任意一种。
143.网络设备101依据与网络设备103的hub模式bgp-evpn邻居关系,向网络设备103发送第一imet路由。
144.s902、网络设备102向网络设备103发送第二imet路由。
145.网络设备102根据存储的与其建立spoke邻居的网络设备的信息,确定网络设备102为网络设备103的第一模式邻居,网络设备102向网络设备103发送第二imet路由。
146.第二imet路由用于指示网络设备103根据第二imet路由向网络设备102转发发往网络设备102连接的虚拟机的bum报文。
147.网络设备102依据与网络设备103的hub模式bgp-evpn邻居关系,向网络设备103发送第二imet路由。
148.s903、网络设备103接收网络设备101发送的第一imet路由。
149.网络设备103接收到第一imet路由后,将第一imet路由记录到广播路由表中。在网络设备103接收到网络设备102连接的虚拟机发送的bum报文后,可以根据第一imet路由向
网络设备101转发bum报文。
150.s904、网络设备103接收网络设备102发送的第二imet路由。
151.网络设备103接收到第二imet路由后,将第二imet路由记录到广播路由表中。在网络设备103接收到网络设备101连接的虚拟机发送的bum报文后,可以根据第二imet路由向网络设备102转发bum报文。
152.s905、网络设备103向网络设备101发送第三imet路由。
153.网络设备103依据与网络设备101的spoke邻居关系,向网络设备101发送第三imet路由,以指示网络设备101根据第三imet路由向网络设备103发送报文。
154.s906、网络设备103向网络设备102发送第三imet路由。
155.网络设备103依据与网络设备102的spoke邻居关系,向网络设备102发送第三imet路由,以指示网络设备102根据第三imet路由向网络设备103发送报文。
156.s907、网络设备101接收网络设备103发送的第三imet路由。
157.s908、网络设备102接收网络设备103发送的第三imet路由。
158.可选的,网络设备103也可以先向网络设备101和网络设备102发送第三imet路由。再接收网络设备101发送的第一imet路由和网络设备102发送的第二imet路由。本实施例对s901至s904,以及s905至s908的先后顺序不予限定。
159.示例的,如图10所示,为本技术实施例提供的一种路由学习过程示意图。网络设备103分别向网络设备101和网络设备102发送第三imet路由。网络设备102向网络设备103发送第二imet路由。网络设备101向网络设备103发送第一imet路由。
160.需要说明的是,根据网络设备101为网络设备103的第一模式邻居,网络设备103接收到网络设备102发送的第二imet路由,不向网络设备101转发第二imet路由。以及,根据网络设备102为第三网络设备103的第一模式邻居,网络设备103接收到网络设备101发送的第一imet路由,不向网络设备102转发第一imet路由。并且,网络设备101和网络设备102之间还可以根据相互不为第一模式邻居而不向对方通告第一imet路由或第二imet路由。网络设备101和网络设备102之间例如可以是第二模式邻居,例如中心(hub)模式的邻居。
161.如此,网络设备101和网络设备102都仅存储网络设备103的imet路由,而无需存储vxlan中其他网络设备的imet路由,从而,有效地降低了用户侧边缘节点的资源开销和存储压力。
162.图11为本技术实施例提供的一种传输数据的方法流程图。这里以服务器104中的虚拟机1发送bum报文为例进行说明。如图11所示,在s901至s908之后,该方法包括以下步骤。
163.s1101、服务器106中的虚拟机1向网络设备102发送第一报文。
164.第一报文的报头中包括服务器106中的虚拟机1的mac地址和广播地址。在本实施例中,该第一报文为bum报文。
165.s1102、网络设备102接收服务器106中的虚拟机1发送的第一报文。
166.s1103、网络设备102根据第三imet路由转发第一报文。
167.网络设备102查找广播路由表,使用广播路由表中的第三imet路由向网络设备103转发第一报文。
168.可理解的,网络设备102可以利用udp封装第一报文,得到第一vxlan报文。第一
vxlan报文的报头可以包括网络设备102的ip地址和网络设备103的ip地址。网络设备102通过网络设备102与网络设备103之间的vxlan隧道2,向网络设备103发送第一vxlan报文。
169.s1104、网络设备103接收网络设备102发送的第一报文。
170.s1105、网络设备103根据第一imet路由向网络设备101转发第一报文。
171.网络设备103解封装第一vxlan报文,确定第一报文为bum报文,利用udp封装第一报文,得到第二vxlan报文。网络设备103根据第一imet路由通过网络设备103与网络设备101之间的vxlan隧道3,向网络设备101转发第二vxlan报文。第二vxlan报文的报头可以包括网络设备103的ip地址、网络设备103的mac地址、网络设备101的ip地址和网络设备101的mac地址。
172.s1106、网络设备101接收网络设备103发送的第一报文。
173.s1107、网络设备101向与网络设备101连接的虚拟机转发第一报文。
174.可理解的,网络设备101解封装第二vxlan报文,得到第一报文,向与网络设备101连接的服务器104的虚拟机和服务器105的虚拟机发送第一报文。
175.示例的,如图12所示,为本技术实施例提供的一种报文发送过程示意图。服务器107中的虚拟机发送bum报文的路径为服务器107中的虚拟机-》网络设备102-》网络设备103-》网络设备101-》服务器104和服务器105中的虚拟机。
176.如此,在网络设备101和网络设备102都仅存储网络设备103的imet路由,无需存储vxlan中其他网络设备的imet路由的情况下,通过网络设备103转发bum报文,使得网络设备101连接的虚拟机和网络设备102连接的虚拟机进行通信。从而,有效地降低了用户侧边缘节点的资源开销和存储压力。
177.可选的,网络设备103接收到网络设备102连接的虚拟机发送的bum报文时可以做源剪枝操作,即网络设备103向网络设备101转发bum报文,不再向网络设备102转发bum报文。具体的,对于vxlan方式、srv6方式可以利用bum报文中的源ip字段进行过滤。对于多协议标签交换(multi-protocol label switching,mpls)方式,则需在bum报文中添加源标签进行过滤。
178.本技术描述的各个实施例以vxlan隧道作为示例,在适用本技术各实施例的其他可能的应用场景中,隧道类型也可以是srv6隧道或mpls隧道。
179.在另一些实施例中,网络设备103可以与其他网络设备(如网络设备108)建立第二模式邻居。第二模式邻居可以是中心(hub)模式的邻居。
180.网络设备103从网络设备108接收到的单播报文,查询单播路由表,若下一跳为网络设备103的spoke邻居(如:网络设备101或网络设备102),网络设备103向spoke邻居发送单播报文。
181.网络设备103从网络设备108接收到的用于通告下挂虚拟机的路由或imet路由,不向网络设备103的spoke邻居(如:网络设备101或网络设备102)发送。
182.网络设备103从spoke邻居(如:网络设备101或网络设备102)接收到单播报文,查询单播路由表,若下一跳为网络设备103的bgp-evpn邻居(如网络设备108),网络设备103向bgp-evpn邻居发送单播报文。
183.网络设备103从网络设备108接收到的bum报文,查询广播路由表,若下一跳为网络设备103的spoke邻居(如:网络设备101或网络设备102),网络设备103向spoke邻居发送bum
报文。
184.网络设备103从spoke邻居(如:网络设备101或网络设备102)接收到bum报文,查询广播路由表,若下一跳为网络设备103的bgp-evpn邻居(如网络设备108),网络设备103向bgp-evpn邻居发送bum报文。
185.在另一些实施例中,网络的规模较大的情况,网络拓扑可以是一个三层网络拓扑。三层网络拓扑可以分为核心层(又称为骨干spine层)、汇聚层和接入层(又称为叶子leaf层)。本技术所述的网络也可以称为数据传输网络。数据传输网络例如可以是以数据中心为例的网络,或者部署在园区中的网络。
186.核心层例如可以是网络的高速交换主干层,用于将网络与网络之外的设备(如:外部运营商设备)连接。核心层可以包括具有高带宽(如:千兆以上带宽)的交换机和路由器。核心层具有如下至少一个特性:可靠性、高效性、冗余性、容错性、可管理性、适应性、低延时性等。核心层的路由连接在网络中起到十分关键的作用,一般可以通过多台设备的冗余连接来实现网络的可靠性。在本实施例中,汇聚层包含的交换机和路由器具有与上述各实施例所述的网络设备103的功能。
187.汇聚层例如可以是接入层和核心层的“中介”,用于在工作站(如:终端设备或服务器)发出的数据进入核心层前汇聚数据,以减轻核心层的负荷。汇聚层可以包括支持三层交换技术和vxlan的交换机和路由器。在本实施例中,汇聚层包含的交换机和路由器具有与上述各实施例所述的网络设备103的功能。
188.接入层例如可以与工作站相连,用于向本地网段提供工作站接入。接入层可以包括不支持vlan和三层交换技术的交换机和路由器,也可以包括支持vlan和三层交换技术的交换机和路由器。在本实施例中,接入层包含的交换机和路由器具有与上述各实施例所述的网络设备101的功能和网络设备102的功能。
189.示例的,如图13所示,与上述图1所示的vxlan的区别在于,vxlan还包括网络设备111、网络设备112和网络设备113。接入层包括网络设备101、网络设备102和网络设备111。网络设备111还连接了服务器110,服务器110上划分了多个虚拟机。汇聚层包括网络设备103和网络设备112。核心层包括网络设备113。网络设备111和网络设备112之间建立了vxlan隧道4。网络设备112和网络设备113之间建立了vxlan隧道5。网络设备103和网络设备113之间建立了vxlan隧道6。
190.网络设备113接入其他网络(如互联网络)。例如,网络设备113可以是vxlan的网关设备,网络设备113连接互联网络中的网络设备108,则vxlan内的报文可以通过网络设备113传输至vxlan以外的网络。
191.网络设备113分别与网络设备103和网络设备112建立第一模式邻居,例如网络设备103为网络设备113的spoke邻居,网络设备112为网络设备113的spoke邻居。网络设备113向网络设备103发送用于为网络设备101和网络设备102转发业务报文的默认路由和网络设备113的imet路由。网络设备113向网络设备112发送用于为网络设备111转发业务报文的默认路由和imet路由。
192.网络设备101和网络设备103建立了第一模式邻居,例如网络设备101为网络设备103的spoke邻居。网络设备103向网络设备101转发来自网络设备113的用于为网络设备101转发业务报文的默认路由和imet路由。
193.网络设备102和网络设备103建立了第一模式邻居,例如网络设备102为网络设备103的spoke邻居。网络设备103向网络设备102转发来自网络设备113的用于为网络设备102转发业务报文的默认路由和imet路由。
194.从而,网络设备101和网络设备102都仅存储默认路由和网络设备113的imet路由,而无需存储vxlan中其他网络设备的路由,有效地降低了用户侧边缘节点的资源开销和存储压力。
195.网络设备111和网络设备112建立了第一模式邻居,例如网络设备111为网络设备112的spoke邻居。网络设备112向网络设备111转发来自网络设备113的用于为网络设备111转发业务报文的默认路由和imet路由。从而,网络设备111都仅存储默认路由和网络设备113的imet路由,而无需存储vxlan中其他网络设备的路由,有效地降低了用户侧边缘节点的资源开销和存储压力。
196.网络设备101向网络设备103发布网络设备101获取的mac路由和imet路由。
197.网络设备102向网络设备103发布网络设备102获取的mac路由和imet路由。
198.网络设备103向网络设备113发布网络设备103获取的mac路由和imet路由、网络设备102获取的mac路由和imet路由、网络设备101获取的mac路由和imet路由。在一种可能的情形中,网络设备103除了向网络设备113发布上述路由外,也可以存储网络设备101发布的mac路由和imet路由,以及网络设备102发布的mac路由和imet路由,以便于网络设备103也可以采用前述各方法实施例描述的方法代为转发发往网络设备101或网络设备102的报文,例如,服务器104向服务器106发送的报文,可以通过网络设备103转发。
199.网络设备111向网络设备112发布网络设备111获取的mac路由和imet路由。网络设备112向网络设备113发布网络设备112获取的mac路由和imet路由、网络设备111获取的mac路由和imet路由。网络设备112存储了网络设备111发布的mac路由和imet路由,以便于向网络设备111发送网络设备112连接的其他spoke邻居(图中未示出)的报文。关于路由学习的过程,可以参考上述各个实施例中的相关描述。
200.网络设备113存储了接入层网络设备和汇聚层网络设备获取的mac路由和imet路由,以便于向接入层的网络设备发送报文(如单播报文或bum报文)或转发接入层的网络设备发出的报文。例如,服务器104中的虚拟机向服务器106中的虚拟机发送报文的路径可以为服务器104中的虚拟机-》网络设备101-》网络设备103-》网络设备102-》服务器106中的虚拟机。可选的,服务器104中的虚拟机向服务器106中的虚拟机发送报文的路径还可以为服务器104中的虚拟机-》网络设备101-》网络设备103-》网络设备113-》网络设备103-》网络设备102-》服务器106中的虚拟机。
201.又如,服务器104中的虚拟机向服务器110中的虚拟机发送报文的路径可以为服务器104中的虚拟机-》网络设备101-》网络设备103-》网络设备113-》网络设备112-》网络设备111-》服务器110中的虚拟机。可选的,网络设备102和网络设备111之间也可以建立vxlan隧道7。如果网络设备101和网络设备102存储有服务器110中虚拟机的地址,服务器104中的虚拟机向服务器110中的虚拟机发送报文的路径可以为服务器104中的虚拟机-》网络设备101-》网络设备102-》网络设备111-》服务器110中的虚拟机。
202.又如,服务器110中的虚拟机向服务器106中的虚拟机发送报文的路径可以为服务器110中的虚拟机-》网络设备111-》网络设备112-》网络设备113-》网络设备103-》网络设备
102-》服务器106中的虚拟机。
203.关于报文转发的过程,可以参考上述各个实施例中的相关描述。
204.网络设备103或网络设备112接收到服务器中的虚拟机发出的apr请求后,可以将arp请求转换为orf请求后,将orf请求发送给网络设备113。该将arp请求转换为orf请求的操作,也可以是先合并一些arp请求后转换为orf请求。若网络设备113存储有接入层包含的网络设备的mac路由和imet路由,以及与接入层包含的网络设备连接的设备的mac地址,网络设备113可以向请求方反馈请求的mac地址。
205.另外,网络设备103接收到网络设备101和网络设备102发送的orf请求后,可以合并网络设备101发送的orf请求和网络设备102发送的orf请求,生成一个新的orf请求,网络设备103向网络设备113发送新的orf请求。
206.例如,网络设备101发出第一orf请求,网络设备102发出第二orf请求,网络设备103接收到网络设备101的第一orf请求和网络设备102的第二orf请求后,生成新的orf请求,向网络设备113发送新的orf请求。
207.网络设备113上记录了响应于该新的orf请求的mac地址2-2-2和mac地址4-4-4。
208.网络设备113将mac地址2-2-2和mac地址4-4-4反馈给网络设备103。
209.网络设备103将mac地址2-2-2反馈给网络设备101,将mac地址4-4-4反馈给网络设备102。
210.图13以网络中包括一层汇聚层为例,在其他可能的应用场景中也可以设置多层汇聚层,其中接入层和汇聚层、相邻的汇聚层、或者汇聚层和核心层之间均可建立第一模式邻居,以用于实现本技术描述的各相应功能,这例如可以适用于规模较大的组网场景。此外,为便于理解,本实施例将不同的网络分层描述为接入层、汇聚层和核心层,但可以理解地,上述命名也可以结合应用场景替代为其他描述,或者可以简单地描述为多层级组网方式下的不同网络分层,其中,不同网络分层可以用于实现不同或相同的功能。
211.上述各个实施例是针对单播场景和广播场景阐述了路由学习和报文发送的过程。通过在客户端(如:网络设备101)和服务端(如:网络设备103)之间建立第一模式邻居,如spoke模式的邻居,客户端和服务端能够分别根据该模式的邻居关系确定自身在发布路由阶段的行为,并根据获取的路由完成相应的业务报文转发行为,从而在实现业务报文的正常转发的同时,减轻客户端和网络设备的路由存储压力,并节约网络运行资源。
212.接下来,本技术实施例还提供的一种传输数据的方法流程图。这里以第一网络设备、第二网络设备和第三网络设备为例进行说明。其中,第三网络设备分别与第一网络设备和第二网络设备建立第一模式邻居。第一模式邻居可以是指spoke邻居,或者也可以定义为其他形式且可实现本技术实施例提供的相应功能的邻居。第一网络设备连接第一用户侧设备。第二网络设备连接第二用户侧设备。如图14所示,该方法可以包括以下步骤:
213.s1401、第一网络设备向第三网络设备发送第一路由。
214.第一网络设备根据存储的与其建立spoke邻居的网络设备的信息,确定第一网络设备为第三网络设备的第一模式邻居,第一网络设备向第三网络设备发送第一路由。第一路由可以是指第一网络设备的mac路由或imet路由。
215.s1402、第二网络设备向第三网络设备发送第二路由。
216.第二网络设备根据存储的与其建立spoke邻居的网络设备的信息,确定第二网络
设备为第三网络设备的第一模式邻居,第二网络设备向第三网络设备发送第二路由。第二路由可以是指第二网络设备的mac路由或imet路由。
217.s1403、第三网络设备接收第一网络设备发送的第一路由。
218.若第一路由为mac路由,第三网络设备接收到第一路由后,将第一路由记录到单播路由表中。在第三网络设备接收到发往第一网络设备连接的虚拟机的单播报文后,可以根据mac路由向第一网络设备转发单播报文。
219.若第一路由为imet路由,第三网络设备接收到第一路由后,将第一路由记录到广播路由表中。在第三网络设备接收到bum报文后,可以根据imet路由向第一网络设备转发bum报文。
220.s1404、第三网络设备接收第二网络设备发送的第二路由。
221.若第二路由为mac路由,第三网络设备接收到第二路由后,将第二路由记录到单播路由表中。在第三网络设备接收到发往第二网络设备连接的虚拟机的单播报文后,可以根据mac路由向第二网络设备转发单播报文。
222.若第二路由为imet路由,第三网络设备接收到第二路由后,将第二路由记录到广播路由表中。在第三网络设备接收到bum报文后,可以根据imet路由向第二网络设备转发bum报文。
223.s1405、第三网络设备向第一网络设备发送第三路由。
224.s1406、第三网络设备向第二网络设备发送第三路由。
225.若第三路由为默认路由,以指示第一网络设备或第二网络设备根据第三路由向第三网络设备转发单播报文。
226.若第三路由为imet路由,以指示第一网络设备或第二网络设备根据第三路由向第三网络设备转发bum报文。
227.s1407、第一网络设备接收第三网络设备发送的第三路由。
228.s1408、第二网络设备接收第三网络设备发送的第三路由。
229.可选的,第三网络设备也可以先向第一网络设备和第二网络设备发送第三路由。再接收第一网络设备发送的第一路由和第二网络设备发送的第二路由。本实施例对s1401至s1404,以及s1405至s1408的先后顺序不予限定。
230.如果第一路由为mac路由,关于s1401至s1408的详细解释可以参考上述s201至s213的阐述。
231.如果第一路由为imet路由,关于s1401至s1408的详细解释可以参考上述s901至s908的阐述。
232.在第一网络设备至第三网络设备学习到路由,即s1401至s1408之后,第一网络设备至第三网络设备可以转发来自用户侧设备的报文。用户侧设备可以是用户侧网络设备或用户主机等用户设备。该方法还包括以下步骤。
233.s1409、第一用户侧设备向第一网络设备发送第一报文。
234.如果第一报文为单播报文,第一报文的报头中包括第一用户侧设备的mac地址和第二用户侧设备的mac地址。第一报文为第一网络设备连接的第一用户侧设备向第二网络设备连接的第二用户侧设备发送的报文。
235.如果第一报文为bum报文,第一报文的报头中包括第一用户侧设备的mac地址和广
播地址。
236.s1410、第一网络设备接收第一用户侧设备发送的第一报文。
237.s1411、第一网络设备根据第三路由转发第一报文。
238.如果第一报文为单播报文,由于第一网络设备在单播路由表中没有未查找到第二用户侧设备的mac地址,则第一网络设备使用未知单播路由表中的第三路由向第三网络设备转发第一报文。
239.如果第一报文为bum报文,第一网络设备查找广播路由表,使用广播路由表中的第三imet路由向第三网络设备转发第一报文。
240.第一网络设备可以采用udp封装第一报文,得到第一vxlan报文,第一网络设备根据第三路由转发第一vxlan报文。
241.s1412、第三网络设备接收第一网络设备发送的第一报文。
242.s1413、第三网络设备根据第二路由向第二网络设备转发第一报文。
243.第三网络设备可以解封装第一vxlan报文,根据目的地址(广播地址或第二用户侧设备的mac地址)确定第二路由,第三网络设备根据第二路由向第二网络设备转发第一报文。
244.第三网络设备可以采用udp封装第一报文,得到第二vxlan报文,第三网络设备根据第二路由转发第二vxlan报文。
245.s1414、第二网络设备接收第三网络设备发送的第一报文。
246.s1415、第二网络设备向与第二网络设备连接的第二用户侧设备转发第一报文。
247.可理解的,第二网络设备解封装第二vxlan报文,得到第一报文,向与第二网络设备连接的第二用户侧设备转发第一报文。
248.如果第一路由为mac路由,关于s1409至s1415的详细解释可以参考上述s401至s407的阐述。
249.如果第一路由为imet路由,关于s1409至s1415的详细解释可以参考上述s1101至s1107的阐述。
250.在一种情形中,如果第一用户侧设备不知道第二用户侧设备的mac地址,第一用户侧设备发送arp请求,获取第二用户侧设备的mac地址。图15为本技术实施例提供的传输数据的方法流程图。如图15所示,在s1409之前,所述方法还包括以下步骤。
251.s1501、第一用户侧设备向第一网络设备发送第二报文。
252.第二报文用于请求第二用户侧设备的mac地址。第二报文包括第二用户侧设备的ip地址。例如,第二报文可以是地址解析协议报文。
253.s1502、第一网络设备接收第一用户侧设备发送的第二报文。
254.s1503、第一网络设备向第三网络设备转发该第二报文。
255.如果第一网络设备存储有第二用户侧设备的mac地址,第一网络设备向第一用户侧设备反馈第二用户侧设备的mac地址。如果第一网络设备未存储第二用户侧设备的mac地址,第一网络设备可以广播第二报文。如果第三网络设备存储有第二用户侧设备的mac地址,第一网络设备可以从第三网络设备获取第二用户侧设备的mac地址,向第一用户侧设备反馈第二用户侧设备的mac地址。如下s1504和s1505的所述的步骤。
256.s1504、第三网络设备接收第一网络设备发送的第二报文。
257.s1505、第三网络设备根据第一路由向第一网络设备发送响应报文。
258.s1506、第一网络设备接收第三网络设备发送的响应报文。
259.s1507、第一网络设备向第一用户侧设备转发响应报文。
260.另外,第一网络设备也可以根据第二报文生成orf请求,向第三网络设备发送orf请求,请求第二用户侧设备的mac地址。关于s1501至s1507的详细解释可以参考上述s601至s607的阐述。
261.进而,第一网络设备根据第二用户侧设备的mac地址向第二用户侧设备发送报文。具体的参考上述实施例中s1409至s1415的阐述,不予赘述。
262.从而,第一网络设备和第二网络设备仅存储发往第三网络设备的默认路由或imet路由,而由第三网络设备转发第一网络设备发出的报文,或者按需从第三网络设备动态获取用于到达另一网络设备挂载的用户侧设备的路由以用于报文转发,从而降低第一网络设备的资源开销和存储压力。
263.此外,例如数据传输网络需要覆盖较小的地域,第一网络设备与第一用户侧设备可以直接连接。第二网络设备可以与第二用户侧设备直接连接。例如,如图1所示,第一网络设备为网络设备101,第二网络设备为网络设备102,第三网络设备为网络设备103。关于网络设备之间路由学习和报文转发的过程,可以参考上述如图1所示的网络设备连接方式的各个实施例中的相关描述。
264.例如数据传输网络需要覆盖较大的地域,第一网络设备与第一用户侧设备可以间接连接。第二网络设备可以与第二用户侧设备间接连接。例如,如图13所示,第一网络设备为网络设备103,第二网络设备为网络设备112,第三网络设备为网络设备113。关于网络设备之间路由学习和报文转发的过程,可以参考上述图13所示的实施例中的相关描述。
265.可以理解的是,为了实现上述实施例中功能,网络设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术中所公开的实施例描述的各示例的单元及方法步骤,本技术能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
266.图16为本技术的实施例提供的可能的通信装置的结构示意图。这些通信装置可以用于实现上述方法实施例中网络设备的功能,因此也能实现上述方法实施例所具备的有益效果。在本技术的实施例中,该通信装置可以是如图1、图3、图5、图7、图8、图10、图12或图13所示的网络设备101、网络设备102或网络设备103,还可以是应用于网络设备的模块(如芯片等硬件模块,或用于实现相应功能的软件模块,或某些软、硬件模块的结合)。
267.如图16所示,通信装置1600包括接收单元1610、处理单元1620和发送单元1630。通信装置1600用于实现上述图2、图4、图6、图9、图11、图14或图15中所示的方法实施例中网络设备的功能。
268.当通信装置1600用于实现图2所示的方法实施例中网络设备101的功能时:接收单元1610可以用于执行s204;发送单元1630可以用于执行s206和s211。
269.当通信装置1600用于实现图2所示的方法实施例中网络设备102的功能时:接收单元1610可以用于执行s205;发送单元1630可以用于执行s208和s210。
270.当通信装置1600用于实现图2所示的方法实施例中网络设备103的功能时:接收单
元1610可以用于执行s207、s209、s212和s213;发送单元1630可以用于执行s202和s203;处理单元1620用于执行s201。
271.当通信装置1600用于实现图4所示的方法实施例中网络设备101的功能时:接收单元1610可以用于执行s204和s402;发送单元1630可以用于执行s206、s211和s403。
272.当通信装置1600用于实现图4所示的方法实施例中网络设备102的功能时:接收单元1610可以用于执行s205和s406;发送单元1630可以用于执行s208、s210和s407。
273.当通信装置1600用于实现图4所示的方法实施例中网络设备103的功能时:接收单元1610可以用于执行s207、s209、s212、s213和s404;发送单元1630可以用于执行s202、s203和s405。
274.当通信装置1600用于实现图6所示的方法实施例中网络设备101的功能时:接收单元1610可以用于执行s402、s602和s606;发送单元1630可以用于执行s403、s603和s607。
275.当通信装置1600用于实现图6所示的方法实施例中网络设备103的功能时:接收单元1610可以用于执行s404和s604;发送单元1630可以用于执行s405和s605。
276.当通信装置1600用于实现图9所示的方法实施例中网络设备101的功能时:接收单元1610可以用于执行s907;发送单元1630可以用于执行s901。
277.当通信装置1600用于实现图9所示的方法实施例中网络设备102的功能时:接收单元1610可以用于执行s908;发送单元1630可以用于执行s902。
278.当通信装置1600用于实现图9所示的方法实施例中网络设备103的功能时:接收单元1610可以用于执行s903和s904;发送单元1630可以用于执行s905和s906。
279.当通信装置1600用于实现图11所示的方法实施例中网络设备101的功能时:接收单元1610可以用于执行s907和s1106;发送单元1630可以用于执行s901和s1107。
280.当通信装置1600可以用于实现图11所示的方法实施例中网络设备102的功能时:接收单元1610可以用于执行s908和s1102;发送单元1630可以用于执行s902和s1103。
281.当通信装置1600可以用于实现图11所示的方法实施例中网络设备103的功能时:接收单元1610可以用于执行s903、s904和s1104;发送单元1630可以用于执行s905、s906和s1105。
282.当通信装置1600可以用于实现图14所示的方法实施例中第一网络设备的功能时:接收单元1610可以用于执行s1407和s1410;发送单元1630可以用于执行s1401和s1411。
283.当通信装置1600可以用于实现图14所示的方法实施例中第二网络设备的功能时:接收单元1610可以用于执行s1408和s1414;发送单元1630可以用于执行s1402和s1415。
284.当通信装置1600可以用于实现图14所示的方法实施例中第三网络设备的功能时:接收单元1610可以用于执行s1403、s1404和s1412;发送单元1630可以用于执行s1405、s1406和s1413。
285.当通信装置1600可以用于实现图15所示的方法实施例中第一网络设备的功能时:接收单元1610可以用于执行s1407、s1410、s1502和s1506;发送单元1630可以用于执行s1401、s1411、s1503和s1507。
286.当通信装置1600可以用于实现图15所示的方法实施例中第三网络设备的功能时:接收单元1610可以用于执行s1403、s1404、s1412和s1504;发送单元1630可以用于执行s1405、s1406、s1413和s1505。
287.有关上述接收单元1610、处理单元1620和发送单元1630更详细的描述可以直接参考图2、图4、图6、图9、图11、图14或图15所示的方法实施例中相关描述,这里不加赘述。
288.如图17所示,网络设备1700包括处理器1710和接口电路1720。处理器1710和接口电路1720之间相互耦合。可以理解的是,接口电路1720可以为收发器或输入输出接口。可选的,网络设备1700还可以包括存储器1730,用于存储处理器1710执行的指令或存储处理器1710运行指令所需要的输入数据或存储处理器1710运行指令后产生的数据。
289.当网络设备1700用于实现图2、图4、图6、图9、图11、图14或图15所示的方法时,处理器1710可以用于执行上述处理单元1620的功能,接口电路1720可以用于执行上述接收单元1610和发送单元1630的功能。
290.图18为本技术实施例提供的另一种网络设备的结构示意图。如图18所示,网络设备1800包括主控板1810和接口板1820。主控板1810包括处理器1811和存储器1812。接口板1820包括处理器1821、存储器1822和接口卡1823。接口板1820的处理器1821用于调用接口板1820的存储器1822中的程序指令执行报文的接收和发送,以及路由的接收和发送。主控板1810的处理器1811用于调用主控板1810的存储器1812中的程序指令执行相应的处理功能。例如,查找路由转发报文。封装接收到的报文来生成vxlan报文,以及解封装vxlan报文。具体的可以参考上述图2、图4、图6、图9、图11、图14或图15所示的方法的阐述。
291.可以理解的是,本技术的实施例中的处理器可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
292.本技术的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
293.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据
中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。
294.在本技术的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
295.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。在本技术的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本技术的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
296.本技术说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
297.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
298.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献