首页> 中国专利> 一种ARP缓存表项的更新方法、VTEP、VM及装置

一种ARP缓存表项的更新方法、VTEP、VM及装置

摘要

本发明提供一种ARP缓存表项的更新方法、VTEP、VM及装置,所述方法包括:接收下联VM发送的第一子网ARP请求报文,所述第一子网ARP请求报文用于请求与所述下联VM归属同一VXLAN网段的其他VM的地址信息;获取本地ARP缓存表中满足所述第一子网ARP请求报文的所有ARP缓存表项;根据所述所有ARP缓存表项构造子网ARP响应报文;向所述下联VM发送所述子网ARP响应报文,以使所述下联VM根据所述子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。该方法、VTEP、VM及装置能够解决相关技术中VM每次要与不在ARP缓存中的其他VM通信时,需要单独针对每个VM发送ARP请求,容易造成ARP广播流量,对网络资源消耗较大的问题。

著录项

  • 公开/公告号CN113472912B

    专利类型发明专利

  • 公开/公告日2022.08.26

    原文格式PDF

  • 申请/专利权人 中国联合网络通信集团有限公司;

    申请/专利号CN202110648817.X

  • 发明设计人 张余;李红五;安岗;许丽丽;

    申请日2021.06.10

  • 分类号H04L61/103(2022.01);H04L61/2553(2022.01);H04L61/2592(2022.01);H04L12/46(2006.01);G06F9/455(2006.01);

  • 代理机构北京天昊联合知识产权代理有限公司 11112;北京天昊联合知识产权代理有限公司 11112;

  • 代理人罗建民;邓伯英

  • 地址 100033 北京市西城区金融大街21号

  • 入库时间 2022-09-26 23:16:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-26

    授权

    发明专利权授予

说明书

技术领域

本发明涉及网络技术领域,尤其涉及一种ARP缓存表项的更新方法、VTEP、VM及装置。

背景技术

在VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)网络中,同一个网段内属于同一个VNI(VXLAN Network Identifier,VXLAN网络标识符)的不同VM(VirtualMachine,虚拟机)之间通信时,必须先获取对方的MAC(Media Access Control,介质访问控制层)地址,如果VM的ARP(Address Resolution Protocol,地址解析协议)缓存表中没有对方VM的MAC地址,VM发出ARP请求,上联的VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)接收到ARP请求后,把该ARP请求发送给所有其他属于该VNI的VTEP,其他VTEP接收到ARP请求后,在下联的VNI范围内进行广播,被请求的VM接收到ARP请求后,发出ARP响应,源VM获取到对方VM的MAC地址,然后才能够进行通信。VM每次与不在ARP缓存表中的其他VM通信时都需要进行上述流程,在VXLAN网络中造成了ARP广播流量,对网络资源消耗较大。

发明内容

本发明所要解决的技术问题是针对现有技术的上述不足,提供一种ARP缓存表项的更新方法、VTEP、VM及装置,用以解决相关技术中VM每次要与不在ARP缓存中的其他VM通信时,需要单独针对每个VM发送ARP请求,容易造成ARP广播流量,对网络资源消耗较大的问题。

第一方面,本发明实施例提供一种ARP缓存表项的更新方法,应用于当前VTEP,所述方法包括:

接收下联VM发送的第一子网ARP请求报文,所述第一子网ARP请求报文用于请求与所述下联VM归属同一VXLAN网段的其他VM的地址信息;

获取本地ARP缓存表中满足所述第一子网ARP请求报文的所有ARP缓存表项;

根据所述所有ARP缓存表项构造子网ARP响应报文;

向所述下联VM发送所述子网ARP响应报文,以使所述下联VM根据所述子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

优选地,所述第一子网ARP请求报文的源IP地址为所述下联VM的IP地址、源MAC地址为所述下联VM的MAC地址、目的IP地址为所述下联VM所属的VXLAN网段地址、子网掩码为所述VXLAN网段地址对应的子网掩码信息、目的MAC地址为广播MAC地址、OP对应数值为0x0003;

