CN115190100A - 数据转发方法、vtep网关、电子设备及可读存储介质 - Google Patents
数据转发方法、vtep网关、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115190100A CN115190100A CN202210785498.1A CN202210785498A CN115190100A CN 115190100 A CN115190100 A CN 115190100A CN 202210785498 A CN202210785498 A CN 202210785498A CN 115190100 A CN115190100 A CN 115190100A
- Authority
- CN
- China
- Prior art keywords
- message
- vtep
- address
- mac address
- destination
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
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
本公开提供一种数据转发方法、VTEP网关、电子设备以及计算机可读存储介质,应用于VTEP网关,以解决网关需要多次查表进行报文封装的问题,所述方法包括:接收第一VTEP在接收到第一VM发送的ARP请求后封装并传输的第一报文,根据第一报文在ARP表项中增加到第一VM的下一跳路由第一VTEP的路由信息,接收第二VTEP在接收到与第一VM为非同一子网的第二VM发送的数据包并封装后发送的第二报文;对第二报文进行解封装,获取内层报文的目的IP地址第一VM;在ARP表项查找目的IP地址对应表项,根据对应表项中到第一VM的下一跳路由信息对内层报文封装,并发送到第一VTEP。以提高了网关转发报文时的性能。
Description
技术领域
本公开涉及通信技术领域,具体涉及一种数据转发方法,一种VTEP网关,一种电子设备以及一种计算机可读存储介质。
背景技术
在VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网)网络中,不同网段的VM(Virtual Machine,虚拟机)之间通信时,必须先获取网关的MAC(Media Access Control,媒体存取控制)地址,在获取到网关地址后再将数据包发送给上联的VTEP(VXLANTunnelEnd Point,VXLAN隧道端点),由VTEP根据目的MAC地址进行VXLAN报文封装,再发送给网关,网关接收到数据包后先根据外层目的MAC地址和IP地址判断是发送给自己的数据包,并根据端口号判断是VXLAN报文,再查找VXLAN表项,提取出内层报文,然后根据内层报文中的目的MAC地址判断是发送给自己的数据报文,并根据目的IP地址确定需要进行三层转发,则网关查找IP路由表项,根据路由表项查找到目的IP地址的下一跳地址,即一跳IP地址的MAC地址,将下一跳地址作为数据报文的源MAC地址,然后继续查找目的IP地址的ARP(AddressResolution Protocol,地址解析协议)表项,将目的IP地址的MAC地址作为数据报文的目的MAC地址,进行VXLAN报文封装并转发数据包。
这样在不同子网之间的数据包转发过程中,网关需要先查找IP路由表,然后再查ARP表,多次查表降低了VXLAN网关转发报文时的性能。
发明内容
为了至少解决现有技术中在不同子网之间的数据包转发过程中网关需要多次查表进行报文封装的技术问题,本公开提供一种数据转发方法、VTEP网关、电子设备以及计算机可读存储介质,在不同子网之间的数据包转发过程中网关能够通过ARP表项直接进行VXLAN报文的封装,不需要多次查表,提高了网关转发报文时的性能,并加快数据包的转发。
第一方面,本公开提供一种数据转发方法,应用于VTEP网关,所述方法包括:
接收第一VTEP在IP网络中传输的第一报文,所述第一报文由第一VTEP在接收到下联的第一VM发送的ARP请求报文后封装得到;
根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息,所述下一跳路由的路由信息为第一VTEP的路由信息;
接收第二VTEP在接收到其下联的第二VM发送的数据包并封装后发送的第二报文,所述第二VM与第一VM为非同一子网,所述第二报文中内层报文的目的IP地址为第一VM;
对所述第二报文进行解封,并获取内层报文的目的IP地址;
在所述ARP表项查找所述目的IP地址对应的表项,并根据对应表项中到第一VM的下一跳路由信息对所述内层报文进行VXLAN报文封装得到第三报文,将封装后的第三报文发送到第一VTEP。
进一步的,所述方法还包括:
在接收到第一VTEP在IP网络中传输的第一报文后,获取第一报文中第一VTEP的IP地址和MAC地址;以及,
对所述第一报文进行解封装,得到第一VM发送的ARP请求报文,并获取所述ARP请求报文中的第一VM的IP地址和MAC地址;
所述根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息包括:
根据获取的第一VTEP的IP地址和MAC地址以及第一VM的IP地址和MAC地址,在ARP表项中增加到第一VM的下一跳路由第一VTEP的路由信息,包括第一VTEP的IP地址、出端口MAC地址和出端口对端MAC地址。
进一步的,所述第一报文还包括第一VM的VNI(VXLAN Network Identifier,VXLAN网络标识符);
所述方法还包括:
学习第一VM的MAC地址、第一VM的VNI和第一VM与第一VTEP的IP地址的对应关系,并记录在本地MAC表中。
进一步的,所述对所述第二报文进行解封,并获取内层报文的目的IP地址包括:
在接收到第二报文后,根据所述第二报文的外层报文的目的IP地址和目的MAC地址判断是否为发送给自己的报文;
在判断是发送给自己的报文后根据端口号判断是否为VXLAN报文;
在判断为是VXLAN报文后提取出内层报文,并根据内层报文的目的MAC地址判断是发送给自己的报文,提取内层报文的目的IP地址。
第二方面,本公开提供一种VTEP网关,所述VTEP网关包括:
接收模块,其设置为接收第一VTEP在IP网络中传输的第一报文,所述第一报文由第一VTEP在接收到下联的第一VM发送的ARP请求报文后封装得到;
增加模块,其设置为根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息,所述下一跳路由的路由信息为第一VTEP的路由信息;
所述接收模块还设置为接收第二VTEP在接收到其下联的第二VM发送的数据包并封装后发送的第二报文,所述第二VM与第一VM为非同一子网,所述第二报文中内层报文的目的IP地址为第一VM;
获取模块,其设置为对所述第二报文进行解封,并获取内层报文的目的IP地址;
封装模块,其设置为在所述ARP表项查找所述目的IP地址对应的表项,根据对应表项中到第一VM的下一跳路由信息对所述内层报文进行VXLAN报文封装得到第三报文,并将封装后的第三报文发送到第一VTEP。
进一步的,所述获取模块还设置为在所述接收模块接收到第一VTEP在IP网络中传输的第一报文后,获取第一报文中第一VTEP的IP地址和MAC地址;以及,
对所述第一报文进行解封装,得到第一VM发送的ARP请求报文,并获取所述ARP请求报文中的第一VM的IP地址和MAC地址;
所述增加模块具体设置为:
根据获取的第一VTEP的IP地址和MAC地址以及第一VM的IP地址和MAC地址,在ARP表项中增加到第一VM的下一跳路由第一VTEP的路由信息,包括第一VTEP的IP地址、出端口MAC地址和出端口对端MAC地址。
进一步的,所述VTEP网关还包括学习模块;
所述第一报文还包括第一VM的VNI;
所述学习模块设置为学习第一VM的MAC地址、第一VM的VNI和第一VM与第一VTEP的IP地址的对应关系,并记录在本地MAC表中。
进一步的,所述获取模块包括:
判断单元,其设置为在所述接收模块接收到第二报文后,根据所述第二报文的外层报文的目的IP地址和目的MAC地址判断是否为发送给自己的报文;以及,
在判断是发送给自己的报文后根据端口号判断是否为VXLAN报文;
提取单元,其设置为在判断单元判断为是VXLAN报文后提取出内层报文,并根据内层报文的目的MAC地址判断是发送给自己的报文,提取内层报文的目的IP地址。
第三方面,本公开提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行如第一方面中任一所述的数据转发方法。
第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的数据转发方法。
有益效果:
本公开提供的数据转发方法、VTEP网关、电子设备以及计算机可读存储介质,VTEP网关在接收到VM上联的VTEP转发的ARP请求后,扩展ARP表项内容,增加下一跳路由VTEP的路由信息。在不同子网之间的数据包转发过程中当接收到目的地址是自己的内层数据报文后,网关能够通过直接根据目的IP地址的ARP表项进行VXLAN报文封装。不需要多次查表,提高了网关转发报文时的性能,并加快数据包的转发。
附图说明
图1为本公开实施例一提供的一种数据转发方法的流程示意图;
图2为本公开实施例二提供的一种数据转发方法的流程示意图;
图3为本公开实施例二提供的一种VTEP网关的架构图;
图4为本公开实施例三提供的一种电子设备的架构图。
具体实施方式
为使本领域技术人员更好地理解本公开的技术方案,下面结合附图和实施例对本公开作进一步详细描述。应当理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
其中,在本公开实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
以下为本公开可能提到的相应名称及术语解释:
VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于IP网络、采用“MACin UDP”封装形式的二层VPN(Virtual Private Network,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。VXLAN主要应用于数据中心网络。VXLAN具有如下特点:
a、支持大量的租户:使用24位的标识符,最多可支持2的24次方(16777216)个VXLAN,使支持的租户数目大规模增加,解决了传统二层网络VLAN资源不足的问题。
b、易于维护:基于IP网络组建大二层网络,使得网络部署和维护更加容易,并且可以充分地利用现有的IP网络技术,例如利用等价路由进行负载分担等;只有IP核心网络的边缘设备需要进行VXLAN处理,网络中间设备只需根据IP头转发报文,降低了网络部署的难度和费用。
VXLAN技术将已有的三层物理网络作为Underlay网络,在其上构建出虚拟的二层网络,即Overlay网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户二层报文跨越三层网络在不同站点间传递。对于租户来说,Underlay网络是透明的,同一租户的不同站点就像工作在一个局域网中。VXLAN的典型网络模型包括如下几部分:
VM(Virtual Machine,虚拟机):在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的VXLAN。属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI(VXLAN Network Identifier,VXLAN网络标识符),其长度为24比特。
VTEP(VXLAN Tunnel End Point,VXLAN隧道端点):VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。
VXLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。
核心设备:IP核心网络中的设备。核心设备不参与VXLAN处理,仅需要根据封装后报文的目的IP地址对报文进行三层转发。
VSI(Virtual Switch Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VXLAN一一对应。
AC(Attachment Circuit,接入电路):VTEP连接本地站点的物理电路或虚拟电路。在VTEP上,与VSI关联的三层接口或以太网服务实例(service instance)称为AC。其中,以太网服务实例在二层以太网接口上创建,它定义了一系列匹配规则,用来匹配从该二层以太网接口上接收到的数据帧。1个二层物理口下面配置了服务实例AC。
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种二层VPN技术,控制平面采用MP-BGP(Border Gateway Protocol,边界网关协议)通告EVPN路由信息,数据平面采用VXLAN封装方式转发报文。EVPN相比较VXLAN的优势在于:
A、简化配置:通过MP-BGP实现VTEP自动发现、VXLAN隧道自动建立、VXLAN隧道与VXLAN自动关联,无需用户手工配置,降低网络部署难度。
B、分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。
IP路由表,是IP地址可达范围的一张表,相当于是网络里的地图,负责三层的数据转发,用于网络层转发(路由器根据目的IP地址,查询IP路由表找到下一跳地址,转发到下一跳路由器)。
ARP表,表示IP地址和MAC地址的逻辑关系表,用于数据封装(根据目的IP地址,查ARP表获取目的MAC地址,封装目的MAC地址信息)。
MAC地址表,是MAC地址和交换机接口的逻辑关系表,负责二层的数据转发,用于数据链路层转发(交换机根据数据帧的目的MAC地址查看MAC表,根据表项由相应接口转发出去)。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决在不同子网之间的数据包转发过程中网关需要多次查表进行报文封装的技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本公开实施例一提供的一种数据转发方法,应用于VTEP网关,所述方法包括:
步骤S101:接收第一VTEP在IP网络中传输的第一报文,所述第一报文由第一VTEP在接收到下联的第一VM发送的ARP请求报文后封装得到;
步骤S102:根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息,所述下一跳路由的路由信息为第一VTEP的路由信息;
步骤S103:接收第二VTEP在接收到其下联的第二VM发送的数据包并封装后发送的第二报文,所述第二VM与第一VM为非同一子网,所述第二报文中内层报文的目的IP地址为第一VM;
步骤S104:对所述第二报文进行解封,并获取内层报文的目的IP地址;
步骤S105:在所述ARP表项查找所述目的IP地址对应的表项,并根据对应表项中到第一VM的下一跳路由信息对所述内层报文进行VXLAN报文封装得到第三报文,将封装后的第三报文发送到第一VTEP。
在本公开实施例中,第一VM(以下简称VM1)上联到第一VTEP(以下简称VTEP1),第二VM(以下简称VM2)上联到第二VTEP(以下简称VTEP2),VTEP3是VTEP网关,简称网关;
当VM1开机上线后,首先发出免费ARP请求,免费ARP请求中包含VM1的IP地址和MAC地址。免费ARP请求发送到上联的VTEP1后,VTEP1根据二层子接口上的配置判断报文需要进入VXLAN隧道,确定了报文所属BD后,也就确定了报文所属的VNI;同时,VTEP1学习VM1的MAC、VNI和报文入接口(即二层子接口对应的物理接口)的对应关系,并记录在本地MAC表中;之后,VTEP1会根据头端复制列表对报文进行复制,并分别进行封装。这里封装的外层源IP地址为本地VTEP(VTEP1)的IP地址,外层目的IP地址为所有对端VTEP的IP地址;外层源MAC地址为本地VTEP的MAC地址,而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址;封装后的报文(即第一报文),根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP,报文到达对端VTEP如网关VTEP3后,VTEP3对报文进行解封装,得到VM1发送的原始报文,网关根据第一报文和解封装得到的原始报文,可以获取VTEP1和VM1的路由信息,以及VM1和VTEP1的对应关系,在ARP表项中增加到VM1的下一跳路由VTEP1的路由信息。
当与VM1不是同一个子网的VM2要访问VM1时,VM2判断VM1与自己不是同一个子网,需要将数据包发送给网关VTEP3。VM2上联的VTEP2接收到数据包后判断目的MAC地址是网关VTEP3,进行VXLAN封装得到第二报文,并将第二报文发送给网关VTEP3;
网关接收到第二报文后,先根据外出外层报文的目的IP和目的MAC地址判断是发送给自己的报文,对第二报文进行解封,获取到内层报文(即数据包)的目的MAC地址和目的IP地址,其中目的MAC地址为网关VTEP3,目的IP地址为VM1的IP地址,由此,网关在其ARP表项根据VM1的IP地址查找目的IP地址对应的表项,可获取到VM1的下一跳路由信息,根据查找到的表项进行原始报文的封装,即根据到第一VM的下一跳路由信息对所述内层报文进行VXLAN报文封装得到第三报文,原始报文在封装过程中先被添加一个VXLAN帧头,再被封装在UDP报头中,并使用承载网络的IP、MAC地址作为外层头进行封装。外层的源IP地址是VTEP3的IP地址,目的IP地址是VTEP1的IP地址,将封装后的第三报文发送到VTEP1。VTEP1接收报文后,根据内层报文的目的MAC地址查找本地MAC地址表项,将解封装的报文发送给VM1。
本公开实施例通过在ARP表项中增加到VM的下一跳路由的路由信息,不需要先查找IP路由表项,直接根据目的IP地址的ARP表项内容进行VXLAN报文封装,不需要多次查表,提高了网关转发报文时的性能。
进一步的,所述方法还包括:
在接收到第一VTEP在IP网络中传输的第一报文后,获取第一报文中第一VTEP的IP地址和MAC地址;以及,
对所述第一报文进行解封装,得到第一VM发送的ARP请求报文,并获取所述ARP请求报文中的第一VM的IP地址和MAC地址;
所述根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息包括:
根据获取的第一VTEP的IP地址和MAC地址以及第一VM的IP地址和MAC地址,在ARP表项中增加到第一VM的下一跳路由第一VTEP的路由信息,包括第一VTEP的IP地址、出端口MAC地址和出端口对端MAC地址。
网关接收到第一报文后,获取VTEP1的IP地址和MAC地址,并在解封装后根据原始报文获取VM1的IP地址和MAC地址,再扩展ARP表项内容内,增加到VM1的下一跳路由VTEP1的IP地址、出端口MAC地址、出端口对端MAC地址,出端口MAC地址是到VTEP1的端口地址,出端口对端MAC地址是连接出端口的地址;可选的,第一报文还包括VM1的VNI,第一VTEP的路由信息还包括VM1的VNI。
进一步的,所述第一报文还包括第一VM的虚拟网络接口VNI;
所述方法还包括:
学习第一VM的MAC地址、第一VM的VNI和第一VM与第一VTEP的IP地址的对应关系,并记录在本地MAC表中。
在获取到VM1的ARP请求后,网关正常进行MAC地址表项进行学习。
进一步的,所述对所述第二报文进行解封,并获取内层报文的目的IP地址包括:
在接收到第二报文后,根据所述第二报文的外层报文的目的IP地址和目的MAC地址判断是否为发送给自己的报文;
在判断是发送给自己的报文后根据端口号判断是否为VXLAN报文;
在判断为是VXLAN报文后提取出内层报文,并根据内层报文的目的MAC地址判断是发送给自己的报文,提取内层报文的目的IP地址。
网关VTEP3接收到第二报文后,根据外层报文的目的IP和目的MAC地址判断出是发送给自己的报文,同时根据端口号判断是VXLAN报文,解封装后提取出内层报文;再根据内层报文的目的MAC地址判断是发送给自己的报文,提取目的IP地址,从而获知数据包需要发送得VM1,并直接根据APR表项进行VXLAN报文封装。
本公开实施例,VTEP网关在接收到VM上联的VTEP转发的ARP请求后,扩展ARP表项内容,增加下一跳路由VTEP的路由信息。在不同子网之间的数据包转发过程中当接收到目的地址是自己的内层数据报文后,网关能够通过直接根据目的IP地址的ARP表项进行VXLAN报文封装。不需要多次查表,提高了网关转发报文时的性能,并加快数据包的转发。
图2为本公开实施例二提供的一种数据转发方法,VM1上联到VTEP1,VM2上联到VTEP2,VTEP3是网关,如图2所示,所述方法包括:
S1、当VM1开机上线后,首先发出免费ARP请求,免费ARP请求中包含VM1的IP地址和MAC地址;
S2、免费ARP请求发送到上联的VTEP1后,VTEP1根据二层子接口上的配置判断报文需要进入VXLAN隧道,确定了报文所属BD后,也就确定了报文所属的VNI;同时,VTEP1学习VM1的MAC、VNI和报文入接口(即二层子接口对应的物理接口)的对应关系,并记录在本地MAC表中;
S3、之后,VTEP1会根据头端复制列表对报文进行复制,并分别进行封装。这里封装的外层源IP地址为本地VTEP(VTEP1)的IP地址,外层目的IP地址为所有对端VTEP的IP地址;外层源MAC地址为本地VTEP的MAC地址,而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址;
S4、封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP;
S5、报文到达对端VTEP如网关VTEP3后,VTEP3对报文进行解封装,得到VM1发送的原始报文;
S6、同时,VTEP3学习VM1的MAC地址、VNI和VTEP1的IP地址的对应关系,并记录在本地MAC表中,同时扩展ARP表项内容,增加下一跳路由VTEP1的IP地址、出端口MAC地址、出端口对端MAC地址、VNI;
S7、当与VM1不是同一个子网的VM2要访问VM1时,VM2判断VM1与自己不是同一个子网,把数据包发送给网关VTEP3。
S8、VM2上联的VTEP2接收到数据包后判断目的MAC地址是网关VTEP3,进行VXLAN封装,发送给VTEP3;
S9、VTEP3接收到数据报文后,根据外层报文的目的IP和目的MAC地址判断出是发送给自己的报文,同时根据端口号判断是VXLAN报文,提取出内层报文;
S10、VTEP3根据内层报文的目的MAC地址判断是发送给自己的报文,提取目的IP地址;
S11、VTEP3根据ARP表查找目的IP地址的表项,根据表项进行VXLAN报文封装,把报文发送给VTEP1;
S12、VTEP1接收报文后,根据内层报文的目的MAC地址查找本地MAC地址表项,把解封装的报文发送给VM1。
图3为本公开实施例三提供的一种VTEP网关的架构图,如图3所示,所述VTEP网关包括:
接收模块11,其设置为接收第一VTEP在IP网络中传输的第一报文,所述第一报文由第一VTEP在接收到下联的第一VM发送的ARP请求报文后封装得到;
增加模块12,其设置为根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息,所述下一跳路由的路由信息为第一VTEP的路由信息;
所述接收模块11还设置为接收第二VTEP在接收到其下联的第二VM发送的数据包并封装后发送的第二报文,所述第二VM与第一VM为非同一子网,所述第二报文中内层报文的目的IP地址为第一VM;
获取模块13,其设置为对所述第二报文进行解封,并获取内层报文的目的IP地址;
封装模块14,其设置为在所述ARP表项查找所述目的IP地址对应的表项,并根据对应表项中到第一VM的下一跳路由信息对所述内层报文进行VXLAN报文封装得到第三报文,将封装后的第三报文发送到第一VTEP。
进一步的,所述获取模块14还设置为在所述接收模块接收到第一VTEP在IP网络中传输的第一报文后,获取第一报文中第一VTEP的IP地址和MAC地址;以及,
对所述第一报文进行解封装,得到第一VM发送的ARP请求报文,并获取所述ARP请求报文中的第一VM的IP地址和MAC地址;
所述增加模块12具体设置为:
根据所述获取模块13获取的第一VTEP的IP地址和MAC地址以及第一VM的IP地址和MAC地址,在ARP表项中增加到第一VM的下一跳路由第一VTEP的路由信息,包括第一VTEP的IP地址、出端口MAC地址和出端口对端MAC地址。
进一步的,所述VTEP网关还包括学习模块15;
所述第一报文还包括第一VM的VNI;
所述学习模块15设置为学习第一VM的MAC地址、第一VM的VNI和第一VM与第一VTEP的IP地址的对应关系,并记录在本地MAC表中。
进一步的,所述获取模块13包括:
判断单元,其设置为在所述接收模块11接收到第二报文后,根据所述第二报文的外层报文的目的IP地址和目的MAC地址判断是否为发送给自己的报文;以及,
在判断是发送给自己的报文后根据端口号判断是否为VXLAN报文;
提取单元,其设置为在判断单元判断为是VXLAN报文后提取出内层报文,并根据内层报文的目的MAC地址判断是发送给自己的报文,提取内层报文的目的IP地址。
本公开实施例的VTEP网关用于实施方法实施例一和实施例二的数据转发方法,所以描述的较为简单,具体可以参见前面方法实施例一中的相关描述,此处不再赘述。
此外,如图4所示,本公开实施例三还提供一种电子设备,包括存储器10和处理器20,所述存储器10中存储有计算机程序,当所述处理器20运行所述存储器10存储的计算机程序时,所述处理器20执行上述各种可能的方法。
其中,存储器10与处理器20连接,存储器10可采用闪存或只读存储器或其他存储器,处理器20可采用中央处理器或单片机。
此外,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行上述各种可能的方法。
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically ErasableProgrammable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。
Claims (10)
1.一种数据转发方法,其特征在于,应用于可扩展虚拟局域网隧道端点VTEP网关,所述方法包括:
接收第一VTEP在IP网络中传输的第一报文,所述第一报文由第一VTEP在接收到下联的第一虚拟机VM发送的地址解析协议ARP请求报文后封装得到;
根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息,所述下一跳路由的路由信息为第一VTEP的路由信息;
接收第二VTEP在接收到其下联的第二VM发送的数据包并封装后发送的第二报文,所述第二VM与第一VM为非同一子网,所述第二报文中内层报文的目的IP地址为第一VM;
对所述第二报文进行解封,并获取内层报文的目的IP地址;
在所述ARP表项查找所述目的IP地址对应的表项,根据对应表项中到第一VM的下一跳路由信息对所述内层报文进行VXLAN报文封装得到第三报文,将封装后的第三报文发送到第一VTEP。
2.根据权利要求1所述的数据转发方法,其特征在于,所述方法还包括:
在接收到第一VTEP在IP网络中传输的第一报文后,获取第一报文中第一VTEP的IP地址和媒体存储控制MAC地址;以及,
对所述第一报文进行解封装,得到第一VM发送的ARP请求报文,并获取所述ARP请求报文中的第一VM的IP地址和MAC地址;
所述根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息包括:
根据获取的第一VTEP的IP地址和MAC地址以及第一VM的IP地址和MAC地址,在ARP表项中增加到第一VM的下一跳路由第一VTEP的路由信息,包括第一VTEP的IP地址、出端口MAC地址和出端口对端MAC地址。
3.根据权利要求2所述的数据转发方法,其特征在于,所述第一报文还包括第一VM的可扩展虚拟局域网网络标识符VNI;
所述方法还包括:
学习第一VM的MAC地址、第一VM的VNI和第一VM与第一VTEP的IP地址的对应关系,并记录在本地MAC表中。
4.根据权利要求1所述的数据转发方法,其特征在于,所述对所述第二报文进行解封,并获取内层报文的目的IP地址包括:
在接收到第二报文后,根据所述第二报文的外层报文的目的IP地址和目的MAC地址判断是否为发送给自己的报文;
在判断是发送给自己的报文后根据端口号判断是否为VXLAN报文;
在判断为是VXLAN报文后提取出内层报文,并根据内层报文的目的MAC地址判断是发送给自己的报文,提取内层报文的目的IP地址。
5.一种可扩展虚拟局域网隧道端点VTEP网关,其特征在于,所述VTEP网关包括:
接收模块,其设置为接收第一VTEP在IP网络中传输的第一报文,所述第一报文由第一VTEP在接收到下联的第一VM发送的ARP请求报文后封装得到;
增加模块,其设置为根据所述第一报文在ARP表项中增加到第一VM的下一跳路由的路由信息,所述下一跳路由的路由信息为第一VTEP的路由信息;
所述接收模块还设置为接收第二VTEP在接收到其下联的第二VM发送的数据包并封装后发送的第二报文,所述第二VM与第一VM为非同一子网,所述第二报文中内层报文的目的IP地址为第一VM;
获取模块,其设置为对所述第二报文进行解封,并获取内层报文的目的IP地址;
封装模块,其设置为在所述ARP表项查找所述目的IP地址对应的表项,并根据对应表项中到第一VM的下一跳路由信息对所述内层报文进行VXLAN报文封装得到第三报文,将封装后的第三报文发送到第一VTEP。
6.根据权利要求5所述的VTEP网关,其特征在于,
所述获取模块还设置为在所述接收模块接收到第一VTEP在IP网络中传输的第一报文后,获取第一报文中第一VTEP的IP地址和MAC地址;以及,
对所述第一报文进行解封装,得到第一VM发送的ARP请求报文,并获取所述ARP请求报文中的第一VM的IP地址和MAC地址;
所述增加模块具体设置为:
根据所述获取模块获取的第一VTEP的IP地址和MAC地址以及第一VM的IP地址和MAC地址,在ARP表项中增加到第一VM的下一跳路由第一VTEP的路由信息,包括第一VTEP的IP地址、出端口MAC地址和出端口对端MAC地址。
7.根据权利要求6所述的VTEP网关,其特征在于,所述VTEP网关还包括学习模块;
所述第一报文还包括第一VM的VNI;
所述学习模块设置为学习第一VM的MAC地址、第一VM的VNI和第一VM与第一VTEP的IP地址的对应关系,并记录在本地MAC表中。
8.根据权利要求5所述的VTEP网关,其特征在于,所述获取模块包括:
判断单元,其设置为在所述接收模块接收到第二报文后,根据所述第二报文的外层报文的目的IP地址和目的MAC地址判断是否为发送给自己的报文;以及,
在判断是发送给自己的报文后根据端口号判断是否为VXLAN报文;
提取单元,其设置为在判断单元判断为是VXLAN报文后提取出内层报文,并根据内层报文的目的MAC地址判断是发送给自己的报文,提取内层报文的目的IP地址。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行如权利要求1-4中任一项所述的数据转发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210785498.1A CN115190100A (zh) | 2022-07-04 | 2022-07-04 | 数据转发方法、vtep网关、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210785498.1A CN115190100A (zh) | 2022-07-04 | 2022-07-04 | 数据转发方法、vtep网关、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115190100A true CN115190100A (zh) | 2022-10-14 |
Family
ID=83518324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210785498.1A Withdrawn CN115190100A (zh) | 2022-07-04 | 2022-07-04 | 数据转发方法、vtep网关、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115190100A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112315A (zh) * | 2022-12-27 | 2023-05-12 | 广东中兴新支点技术有限公司 | 一种跨网段通信传输方法、系统、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611618A (zh) * | 2012-02-23 | 2012-07-25 | 中兴通讯股份有限公司 | 路由保护切换方法及装置 |
CN103326941A (zh) * | 2013-05-24 | 2013-09-25 | 武汉烽火网络有限责任公司 | 路由器对ip报文的快速转发方法 |
CN104350714A (zh) * | 2014-05-29 | 2015-02-11 | 华为技术有限公司 | 一种报文转发方法和VxLAN网关 |
CN104780105A (zh) * | 2015-04-24 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种报文转发方法、路由桥和转发芯片 |
CN106998286A (zh) * | 2017-05-05 | 2017-08-01 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
US20180006969A1 (en) * | 2016-06-29 | 2018-01-04 | Cisco Technology, Inc. | Technique for gleaning mac and ip address bindings |
CN109088819A (zh) * | 2018-07-25 | 2018-12-25 | 新华三技术有限公司合肥分公司 | 一种报文转发方法、交换机及计算机可读存储介质 |
CN109257265A (zh) * | 2018-08-10 | 2019-01-22 | 锐捷网络股份有限公司 | 一种泛洪抑制方法、vxlan网桥、网关及系统 |
US20190068543A1 (en) * | 2015-10-26 | 2019-02-28 | New H3C Technologies Co., Ltd. | Packet forwarding applied to vxlan |
WO2020200200A1 (zh) * | 2019-04-04 | 2020-10-08 | 中兴通讯股份有限公司 | 路由方法及路由设备 |
CN113595849A (zh) * | 2021-08-17 | 2021-11-02 | 中国联合网络通信集团有限公司 | 报文转发方法、发送端vtep及网关vtep |
-
2022
- 2022-07-04 CN CN202210785498.1A patent/CN115190100A/zh not_active Withdrawn
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611618A (zh) * | 2012-02-23 | 2012-07-25 | 中兴通讯股份有限公司 | 路由保护切换方法及装置 |
CN103326941A (zh) * | 2013-05-24 | 2013-09-25 | 武汉烽火网络有限责任公司 | 路由器对ip报文的快速转发方法 |
CN104350714A (zh) * | 2014-05-29 | 2015-02-11 | 华为技术有限公司 | 一种报文转发方法和VxLAN网关 |
CN104780105A (zh) * | 2015-04-24 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种报文转发方法、路由桥和转发芯片 |
US20190068543A1 (en) * | 2015-10-26 | 2019-02-28 | New H3C Technologies Co., Ltd. | Packet forwarding applied to vxlan |
US20180006969A1 (en) * | 2016-06-29 | 2018-01-04 | Cisco Technology, Inc. | Technique for gleaning mac and ip address bindings |
CN106998286A (zh) * | 2017-05-05 | 2017-08-01 | 杭州迪普科技股份有限公司 | 一种vxlan报文转发方法及装置 |
CN109088819A (zh) * | 2018-07-25 | 2018-12-25 | 新华三技术有限公司合肥分公司 | 一种报文转发方法、交换机及计算机可读存储介质 |
CN109257265A (zh) * | 2018-08-10 | 2019-01-22 | 锐捷网络股份有限公司 | 一种泛洪抑制方法、vxlan网桥、网关及系统 |
WO2020200200A1 (zh) * | 2019-04-04 | 2020-10-08 | 中兴通讯股份有限公司 | 路由方法及路由设备 |
CN113595849A (zh) * | 2021-08-17 | 2021-11-02 | 中国联合网络通信集团有限公司 | 报文转发方法、发送端vtep及网关vtep |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112315A (zh) * | 2022-12-27 | 2023-05-12 | 广东中兴新支点技术有限公司 | 一种跨网段通信传输方法、系统、设备及存储介质 |
CN116112315B (zh) * | 2022-12-27 | 2024-05-10 | 广东中兴新支点技术有限公司 | 一种跨网段通信传输方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3544240B1 (en) | Data processing | |
CN108199963B (zh) | 报文转发方法和装置 | |
US9397943B2 (en) | Configuring virtual media access control addresses for virtual machines | |
US10050877B2 (en) | Packet forwarding method and apparatus | |
CN107612808B (zh) | 隧道建立方法和装置 | |
EP3197107B1 (en) | Message transmission method and apparatus | |
US20130124750A1 (en) | Network virtualization without gateway function | |
CN108092890B (zh) | 路由建立方法和装置 | |
CN104170331A (zh) | 用于vxlan的l3网关 | |
CN111614541B (zh) | 公有云网络物理主机加入vpc的方法 | |
CN107317752B (zh) | 一种转发数据报文的方法及装置 | |
US20190319871A1 (en) | Multi-VRF Universal Device Internet Protocol Address for Fabric Edge Devices | |
CN105791072A (zh) | 以太虚拟网络的接入方法及装置 | |
JP2002247089A (ja) | パケットルーティング方法および装置 | |
CN113595849B (zh) | 报文转发方法、发送端vtep及网关vtep | |
CN115174468A (zh) | 路由同步方法、跨设备链路聚合组、电子设备及介质 | |
CN115190100A (zh) | 数据转发方法、vtep网关、电子设备及可读存储介质 | |
CN111800327B (zh) | Vxlan网络的流量分担方法、设备 | |
CN104378302B (zh) | 地址对应关系发送方法和路由桥设备 | |
CN107995110B (zh) | 流量转发方法和装置 | |
CN116418632A (zh) | 一种报文处理方法、装置、设备及机器可读存储介质 | |
US20230164070A1 (en) | Packet sending method, device, and system | |
CN115348238A (zh) | Dhcp中继的方法、vtep网关、电子设备及介质 | |
CN115174312B (zh) | 广播信息发送方法、隧道端点设备、电子设备及介质 | |
CN111740900B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20221014 |
|
WW01 | Invention patent application withdrawn after publication |