CN109547350B - 一种路由学习方法及网关设备 - Google Patents

一种路由学习方法及网关设备 Download PDF

Info

Publication number
CN109547350B
CN109547350B CN201811445155.0A CN201811445155A CN109547350B CN 109547350 B CN109547350 B CN 109547350B CN 201811445155 A CN201811445155 A CN 201811445155A CN 109547350 B CN109547350 B CN 109547350B
Authority
CN
China
Prior art keywords
virtual machine
target virtual
vxlan
address
arp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811445155.0A
Other languages
English (en)
Other versions
CN109547350A (zh
Inventor
涂安龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201811445155.0A priority Critical patent/CN109547350B/zh
Publication of CN109547350A publication Critical patent/CN109547350A/zh
Application granted granted Critical
Publication of CN109547350B publication Critical patent/CN109547350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的实施例提供一种路由学习方法及网关设备,涉及通信技术领域,用以解决现有技术中所存在的Spine设备向VM发出的数据报文丢失的问题。该方法包括:虚拟可扩展局域网VXLAN二层网关设备接收VXLAN三层网关设备发送的第一ARP请求,该第一ARP请求包括目标虚拟机的IP地址,根据目标虚拟机的IP地址,从至少一个对应关系中,查询目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址,向VXLAN三层网关设备发送第一ARP应答,该第一ARP应答包含所述目标虚拟机的MAC地址。

Description

一种路由学习方法及网关设备
技术领域
本发明涉及通信领域,尤其涉及一种路由学习方法及网关设备。
背景技术
图1为现有典型的虚拟可扩展局域网(Virtual eXtensible Local Area NetworkVXLAN)集中式多活网关组网结构示意图,如图1所示,该组网包括:两个Spine设备(即图1中的Spine1和Spine2)、两个Leaf设备(即图1中的Leaf1和Leaf2)、两个虚拟机(VirtualMachine,VM)(即图1中的VM1和VM2)。其中,上述两个Spine设备与外部网络通信,且上述两个Spine设备与两个Leaf设备之间形成4条VXLAN隧道(即图1中的VXLAN隧道1、VXLAN隧道2、VXLAN隧道3和VXLAN隧道4)。
在VXLAN集中式多活网关组网中,由于存在多个VXLAN三层网关(即图1中的Spine设备),因此,该组网内的VM发出的流量可以经由任一VXLAN三层网关转发至外部网络。以图1中的VM1为例,VM1与外部网络进行通信有两条路径,路径1:VM1-Leaf1-VXLAN隧道1-Spine1-链路a-外部网络,路径2:VM1-Leaf1-VXLAN隧道4-Spine2-链路b-外部网络。
以图1的组网架构为例,当Spine1发出的针对VM1的地址解析协议(AddressResolution Protocol,ARP)请求报文经由路径1到达VM1后,VM1回复的ARP应答报文可能会经由路径2到达Spine2,这样会造成Spine1无法学习到VM1的主机路由,进而导致外部网络去往VM1的数据报文丢失。
发明内容
本发明的实施例提供一种路由学习方法及网关设备,用以解决在VXLAN集中式多活网关场景下所存在的Spine设备向VM发出的数据报文丢失的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种路由学习方法,应用于VXLAN多活网关场景下的VXLAN二层网关设备,所述方法包括:
接收VXLAN三层网关设备发送的第一ARP请求,所述第一ARP请求包括目标虚拟机的IP地址;
根据所述目标虚拟机的IP地址,从至少一个对应关系中,查询所述目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址;
向所述VXLAN三层网关设备发送第一ARP应答,所述第一ARP应答包含所述目标虚拟机的MAC地址。
可选的,所述向所述VXLAN三层网关设备发送第一ARP应答,包括:
若查询出所述目标虚拟机的MAC地址,则向所述VXLAN三层网关设备发送第一ARP应答。
可选的,所述向所述VXLAN三层网关设备发送第一ARP应答之前,所述方法还包括:
若未查询出所述目标虚拟机的MAC地址,则广播第二ARP请求,所述第二ARP请求包括所述目标虚拟机的IP地址;
若所述VXLAN二层网关设备连接的至少一个虚拟机中包含所述目标虚拟机,接收所述目标虚拟机发送的第二ARP应答,所述第二ARP应答包括所述目标虚拟机的MAC地址。
可选的,所述接收所述目标虚拟机发送的第二ARP应答之后,所述方法还包括:
存储所述目标虚拟机的IP地址和MAC地址间的对应关系。
第二方面,提供一种路由学习方法,应用于VXLAN多活网关场景下的VXLAN二层网关设备,所述方法包括:
接收目标虚拟机发送的第三ARP请求,所述第三ARP请求包括目的地址、所述目标虚拟机的IP地址和MAC地址;
存储所述目标虚拟机的IP地址和MAC地址间的对应关系,并将所述第三ARP请求转发至所述目的地址对应的VXLAN三层网关设备;
将所述VXLAN三层网关设备反馈的第三ARP应答转发至所述目标虚拟机,所述第三ARP应答包括所述VXLAN三层网关设备的MAC地址。
第三方面,提供一种VXLAN多活网关场景下的VXLAN二层网关设备,包括:
接收模块,用于接收VXLAN三层网关设备发送的第一地址解析协议ARP请求,所述第一ARP请求包括目标虚拟机的IP地址;
查询模块,用于根据所述目标虚拟机的IP地址,从至少一个对应关系中,查询所述目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址;
发送模块,用于向所述VXLAN三层网关设备发送第一ARP应答,所述第一ARP应答包含所述目标虚拟机的MAC地址。
可选的,所述发送模块,具体用于:若所述查询模块查询出所述目标虚拟机的MAC地址,则向所述VXLAN三层网关设备发送第一ARP应答。
可选的,所述发送模块,还用于若所述查询模块未查询出所述目标虚拟机的MAC地址,则广播第二ARP请求,所述第二ARP请求包括所述目标虚拟机的IP地址;
所述接收模块,还用于若所述VXLAN二层网关设备连接的至少一个虚拟机中包含所述目标虚拟机,接收所述目标虚拟机发送的第二ARP应答,所述第二ARP应答包括所述目标虚拟机的MAC地址。
可选的,所述VXLAN二层网关设备还包括:
存储模块,用于存储所述目标虚拟机的IP地址和MAC地址间的对应关系。
第四方面,提供一种VXLAN多活网关场景下的VXLAN二层网关设备,包括:
接收模块,用于接收目标虚拟机发送的第三ARP请求,所述第三ARP请求包括目的地址、所述目标虚拟机的IP地址和MAC地址;
存储模块,用于存储所述目标虚拟机的IP地址和MAC地址间的对应关系,并将所述第三ARP请求转发至所述目的地址对应的VXLAN三层网关设备;
发送模块,用于将所述VXLAN三层网关设备反馈的第三ARP应答转发至所述目标虚拟机,所述第三ARP应答包括所述VXLAN三层网关设备的MAC地址。
在本发明实施例中,VXLAN二层网关设备通过预存至少一个对应关系(即虚拟机的IP地址和MAC地址间的对应关系),使得VXLAN二层网关设备在接收到ARP请求后,通过查询上述的至少一个对应关系,来代为回复该ARP请求所对应的目标虚拟机的MAC地址。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的VXLAN组网的结构示意图;
图2为本发明实施例提供的路由学习方法的方法流程图之一;
图3为本发明实施例提供的路由学习方法的方法流程图之二;
图4为本发明实施例提供的VXLAN二层网关设备的结构示意图之一;
图5为本发明实施例提供的VXLAN二层网关设备的结构示意图之二;
图6为本发明实施例提供的VXLAN二层网关设备的结构示意图之三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本文中的“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
为了使本领域的技术人员更好的理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
本发明实施例提供一种路由学习方法,如图2所示,本实施例主要针对VXLAN多活网关场景下外部网络向虚拟机发送数据报文的场景,在该场景下,该方法包括如下步骤:
步骤101:VXLAN三层网关设备广播第一ARP请求。
示例性的,上述的VXLAN三层网关设备会向其连接的所有VXLAN二层网关设备广播第一ARP请求。
在本发明实施例中,一个VXLAN三层网关设备可以连接一个或多个VXLAN二层网关设备,该VXLAN三层网关设备与该一个或多个VXLAN二层网关设备中的每个VXLAN二层网关设备建立一条VXLAN隧道用于通信,该VXLAN三层网关设备与外部网络连通,一个VXLAN二层网关设备可以连接一个或多个虚拟机。
在本发明实施例中,上述的第一ARP请求包括目标虚拟机的IP地址,上述的第一ARP请求用于指示第二VXLAN二层网关设备根据该目标虚拟机的IP地址从第二VXLAN二层网关设备存储的至少一个对应关系中查询目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址。
在本发明实施例中,上述的第二VXLAN二层网关设备为该VXLAN三层网关设备所连接的VXLAN二层网关设备,上述的第一VXLAN二层网关设备为上述的第二VXLAN二层网关设备中的其中一个。
步骤102:第一VXLAN二层网关设备接收VXLAN三层网关设备发送的第一ARP请求。
其中,上述的第一ARP请求包括目标虚拟机的IP地址。
步骤103:第一VXLAN二层网关设备根据该目标虚拟机的IP地址,从至少一个对应关系中,查询目标虚拟机的MAC地址。
在本发明实施例中,上述的至少一个对应关系中的每个对应关系包括一个虚拟机的IP地址和MAC地址,即一个对应关系对应一个虚拟机。
在一种示例中,上述的至少一个对应关系是第一VXLAN二层网关设备预先存储的。
在另一种示例中,上述的至少一个对应关系是第一VXLAN二层网关设备在侦听到虚拟机发送的ARP请求后将解析出的虚拟机的IP地址和MAC地址对应存储得到的。
步骤104:第一VXLAN二层网关设备向VXLAN三层网关设备发送第一ARP应答。
其中,上述的第一ARP应答包含目标虚拟机的MAC地址。
可选的,在本发明实施例中,上述的步骤103具体包括如下步骤:
步骤A1:若第一VXLAN二层网关设备查询出该目标虚拟机的MAC地址,则向VXLAN三层网关设备发送第一ARP应答。
示例性的,在上述的至少一个对应关系包括该目标虚拟机的IP地址和MAC地址间的对应关系的情况下,第一VXLAN组网二层网关设备代为回复第一ARP请求,即将查询出的目标虚拟机的MAC地址反馈给VXLAN组网三层网关设备。
可选的,在本发明实施例中,在步骤103之前该方法还包括如下步骤:
步骤B1:若第一VXLAN组网二层网关设备未查询出该目标虚拟机的MAC地址,则广播第二ARP请求。
其中,上述的第二ARP请求包括目标虚拟机的IP地址。
步骤B2:若第一VXLAN组网二层网关设备连接的至少一个虚拟机中包含目标虚拟机,第一VXLAN组网二层网关设备接收该目标虚拟机发送的第二ARP应答。
其中,上述的第二ARP应答包括该目标虚拟机的MAC地址。
示例性的,在上述的至少一个对应关系为包含该目标虚拟机的IP地址和MAC地址间的对应关系的情况下,第一VXLAN组网二层网关设备广播第二ARP请求,若该第一VXLAN组网二层网关设备连接的至少一个虚拟机中包含目标虚拟机,则代为回复第一ARP请求,即将目标虚拟机反馈的MAC地址反馈给第一VXLAN组网三层网关设备。
可选的,在步骤B2之后,还包括:第一VXLAN组网二层网关设备存储该目标虚拟机的IP地址和MAC地址间的对应关系。
本发明实施例提供的路由学习方法,VXLAN二层网关设备通过预存至少一个对应关系(即虚拟机的IP地址和MAC地址间的对应关系),使得VXLAN二层网关设备在接收到ARP请求后,通过查询上述的至少一个对应关系,来代为回复该ARP请求所对应的目标虚拟机的MAC地址。
本发明实施例提供一种路由学习方法,如图3所示,本实施例主要针对VXLAN多活网关场景下虚拟机向外部网络发送数据报文的场景,在该场景下,该方法包括如下步骤:
步骤201:第一VXLAN二层网关设备接收目标虚拟机发送的第三ARP请求。
其中,上述的第三ARP请求包括目的地址、该目标虚拟机的IP地址和MAC地址。
步骤202:第一VXLAN二层网关设备存储该目标虚拟机的IP地址和MAC地址间的对应关系,并将该第三ARP请求转发至目的地址对应的VXLAN三层网关设备。
步骤203:第一VXLAN二层网关设备将VXLAN三层网关设备反馈的第三ARP应答转发至目标虚拟机。
其中,上述的第三ARP应答包括VXLAN三层网关设备的MAC地址。
本发明实施例提供的路由学习方法,VXLAN二层网关设备在接收到目标虚拟机发送的ARP请求后,会存储该ARP请求中包含的目标虚拟机的IP地址和MAC地址间的对应关系,以作后续该VXLAN二层网关设备在侦听到针对该目标虚拟机的ARP请求后,可以代为回复该ARP请求所对应的目标虚拟机的MAC地址。
下面将结合图1所示的VXLAN组网架构来对本发明所提供的路由学习方法进行详细说明。如图1所示,VXLAN二层网关设备以Leaf设备为例,VXLAN三层网关设备以Spine为例,其中,Leaf1与VM1连接,同时可以通过VXLAN隧道1和VXLAN隧道4分别与Spine1和Spine2连接,Spine1通过链路a与外部网络连接,Spine2通过链路b与外部网络连接。
示例性的,以VM1的IP地址为10.0.0.10,MAC地址为1.1.1,Spine1的IP地址为10.0.0.1,MAC地址为2.2.2为例。下面将针对两种场景来对本发明提供的方案进行具体说明。
场景1:VM1向外部网络发送数据报文
在场景1下,本发明实施例提供的路由学习方法具体可以包括如下步骤:
步骤1:当VM1首次向外部网络发送数据报文时,会先向VXLAN三层网关设备(如,Spine1)发送ARP请求,其中,ARP请求的源IP为10.0.0.10,源MAC为1.1.1,即VM的IP地址和MAC地址,请求的目的IP为10.0.0.1。
步骤2:Leaf1侦听到该ARP请求后,解析该ARP请求,得到VM1的IP地址(10.0.0.10),MAC地址(1.1.1),并将VM1的IP地址和MAC地址对应存储至IP-MAC表,然后随机选择一条转发路径将该ARP请求转发给VXLAN三层网关设备。
步骤3:假设Spine1接收到该ARP请求(如果是Spine2设备收到,其处理过程与Spine1并无不同),对ARP请求报文进行解析,得到IP地址为10.0.0.10、MAC地址为1.1.1的主机路由。此时,若Spine1发现该ARP请求中所请求的目的IP:10.0.0.1为本机IP,则回复ARP应答,ARP应答中携带目的MAC地址(即Spine1的MAC地址):2.2.2。
步骤4:若携带目的MAC为2.2.2的ARP应答在经由Leaf1到达VM1后,VM1成功学习到网关路由,开始向外部网络发送数据。
场景2:外部网络向VM1发送数据报文
在场景2下,本发明实施例提供的路由学习方法具体可以包括如下步骤:
步骤1:当目的IP为10.0.0.10的外部数据到达Spine1后,Spine1根据目的IP(10.0.0.10)查找主机路由是否存在。一般的,在首次通信时,由于Spine1还没有学习到10.0.0.10所对应的VM的主机路由,因此查找失败,此时,Spine1会先在VXLAN网络内发送第一ARP请求,请求目的IP为10.0.0.10的MAC地址。
步骤2:Leaf1设备在侦听到Spine1发送的第一ARP请求后,解析出该ARP请求中携带的目的IP(10.0.0.10),同时记录下接收该第一ARP请求的接口,并根据该目的IP查找本地IP-MAC表,若从该IP-MAC表中查询出目的IP对应的MAC地址(1.1.1),则使用查找出的MAC地址向Spine1回复第一ARP应答,若从该IP-MAC表中未查询出目的IP对应的MAC地址,则由Leaf1广播第二ARP请求,请求目的IP为10.0.0.10的MAC地址。
步骤3:与目的IP(10.0.0.10)对应的VM1接收到该第二ARP请求后,会使用自己的MAC地址(1.1.1)回复第一ARP应答,当Leaf1接收到第一ARP应答后,解析出IP地址(10.0.0.10)和MAC地址(1.1.1),并保存至IP-MAC表中,然后根据该IP-MAC表向Spine1发送第二ARP应答,以告知Spine1设备10.0.0.10对应的MAC地址为1.1.1,发送接口为步骤2中接收第一ARP请求的接口。
步骤4:Spine1在接收到第一ARP应答或第二ARP应答后进行解析,则成功学习到与IP地址(10.0.0.10)对应的VM1的主机路由,开始转发VM1发送的外部数据。
本发明实施例提供一种VXLAN二层网关设备,如图4所示,该VXLAN二层网关设备装置包括:接收模块31、查询模块32以及发送模块33,其中:
接收模块31,用于接收VXLAN三层网关设备发送的第一ARP请求,第一ARP请求包括目标虚拟机的IP地址。
查询模块32,用于根据目标虚拟机的IP地址,从至少一个对应关系中,查询目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址。
发送模块33,用于向VXLAN三层网关设备发送第一ARP应答,第一ARP应答包含所述目标虚拟机的MAC地址。
可选的,发送模块33,具体用于:若查询模块32查询出目标虚拟机的MAC地址,则向VXLAN三层网关设备发送第一ARP应答。
可选的,发送模块33,还用于若查询模块32未查询出目标虚拟机的MAC地址,则广播第二ARP请求,第二ARP请求包括目标虚拟机的IP地址;接收模块31,还用于若VXLAN二层网关设备连接的至少一个虚拟机中包含目标虚拟机,接收目标虚拟机发送的第二ARP应答,第二ARP应答包括目标虚拟机的MAC地址。
可选的,如图4所示,该VXLAN二层网关设备还包括:存储模块34,其中:
存储模块34,用于存储目标虚拟机的IP地址和MAC地址间的对应关系。
本发明实施例提供一种VXLAN二层网关设备,该VXLAN二层网关设备通过预存至少一个对应关系(即虚拟机的IP地址和MAC地址间的对应关系),使得VXLAN二层网关设备在接收到ARP请求后,通过查询上述的至少一个对应关系,来代为回复该ARP请求所对应的目标虚拟机的MAC地址。
本发明实施例提供一种VXLAN二层网关设备,如图5所示,该VXLAN二层网关设备装置包括:接收模块51、存储模块52以及发送模块53,其中:
接收模块51,用于接收目标虚拟机发送的第三ARP请求,该第三ARP请求包括目的地址、目标虚拟机的IP地址和MAC地址。
存储模块52,用于存储目标虚拟机的IP地址和MAC地址间的对应关系,并将第三ARP请求转发至目的地址对应的VXLAN三层网关设备。
发送模块53,用于将该VXLAN三层网关设备反馈的第三ARP应答转发至目标虚拟机,该第三ARP应答包括该VXLAN三层网关设备的MAC地址。
本发明实施例提供的VXLAN二层网关设备,VXLAN二层网关设备在接收到目标虚拟机发送的ARP请求后,会存储该ARP请求中包含的目标虚拟机的IP地址和MAC地址间的对应关系,以作后续该VXLAN二层网关设备在侦听到针对该目标虚拟机的ARP请求后,可以代为回复该ARP请求所对应的目标虚拟机的MAC地址。
本发明实施例提供一种VXLAN二层网关设备的硬件结构示意图,如图6所示,该VXLAN二层网关设备包括:处理器61、收发机62、存储器63和总线64。
收发机62,用于接收VXLAN三层网关设备发送的第一ARP请求,第一ARP请求包括目标虚拟机的IP地址;处理器61,用于根据目标虚拟机的IP地址,从至少一个对应关系中,查询目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址;收发机62,还用于向VXLAN三层网关设备发送第一ARP应答,第一ARP应答包含目标虚拟机的MAC地址。
和/或,
收发机62,用于接收目标虚拟机发送的第三ARP请求,第三ARP请求包括目的地址、目标虚拟机的IP地址和MAC地址;存储器63,用于存储目标虚拟机的IP地址和MAC地址间的对应关系,并将第三ARP请求转发至目的地址对应的VXLAN三层网关设备;收发机62,还用于将VXLAN三层网关设备反馈的第三ARP应答转发至目标虚拟机,第三ARP应答包括VXLAN三层网关设备的MAC地址。
本发明实施例提供一种VXLAN二层网关设备,VXLAN二层网关设备在接收到目标虚拟机发送的ARP请求后,会存储该ARP请求中包含的目标虚拟机的IP地址和MAC地址间的对应关系,以作后续该VXLAN二层网关设备在侦听到针对该目标虚拟机的ARP请求后,可以代为回复该ARP请求所对应的目标虚拟机的MAC地址。
本发明实施例中,在图6中,总线可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。需要说明的是,在具体实现过程中,上述如图2、3所示的方法流程中网关设备所执行的各步骤均可以通过硬件形式的处理器执行存储器中存储的软件形式的计算机执行指令实现,为避免重复,此处不再赘述。
上述网关设备所执行的动作所对应的程序均可以以软件形式存储于该网关设备的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上文中的存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD);还可以包括上述种类的存储器的组合。
上文所提供的网关设备中的处理器可以是一个处理器,也可以是多个处理元件的统称。例如,处理器可以为中央处理器(central processing unit,CPU;也可以为其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等;还可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种路由学习方法,其特征在于,应用于虚拟可扩展局域网VXLAN多活网关场景下的VXLAN二层网关设备,所述方法应用于外部网络向目标虚拟机发送数据和所述目标虚拟机向所述外部网络发送数据,
当所述外部网络向所述目标虚拟机发送数据时,所述方法包括:
接收目标虚拟机发送的第三地址解析协议ARP请求,所述第三ARP请求包括目的地址、所述目标虚拟机的IP地址和MAC地址;
存储所述目标虚拟机的IP地址和MAC地址间的对应关系,并将所述第三ARP请求转发至所述目的地址对应的VXLAN三层网关设备;
将所述VXLAN三层网关设备反馈的第三ARP应答转发至所述目标虚拟机,所述第三ARP应答包括所述VXLAN三层网关设备的MAC地址;
当所述目标虚拟机向所述外部网络发送数据时,所述方法包括:
接收VXLAN三层网关设备发送的第一地址解析协议ARP请求,所述第一ARP请求包括目标虚拟机的IP地址;
根据所述目标虚拟机的IP地址,从至少一个对应关系中,查询所述目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址;
向所述VXLAN三层网关设备发送第一ARP应答,所述第一ARP应答包含所述目标虚拟机的MAC地址。
2.根据权利要求1所述的路由学习方法,其特征在于,所述向所述VXLAN三层网关设备发送第一ARP应答,包括:
若查询出所述目标虚拟机的MAC地址,则向所述VXLAN三层网关设备发送第一ARP应答。
3.根据权利要求1所述的路由学习方法,其特征在于,所述向所述VXLAN三层网关设备发送第一ARP应答之前,所述方法还包括:
若未查询出所述目标虚拟机的MAC地址,则广播第二ARP请求,所述第二ARP请求包括所述目标虚拟机的IP地址;
若所述VXLAN二层网关设备连接的至少一个虚拟机中包含所述目标虚拟机,接收所述目标虚拟机发送的第二ARP应答,所述第二ARP应答包括所述目标虚拟机的MAC地址。
4.根据权利要求3所述的路由学习方法,其特征在于,所述接收所述目标虚拟机发送的第二ARP应答之后,所述方法还包括:
存储所述目标虚拟机的IP地址和MAC地址间的对应关系。
5.一种虚拟可扩展局域网VXLAN二层网关设备,其特征在于,包括:接收模块、查询模块、存储模块以及发送模块;
当外部网络向目标虚拟机发送数据时,所述接收模块,用于接收所述目标虚拟机发送的第三ARP请求,所述第三ARP请求包括目的地址、所述目标虚拟机的IP地址和MAC地址;
所述存储模块,用于存储所述目标虚拟机的IP地址和MAC地址间的对应关系,并将所述第三ARP请求转发至所述目的地址对应的VXLAN三层网关设备;
所述发送模块,用于将所述VXLAN三层网关设备反馈的第三ARP应答转发至所述目标虚拟机,所述第三ARP应答包括所述VXLAN三层网关设备的MAC地址;
当所述目标虚拟机向所述外部网络发送数据时,所述接收模块,用于接收VXLAN三层网关设备发送的第一地址解析协议ARP请求,所述第一ARP请求包括目标虚拟机的IP地址;
所述查询模块,用于根据所述目标虚拟机的IP地址,从至少一个对应关系中,查询所述目标虚拟机的MAC地址,一个对应关系包括一个虚拟机的IP地址和MAC地址;
所述发送模块,用于向所述VXLAN三层网关设备发送第一ARP应答,所述第一ARP应答包含所述目标虚拟机的MAC地址。
6.根据权利要求5所述的VXLAN二层网关设备,其特征在于,所述发送模块,具体用于:若所述查询模块查询出所述目标虚拟机的MAC地址,则向所述VXLAN三层网关设备发送第一ARP应答。
7.根据权利要求5所述的VXLAN二层网关设备,其特征在于,
所述发送模块,还用于若所述查询模块未查询出所述目标虚拟机的MAC地址,则广播第二ARP请求,所述第二ARP请求包括所述目标虚拟机的IP地址;
所述接收模块,还用于若所述VXLAN二层网关设备连接的至少一个虚拟机中包含所述目标虚拟机,接收所述目标虚拟机发送的第二ARP应答,所述第二ARP应答包括所述目标虚拟机的MAC地址。
8.根据权利要求7所述的VXLAN二层网关设备,其特征在于,所述接收目标虚拟机发送的第二ARP应答之后,
所述存储模块,还用于存储所述目标虚拟机的IP地址和MAC地址间的对应关系。
CN201811445155.0A 2018-11-29 2018-11-29 一种路由学习方法及网关设备 Active CN109547350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811445155.0A CN109547350B (zh) 2018-11-29 2018-11-29 一种路由学习方法及网关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811445155.0A CN109547350B (zh) 2018-11-29 2018-11-29 一种路由学习方法及网关设备

Publications (2)

Publication Number Publication Date
CN109547350A CN109547350A (zh) 2019-03-29
CN109547350B true CN109547350B (zh) 2021-10-08

Family

ID=65851020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811445155.0A Active CN109547350B (zh) 2018-11-29 2018-11-29 一种路由学习方法及网关设备

Country Status (1)

Country Link
CN (1) CN109547350B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112448762B (zh) * 2019-09-02 2022-07-12 Oppo广东移动通信有限公司 用于电子设备间通信的通信系统、方法以及电子设备
CN111800327B (zh) * 2020-06-19 2021-11-26 浪潮思科网络科技有限公司 Vxlan网络的流量分担方法、设备
CN111865751B (zh) * 2020-07-24 2022-07-12 迈普通信技术股份有限公司 集中式网关部署方法、装置、集中式网关及电子设备
CN114760266B (zh) * 2022-03-01 2023-06-09 烽台科技(北京)有限公司 虚拟地址生成方法、装置和计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841028A (zh) * 2014-03-24 2014-06-04 杭州华三通信技术有限公司 一种报文转发方法及设备
CN106453023A (zh) * 2016-11-01 2017-02-22 上海优刻得信息科技有限公司 一种用于物理设备与虚拟网络的通信方法、设备与系统
CN107124347A (zh) * 2017-06-13 2017-09-01 杭州迪普科技股份有限公司 一种基于bgp evpn的vxlan控制平面的优化方法及装置
WO2017197885A1 (zh) * 2016-05-19 2017-11-23 华为技术有限公司 用于虚拟可扩展局域网的通信方法和装置
CN108270878A (zh) * 2016-12-31 2018-07-10 中国移动通信集团江西有限公司 在vxlan中发送arp报文的方法、vtep设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841028A (zh) * 2014-03-24 2014-06-04 杭州华三通信技术有限公司 一种报文转发方法及设备
WO2017197885A1 (zh) * 2016-05-19 2017-11-23 华为技术有限公司 用于虚拟可扩展局域网的通信方法和装置
CN106453023A (zh) * 2016-11-01 2017-02-22 上海优刻得信息科技有限公司 一种用于物理设备与虚拟网络的通信方法、设备与系统
CN108270878A (zh) * 2016-12-31 2018-07-10 中国移动通信集团江西有限公司 在vxlan中发送arp报文的方法、vtep设备
CN107124347A (zh) * 2017-06-13 2017-09-01 杭州迪普科技股份有限公司 一种基于bgp evpn的vxlan控制平面的优化方法及装置

Also Published As

Publication number Publication date
CN109547350A (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
CN109547350B (zh) 一种路由学习方法及网关设备
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
US20190068544A1 (en) Communications Method and Apparatus for Virtual Extensible Local Area Network
EP3605972B1 (en) Packet transmission method, edge device, and machine readable storage medium
US20150349978A1 (en) Method, Device, and Routing System for Data Transmission of Network Virtualization
TW201815131A (zh) 一種資料傳輸的方法及網路設備
CN108965092B (zh) 一种数据报文传输方法和装置
US20180198643A1 (en) Packet transmission method and apparatus
CN107317752B (zh) 一种转发数据报文的方法及装置
CN108028801B (zh) 一种基于sdn的arp实现方法及装置
CN107623757B (zh) 表项更新方法和装置
US10419341B2 (en) Forwarding entry establishment method and apparatus
US20130243004A1 (en) Communication control method, relay device, and information processing device
CN112134776B (zh) 生成组播转发表项的方法和接入网关
CN111556110B (zh) 一种用于私有云系统的不同物理业务网络自动化适配方法
CN104796338A (zh) 虚拟机迁移方法及装置
EP3836495B1 (en) Communication method and communication device
CN109818869B (zh) 组播流量转发端口的生成方法及相关设备
CN104579973A (zh) 一种虚拟集群中的报文转发方法和装置
EP3503484B1 (en) Message transmission methods and devices
CN104426816A (zh) 一种虚拟机通信方法及装置
CN107528929B (zh) Arp条目的处理方法及装置
CN114629844B (zh) 一种报文转发的方法、装置及电子设备
CN109714262B (zh) 数据传输方法及相关设备
CN113132230A (zh) 发送报文的方法、设备及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant