CN106921578A - 一种转发表项的生成方法和装置 - Google Patents
一种转发表项的生成方法和装置 Download PDFInfo
- Publication number
- CN106921578A CN106921578A CN201710151340.8A CN201710151340A CN106921578A CN 106921578 A CN106921578 A CN 106921578A CN 201710151340 A CN201710151340 A CN 201710151340A CN 106921578 A CN106921578 A CN 106921578A
- Authority
- CN
- China
- Prior art keywords
- network segment
- segment information
- data message
- message
- virtual machine
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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]
-
- 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]
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
本申请提供一种转发表项的生成方法和装置,该方法包括:接收来自对端设备的数据报文,所述数据报文是所述对端设备在接收到来自虚拟机的ARP报文后发送的,所述数据报文携带所述虚拟机的网段信息;从所述数据报文中解析出所述网段信息,并根据所述网段信息构造与所述网段信息匹配的ARP请求报文,并发送构造的ARP请求报文;接收虚拟机返回的ARP应答报文,并利用所述ARP应答报文生成转发表项。通过本申请的技术方案,不需要在IPL上传输大量的ARP报文,从而节约本端设备与对端设备之间的IPL的带宽资源,避免ARP报文丢失导致的业务中断问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种转发表项的生成方法和装置。
背景技术
VXLAN(Virtual eXtensible Local Area Network,可扩展虚拟局域网络)是基于IP网络、采用“MAC(Media Access Control,媒体访问控制)in UDP(User DatagramProtocol,用户数据报协议)”封装形式的二层VPN(Virtual Private Network,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或者企业IP网络,为分散的站点提供二层互联,并能够为不同的租户提供业务隔离。
为了提高可靠性,可以采用分布式聚合的VXLAN组网方式,如图1所示,主机A的物理端口1和物理端口2加入聚合口A,而VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)1与VTEP2之间通过分布式聚合协议,将VTEP1的物理端口3和VTEP2的物理端口4也加入到聚合口A。这样,针对主机A发送给主机E的报文,主机A可以通过物理端口1或者物理端口2进行发送,VTEP1或者VTEP2在接收到该报文之后,可以转发该报文。而且,当VTEP1或者VTEP2发生故障时,主机A仍然可以将报文发送给主机E,从而提高可靠性。
在上述应用场景下,ARP(Address Resolution Protocol,地址解析协议)表项的学习过程可以包括:在主机A上线之后,通过物理端口1发送ARP报文,VTEP1在接收到该ARP报文之后,学习到主机A的ARP表项,并可以通过IPL(Intra-Portal Link,内部入口链路)将该ARP报文发送给VTEP2。VTEP2在通过IPL接收到ARP报文之后,学习到主机A的ARP表项。
但是,目前分布式聚合的组网通常如图2所示,在一个物理服务器上可以创建多个VM(Virtual Machine,虚拟机),每个VM就相当于一个主机。VTEP1在接收到来自每个VM的ARP报文之后,均需要通过IPL发送给VTEP2,即针对每个VM发送一个ARP报文。这样,当VM数量很多时,就需要通过IPL传输大量ARP报文,浪费了IPL的带宽资源,一旦ARP报文发生丢失,就会导致VTEP2无法学习到ARP表项,导致业务中断。
发明内容
本申请提供一种转发表项的生成方法,所述方法应用于分布式聚合系统的本端设备,所述分布式聚合系统还包括对端设备、与所述本端设备及所述对端设备连接的虚拟机,所述方法包括:
接收来自所述对端设备的数据报文,所述数据报文是所述对端设备在接收到来自虚拟机的ARP报文后发送的,所述数据报文携带所述虚拟机的网段信息;
从所述数据报文中解析出所述网段信息,并根据所述网段信息构造与所述网段信息匹配的ARP请求报文,并向所述虚拟机发送构造的ARP请求报文;
接收所述虚拟机返回的针对所述ARP请求报文的ARP应答报文,并利用所述ARP应答报文生成转发表项。
本申请提供一种转发表项的生成方法,所述方法应用于分布式聚合系统的对端设备,所述分布式聚合系统还包括本端设备、与所述本端设备及所述对端设备连接的虚拟机,所述方法包括:
接收来自所述虚拟机的ARP报文,并利用所述ARP报文生成转发表项;
获取所述虚拟机的网段信息,并生成携带所述网段信息的数据报文;
向所述本端设备发送所述数据报文,以使所述本端设备根据所述数据报文携带的网段信息生成与所述网段信息匹配的虚拟机的转发表项。
本申请提供一种转发表项的生成装置,所述装置应用于分布式聚合系统的本端设备,所述分布式聚合系统还包括对端设备、与所述本端设备及所述对端设备连接的虚拟机,所述装置包括:
接收模块,用于接收来自对端设备的数据报文,所述数据报文是对端设备在收到来自虚拟机的ARP报文后发送的,所述数据报文携带虚拟机的网段信息;
构造模块,用于从所述数据报文中解析出所述网段信息,并根据所述网段信息构造与所述网段信息匹配的ARP请求报文;
发送模块,用于向所述虚拟机发送所述构造模块构造的ARP请求报文;
所述接收模块,还用于接收所述虚拟机返回的针对所述ARP请求报文ARP应答报文;
生成模块,用于利用所述ARP应答报文生成转发表项。
本申请提供一种转发表项的生成装置,所述装置应用于分布式聚合系统的对端设备,所述分布式聚合系统还包括本端设备、与所述本端设备及所述对端设备连接的虚拟机,所述装置包括:
接收模块,用于接收来自所述虚拟机的ARP报文;
生成模块,用于利用所述ARP报文生成转发表项;
获取模块,用于获取所述虚拟机的网段信息;
所述生成模块,还用于生成携带所述网段信息的数据报文;
发送模块,用于向本端设备发送所述数据报文,以使所述本端设备根据所述数据报文携带的网段信息生成与所述网段信息匹配的虚拟机的转发表项。
基于上述技术方案,本申请实施例中,在分布式聚合的VXLAN组网下,针对转发表项(如ARP表项)的学习过程,通过在本端设备与对端设备之间传输携带网段信息的数据报文,从而使本端设备可以根据网段信息主动构造针对虚拟机的ARP请求报文,继而根据ARP应答报文生成虚拟机对应的转发表项。基于上述方式,并不需要在本端设备与对端设备之间针对每个虚拟机发送一个ARP报文,假设这多个虚拟机属于同一个网段,则只需要针对这多个虚拟机发送一个数据报文即可,不需要传输大量的ARP报文,节约本端设备与对端设备之间的带宽资源。例如,针对10个属于同一网段的虚拟机,传统方式中,需要在本端设备与对端设备之间至少传输10个ARP报文,本申请实施例中,只需要在本端设备与对端设备之间传输1个数据报文即可。由于在本端设备与对端设备之间传输数据报文,而不是ARP报文,从而可以避免ARP报文丢失导致的业务中断问题。具体的,传统方式中,当在本端设备与对端设备之间传输大量ARP报文时,由于报文数量较多,因此容易导致ARP报文的丢失,本申请实施例中,只在本端设备与对端设备之间传输1个数据报文,报文数量较少,因此不容易导致数据报文的丢失;此外,在实际应用中,假设需要在一条链路上传输数据类型的报文和协议类型的报文,则在链路发生拥塞时,通常会先丢弃协议类型的报文,基于此,传统方式中,若本端设备与对端设备之间需要传输大量数据类型的报文和ARP报文(即协议类型的报文),则在链路发生拥塞时,会先丢弃ARP报文,而本申请实施例中,若本端设备与对端设备之间需要传输大量数据类型的报文和数据报文(即数据类型的报文),则在链路发生拥塞时,由于数据报文也是数据类型的报文,不会被优先丢弃,即数据报文不容易丢失。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1和图2是分布式聚合的组网示意图;
图3是本申请一种实施方式中的转发表项的生成方法的流程图;
图4是本申请一种实施方式中的本端设备的硬件结构图;
图5是本申请一种实施方式中的转发表项的生成装置的结构图;
图6是本申请一种实施方式中的对端设备的硬件结构图;
图7是本申请一种实施方式中的转发表项的生成装置的结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者“当……时”,或者“响应于确定”。
本申请实施例提出一种转发表项的生成方法,该方法可以应用于分布式聚合系统,该分布式聚合系统可以包括本端设备、对端设备、与本端设备及对端设备连接的虚拟机,该虚拟机是与本端设备及对端设备的聚合口连接的虚拟机,是位于私网侧的虚拟机。在一个例子中,虚拟机可以是部署在物理服务器上的虚拟机,即物理服务器与本端设备及对端设备连接,且该物理服务器上配置有虚拟机(如一个或者多个虚拟机),上述与本端设备及对端设备连接的虚拟机是物理服务器上配置的一个或者多个虚拟机。而且,针对该物理服务器,本端设备的物理端口与对端设备的物理端口组成与该物理服务器关联的聚合口,即物理服务器连接到该聚合口。在实际应用中,本端设备和对端设备可以是相对的,如本端设备还可以为对端设备,且对端设备也可以为本端设备,对此不做限制。参见图3所示,为该转发表项的生成方法的流程图,该方法可以包括:
步骤301,对端设备接收来自虚拟机的ARP报文(如免费ARP报文或者ARP请求报文),并利用该ARP报文生成转发表项(如ARP表项)。
步骤302,对端设备获取该虚拟机的网段信息,并生成携带该网段信息的数据报文。
在一个例子中,针对“对端设备获取该虚拟机的网段信息”的过程,对端设备在接收到来自虚拟机的ARP报文时,先确定对端设备上接收到该ARP报文的接收端口,这个接收端口对应的网段信息也就是该虚拟机的网段信息。
在一个例子中,针对“生成携带该网段信息的数据报文”的过程,若未发送过针对该网段信息的数据报文,则生成携带该网段信息的数据报文;若已经发送过针对该网段信息的数据报文,则结束流程,不再生成数据报文。
步骤303,对端设备向本端设备发送该数据报文,以使本端设备根据该数据报文携带的网段信息生成与该网段信息匹配的虚拟机的转发表项。
其中,针对“本端设备根据该数据报文携带的网段信息生成与该网段信息匹配的虚拟机的转发表项”的过程,参见步骤304-步骤306,在此不再赘述。
在一个例子中,针对对端设备生成的数据报文,该数据报文的目的IP地址可以为本端设备的IP地址,该数据报文的目的MAC(Media Access Control,媒体访问控制)地址可以为本端设备的MAC地址。针对“对端设备向本端设备发送数据报文”的过程,对端设备可以通过IPL将数据报文发送给本端设备,当然,对端设备也可以通过其它链路将数据报文发送给本端设备,对此不做限制。
在一个例子中,在对端设备向本端设备发送数据报文之后,对端设备还可以为该网段信息设置预设标记,并为该网段信息设置老化定时器;其中,该预设标记用于表示发送过针对该网段信息的数据报文。而且,在该老化定时器超时后,则删除该网段信息对应的预设标记;在该老化定时器超时之前,则可以保留该网段信息对应的预设标记,这样,当再次接收到针对该网段信息的ARP报文后,不用向本端设备发送数据报文,从而减少数据报文的发送数量。
基于此预设标记,对端设备在接收到ARP报文,并获取到网段信息后,可以通过查询该网段信息是否有预设标记,来确定是否发送过针对该网段信息的数据报文,即:若该网段信息有预设标记,则已经发送过针对该网段信息的数据报文;若该网段信息没有预设标记,则未发送过针对该网段信息的数据报文。
在一个例子中,由于同一网段信息对应的所有虚拟机可能并不是同时上线,这样,本端设备在根据网段信息生成转发表项时,若有虚拟机还没有上线,则本端设备无法生成没有上线的虚拟机的转发表项,因此对端设备通过为网段信息设置老化定时器,在老化定时器超时后,删除网段信息对应的预设标记,这样,当有新虚拟机上线时,对端设备可以再次向本端设备发送数据报文,而本端设备可以根据网段信息生成转发表项,从而为新上线的虚拟机生成转发表项。
步骤304,本端设备接收来自对端设备的携带网段信息的数据报文。
步骤305,本端设备从数据报文中解析出网段信息,并根据该网段信息构造与该网段信息匹配的ARP请求报文,并向虚拟机发送构造的ARP请求报文。
在一个例子中,在本端设备从数据报文中解析出网段信息之前,本端设备还可以解析该数据报文的目的IP地址和/或目的MAC地址。若该目的IP地址为本端设备的IP地址,和/或该目的MAC地址为本端设备的MAC地址,则本端设备从数据报文中解析出网段信息。若该目的IP地址不是本端设备的IP地址,和/或该目的MAC地址不是本端设备的MAC地址,则无需根据该数据报文中的网段信息构造ARP请求报文。。
在一个例子中,网段信息可以为32位掩码的IP地址(如99.1.1.0等),也可以为N位(N为小于32的数值)掩码的IP网段(如99.1.1.0/24等,其表示24位掩码的IP网段)。基于此,若网段信息为32位掩码的IP地址,则构造的ARP请求报文是针对IP地址99.1.1.0的ARP请求报文,是针对一个虚拟机的ARP请求报文;若网段信息为N位掩码的IP网段,则构造的ARP请求报文是针对IP网段99.1.1.0/24的ARP请求报文,是针对多个虚拟机的ARP请求报文。
步骤306,本端设备接收虚拟机返回的针对该ARP请求报文的ARP应答报文,并利用该ARP应答报文生成转发表项(如ARP表项)。
基于上述技术方案,本申请实施例中,在分布式聚合的VXLAN组网下,针对转发表项(如ARP表项)的学习过程,通过在本端设备与对端设备之间传输携带网段信息的数据报文,从而使本端设备可以根据网段信息主动构造针对虚拟机的ARP请求报文,继而根据ARP应答报文生成虚拟机对应的转发表项。基于上述方式,当物理服务器上创建多个虚拟机时,针对这多个虚拟机,并不需要针对每个虚拟机发送一个ARP报文,假设这多个虚拟机属于同一个网段,则只需要针对这多个虚拟机发送一个数据报文即可,从而不需要传输大量的ARP报文,并节约本端设备与对端设备之间的带宽资源。例如,物理服务器上创建10个属于同一网段的虚拟机,传统方式中,需要在本端设备与对端设备之间至少传输10个ARP报文,而本申请实施例中,只需要在本端设备与对端设备之间传输1个数据报文即可。而且,由于在本端设备与对端设备之间传输数据报文,而不是ARP报文,从而可以避免ARP报文丢失导致的业务中断问题。具体的,传统方式中,当在本端设备与对端设备之间传输大量ARP报文时,由于报文数量较多,因此容易导致ARP报文的丢失,而本申请实施例中,只需要在本端设备与对端设备之间传输1个数据报文,由于报文数量较少,因此不容易导致数据报文的丢失;此外,在实际应用中,假设需要在一条链路上传输数据类型的报文和协议类型的报文,则在链路发生拥塞时,通常会先丢弃协议类型的报文,基于此,传统方式中,若本端设备与对端设备之间需要传输大量数据类型的报文和ARP报文(即协议类型的报文),则在链路发生拥塞时,会先丢弃ARP报文,而本申请实施例中,若本端设备与对端设备之间需要传输大量数据类型的报文和数据报文(即数据类型的报文),则在链路发生拥塞时,由于数据报文也是数据类型的报文,不会被优先丢弃,即数据报文不容易丢失。
以下结合图2所示的应用场景,对上述方案进行说明。在分布式聚合的组网场景,物理服务器的物理端口1和物理端口2加入聚合口A,VTEP1与VTEP2之间通过分布式聚合协议,将VTEP1的物理端口3和VTEP2的物理端口4也加入到聚合口A,对此聚合口A的配置过程不再赘述。VTEP1配置聚合口A与物理端口3、物理端口4的对应关系,VTEP2配置聚合口A与物理端口3、物理端口4的对应关系。如图2所示,本端设备为VTEP1,对端设备为VTEP2,或者,本端设备为VTEP2,对端设备为VTEP1。而且,物理服务器上配置了9个VM,图2中以9个VM为例,在实际应用中还可以为其它数量。
在上述应用场景下,针对转发表项的生成过程,可以包括以下步骤:
步骤1、VM1通过物理端口1或者物理端口2发送ARP报文(如免费ARP报文或者ARP请求报文),为方便描述,以通过物理端口1发送ARP报文为例。
在一个例子中,VM1在上线后,可以通过物理端口1发送免费ARP报文或者ARP请求报文。免费ARP报文的源IP地址为VM1的IP地址,目的IP地址为VM1的IP地址,源MAC地址为VM1的MAC地址,目的MAC地址为广播MAC地址。此外,ARP请求报文的源IP地址为VM1的IP地址,目的IP地址为VTEP1/VTEP2的IP地址(VTEP1和VTEP2的IP地址相同),源MAC地址为VM1的MAC地址,目的MAC地址为广播MAC地址。
步骤2、VTEP1通过聚合口A接收到VM1发送的ARP报文。
步骤3、VTEP1利用该ARP报文生成VM1的转发表项(ARP表项)。
其中,VTEP1可以从该ARP报文中解析出VM1的IP地址99.1.1.2以及VM1的MAC地址0010-9400-0001,并可以维护表1所示的转发表项。
表1
IP地址 | MAC地址 | 出接口 |
99.1.1.2 | 0010-9400-0001 | 聚合口A |
步骤4、VTEP1获取VM1的网段信息(即网段地址,如28位的网段地址、24位的网段地址、16位的网段地址等,以24位的网段地址为例)。例如,由于VM1的IP地址为99.1.1.2,因此,24位的网段地址为99.1.1.0/24。
步骤5、VTEP1判断是否已经发送过针对该网段信息(如99.1.1.0/24)的数据报文。如果是,则结束流程,如果否,则VTEP1执行步骤6。
在一个例子中,VTEP1可以通过查询该网段信息(如99.1.1.0/24)是否设置有预设标记(关于预设标记的设置过程,将在后续过程进行说明),来判断是否已经发送过针对该网段信息(如99.1.1.0/24)的数据报文。具体的,若该网段信息有预设标记,则可以确定已经发送过针对该网段信息的数据报文;若该网段信息没有预设标记,则可以确定未发送过针对该网段信息的数据报文。
步骤6、VTEP1生成携带该网段信息(如99.1.1.0/24)的数据报文。
其中,该数据报文的目的IP地址可以为VTEP2的IP地址,目的MAC地址可以为VTEP2的MAC地址。在实际应用中,为了实现分布式聚合,VTEP1和VTEP2可以配置相同的IP地址和MAC地址,因此,VTEP1在生成数据报文时,可以将VTEP1的IP地址作为该数据报文的目的IP地址,将VTEP1的MAC地址作为该数据报文的目的MAC地址。
步骤7、VTEP1通过IPL将该数据报文发送给VTEP2。
步骤8、VTEP1为该网段信息(99.1.1.0/24)设置预设标记和老化定时器,该预设标记用于表示发送过针对该网段信息(99.1.1.0/24)的数据报文。
在一个例子中,VTEP1为该网段信息设置老化定时器后,在老化定时器超时前,则可以保留该网段信息对应的预设标记,这样,VTEP1再次接收到针对该网段信息的ARP报文后,不用生成数据报文,不用通过IPL向VTEP2发送数据报文。在老化定时器超时后,VTEP1可以删除该网段信息对应的预设标记和老化定时器,这样,VTEP1再次接收到针对该网段信息的ARP报文后,可以生成数据报文,通过IPL向VTEP2发送数据报文。
步骤9、VTEP2接收来自VTEP1的携带网段信息的数据报文。
步骤10、VTEP2从该数据报文中解析出网段信息(99.1.1.0/24)。
在一个例子中,在VTEP2从该数据报文中解析出网段信息之前,还可以解析该数据报文的目的IP地址和目的MAC地址。若该目的IP地址为VTEP2的IP地址,且该目的MAC地址为VTEP2的MAC地址,且该数据报文是通过IPL接收的,则VTEP2从该数据报文中解析出网段信息。
步骤11、VTEP2根据该网段信息(99.1.1.0/24)构造与该网段信息匹配的虚拟机的ARP请求报文,并向虚拟机发送构造的ARP请求报文。
在一个例子中,VTEP2可以构造目的IP地址为99.1.1.0/24的ARP请求报文,该ARP请求报文的源IP地址为VTEP2的IP地址,源MAC地址为VTEP2的MAC地址,目的MAC地址为广播MAC地址。然后,VTEP2以广播方式发送该ARP请求报文,该ARP请求报文会被发送给物理服务器上的每个VM。假设VM1-VM9的IP地址分别为99.1.1.2-99.1.1.10,由于该ARP请求报文的目的IP地址为99.1.1.0/24,因此,VM1在接收到该ARP请求报文后,由于本设备的IP地址99.1.1.2属于该99.1.1.0/24,因此,会向VTEP2发送ARP应答报文。同理,VM2-VM9在接收到该ARP请求报文后,也向VTEP2发送ARP应答报文。
在另一个例子中,VTEP2可以构造目的IP地址为99.1.1.1的ARP请求报文、目的IP地址为99.1.1.2的ARP请求报文、目的IP地址为99.1.1.3的ARP请求报文,以此类推,一直到目的IP地址为99.1.1.255的ARP请求报文。此外,各ARP请求报文的源IP地址为VTEP2的IP地址,源MAC地址为VTEP2的MAC地址,目的MAC地址为广播MAC地址。然后,VTEP2以单播方式分别发送每个ARP请求报文。由于各ARP请求报文的目的IP地址为单播地址,因此,各ARP请求报文可以发送至与该目的IP地址对应的VM。假设VM1-VM9的IP地址分别为99.1.1.2-99.1.1.10,则目的IP地址为99.1.1.2的ARP请求报文会发送到VM1,以此类推,目的IP地址为99.1.1.10的ARP请求报文会发送到VM9,VM1在接收到ARP请求报文后,由于本设备的IP地址99.1.1.2与目的IP地址99.1.1.2相同,因此会向VTEP2发送ARP应答报文。同理,VM2-VM9在接收到相应的ARP请求报文后,也向VTEP2发送ARP应答报文。
在上述两个示例中,针对各VM向VTEP2发送的ARP应答报文,源IP地址为VM的IP地址,目的IP地址为VTEP2的IP地址,源MAC地址为VM的MAC地址,目的MAC地址为VTEP2的MAC地址。
步骤12、VTEP2接收各VM返回的针对该ARP请求报文的ARP应答报文。
步骤13、VTEP2利用ARP应答报文生成各VM的转发表项。
其中,VTEP2可以从VM1返回的ARP应答报文中解析出VM1的IP地址99.1.1.2以及VM1的MAC地址0010-9400-0001,并可以从VM2返回的ARP应答报文中解析出VM2的IP地址99.1.1.3以及VM2的MAC地址0010-9400-0002,以此类推,并最终维护表2所示的转发表项。
表2
IP地址 | MAC地址 | 出接口 |
99.1.1.2 | 0010-9400-0001 | 聚合口A |
99.1.1.3 | 0010-9400-0002 | 聚合口A |
99.1.1.4 | 0010-9400-0003 | 聚合口A |
… | ... | … |
99.1.1.10 | 0010-9400-0009 | 聚合口A |
步骤14、VM2-VM9通过物理端口1发送ARP报文,VTEP1通过聚合口A接收到VM2-VM9发送的ARP报文,并利用接收到的各ARP报文生成VM2-VM9的转发表项,在表1的基础上,最终维护的转发表项与表2类似。
步骤15、VTEP1获取VM2-VM9的网段信息(99.1.1.0/24),由于已经发送过针对该网段信息的数据报文,因此结束流程,不再发送数据报文。
基于与上述方法同样的申请构思,本申请实施例还提供一种转发表项的生成装置,该转发表项的生成装置可以应用在本端设备。该转发表项的生成装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的本端设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为该转发表项的生成装置所在的本端设备的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,本端设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,本端设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图5所示,为转发表项的生成装置的结构图,所述装置应用于分布式聚合系统的本端设备,所述分布式聚合系统还包括对端设备、与所述本端设备及所述对端设备连接的虚拟机,所述装置包括:
接收模块11,用于接收来自对端设备的数据报文,该数据报文是对端设备在收到来自虚拟机的ARP报文后发送的,所述数据报文携带虚拟机的网段信息;
构造模块12,用于从所述数据报文中解析出所述网段信息,并根据所述网段信息构造与所述网段信息匹配的ARP请求报文;
发送模块13,用于向所述虚拟机发送所述构造模块构造的ARP请求报文;
所述接收模块11,还用于接收所述虚拟机返回的针对所述ARP请求报文ARP应答报文;
生成模块14,用于利用所述ARP应答报文生成转发表项。
所述构造模块12,还用于解析所述数据报文的目的IP地址和/或目的MAC地址;若所述目的IP地址为本端设备的IP地址,和/或所述目的MAC地址为本端设备的MAC地址,则从所述数据报文中解析出所述网段信息。
基于与上述方法同样的申请构思,本申请实施例还提供一种转发表项的生成装置,该转发表项的生成装置可以应用在对端设备。该转发表项的生成装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的对端设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为该转发表项的生成装置所在的对端设备的一种硬件结构图,除了图6所示的处理器、非易失性存储器外,对端设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,对端设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图7所示,为转发表项的生成装置的结构图,所述装置应用于分布式聚合系统的对端设备,所述分布式聚合系统还包括本端设备、与所述本端设备及所述对端设备连接的虚拟机,所述装置包括:
接收模块21,用于接收来自所述虚拟机的ARP报文;
生成模块22,用于利用所述ARP报文生成转发表项;
获取模块23,用于获取所述虚拟机的网段信息;
所述生成模块22,还用于生成携带所述网段信息的数据报文;
发送模块24,用于向本端设备发送所述数据报文,以使所述本端设备根据所述数据报文携带的网段信息生成与所述网段信息匹配的虚拟机的转发表项。
所述生成模块22,具体用于在生成携带所述网段信息的数据报文的过程中,若未发送过针对所述网段信息的数据报文,生成携带所述网段信息的数据报文。
在一个例子中,所述转发表项的生成装置还包括(在图中未视出):
处理模块,用于在所述发送模块24向所述本端设备发送所述数据报文之后,为所述网段信息设置预设标记,并为所述网段信息设置老化定时器;其中,所述预设标记用于表示发送过针对所述网段信息的数据报文;
在所述老化定时器超时后,则删除所述网段信息对应的预设标记。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种转发表项的生成方法,其特征在于,所述方法应用于分布式聚合系统的本端设备,所述分布式聚合系统还包括对端设备、与所述本端设备及所述对端设备连接的虚拟机,所述方法包括:
接收来自所述对端设备的数据报文,所述数据报文是所述对端设备在接收到来自虚拟机的ARP报文后发送的,所述数据报文携带所述虚拟机的网段信息;
从所述数据报文中解析出所述网段信息,并根据所述网段信息构造与所述网段信息匹配的ARP请求报文,并向所述虚拟机发送构造的ARP请求报文;
接收所述虚拟机返回的针对所述ARP请求报文的ARP应答报文,并利用所述ARP应答报文生成转发表项。
2.根据权利要求1所述的方法,其特征在于,
所述从所述数据报文中解析出所述网段信息之前,所述方法还包括:
解析所述数据报文的目的IP地址和/或目的MAC地址;
若所述目的IP地址为本端设备的IP地址,和/或所述目的MAC地址为本端设备的MAC地址,则执行从所述数据报文中解析出所述网段信息的过程。
3.一种转发表项的生成方法,其特征在于,所述方法应用于分布式聚合系统的对端设备,所述分布式聚合系统还包括本端设备、与所述本端设备及所述对端设备连接的虚拟机,所述方法包括:
接收来自所述虚拟机的ARP报文,并利用所述ARP报文生成转发表项;
获取所述虚拟机的网段信息,并生成携带所述网段信息的数据报文;
向所述本端设备发送所述数据报文,以使所述本端设备根据所述数据报文携带的网段信息生成与所述网段信息匹配的虚拟机的转发表项。
4.根据权利要求3所述的方法,其特征在于,
所述生成携带所述网段信息的数据报文的过程,具体包括:若未发送过针对所述网段信息的数据报文,则生成携带所述网段信息的数据报文。
5.根据权利要求3或4所述的方法,其特征在于,
所述向所述本端设备发送所述数据报文之后,所述方法还包括:
为所述网段信息设置预设标记,并为所述网段信息设置老化定时器;其中,所述预设标记用于表示发送过针对所述网段信息的数据报文;
在所述老化定时器超时后,则删除所述网段信息对应的预设标记。
6.一种转发表项的生成装置,其特征在于,所述装置应用于分布式聚合系统的本端设备,所述分布式聚合系统还包括对端设备、与所述本端设备及所述对端设备连接的虚拟机,所述装置包括:
接收模块,用于接收来自对端设备的数据报文,所述数据报文是对端设备在收到来自虚拟机的ARP报文后发送的,所述数据报文携带虚拟机的网段信息;
构造模块,用于从所述数据报文中解析出所述网段信息,并根据所述网段信息构造与所述网段信息匹配的ARP请求报文;
发送模块,用于向所述虚拟机发送所述构造模块构造的ARP请求报文;
所述接收模块,还用于接收所述虚拟机返回的针对所述ARP请求报文ARP应答报文;
生成模块,用于利用所述ARP应答报文生成转发表项。
7.根据权利要求6所述的装置,其特征在于,
所述构造模块,还用于解析所述数据报文的目的IP地址和/或目的MAC地址;若所述目的IP地址为本端设备的IP地址,和/或所述目的MAC地址为本端设备的MAC地址,则从所述数据报文中解析出所述网段信息。
8.一种转发表项的生成装置,其特征在于,所述装置应用于分布式聚合系统的对端设备,所述分布式聚合系统还包括本端设备、与所述本端设备及所述对端设备连接的虚拟机,所述装置包括:
接收模块,用于接收来自所述虚拟机的ARP报文;
生成模块,用于利用所述ARP报文生成转发表项;
获取模块,用于获取所述虚拟机的网段信息;
所述生成模块,还用于生成携带所述网段信息的数据报文;
发送模块,用于向本端设备发送所述数据报文,以使所述本端设备根据所述数据报文携带的网段信息生成与所述网段信息匹配的虚拟机的转发表项。
9.根据权利要求8所述的装置,其特征在于,
所述生成模块,具体用于在生成携带所述网段信息的数据报文的过程中,若未发送过针对所述网段信息的数据报文,生成携带所述网段信息的数据报文。
10.根据权利要求8或9所述的装置,其特征在于,还包括:
处理模块,用于在所述发送模块向所述本端设备发送所述数据报文之后,为所述网段信息设置预设标记,并为所述网段信息设置老化定时器;其中,所述预设标记用于表示发送过针对所述网段信息的数据报文;
在所述老化定时器超时后,则删除所述网段信息对应的预设标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151340.8A CN106921578B (zh) | 2017-03-14 | 2017-03-14 | 一种转发表项的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151340.8A CN106921578B (zh) | 2017-03-14 | 2017-03-14 | 一种转发表项的生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106921578A true CN106921578A (zh) | 2017-07-04 |
CN106921578B CN106921578B (zh) | 2020-01-03 |
Family
ID=59461076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710151340.8A Active CN106921578B (zh) | 2017-03-14 | 2017-03-14 | 一种转发表项的生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106921578B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547402A (zh) * | 2017-07-19 | 2018-01-05 | 新华三技术有限公司 | 一种转发表生成方法和装置 |
CN108259635A (zh) * | 2017-09-29 | 2018-07-06 | 新华三技术有限公司 | 一种arp表项学习方法和dr设备 |
CN109412949A (zh) * | 2018-09-21 | 2019-03-01 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
CN110851371A (zh) * | 2018-08-20 | 2020-02-28 | 华为技术有限公司 | 报文处理方法及相关设备 |
CN112468363A (zh) * | 2020-11-23 | 2021-03-09 | 杭州迪普科技股份有限公司 | 一种链路连通性检测的方法及装置 |
WO2021169281A1 (zh) * | 2020-02-26 | 2021-09-02 | 平安科技(深圳)有限公司 | 基于免费arp的周期性发送方法、装置、设备及存储介质 |
CN117459419A (zh) * | 2023-12-22 | 2024-01-26 | 石家庄学院 | 一种具备自适应再生能力的网段可视化方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378296A (zh) * | 2013-08-15 | 2015-02-25 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN105577417A (zh) * | 2014-11-06 | 2016-05-11 | 杭州华三通信技术有限公司 | 基于vxlan网络的报文转发方法及装置 |
US20160149751A1 (en) * | 2014-11-21 | 2016-05-26 | Cisco Technology, Inc. | Recovering from virtual port channel peer failure |
CN106385354A (zh) * | 2016-08-30 | 2017-02-08 | 锐捷网络股份有限公司 | 报文转发方法及装置 |
-
2017
- 2017-03-14 CN CN201710151340.8A patent/CN106921578B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378296A (zh) * | 2013-08-15 | 2015-02-25 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
CN105577417A (zh) * | 2014-11-06 | 2016-05-11 | 杭州华三通信技术有限公司 | 基于vxlan网络的报文转发方法及装置 |
US20160149751A1 (en) * | 2014-11-21 | 2016-05-26 | Cisco Technology, Inc. | Recovering from virtual port channel peer failure |
CN106385354A (zh) * | 2016-08-30 | 2017-02-08 | 锐捷网络股份有限公司 | 报文转发方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547402B (zh) * | 2017-07-19 | 2020-04-03 | 新华三技术有限公司 | 一种转发表生成方法和装置 |
CN107547402A (zh) * | 2017-07-19 | 2018-01-05 | 新华三技术有限公司 | 一种转发表生成方法和装置 |
CN108259635A (zh) * | 2017-09-29 | 2018-07-06 | 新华三技术有限公司 | 一种arp表项学习方法和dr设备 |
CN108259635B (zh) * | 2017-09-29 | 2021-05-28 | 新华三技术有限公司 | 一种arp表项学习方法和dr设备 |
US11616738B2 (en) | 2018-08-20 | 2023-03-28 | Huawei Technologies Co., Ltd. | Packet processing method and related device |
CN110851371A (zh) * | 2018-08-20 | 2020-02-28 | 华为技术有限公司 | 报文处理方法及相关设备 |
CN110851371B (zh) * | 2018-08-20 | 2023-09-26 | 华为技术有限公司 | 报文处理方法及相关设备 |
CN109412949A (zh) * | 2018-09-21 | 2019-03-01 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
CN109412949B (zh) * | 2018-09-21 | 2021-02-26 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
WO2021169281A1 (zh) * | 2020-02-26 | 2021-09-02 | 平安科技(深圳)有限公司 | 基于免费arp的周期性发送方法、装置、设备及存储介质 |
CN112468363A (zh) * | 2020-11-23 | 2021-03-09 | 杭州迪普科技股份有限公司 | 一种链路连通性检测的方法及装置 |
CN112468363B (zh) * | 2020-11-23 | 2022-05-31 | 杭州迪普科技股份有限公司 | 一种链路连通性检测的方法及装置 |
CN117459419A (zh) * | 2023-12-22 | 2024-01-26 | 石家庄学院 | 一种具备自适应再生能力的网段可视化方法及系统 |
CN117459419B (zh) * | 2023-12-22 | 2024-03-12 | 石家庄学院 | 一种具备自适应再生能力的网段可视化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106921578B (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106921578A (zh) | 一种转发表项的生成方法和装置 | |
US11695731B2 (en) | Distributed identity-based firewalls | |
CN111917649B (zh) | 虚拟私有云通信及配置方法以及相关装置 | |
US9110884B2 (en) | Message publishing and subscribing method and apparatus | |
CN109617995B (zh) | 对租户集群vpc内部容器的管理系统、方法及电子设备 | |
CN107104824A (zh) | 一种网络拓扑确定方法和装置 | |
CN108023808A (zh) | 应用程序中的消息分发方法及装置 | |
CN106878199A (zh) | 一种接入信息的配置方法和装置 | |
CN108401037A (zh) | 用户终端和设备的绑定方法、装置和系统 | |
CN106878181A (zh) | 一种报文传输方法和装置 | |
WO2017045450A1 (zh) | 资源的操作处理方法及装置 | |
CN110808857A (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
CN110474960B (zh) | 一种虚拟化网络中业务部署的方法和装置 | |
CN105450585A (zh) | 一种信息传输方法及装置 | |
CN110728558A (zh) | 虚拟物品包发送方法、装置、设备和存储介质 | |
CN107241312B (zh) | 一种权限管理方法及装置 | |
CN116056126A (zh) | 仿真测试方法、装置、计算机设备和计算机可读存储介质 | |
US20140112142A1 (en) | Method of forwarding packet and apparatus thereof | |
CN107249038A (zh) | 业务数据转发方法及系统 | |
CN105472054B (zh) | 一种报文发送方法及接入设备 | |
CN109032693A (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
US11357020B2 (en) | Connecting computer processing systems and transmitting data | |
US11290575B2 (en) | Connecting computer processing systems and transmitting data | |
CN103532852B (zh) | 一种路由调度方法、装置及网络设备 | |
US20210250743A1 (en) | Connecting computer processing systems and transmitting data |
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 |