所述获取本地ARP缓存表中满足所述第一子网ARP请求报文的所有ARP缓存表项之前,所述方法还包括:

根据预存的子网ARP请求报文格式生成源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为所述VXLAN网段地址、子网掩码为所述子网掩码信息、目的MAC地址为所述广播MAC地址以及OP对应数值为0x0003的第二子网ARP请求报文;

向所有其他VTEP发送所述第二子网ARP请求报文;

接收所述其他VTEP返回的ARP响应报文,并根据接收到的所述ARP响应报文更新所述本地ARP缓存表中相应的ARP缓存表项。

优选地,所述获取本地ARP缓存表中满足所述第一子网ARP请求报文的所有ARP缓存表项之前,所述方法还包括:

判断本地MAC地址表中是否存在所述下联VM的地址表项;

若否,则在所述本地MAC地址表中建立所述下联VM的地址表项。

优选地,所述根据所述所有ARP缓存表项构造子网ARP响应报文之前,所述方法还包括:

对预存的ARP报文格式进行扩展,增加地址数量字段和内容地址字段,将增加了所述地址数量字段和内容地址字段的ARP报文格式作为子网ARP响应报文格式;

所述根据所述所有ARP缓存表项构造子网ARP响应报文,具体包括:

根据所述子网ARP响应报文格式以及所述所有ARP缓存表项构造子网ARP响应报文。

优选地,所述根据所述子网ARP响应报文格式以及所述所有ARP缓存表项构造子网ARP响应报文,具体包括:

获取所述子网ARP响应报文格式中所述内容地址字段最大可容纳的IP与MAC地址对的第一数量;

获取所述所有ARP缓存表项中IP与MAC地址对的第二数量;

若所述第二数量小于等于所述第一数量,则构造一个源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为所述下联VM的IP地址、目的MAC地址为所述下联VM的MAC地址、地址数量为所述第二数量以及内容地址为所述所有ARP缓存表项中的IP地址和MAC地址的子网ARP响应报文;

若所述第二数量大于所述第一数量,则依次构造所述子网ARP响应报文,直到所述所有ARP缓存表项中的IP地址和MAC地址都加入到相应子网ARP响应报文中的内容地址中。

第二方面,本发明实施例提供一种ARP缓存表项的更新方法,应用于当前VM,所述方法包括:

向上联的VTEP发送第一子网ARP请求报文,所述第一子网ARP请求报文用于请求与自身归属同一VXLAN网段的其他VM的地址信息,以使所述VTEP接收到所述第一子网ARP请求报文后,获取自身本地ARP缓存表中满足所述第一子网ARP请求报文的所有ARP缓存表项,并根据所述所有ARP缓存表项构造子网ARP响应报文;

接收所述VTEP发送的所述子网ARP响应报文,并根据所述子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

优选地,所述向上联的VTEP发送第一子网ARP请求报文之前,所述方法还包括:

根据预存的子网ARP请求报文格式生成源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为自身所属的VXLAN网段地址、子网掩码为所述VXLAN网段地址对应的子网掩码信息、目的MAC地址为广播MAC地址、OP对应数值为0x0003的第一子网ARP请求报文。

第三方面,本发明实施例提供一种VTEP,包括:

第一接收模块,用于接收下联VM发送的第一子网ARP请求报文,所述第一子网ARP请求报文用于请求与所述下联VM归属同一VXLAN网段的其他VM的地址信息;

第一获取模块,与所述第一接收模块连接,用于获取本地ARP缓存表中满足所述第一子网ARP请求报文的所有ARP缓存表项;

响应报文构造模块,与所述第一获取模块连接,用于根据所述所有ARP缓存表项构造子网ARP响应报文;

第一发送模块,与所述响应报文构造模块连接,用于向所述下联VM发送所述子网ARP响应报文,以使所述下联VM根据所述子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

第四方面,本发明实施例提供一种VM,包括:

第二发送模块,用于向上联的VTEP发送第一子网ARP请求报文,所述第一子网ARP请求报文用于请求与自身归属同一VXLAN网段的其他VM的地址信息,以使所述VTEP接收到所述第一子网ARP请求报文后,获取自身本地ARP缓存表中满足所述第一子网ARP请求报文的所有ARP缓存表项,并根据所述所有ARP缓存表项构造子网ARP响应报文;

第二接收模块,与所述第二发送模块连接,用于接收所述VTEP发送的所述子网ARP响应报文,并根据所述子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

第五方面,本发明实施例提供一种ARP缓存表项的更新装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述第一方面或第二方面所述的ARP缓存表项的更新方法。

本发明实施例提供的ARP缓存表项的更新方法、VTEP、VM及装置,每个VM上线后,均可以向上联的VTEP发送第一子网ARP请求报文,以用于获取子网内所有其他VM的MAC地址和IP地址。VTEP接收到下联VM发送的第一子网ARP请求报文后,获取本地ARP缓存表中满足所述子网ARP请求报文的所有ARP缓存表项,其中,VTEP的本地ARP缓存表中可以事先存储有该子网内所有或足够多的在线VM的MAC地址和IP地址,VTEP再根据满足所述子网ARP请求报文的所述所有ARP缓存表项构造子网ARP响应报文,并向下联VM发送所述子网ARP响应报文,以使下联VM根据该子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项,从而能够将该子网内所有或足够多的在线VM的MAC地址和IP地址保存在自身本地ARP缓存表中,避免在后续通信中单独针对每个VM都发送ARP请求,解决了相关技术中VM每次要与不在ARP缓存中的其他VM通信时,需要单独针对每个VM发送ARP请求,容易造成ARP广播流量,对网络资源消耗较大的问题。

附图说明

图1:为本发明实施例1的一种ARP缓存表项的更新方法的流程图;

图2:为本发明实施例2的一种ARP缓存表项的更新方法的流程图;

图3:为本发明实施例3的一种VTEP的结构示意图;

图4:为本发明实施例4的一种VM的结构示意图;

图5:为本发明实施例5的一种ARP缓存表项的更新装置的结构示意图。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。

可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。

可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。

可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。

可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。

可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。

可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。

可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。

为了使本领域的技术人员更好地理解本发明实施例中的技术方案,下面先对本发明实施例中涉及的部分技术术语进行简单说明。

VXLAN:是基于IP网络、采用“MAC in UDP”封装形式的二层VPN(Virtual PrivateNetwork,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或企业IP网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。

VTEP:是VXLAN的边缘设备,VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等,VTEP可以是一台独立的物理设备,也可以是虚拟机所在的服务器。

VM:在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的VXLAN。属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。VXLAN通过VXLAN ID来标识,VXLAN ID又称VNI,其长度为24比特。

VXLAN隧道:两个VTEP之间的点到点逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头和IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装。

实施例1:

本实施例提供一种ARP缓存表项的更新方法,应用于当前VTEP,如图1所示,该方法包括:

步骤S102:接收下联VM发送的第一子网ARP请求报文,第一子网ARP请求报文用于请求与下联VM归属同一VXLAN网段的其他VM的地址信息。

在本实施例中,下联VM和当前VTEP均预先存储有子网ARP请求报文格式,下联VM根据预存的子网ARP请求报文格式生成第一子网ARP请求报文。子网ARP请求报文是基于现有的ARP报文,即对现有的ARP报文格式进行扩展,增加4个字节的子网掩码字段,将增加了子网掩码字段的ARP报文格式作为子网ARP请求报文格式,同时,对操作类型OP的数值范围进行扩展,现有的ARP报文的OP为两个字节,主要用于指示当前包是请求包还是响应包,对应的值分别是0x0001和0x0002,本发明对OP的数值范围进行扩展,当为子网ARP请求报文时,可以是除0x0001和0x0002以外的其他数值,优选为0x0003。该子网ARP请求报文用于请求获取子网内所有其他VM的MAC地址和IP地址。

在本实施例中,第一子网ARP请求报文的源IP地址为下联VM的IP地址、源MAC地址为下联VM的MAC地址、目的IP地址为下联VM所属的VXLAN网段地址、子网掩码为VXLAN网段地址对应的子网掩码信息、目的MAC地址为广播MAC地址、OP对应数值为0x0003。假设VM1上联到VTEP1,则VM1上线后可以向VTEP1发送第一子网ARP请求报文,该第一子网ARP请求报文是扩展的ARP报文,在OP指示中对应的值是0x0003,表明在二层向该网段内所有VM发出ARP请求,报文中的目的MAC地址是广播MAC地址,目的IP地址是网段地址,增加子网掩码信息,源MAC地址是VM1的MAC地址,源IP地址是VM1的IP地址。

步骤S104:获取本地ARP缓存表中满足第一子网ARP请求报文的所有ARP缓存表项。

在本实施例中,VTEP的本地ARP缓存表中可以事先存储有该子网内所有在线VM的MAC地址和IP地址,或者,VTEP也可以事先通过以下步骤获取该子网内所有在线VM的MAC地址和IP地址:

根据预存的子网ARP请求报文格式生成源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为VXLAN网段地址、子网掩码为子网掩码信息、目的MAC地址为广播MAC地址以及OP对应数值为0x0003的第二子网ARP请求报文;

向所有其他VTEP发送第二子网ARP请求报文;

接收其他VTEP返回的ARP响应报文,并根据接收到的ARP响应报文更新本地ARP缓存表中相应的ARP缓存表项。

在本实施例中,当VTEP接收到下联VM发送的第一子网ARP请求报文时,也可以向所有其他VTEP转发该第一子网ARP请求报文,下联VM再根据接收到的ARP响应报文更新本地ARP缓存表中相应的ARP缓存表项。由于一个VTEP可能下联多个VM,为了进一步减少ARP广播流量,节约网络资源,VTEP可以通过自身发送第二子网ARP请求报文以获取该子网内所有在线VM的MAC地址和IP地址,从而避免VTEP下联的每个VM都向其他VTEP发送子网ARP请求报文。

在本实施例中,当VTEP接收到下联VM发送的第一子网ARP请求报文时,可以判断本地MAC地址表中是否存在该下联VM的地址表项,若否,则学习下联VM的MAC、VNI和报文入接口(即二层子接口对应的物理接口)的对应关系,并在本地MAC地址表中建立该下联VM的地址表项。

步骤S106:根据所有ARP缓存表项构造子网ARP响应报文;

在本实施例中,子网ARP响应报文基于现有的ARP报文,即对现有的ARP报文格式进行扩展,增加地址数量字段和内容地址字段,将增加了地址数量字段和内容地址字段的ARP报文格式作为子网ARP响应报文格式,同时,对操作类型OP的数值范围进行扩展,可以是除0x0001、0x0002以及子网ARP请求报文对应数值以外的其他数值,优选为0x0004。其中,内容地址字段可以设置为不定长,根据具体发送的IP与MAC地址对的数量来确定所占用的字节数,为了避免无限制的扩展,可以设置其最大可容纳的IP与MAC地址对的数量,VTEP根据子网ARP响应报文格式以及所有ARP缓存表项构造子网ARP响应报文。

可选地,根据子网ARP响应报文格式以及所有ARP缓存表项构造子网ARP响应报文,具体可以包括:

获取子网ARP响应报文格式中内容地址字段最大可容纳的IP与MAC地址对的第一数量;

获取所有ARP缓存表项中IP与MAC地址对的第二数量;

若第二数量小于等于第一数量,则构造一个源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为下联VM的IP地址、目的MAC地址为下联VM的MAC地址、地址数量为第二数量以及内容地址为所有ARP缓存表项中的IP地址和MAC地址的子网ARP响应报文;

若第二数量大于第一数量,则依次构造子网ARP响应报文,直到所有ARP缓存表项中的IP地址和MAC地址都加入到相应子网ARP响应报文中的内容地址中。

在本实施例中,如果一个子网ARP响应报文无法容纳子网内所有在线VM的MAC地址和IP地址,则VTEP可以构造多个子网ARP响应报文,每个子网ARP响应报文的源IP地址均为自身IP地址、源MAC地址均为自身MAC地址、目的IP地址均为下联VM的IP地址、目的MAC地址均为下联VM的MAC地址、地址数量均为第二数量,而每个子网ARP响应报文的内容地址包括不同的IP与MAC地址对。

步骤S108:向下联VM发送子网ARP响应报文,以使下联VM根据子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

在本实施例中,下联VM接收到子网ARP响应报文后,可以提取出子网ARP响应报文中的IP地址和MAC地址,并将其保存至本地ARP缓存表中。

本发明实施例提供的ARP缓存表项的更新方法,每个VM上线后,均可以向上联的VTEP发送第一子网ARP请求报文,以用于获取子网内所有其他VM的MAC地址和IP地址。VTEP接收到下联VM发送的第一子网ARP请求报文后,获取本地ARP缓存表中满足所述子网ARP请求报文的所有ARP缓存表项,其中,VTEP的本地ARP缓存表中可以事先存储有该子网内所有或足够多的在线VM的MAC地址和IP地址,VTEP再根据满足所述子网ARP请求报文的所述所有ARP缓存表项构造子网ARP响应报文,并向下联VM发送所述子网ARP响应报文,以使下联VM根据该子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项,从而能够将该子网内所有或足够多的在线VM的MAC地址和IP地址保存在自身本地ARP缓存表中,避免在后续通信中单独针对每个VM都发送ARP请求,解决了相关技术中VM每次要与不在ARP缓存中的其他VM通信时,需要单独针对每个VM发送ARP请求,容易造成ARP广播流量,对网络资源消耗较大的问题。

实施例2:

如图2所示,本实施例提供一种ARP缓存表项的更新方法,应用于当前VM,该方法包括:

步骤S202:向上联的VTEP发送第一子网ARP请求报文,第一子网ARP请求报文用于请求与自身归属同一VXLAN网段的其他VM的地址信息,以使VTEP接收到第一子网ARP请求报文后,获取自身本地ARP缓存表中满足第一子网ARP请求报文的所有ARP缓存表项,并根据所有ARP缓存表项构造子网ARP响应报文;

步骤S204:接收VTEP发送的子网ARP响应报文,并根据子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

可选地,向上联的VTEP发送第一子网ARP请求报文之前,方法还可以包括:

根据预存的子网ARP请求报文格式生成源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为自身所属的VXLAN网段地址、子网掩码为VXLAN网段地址对应的子网掩码信息、目的MAC地址为广播MAC地址、OP对应数值为0x0003的第一子网ARP请求报文。

实施例3:

如图3所示,本实施例提供一种VTEP,包括:

第一接收模块12,用于接收下联VM发送的第一子网ARP请求报文,第一子网ARP请求报文用于请求与下联VM归属同一VXLAN网段的其他VM的地址信息;

第一获取模块14,与第一接收模块12连接,用于获取本地ARP缓存表中满足第一子网ARP请求报文的所有ARP缓存表项;

响应报文构造模块16,与第一获取模块14连接,用于根据所有ARP缓存表项构造子网ARP响应报文;

第一发送模块18,与响应报文构造模块16连接,用于向下联VM发送子网ARP响应报文,以使下联VM根据子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

可选地,第一子网ARP请求报文的源IP地址为下联VM的IP地址、源MAC地址为下联VM的MAC地址、目的IP地址为下联VM所属的VXLAN网段地址、子网掩码为VXLAN网段地址对应的子网掩码信息、目的MAC地址为广播MAC地址、OP对应数值为0x0003。

可选地,还可以包括:

第一生成模块,用于根据预存的子网ARP请求报文格式生成源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为VXLAN网段地址、子网掩码为子网掩码信息、目的MAC地址为广播MAC地址以及OP对应数值为0x0003的第二子网ARP请求报文;

第三发送模块,用于向所有其他VTEP发送第二子网ARP请求报文;

第三接收模块,用于接收其他VTEP返回的ARP响应报文,并根据接收到的ARP响应报文更新本地ARP缓存表中相应的ARP缓存表项。

可选地,还可以包括:

判断模块,用于判断本地MAC地址表中是否存在下联VM的地址表项;

地址表项建立模块,用于若否,则在本地MAC地址表中建立下联VM的地址表项。

可选地,还可以包括:

格式扩展模块,用于对预存的ARP报文格式进行扩展,增加地址数量字段和内容地址字段,将增加了地址数量字段和内容地址字段的ARP报文格式作为子网ARP响应报文格式;

可选地,响应报文构造模块16具体用于根据子网ARP响应报文格式以及所有ARP缓存表项构造子网ARP响应报文。

可选地,响应报文构造模块16具体包括:

第一获取单元,用于获取子网ARP响应报文格式中内容地址字段最大可容纳的IP与MAC地址对的第一数量;

第二获取单元,用于获取所有ARP缓存表项中IP与MAC地址对的第二数量;

第一构造单元,用于若第二数量小于等于第一数量,则构造一个源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为下联VM的IP地址、目的MAC地址为下联VM的MAC地址、地址数量为第二数量以及内容地址为所有ARP缓存表项中的IP地址和MAC地址的子网ARP响应报文;

第二构造单元,用于若第二数量大于第一数量,则依次构造子网ARP响应报文,直到所有ARP缓存表项中的IP地址和MAC地址都加入到相应子网ARP响应报文中的内容地址中。

实施例4:

如图4所示,本实施例提供一种VM,包括:

第二发送模块32,用于向上联的VTEP发送第一子网ARP请求报文,第一子网ARP请求报文用于请求与自身归属同一VXLAN网段的其他VM的地址信息,以使VTEP接收到第一子网ARP请求报文后,获取自身本地ARP缓存表中满足第一子网ARP请求报文的所有ARP缓存表项,并根据所有ARP缓存表项构造子网ARP响应报文;

第二接收模块34,与第二发送模块32连接,用于接收VTEP发送的子网ARP响应报文,并根据子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项。

可选地,还可以包括:

第二生成模块,用于根据预存的子网ARP请求报文格式生成源IP地址为自身IP地址、源MAC地址为自身MAC地址、目的IP地址为自身所属的VXLAN网段地址、子网掩码为VXLAN网段地址对应的子网掩码信息、目的MAC地址为广播MAC地址、OP对应数值为0x0003的第一子网ARP请求报文。

实施例5:

参考图5,本实施例提供一种ARP缓存表项的更新装置,包括存储器21和处理器22,存储器21中存储有计算机程序,处理器22被设置为运行所述计算机程序以执行实施例1或实施例2中的ARP缓存表项的更新方法。

其中,存储器21与处理器22连接,存储器21可采用闪存或只读存储器或其他存储器,处理器22可采用中央处理器或单片机。

实施例2至实施例5提供的ARP缓存表项的更新方法、VTEP、VM及装置,每个VM上线后,均可以向上联的VTEP发送第一子网ARP请求报文,以用于获取子网内所有其他VM的MAC地址和IP地址。VTEP接收到下联VM发送的第一子网ARP请求报文后,获取本地ARP缓存表中满足所述子网ARP请求报文的所有ARP缓存表项,其中,VTEP的本地ARP缓存表中可以事先存储有该子网内所有或足够多的在线VM的MAC地址和IP地址,VTEP再根据满足所述子网ARP请求报文的所述所有ARP缓存表项构造子网ARP响应报文,并向下联VM发送所述子网ARP响应报文,以使下联VM根据该子网ARP响应报文更新自身本地ARP缓存表中相应的ARP缓存表项,从而能够将该子网内所有或足够多的在线VM的MAC地址和IP地址保存在自身本地ARP缓存表中,避免在后续通信中单独针对每个VM都发送ARP请求,解决了相关技术中VM每次要与不在ARP缓存中的其他VM通信时,需要单独针对每个VM发送ARP请求,容易造成ARP广播流量,对网络资源消耗较大的问题。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号