CN106210157A - 抑制地址解析协议消息的方法与系统、控制器 - Google Patents
抑制地址解析协议消息的方法与系统、控制器 Download PDFInfo
- Publication number
- CN106210157A CN106210157A CN201510218081.7A CN201510218081A CN106210157A CN 106210157 A CN106210157 A CN 106210157A CN 201510218081 A CN201510218081 A CN 201510218081A CN 106210157 A CN106210157 A CN 106210157A
- Authority
- CN
- China
- Prior art keywords
- address
- message
- mac address
- arp
- vxlan gateway
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种在VxLAN网络中抑制地址解析协议消息的方法和系统,其中,方法包括:源主机需要与VxLAN网络中同一互通域内不同局域网中的目标主机通信时,源主机发出ARP请求,源主机所属VxLAN网关向控制器转发该ARP请求,控制器根据ARP请求中目标主机的IP地址,查询预先学习到的地址解析表中是否存储有目标主机的MAC地址,若已存储目标主机的MAC地址,控制器响应源主机的ARP请求。若未存储目标主机的MAC地址,控制器指示源VxLAN网关将ARP请求发送给同一互通域内所有其他VxLAN网关;其他VxLAN网关收到ARP请求后在各自局域网内广播,将ARP响应转发源主机并上报控制器。本发明实施例可有效抑制VxLAN隧道上和互通域中ARP广播报文的转发,节省了VxLAN隧道带宽,提高了ARP查询的效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种抑制ARP消息的方法和系统、控制器。
背景技术
随着信息技术(IT)组织向聚合基础架构和面向服务的模式转移,人们逐渐发现目前的数据中心网络连接体系结构是一个限制因素,基于虚拟局域网(VLAN)的交换模式由来已久,但它们在数据中心内遭遇了以下难题:
1、缺乏灵活性:VLAN和交换边界既不灵活,也不易延展。随着需求的增减,计算和存储资源需要在无重大运行开销的情况下进行分配。
2、容错操作效率低:高可用性技术(例如:VMware Fault Tolerance)在“平展的”第二层网络上最为有效,但是创建和管理该体系结构在操作上却十分困难,尤其是在大规模操作时更是如此。
3、VLAN和互联网协议(IP)地址管理的局限性:IP地址的维护和VLAN限制成为数据中心扩展的难题,特别是在要求强有力的隔离或处于服务提供商环境的时候。
为了解决上述难题,威睿VMware公司与思科等公司合作,创建了虚拟可扩展局域网(VxLAN)技术。VxLAN是一种在常用的网络和虚拟基础架构的顶层“浮动”虚拟域的方法,通过利用行业标准的以太网技术,在现有网络之上可以创建大量虚拟域,并且它们彼此之间以及与底层网络之间完全隔离,很好地解决了大型互联网数据中心(IDC)中VLAN数量不足以及不能跨越二层边界的问题。
在传统VxLAN实现方式中,VxLAN中的各VxLAN网关加入到多播组,当源主机与不在同一虚拟局域网(VLAN)的目标主机通信时,如果目标主机的媒体介质访问地址(MAC)未知,需要源主机通过组播方式向各VxLAN网关发送ARP(Address Resolution Protocol,地址解析协议)请求。
发明人在实现本发明的过程中发现,目前VxLAN技术至少存在以下问题:
各VxLAN网关加入到多播组会有较多的开销;每次有ARP对话发生时,广播会发送到所有的域,但只有收发双方所在域的VxLAN网关能学习到双方的MAC,其他域中的主机如需要访问目标主机还需要重新发起ARP查询,这种机制会产生大量的组播和广播报文,占用大量IP链路带宽。
发明内容
本发明的目的是提出一种抑制ARP的方法和系统、控制器,利用控制器实现对ARP的代理,从而有效抑制VxLAN隧道上和互通域中各LAN内的ARP广播报文的转发需求,节省了VxLAN隧道的带宽,并提高系统响应ARP查询的效率。
本发明实施例提供的一种抑制ARP消息的方法,包括:
源主机与位于同一VxLAN的同一互通域中的不同虚拟局域网VLAN中的第一目标主机通信时,发送第一ARP请求消息以查询第一目标主机的MAC地址;其中,ARP请求消息中携带有源主机所在的第一VLAN标识(ID)、源主机的IP地址和MAC地址、以及第一目标主机的IP地址;第一VLAN ID用于标识源主机所在的第一VLAN;
源VxLAN网关接收到第一ARP请求消息后,向控制器上报第一ARP请求消息;
控制器根据第一ARP请求消息中第一目标主机的IP地址,查询预先建立的地址解析表中是否存储有第一目标主机的MAC地址;地址解析表包括IP地址与MAC地址的对应关系表项;
若地址解析表中存储有第一目标主机的MAC地址,则向源VxLAN网关返回第一ARP应答消息,ARP应答消息中包括第一目标主机的MAC地址;
源VxLAN网关将第一ARP应答消息发送给源主机。
基于上述抑制ARP消息的方法的另一实施例中,还包括:
若地址解析表中未存储所述第一目标主机的MAC地址,控制器查询预先设置的互通域信息,获取所述互通域中除源VxLAN网关外其它VxLAN网关的地址信息,并向所述源VxLAN网关发送第一指示消息,所述第一指示消息中包括所述其它VxLAN网关的地址信息;其中,所述互通域信息中包括所述同一个互通域中所有VxLAN网关的地址信息;
所述源VxLAN网关根据所述第一指示消息,将所述第一ARP请求消息单播发送给所述其它VxLAN网关;
所述其它VxLAN网关分别将所述第一ARP请求消息中的第一VLAN ID更换为所在第二VLAN的第二VLAN ID,得到第二ARP请求消息并向所辖范围内的主机广播所述第二ARP请求消息;
响应于接收到所述第一目标主机针对所述第二ARP请求消息发送的第二ARP应答消息,所述其它VxLAN网关中的目标VxLAN网关将所述第二ARP应答消息上报给所述控制器,并在未查询到匹配所述源主机的MAC地址的流表项时向所述控制器同时发送转发规则请求;所述第二ARP应答消息中包括所述第一目标主机的IP地址和MAC地址;
所述控制器根据所述第二ARP应答消息学习所述第一目标主机的MAC地址,在地址解析表中建立所述第一目标主机的IP地址和MAC地址之间的对应关系表项;以及响应于所述转发规则请求向所述目标VxLAN网关发送第二指示消息,所述第二指示消息中包括匹配所述源主机的MAC地址的流表项,匹配所述源主机的MAC地址的流表项具体为接收方为所述源主机的MAC地址的报文的转发规则;
所述目标VxLAN网关根据所述第二指示消息,将所述第二ARP应答消息单播发送给所述源VxLAN网关;
所述源VxLAN网关将所述第二ARP应答消息转发给所述源主机。
基于上述抑制ARP消息的方法的另一实施例中,还包括:
所述目标VxLAN网关接收到所述第二指示消息后,保存匹配所述源主机的MAC地址的流表项。
基于上述抑制ARP消息的方法的另一实施例中,还包括:
目标VxLAN网关接收到所述第二ARP应答消息时,查询是否存储有匹配所述源主机的MAC地址的流表项;
若存储有匹配所述源主机的MAC地址的流表项,根据匹配所述源主机的MAC地址的流表项,将所述第二ARP应答消息单播发送给所述源VxLAN网关;
否则,若未存储匹配所述源主机的MAC地址的流表项,执行所述向所述控制器同时发送转发规则请求的操作。
基于上述抑制ARP消息的方法的另一实施例中,还包括:
所述控制器接收到所述第一ARP请求消息后,查询地址解析表中是否存储所述源主机的MAC地址;
若未存储所述源主机的MAC地址,学习所述源主机的MAC地址,在地址解析表中建立所述源主机的IP地址和MAC地址之间的对应关系表项。
基于上述抑制ARP消息的方法的另一实施例中,还包括:
源主机与位于同一VLAN中的第二目标主机通信时,源主机在第一VLAN中广播第一ARP请求消息;
第二目标主机接收到第一ARP请求消息后,向源主机发送第三ARP应答消息。
基于上述抑制ARP消息的方法的另一实施例中,控制器具体为软件定义网络SDN控制器。
源VxLAN网关和目标VxLAN网关具体通过开放流(OpenFlow)协议的Packet_In报文向SDN控制器发送上行消息;
SDN控制器具体通过OpenFlow协议的Packet_Out报文或Flow_Mod报文向源VxLAN网关和目标VxLAN网关发送下行消息。
本发明实施例还提供一种抑制ARP消息的系统,包括:源主机,用于与位于同一VxLAN的同一互通域内的不同VLAN中的第一目标主机通信时,发送第一ARP请求消息以查询第一目标主机的MAC地址;其中,第一ARP请求消息中携带有源主机所在的第一VLAN ID、源主机的IP地址和MAC地址、以及第一目标主机的IP地址;第一VLAN ID用于标识源主机所在的第一VLAN;
源VxLAN网关,用于接收到源主机发送的第一ARP请求消息后,向控制器上报第一ARP请求消息;以及接收控制器发送的第一ARP应答消息,并发送给源主机;
控制器,用于根据源VxLAN网关发送的第一ARP请求消息中第一目标主机的IP地址,查询预先建立的地址解析表中是否存储有第一目标主机的MAC地址;地址解析表包括IP地址与MAC地址的对应关系表项;若地址解析表中存储有第一目标主机的MAC地址,则向源VxLAN网关返回第一ARP应答消息,ARP应答消息中包括第一目标主机的MAC地址。
基于上述抑制ARP消息的系统的另一实施例中,还包括第一目标主机和其他VxLAN网关,其他VxLAN网关中包括目标VxLAN网关;
所述控制器,还用于在地址解析表中未存储所述第一目标主机的MAC地址时,查询预先设置的互通域信息,获取所述互通域中除源VxLAN网关外其它VxLAN网关的地址信息,并向所述源VxLAN网关发送第一指示消息,所述第一指示消息中包括所述其它VxLAN网关的地址信息;所述互通域信息中包括所述同一个互通域中所有VxLAN网关的地址信息;以及接收其它VxLAN网关中的目标VxLAN网关上报的第二ARP应答消息,根据所述第二ARP应答消息学习所述第一目标主机的MAC地址,在地址解析表中建立所述第一目标主机的IP地址和MAC地址之间的对应关系表项;以及响应于所述转发规则请求向所述目标VxLAN网关发送第二指示消息,所述第二指示消息中包括匹配所述源主机的MAC地址的流表项,匹配所述源主机的MAC地址的流表项具体为接收方为所述源主机的MAC地址的报文的转发规则;
所述源VxLAN网关,还用于根据所述控制器发送的所述第一指示消息,将所述第一ARP请求消息单播发送给所述其它VxLAN网关;以及将所述目标VxLAN网关发送的所述第二ARP应答消息转发给所述源主机;
所述其它VxLAN网关,分别用于将所述源VxLAN网关发送的所述第一ARP请求消息中的第一VLAN ID更换为所在第二VLAN的第二VLAN ID,得到第二ARP请求消息并向所辖范围内的主机广播所述第二ARP请求消息;
所述其它VxLAN网关中的目标VxLAN网关,用于响应于接收到所述第一目标主机针对所述第二ARP请求消息发送的第二ARP应答消息,将所述第二ARP应答消息上报给所述控制器,并在未查询到匹配所述源主机的MAC地址的流表项时向所述控制器同时发送转发规则请求;所述第二ARP应答消息中包括所述第一目标主机的IP地址和MAC地址;以及根据所述控制器发送的所述第二指示消息,将所述第二ARP应答消息单播发送给所述源VxLAN网关。
基于上述抑制ARP消息的系统的另一实施例中,所述目标VxLAN网关,还用于在接收到所述第二指示消息后,保存匹配所述源主机的MAC地址的流表项。
基于上述抑制ARP消息的系统的另一实施例中,所述目标VxLAN网关,还用于:
在接收到所述第二ARP应答消息时,查询是否存储有匹配所述源主机的MAC地址的流表项;
若存储有匹配所述源主机的MAC地址的流表项,根据匹配所述源主机的MAC地址的流表项,将所述第二ARP应答消息单播发送给所述源VxLAN网关;
否则,若未查询到匹配所述源主机的MAC地址的流表项,执行所述向所述控制器同时发送转发规则请求的操作。
基于上述抑制ARP消息的系统的另一实施例中,所述控制器,还用于在接收到所述第一ARP请求消息后,查询地址解析表中是否存储所述源主机的MAC地址;若未存储所述源主机的MAC地址,学习所述源主机的MAC地址,在地址解析表中建立所述源主机的IP地址和MAC地址之间的对应关系表项。
基于上述抑制ARP消息的系统的另一实施例中,还包括第二目标主机,第二目标主机与源主机位于同一VLAN中;
源主机,还用于与第二目标主机通信时,在第一VLAN中广播第一ARP请求消息;
第二目标主机,还用于在接收到源主机发送的第一ARP请求消息后,向源主机发送第三ARP应答消息。
基于上述抑制ARP消息的系统的另一实施例中,控制器具体为软件定义网络SDN控制器。
源VxLAN网关和目标VxLAN网关具体通过OpenFlow协议的Packet_In报文向SDN控制器发送上行消息;
SDN控制器具体通过OpenFlow协议的Packet_Out报文或Flow_Mod报文向源VxLAN网关和目标VxLAN网关发送下行消息。
本发明实施例还提供一种控制器,包括:
接收单元,用于接收源VxLAN网关发送的第一ARP请求消息,所述第一ARP请求消息中携带有所述源主机所在的第一VLAN ID、所述源主机的IP地址和MAC地址、以及第一目标主机的IP地址;所述第一VLAN ID用于标识所述源主机所在的第一VLAN;所述源主机与所述第一目标主机位于同一VxLAN的同一互通域中的不同VLAN中;
查询单元,根据第一ARP请求消息中第一目标主机的IP地址,查询预先建立的地址解析表中是否存储有第一目标主机的MAC地址;地址解析表包括IP地址与MAC地址的对应关系表项;
存储单元,用于存储地址解析表;
发送单元,若地址解析表中存储有第一目标主机的MAC地址,则向源VxLAN网关返回第一ARP应答消息,ARP应答消息中包括第一目标主机的MAC地址。
基于上述控制器的另一实施例中,存储单元还用于存储互通域信息;,互通域信息中包括同一个互通域中所有VxLAN网关的地址信息;
所述查询单元,还用于在地址解析表中未存储所述第一目标主机的MAC地址时,查询预先设置的互通域信息,获取所述VxLAN中源主机所属互通域中除源VxLAN网关外其它VxLAN网关的地址信息;
所述发送单元,还用于向所述源VxLAN网关发送第一指示消息,所述第一指示消息中包括所述其它VxLAN网关的地址信息;以及响应于目标VxLAN网关发送的转发规则请求向所述目标VxLAN网关发送第二指示消息,所述第二指示消息中包括匹配所述源主机的MAC地址的流表项,匹配所述源主机的MAC地址的流表项具体为接收方为所述源主机的MAC地址的报文的转发规则;
所述接收单元,还用于接收所述目标VxLAN网关发送的所述第二ARP应答消息;所述第二ARP应答消息中包括所述第一目标主机的IP地址和MAC地址;
所述控制器还包括学习单元,用于根据所述第二ARP应答消息学习所述第一目标主机的MAC地址,在地址解析表中建立所述第一目标主机的IP地址和MAC地址之间的对应关系表项。
基于上述控制器的另一实施例中,所述查询单元,还用于查询地址解析表中是否存储所述源主机的MAC地址;
所述学习单元,还用于根据所述查询单元的查询结果,在未存储所述源主机的MAC地址时,学习所述源主机的MAC地址,在地址解析表中建立所述源主机的IP地址和MAC地址之间的对应关系表项。
本发明实施例提出的上述抑制ARP消息的方法和系统、控制器,当源主机需要与目标主机通信时,源主机发送ARP请求消息,控制器根据ARP请求消息中目标主机的IP地址,查询预先学习得到的地址解析表中是否存储有目标主机的MAC地址,若已存储目标主机的MAC地址,控制器可直接响应源主机的ARP请求消息,无需源主机通过组播方式发送ARP请求消息,实现了控制器对ARP请求消息的代理,从而有效抑制了VxLAN隧道上和互通域中各VLAN内的ARP广播报文的转发,节省了VxLAN隧道的带宽,并提高了系统响应ARP查询的效率。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明抑制ARP消息的方法一个实施例的流程示意图。
图2为本发明抑制ARP消息的方法另一个实施例的流程示意图。
图3为本发明抑制ARP消息的方法一个应用实施例的流程示意图。
图4为本发明抑制ARP消息的系统一个实施例的结构示意图。
图5为本发明抑制ARP消息的系统另一个实施例的结构示意图。
图6为本发明抑制ARP消息的系统又一个实施例的结构示意图。
图7为本发明控制器一个实施例的结构示意图。
图8为本发明控制器另一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
ARP是将IP地址解析为以太网MAC地址(或称物理地址)的协议。在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射,APR就是实现这个功能的协议。
图1为本发明抑制ARP消息的方法一个实施例的流程示意图。如图1所示,该实施例的抑制ARP消息的方法包括:
101,源主机与位于同一VxLAN的同一互通域中的VLAN中的第一目标主机通信时,发送第一ARP请求消息以查询第一目标主机的MAC地址。
其中,第一ARP请求消息中携带有源主机所在的第一VLAN ID、源主机的IP地址和MAC地址、以及第一目标主机的IP地址;第一VLANID用于标识源主机所在的第一VLAN。
102,源VxLAN网关接收到第一ARP请求消息后,向控制器上报第一ARP请求消息。
103,控制器根据第一ARP请求消息中第一目标主机的IP地址,查询预先建立的地址解析表中是否存储有第一目标主机的MAC地址。
其中,地址解析表包括IP地址与MAC地址的对应关系表项。
104,若地址解析表中存储有第一目标主机的MAC地址,控制器向源VxLAN网关返回第一ARP应答消息。
其中,第一ARP应答消息中包括第一目标主机的IP地址在地址解析表中对应的第一目标主机的MAC地址。
105,源VxLAN网关将第一ARP应答消息发送给源主机。
本发明实施例提出的上述抑制ARP消息的方法,当源主机需要与目标主机通信时,源主机向控制器发送ARP请求消息,控制器根据ARP请求消息中目标主机的IP地址,查询预先学习得到的地址解析表中是否存储有目标主机的MAC地址,若已存储目标主机的MAC地址,控制器可直接响应源主机的ARP请求消息,无需源主机通过组播方式发送ARP请求,实现了控制器对ARP请求的代理,从而有效抑制了VxLAN隧道上和互通域中各LAN内的ARP广播报文的转发,节省了VxLAN隧道的带宽,并提高了系统响应ARP查询的效率。
图2为本发明抑制ARP消息的方法另一个实施例的流程示意图。如图2所示,该实施例的抑制ARP消息的方法包括:
201,源主机与位于同一VxLAN的同一互通域的不同VLAN中的第一目标主机通信时,发送第一ARP请求消息以查询第一目标主机的MAC地址。
202,源VxLAN网关接收到第一ARP请求消息后,向控制器上报第一ARP请求消息。
203,控制器根据第一ARP请求消息中第一目标主机的IP地址,查询预先学习得到的地址解析表中是否存储有第一目标主机的MAC地址。
其中的地址解析表包括IP地址与MAC地址的对应关系表项。
若地址解析表中存储有第一目标主机的MAC地址,则执行步骤204,否则执行步骤206。
204,控制器向源VxLAN网关返回第一ARP应答消息,该ARP应答消息中包括第一目标主机的MAC地址。
其中,第一目标主机的MAC地址为第一目标主机的IP地址在地址解析表中对应的MAC地址。
205,源VxLAN网关将第一ARP应答消息发送给源主机。
之后,不执行本实施例的后续流程。
206,控制器查询预先设置的互通域信息,获取上述互通域中除源VxLAN网关外其它VxLAN网关的地址信息,并向源VxLAN网关发送第一指示消息。
其中,第一指示消息中包括获取到的上述互通域中其它VxLAN网关的地址信息;互通域信息中包括同一个互通域中所有VxLAN网关的地址信息。
互通域是VxLAN技术中的术语,VxLAN主要是实现二层网络跨三层网络连通,一个互通域就是一个二层连通的区域,尽管这个区域可能事实上已经通过VxLAN实现了跨广域网的连接。互通域一个典型的使用方式是:企业的所有分支机构都在1个互通域中,各分支机构的主机都可以认为自己与其他所有主机在同一个局域网内。
207,源VxLAN网关根据第一指示消息,将第一ARP请求消息单播发送给其它VxLAN网关。
208,其它VxLAN网关分别将第一ARP请求消息中的第一VLAN ID更换为所在第二VLAN的第二VLAN ID,得到第二ARP请求消息并向所辖范围内的主机广播第二ARP请求消息。
209,响应于接收到第一目标主机针对第二ARP请求消息发送的第二ARP应答消息,其它VxLAN网关中的目标VxLAN网关查询匹配所述源主机的MAC地址的流表项,并判断查询是否查询到匹配源主机的MAC地址的流表项。
若查询到匹配源主机的MAC地址的流表项,执行步骤210。否则,若未查询到匹配源主机的MAC地址的流表项,执行步骤211。
210,目标VxLAN网关将第二ARP应答消息上报给控制器,之后,执行步骤212中控制器学习第一目标主机的MAC地址的操作;以及根据匹配源主机的MAC地址的转发流表项,将第二ARP应答消息单播发送给源VxLAN网关,之后,执行步骤214。
其中,第二ARP应答消息中包括第一目标主机的IP地址和MAC地址。
211,目标VxLAN网关将第二ARP应答消息上报给控制器,同时向控制器同时发送转发规则请求。
其中,第二ARP应答消息中包括第一目标主机的IP地址和MAC地址。
212,控制器接收到第二ARP应答消息时,根据该第二ARP应答消息学习第一目标主机的MAC地址,在地址解析表中建立第一目标主机的IP地址和MAC地址之间的对应关系表项;以及响应于接收到转发规则请求,向目标VxLAN网关发送第二指示消息。
其中,第二指示消息中包括匹配源主机的MAC地址的流表项,该匹配源主机的MAC地址的流表项具体为接收方为源主机的MAC地址的报文的转发规则。例如,匹配源主机的MAC地址的流表项是:对来自目标VxLAN网关所在的第二VLAN且目标MAC地址是源主机MAC地址的报文,进行VxLAN封装、打上所属互通域的VxLAN网络标识(VNI)并发送到源VxLAN网关。
213,目标VxLAN网关根据第二指示消息中匹配源主机的MAC地址的流表项,将第二ARP应答消息单播发送给源VxLAN网关。
另外,目标VxLAN网关接收到第二指示消息后,还可以保存其中匹配源主机的MAC地址的流表项。
214,源VxLAN网关将第二ARP应答消息转发给源主机。
本发明实施例提出的上述抑制ARP消息的方法,源VxLAN网关将ARP请求信息以IP单播报文形式发送给互通域中其他VxLAN网关,通过控制器将传统VxLAN网关的组播方式转换为多点单播方式,节省了VxLAN网关加入组播组的开销。同时,通过控制器对ARP进行学习和代理,只要有ARP查询过,后续查询均不再需要发送广播ARP报文,通过控制器对VxLAN的流程进行优化,可以有效抑制广播ARP报文,并提高网络的响应速度。
另外,在本发明各实施例抑制ARP消息的方法中,控制器接收到第一ARP请求消息后,还可以查询地址解析表中是否存储所述源主机的MAC地址;若未存储源主机的MAC地址,则学习源主机的MAC地址,根据第一ARP请求消息在地址解析表中建立该源主机的IP地址和MAC地址之间的对应关系表项。
基于本发明上述任一抑制ARP消息的方法的又一实施例中,还包括:
源主机与位于同一VLAN中的第二目标主机通信时,源主机在第一VLAN中广播第一ARP请求消息。
第二目标主机接收到第一ARP请求消息后,向源主机发送第三ARP应答消息。
该实施例是标准的ARP响应机制:一方主机查询,同VLAN中的另一方主机收到之后响应。对VxLAN网关来讲,这两台主机是在同一个VLAN里面,不需要VxLAN网关来代理,它们自己就能完成ARP查询的过程。
在本发明上述各抑制ARP消息的方法实施例的一个具体示例中,上述控制器具体为SDN(软件定义网络)控制器。
在本发明上述各抑制ARP消息的方法实施例的另一个具体示例中,源VxLAN网关和目标VxLAN网关具体可以通过OpenFlow协议的Packet_In报文向SDN控制器发送上行消息。
在本发明上述各抑制ARP消息的方法实施例的又一个具体示例中,SDN控制器具体可以通过OpenFlow协议的Packet_Out报文或Flow_Mod报文向源VxLAN网关和目标VxLAN网关发送下行消息。
本领域技术人员可以知悉,Packet_In、Packet_Out报文是SDN技术使用的OpenFlow协议定义的报文格式,用于在SDN框架内的控制器和交换机的通信,本发明实施例应用OpenFlow协议的Packet_In、Packet_Out报文进行ARP消息的发送,不对OpenFlow协议进行详细说明。
在本发明的实施例中,Packet_In报文包含SDN交换机不知道如何转发的ARP请求消息;而SDN控制器下发的Packet_Out报文中除包含该ARP请求消息之外,还会指示SDN交换机如何处理该ARP请求消息。
图3为本发明抑制ARP消息的方法一个应用实施例的流程示意图,如图3所示,该实施例中的设备有:1台SDN控制器,同一互通域中的3台SDN VxLAN交换机(也可称为:VxLAN网关):GW1、GW2和GW3,3台主机:HOST A、HOST B和HOST C。其中,所有SDN VxLAN交换机通过IP连接到SDN控制器,每台SDN VxLAN交换机局域网(LAN)口连接1台主机;3台SDN VxLAN交换机的IP接口以及SDN控制器配置公网IP地址并互通,3台主机配置同网段私网IP地址。同时,SDN控制器上预先设置了VxLAN交换机的互通域。
在上述组网中,一个互通域包含3个局域网,每个局域网内有1台主机、并通过1台VxLAN交换机实现与其他VxLAN交换机的互通。这3台主机虽然分处3个局域网内,但因为VxLAN实现了跨IP网的二层连通,所以它们实际上是处在同一个二层广播域中,所以,它们需要配置同网段的IP地址,这样不需要路由器转发就可以实现互通。
另外,在该实施例中并不要求3台主机必须配置私网IP,只是配置私网IP不易与VxLAN网关的广域网(WAN)口混淆。
如图3所示,该实施例的抑制ARP消息的方法包括:
301,第一VLAN中的HOST A与第三VLAN中的HOST C通信时,发送第一ARP请求消息以查询HOST C的MAC地址。
其中,第一ARP请求消息中携带有HOST A所在的第一VLANID、HOST A的IP地址和MAC地址、以及HOST C的IP地址;第一VLANID用于标识HOST A所在的第一VLAN。
302,VxLAN GW1接收到第一ARP请求消息后,通过Packet_In报文向SDN控制器上报第一ARP请求消息。
303,SDN控制器查询查询互通域中所有VxLAN GW,获取VxLAN中除GW1外其它VxLAN GW的地址信息,并通过Packet_Out报文向GW1发送第一指示消息。
其中,第一指示消息中包括上述互通域中其它VxLAN网关(即:VxLAN GW2和VxLAN GW3)的地址信息。
304,VxLAN GW1根据第一指示消息,将第一ARP请求消息单播发送给其它VxLAN网关。
305,其它VxLAN网关中的VxLAN GW2和VxLAN GW3分别将第一ARP请求消息中的第一VLAN ID更换为所在第二VLAN的第二VLAN ID和第三VLAN的第三VLAN ID,得到第二ARP请求消息并向所辖范围内的主机广播第二ARP请求消息。
306,HOST C接收第二ARP请求消息,并向VxLAN GW3发送第一ARP应答消息
307,响应于接收到HOST C针对第二ARP请求消息发送的第二ARP应答消息,其它VxLAN网关中的VxLAN GW3通过Packet_In报文将第二ARP应答消息上报给SDN控制器。假设HOST A首次查询第三VLAN中主机的MAC地址,VxLAN GW3中未存储匹配HOST A的MAC地址的流表项,VxLAN GW3同时向SDN控制器发送转发规则请求。
其中,第二ARP应答消息中包括HOST C的IP地址和MAC地址。
308,SDN控制器在地址解析表中建立HOST C的IP地址和MAC地址之间的对应关系表项。
309,SDN控制器通过Packet_Out报文或Flow_Mod报文向VxLANGW3发送第二指示消息,其中包括匹配HOST A的MAC地址的流表项。
第二指示消息中包括VxLAN GW1的地址信息和源主机的MAC地址。
310,VxLAN GW3根据第二指示消息,将第二ARP应答消息单播发送给VxLAN GW1;并保存第二指示消息中匹配HOST A的MAC地址的流表项。
311,VxLAN GW1将第二ARP应答消息转发给HOST A。
之后,当HOST A需要再次与HOST C通信时,或VxLAN互通域中的其他主机,例如HOST B需要与HOST C通信时,再见图3,包括以下步骤:
401,第二VLAN中的HOST B发送第三ARP请求消息以查询第三VLAN中HOST C的MAC地址。
其中,第三ARP请求消息中携带有HOST B所在的第二VLAN ID、HOST B的IP地址和MAC地址、以及HOST C的IP地址;第二VLANID用于标识HOST B所在的第二VLAN。
402,VxLAN GW2接收到第二ARP请求消息后,通过Packet_In报文向SDN控制器上报第三ARP请求消息。
403,SDN控制器根据第三ARP请求消息中HOST C的IP地址,查询地址解析表获得HOST C的MAC地址,并将HOST C的MAC地址通过Packet_Out报文向VxLAN GW2返回第一ARP应答消息,该第一ARP应答消息中包括HOST C的MAC地址。
404,VxLAN GW2将第一ARP应答消息发送给HOST B。
图4为本发明抑制ARP消息的系统一个实施例的结构示意图。本发明实施例的抑制ARP消息的系统可用于实现本发明上述各实施例的抑制ARP消息的方法。如图4所示,该实施例的抑制ARP消息的系统包括源主机、源VxLAN网关和控制器,其中:
源主机,用于与位于同一VxLAN的同一互通域内的不同VLAN中的第一目标主机通信时,发送第一ARP请求消息以查询第一目标主机的MAC地址;其中,第一ARP请求消息中携带有源主机所在的第一VLANID、源主机的IP地址和MAC地址、以及第一目标主机的IP地址;第一VLAN ID用于标识源主机所在的第一VLAN;
源VxLAN网关,用于接收到源主机发送的第一ARP请求消息后,向控制器上报第一ARP请求消息;以及接收控制器发送的第一ARP应答消息,并发送给源主机。
控制器,用于根据源VxLAN网关发送的第一ARP请求消息中第一目标主机的IP地址,查询预先建立的地址解析表中是否存储有第一目标主机的MAC地址;地址解析表包括IP地址与MAC地址的对应关系表项;若地址解析表中存储有第一目标主机的MAC地址,向源VxLAN网关返回第一ARP应答消息,该第一ARP应答消息中包括第一目标主机的MAC地址。另外,在一个可选实施例中,控制器还用于在接收到第一ARP请求消息后,查询地址解析表中是否存储源主机的MAC地址;若未存储源主机的MAC地址,学习源主机的MAC地址,在地址解析表中建立源主机的IP地址和MAC地址之间的对应关系表项。
本发明实施例提出的上述抑制ARP消息的系统,当源主机需要与目标主机通信时,源主机向控制器发送ARP请求消息,控制器根据ARP请求消息中目标主机的IP地址,查询预先建立的地址解析表中是否存储有目标主机的MAC地址,若已存储目标主机的MAC地址,控制器可直接响应源主机的ARP请求消息,无需源主机通过组播方式发送ARP请求,实现了控制器对ARP请求的代理,从而有效抑制了VxLAN隧道上和互通域中各LAN内的ARP广播报文的转发,节省了VxLAN隧道的带宽,并提高了系统响应ARP查询的效率。
图5为本发明抑制ARP消息的系统另一个实施例的结构示意图,与图4实施例相比,该实施例的抑制ARP消息的系统还包括上述第一目标主机和其他VxLAN网关,其他VxLAN网关中包括目标VxLAN网关。该实施例中:
控制器,还用于在地址解析表中未存储第一目标主机的MAC地址时,查询预先设置的互通域信息,获取上述互通域中除源VxLAN网关外其它VxLAN网关的地址信息,并向源VxLAN网关发送第一指示消息,第一指示消息中包括上述互通域中其它VxLAN网关的地址信息,互通域信息中包括同一个互通域中所有VxLAN网关的地址信息;以及接收其它VxLAN网关中的目标VxLAN网关上报的第二ARP应答消息,根据第二ARP应答消息学习第一目标主机的MAC地址,在地址解析表中建立第一目标主机的IP地址和MAC地址之间的对应关系表项;以及响应于接收到的转发规则请求向目标VxLAN网关发送第二指示消息。其中,第二指示消息中包括匹配源主机的MAC地址的流表项,该匹配源主机的MAC地址的流表项具体为接收方为源主机的MAC地址的报文的转发规则。
源VxLAN网关,还用于根据控制器发送的第一指示消息,将第一ARP请求消息单播发送给其它VxLAN网关;以及将目标VxLAN网关发送的第二ARP应答消息转发给源主机。
其它VxLAN网关,分别用于将源VxLAN网关发送的第一ARP请求消息中的第一VLAN ID更换为所在第二VLAN的第二VLAN ID,得到第二ARP请求消息并向所辖范围内的主机广播第二ARP请求消息。
其它VxLAN网关中的目标VxLAN网关,用于响应于接收到第一目标主机针对第二ARP请求消息发送的第二ARP应答消息,将第二ARP应答消息上报给控制器,并在未存储匹配源主机的MAC地址的流表项时向控制器同时发送转发规则请求。其中,第二ARP应答消息中包括第一目标主机的IP地址和MAC地址以及根据控制器发送的第二指示消息,将第二ARP应答消息单播发送给源VxLAN网关。
另外,在一个可选实施例中,目标VxLAN网关还可用于在接收到第二指示消息后,保存其中匹配源主机的MAC地址的流表项。
在另一个可选实施例中,目标VxLAN网关,还用于在接收到第二ARP应答消息时,查询是否存储有匹配源主机的MAC地址的流表项;若存储匹配源主机的MAC地址的流表项,根据该匹配源主机的MAC地址的流表项,将第二ARP应答消息单播发送给源VxLAN网关;否则,若未存储匹配源主机的MAC地址的流表项,执行向控制器同时发送转发规则请求的操作。
图6为本发明抑制ARP消息的系统又一个实施例的结构示意图,与图5实施例相比,该实施例的抑制ARP消息的系统还包括与源主机位于同一VLAN中的第二目标主机。该实施例中:
源主机,还用于与第二目标主机通信时,在第一VLAN中广播第一ARP请求消息。
第二目标主机,用于在接收到源主机发送的第一ARP请求消息后,向源主机发送第三ARP应答消息。
在基于本发明上各实施例的抑制ARP消息的系统的一个具体示例中,控制器具体为SDN控制器。
在基于本发明上各实施例的抑制ARP消息的系统的另一个具体示例中,源VxLAN网关和目标VxLAN网关具体通过OpenFlow协议的Packet_In报文向SDN控制器发送上行消息。
在基于本发明上各实施例的抑制ARP消息的系统的又一个具体示例中,SDN控制器具体通过OpenFlow协议的Packet_Out报文或Flow_Mod报文向源VxLAN网关和目标VxLAN网关发送下行消息。
本发明实施例提出的上述抑制ARP消息的系统,通过SDN控制器对VxLAN的流程进行优化,可以有效抑制广播ARP报文,并提高网络的响应速度.
图7为本发明控制器一个实施例的结构示意图,如图7所示,该实施例的控制器包括:接收单元,查询单元,存储单元和发送单元。其中:
接收单元,用于接收源VxLAN网关发送的第一ARP请求消息,该第一ARP请求消息中携带有源主机所在的第一VLANID、源主机的IP地址和MAC地址、以及第一目标主机的IP地址;第一VLAN ID用于标识源主机所在的第一VLAN。其中,源主机与第一目标主机位于同一VxLAN的同一互通域中的不同VLAN中。
查询单元,用于根据第一ARP请求消息中第一目标主机的IP地址,查询预先建立的地址解析表中是否存储有第一目标主机的MAC地址,其中的地址解析表包括IP地址与MAC地址的对应关系表项。
存储单元,用于存储地址解析表。
发送单元,用于在地址解析表中存储有第一目标主机的MAC地址时,向源VxLAN网关返回第一ARP应答消息,该第一ARP应答消息中包括第一目标主机的MAC地址。
本发明实施例提出的上述控制器,通过建立地址解析表来存储目标主机的IP地址与MAC地址的对应关系,在源主机需要与第一目标主机通信时,控制器可直接响应源主机的ARP请求,无需通过组播方式发送ARP请求,实现控制器对ARP请求的代理,从而有效抑制了VxLAN隧道上和互通域中各LAN内的ARP广播报文的转发,节省了VxLAN隧道的带宽,并提高了系统响应ARP查询的效率。
图8为本发明控制器另一个实施例的结构示意图,与图7实施例相比,该实施例的控制器还包括学习单元。该实施例中:
存储单元,还用于存储互通域信息,互通域信息中包括同一个互通域中所有VxLAN网关的地址信息。
查询单元,还用于在地址解析表中未存储第一目标主机的MAC地址时,查询预先设置的互通域信息,获取VxLAN中源主机所属互通域中除源VxLAN网关外其它VxLAN网关的地址信息。
发送单元,还用于向源VxLAN网关发送第一指示消息,该第一指示消息中包括上述互通域中其它VxLAN网关的地址信息;以及响应于目标VxLAN网关发送的转发规则请求向目标VxLAN网关发送第二指示消息,第二指示消息中包括匹配源主机的MAC地址的流表项,该匹配源主机的MAC地址的流表项具体为接收方为源主机的MAC地址的报文的转发规则。
接收单元,还用于接收目标VxLAN网关发送的第二ARP应答消息。其中,第二ARP应答消息中包括第一目标主机的IP地址和MAC地址。
学习单元,用于根据第二ARP应答消息学习第一目标主机的MAC地址,在地址解析表中建立第一目标主机的IP地址和MAC地址之间的对应关系表项。
另外,在本发明控制器的又一个实施例中,查询单元,还可用于查询地址解析表中是否存储源主机的MAC地址。相应地,该实施例中,学习单元,还可用于根据查询单元的查询结果,在未存储源主机的MAC地址时,学习源主机的MAC地址,在地址解析表中建立源主机的IP地址和MAC地址之间的对应关系表项。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
可能以许多方式来实现本发明的方法、系统、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、设备和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (17)
1.一种抑制地址解析协议(ARP)消息的方法,其特征在于,包括:
源主机与位于同一虚拟可扩展局域网VxLAN的同一互通域中的不同虚拟局域网VLAN中的第一目标主机通信时,发送第一ARP请求消息以查询所述第一目标主机的媒体访问控制MAC地址;所述第一ARP请求消息中携带有所述源主机所在的第一VLAN标识ID、所述源主机的互联网协议IP地址和MAC地址、以及所述第一目标主机的IP地址;所述第一VLAN ID用于标识所述源主机所在的第一VLAN;
源VxLAN网关接收到第一ARP请求消息后,向控制器上报所述第一ARP请求消息;
所述控制器根据所述第一ARP请求消息中所述第一目标主机的IP地址,查询地址解析表中是否存储有所述第一目标主机的MAC地址;所述地址解析表包括IP地址与MAC地址的对应关系表项;
若地址解析表中存储有所述第一目标主机的MAC地址,则向所述源VxLAN网关返回第一ARP应答消息,所述第一ARP应答消息中包括所述第一目标主机的MAC地址;
所述源VxLAN网关将所述第一ARP应答消息发送给所述源主机。
2.根据权利要求1所述的方法,其特征在于,还包括:
若地址解析表中未存储所述第一目标主机的MAC地址,控制器查询预先设置的互通域信息,获取所述互通域中除源VxLAN网关外其它VxLAN网关的地址信息,并向所述源VxLAN网关发送第一指示消息,所述第一指示消息中包括所述其它VxLAN网关的地址信息;其中,所述互通域信息中包括所述同一个互通域中所有VxLAN网关的地址信息;
所述源VxLAN网关根据所述第一指示消息,将所述第一ARP请求消息单播发送给所述其它VxLAN网关;
所述其它VxLAN网关分别将所述第一ARP请求消息中的第一VLAN ID更换为所在第二VLAN的第二VLAN ID,得到第二ARP请求消息并向所辖范围内的主机广播所述第二ARP请求消息;
响应于接收到所述第一目标主机针对所述第二ARP请求消息发送的第二ARP应答消息,所述其它VxLAN网关中的目标VxLAN网关将所述第二ARP应答消息上报给所述控制器,并在未查询到匹配所述源主机的MAC地址的流表项时向所述控制器同时发送转发规则请求;所述第二ARP应答消息中包括所述第一目标主机的IP地址和MAC地址;
所述控制器根据所述第二ARP应答消息学习所述第一目标主机的MAC地址,在地址解析表中建立所述第一目标主机的IP地址和MAC地址之间的对应关系表项;以及响应于所述转发规则请求向所述目标VxLAN网关发送第二指示消息,所述第二指示消息中包括匹配所述源主机的MAC地址的流表项,匹配所述源主机的MAC地址的流表项具体为接收方为所述源主机的MAC地址的报文的转发规则;
所述目标VxLAN网关根据所述第二指示消息,将所述第二ARP应答消息单播发送给所述源VxLAN网关;
所述源VxLAN网关将所述第二ARP应答消息转发给所述源主机。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述目标VxLAN网关接收到所述第二指示消息后,保存匹配所述源主机的MAC地址的流表项。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
目标VxLAN网关接收到所述第二ARP应答消息时,查询是否存储有匹配所述源主机的MAC地址的流表项;
若存储有匹配所述源主机的MAC地址的流表项,根据匹配所述源主机的MAC地址的流表项,将所述第二ARP应答消息单播发送给所述源VxLAN网关;
否则,若未存储匹配所述源主机的MAC地址的流表项,执行所述向所述控制器同时发送转发规则请求的操作。
5.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:
所述控制器接收到所述第一ARP请求消息后,查询地址解析表中是否存储所述源主机的MAC地址;
若未存储所述源主机的MAC地址,学习所述源主机的MAC地址,在地址解析表中建立所述源主机的IP地址和MAC地址之间的对应关系表项。
6.根据权利要求1至5任意一项所述的方法,其特征在于,还包括:
所述源主机与位于同一VLAN中的第二目标主机通信时,所述源主机在第一VLAN中广播所述第一ARP请求消息;
所述第二目标主机接收到第一ARP请求消息后,向源主机发送所述第三ARP应答消息。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述控制器具体为软件定义网络SDN控制器。
所述源VxLAN网关和所述目标VxLAN网关具体通过开放流OpenFlow协议的Packet_In报文向所述SDN控制器发送上行消息;
所述SDN控制器具体通过OpenFlow协议的Packet_Out报文或Flow_Mod报文向所述源VxLAN网关和所述目标VxLAN网关发送下行消息。
8.一种抑制地址解析协议(ARP)消息的系统,其特征在于,包括:
源主机,用于与位于同一VxLAN的同一互通域内的不同VLAN中的第一目标主机通信时,发送第一ARP请求消息以查询所述第一目标主机的MAC地址;其中,所述第一ARP请求消息中携带有所述源主机所在的第一VLAN ID、所述源主机的互联网协议IP地址和MAC地址、以及所述第一目标主机的IP地址;所述第一VLAN ID用于标识所述源主机所在的第一VLAN;
源VxLAN网关,用于接收到所述源主机发送的所述第一ARP请求消息后,向控制器上报所述第一ARP请求消息;以及接收控制器发送的第一ARP应答消息,并发送给所述源主机;
控制器,用于根据所述源VxLAN网关发送的所述第一ARP请求消息中所述第一目标主机的IP地址,查询地址解析表中是否存储有所述第一目标主机的MAC地址;所述地址解析表包括IP地址与MAC地址的对应关系表项;若地址解析表中存储有所述第一目标主机的MAC地址,则向所述源VxLAN网关返回第一ARP应答消息,所述第一ARP应答消息中包括所述第一目标主机的MAC地址。
9.根据权利要求8所述的系统,其特征在于,还包括第一目标主机和其他VxLAN网关,所述其他VxLAN网关中包括目标VxLAN网关;
所述控制器,还用于在地址解析表中未存储所述第一目标主机的MAC地址时,查询预先设置的互通域信息,获取所述互通域中除源VxLAN网关外其它VxLAN网关的地址信息,并向所述源VxLAN网关发送第一指示消息,所述第一指示消息中包括所述其它VxLAN网关的地址信息;所述互通域信息中包括所述同一个互通域中所有VxLAN网关的地址信息;以及接收其它VxLAN网关中的目标VxLAN网关上报的第二ARP应答消息,根据所述第二ARP应答消息学习所述第一目标主机的MAC地址,在地址解析表中建立所述第一目标主机的IP地址和MAC地址之间的对应关系表项;以及响应于所述转发规则请求向所述目标VxLAN网关发送第二指示消息,所述第二指示消息中包括匹配所述源主机的MAC地址的流表项,匹配所述源主机的MAC地址的流表项具体为接收方为所述源主机的MAC地址的报文的转发规则;
所述源VxLAN网关,还用于根据所述控制器发送的所述第一指示消息,将所述第一ARP请求消息单播发送给所述其它VxLAN网关;以及将所述目标VxLAN网关发送的所述第二ARP应答消息转发给所述源主机;
所述其它VxLAN网关,分别用于将所述源VxLAN网关发送的所述第一ARP请求消息中的第一VLAN ID更换为所在第二VLAN的第二VLAN ID,得到第二ARP请求消息并向所辖范围内的主机广播所述第二ARP请求消息;
所述其它VxLAN网关中的目标VxLAN网关,用于响应于接收到所述第一目标主机针对所述第二ARP请求消息发送的第二ARP应答消息,将所述第二ARP应答消息上报给所述控制器,并在未查询到匹配所述源主机的MAC地址的流表项时向所述控制器同时发送转发规则请求;所述第二ARP应答消息中包括所述第一目标主机的IP地址和MAC地址;以及根据所述控制器发送的所述第二指示消息,将所述第二ARP应答消息单播发送给所述源VxLAN网关。
10.根据权利要求9所述的系统,其特征在于,所述目标VxLAN网关,还用于在接收到所述第二指示消息后,保存匹配所述源主机的MAC地址的流表项。
11.根据权利要求9或10所述的系统,其特征在于,所述目标VxLAN网关,还用于:
在接收到所述第二ARP应答消息时,查询是否存储有匹配所述源主机的MAC地址的流表项;
若存储有匹配所述源主机的MAC地址的流表项,根据匹配所述源主机的MAC地址的流表项,将所述第二ARP应答消息单播发送给所述源VxLAN网关;
否则,若未查询到匹配所述源主机的MAC地址的流表项,执行所述向所述控制器同时发送转发规则请求的操作。
12.根据权利要求8至11任意一项所述的系统,其特征在于,所述控制器,还用于在接收到所述第一ARP请求消息后,查询地址解析表中是否存储所述源主机的MAC地址;若未存储所述源主机的MAC地址,学习所述源主机的MAC地址,在地址解析表中建立所述源主机的IP地址和MAC地址之间的对应关系表项。
13.根据权利要求8至12所述的系统,其特征在于,还包括第二目标主机,所述第二目标主机与所述源主机位于同一VLAN中;
所述源主机,还用于与所述第二目标主机通信时,在第一VLAN中广播所述第一ARP请求消息;
所述第二目标主机,用于在接收到所述源主机发送的所述第一ARP请求消息后,向源主机发送所述第三ARP应答消息。
14.根据权利要求8至13任意一项所述的系统,其特征在于,所述控制器具体为软件定义网络SDN控制器。
所述源VxLAN网关和所述目标VxLAN网关具体通过OpenFlow协议的Packet_In报文向所述SDN控制器发送上行消息;
所述SDN控制器具体通过OpenFlow协议的Packet_Out报文或Flow_Mod报文向所述源VxLAN网关和所述目标VxLAN网关发送下行消息。
15.一种控制器,其特征在于,包括:
接收单元,用于接收源VxLAN网关发送的第一ARP请求消息,所述第一ARP请求消息中携带有所述源主机所在的第一VLAN ID、所述源主机的互联网协议IP地址和MAC地址、以及第一目标主机的IP地址;所述第一VLAN ID用于标识所述源主机所在的第一VLAN;所述源主机与所述第一目标主机位于同一VxLAN的同一互通域中的不同VLAN中;
查询单元,根据所述第一ARP请求消息中所述第一目标主机的IP地址,查询地址解析表中是否存储有所述第一目标主机的MAC地址;所述地址解析表包括IP地址与MAC地址的对应关系表项;
存储单元,用于存储所述地址解析表;
发送单元,用于在地址解析表中存储有所述第一目标主机的MAC地址时,向所述源VxLAN网关返回第一ARP应答消息,所述第一ARP应答消息中包括所述第一目标主机的MAC地址。
16.根据权利要求15所述的控制器,其特征在于,所述存储单元,还用于存储所述互通域信息,所述互通域信息中包括所述同一个互通域中所有VxLAN网关的地址信息;
所述查询单元,还用于在地址解析表中未存储所述第一目标主机的MAC地址时,查询预先设置的互通域信息,获取所述VxLAN中源主机所属互通域中除源VxLAN网关外其它VxLAN网关的地址信息;
所述发送单元,还用于向所述源VxLAN网关发送第一指示消息,所述第一指示消息中包括所述其它VxLAN网关的地址信息;以及响应于目标VxLAN网关发送的转发规则请求向所述目标VxLAN网关发送第二指示消息,所述第二指示消息中包括匹配所述源主机的MAC地址的流表项,匹配所述源主机的MAC地址的流表项具体为接收方为所述源主机的MAC地址的报文的转发规则;
所述接收单元,还用于接收所述目标VxLAN网关发送的所述第二ARP应答消息;所述第二ARP应答消息中包括所述第一目标主机的IP地址和MAC地址;
所述控制器还包括学习单元,用于根据所述第二ARP应答消息学习所述第一目标主机的MAC地址,在地址解析表中建立所述第一目标主机的IP地址和MAC地址之间的对应关系表项。
17.根据权利要求16所述的控制器,其特征在于,所述查询单元,还用于查询地址解析表中是否存储所述源主机的MAC地址;
所述学习单元,还用于根据所述查询单元的查询结果,在未存储所述源主机的MAC地址时,学习所述源主机的MAC地址,在地址解析表中建立所述源主机的IP地址和MAC地址之间的对应关系表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218081.7A CN106210157B (zh) | 2015-04-30 | 2015-04-30 | 抑制地址解析协议消息的方法与系统、控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510218081.7A CN106210157B (zh) | 2015-04-30 | 2015-04-30 | 抑制地址解析协议消息的方法与系统、控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106210157A true CN106210157A (zh) | 2016-12-07 |
CN106210157B CN106210157B (zh) | 2019-07-23 |
Family
ID=57458417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510218081.7A Active CN106210157B (zh) | 2015-04-30 | 2015-04-30 | 抑制地址解析协议消息的方法与系统、控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106210157B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850434A (zh) * | 2017-03-31 | 2017-06-13 | 联想(北京)有限公司 | 一种vxlan的传输控制方法、系统及处理设备 |
CN107222409A (zh) * | 2016-03-22 | 2017-09-29 | 华为技术有限公司 | 一种转发流量的方法及节点 |
CN107404546A (zh) * | 2017-08-07 | 2017-11-28 | 刘昱 | 一种sdn网络内的通信方法及装置 |
CN108234270A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 实现虚拟可扩展局域网多域并存的方法和系统 |
WO2018171529A1 (zh) * | 2017-03-20 | 2018-09-27 | 中兴通讯股份有限公司 | 一种实现双控制平面的方法、装置、计算机存储介质 |
CN108880968A (zh) * | 2017-05-11 | 2018-11-23 | 中兴通讯股份有限公司 | 软件定义网络中广播、组播实现方法及装置、存储介质 |
CN109428949A (zh) * | 2017-08-30 | 2019-03-05 | 杭州达乎科技有限公司 | 一种基于sdn实现arp代理的方法和装置 |
CN109547344A (zh) * | 2019-01-15 | 2019-03-29 | 浙江农林大学暨阳学院 | 一种基于mspg的以太网帧转发方法及其mspg系统 |
CN110351395A (zh) * | 2018-04-04 | 2019-10-18 | 深信服科技股份有限公司 | 一种虚拟机icmp交互方法、设备、系统及存储介质 |
CN110365569A (zh) * | 2019-07-12 | 2019-10-22 | 迈普通信技术股份有限公司 | 报文处理方法、装置及通信设备 |
CN110401733A (zh) * | 2019-08-22 | 2019-11-01 | 中国科学院声学研究所 | 一种sdn网络的arp协议实现方法、系统及控制器 |
CN111884916A (zh) * | 2020-07-24 | 2020-11-03 | 杭州希益丰新业科技有限公司 | 一种基于多网口计算机实现透明传输的代理网关系统 |
CN113542441A (zh) * | 2020-04-20 | 2021-10-22 | 亚信科技(中国)有限公司 | 一种通信处理方法及装置 |
CN116112315A (zh) * | 2022-12-27 | 2023-05-12 | 广东中兴新支点技术有限公司 | 一种跨网段通信传输方法、系统、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095546A (zh) * | 2013-01-28 | 2013-05-08 | 华为技术有限公司 | 一种处理报文的方法、装置及数据中心网络 |
CN103647853A (zh) * | 2013-12-04 | 2014-03-19 | 华为技术有限公司 | 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器 |
CN103888386A (zh) * | 2012-12-24 | 2014-06-25 | 华为技术有限公司 | 可扩展虚拟局域网报文的传输方法及装置、系统 |
CN103905283A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 基于可扩展虚拟局域网的通信方法及装置 |
CN104115453A (zh) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
CN104320267A (zh) * | 2014-10-29 | 2015-01-28 | 武汉绿色网络信息服务有限责任公司 | 基于SDN框架实现VxLAN的ARP广播抑制系统及方法 |
WO2015019530A1 (en) * | 2013-08-07 | 2015-02-12 | International Business Machines Corporation | Switch clusters having layer-3 distributed router functionality |
-
2015
- 2015-04-30 CN CN201510218081.7A patent/CN106210157B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888386A (zh) * | 2012-12-24 | 2014-06-25 | 华为技术有限公司 | 可扩展虚拟局域网报文的传输方法及装置、系统 |
CN103905283A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 基于可扩展虚拟局域网的通信方法及装置 |
CN103095546A (zh) * | 2013-01-28 | 2013-05-08 | 华为技术有限公司 | 一种处理报文的方法、装置及数据中心网络 |
WO2015019530A1 (en) * | 2013-08-07 | 2015-02-12 | International Business Machines Corporation | Switch clusters having layer-3 distributed router functionality |
CN103647853A (zh) * | 2013-12-04 | 2014-03-19 | 华为技术有限公司 | 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器 |
CN104115453A (zh) * | 2013-12-31 | 2014-10-22 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
CN104320267A (zh) * | 2014-10-29 | 2015-01-28 | 武汉绿色网络信息服务有限责任公司 | 基于SDN框架实现VxLAN的ARP广播抑制系统及方法 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222409A (zh) * | 2016-03-22 | 2017-09-29 | 华为技术有限公司 | 一种转发流量的方法及节点 |
CN107222409B (zh) * | 2016-03-22 | 2021-01-29 | 华为技术有限公司 | 一种转发流量的方法及节点 |
CN108234270B (zh) * | 2016-12-21 | 2020-07-07 | 中国电信股份有限公司 | 实现虚拟可扩展局域网多域并存的方法和系统 |
CN108234270A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 实现虚拟可扩展局域网多域并存的方法和系统 |
CN108632122B (zh) * | 2017-03-20 | 2022-01-07 | 中兴通讯股份有限公司 | 一种实现双控制平面的方法、装置 |
WO2018171529A1 (zh) * | 2017-03-20 | 2018-09-27 | 中兴通讯股份有限公司 | 一种实现双控制平面的方法、装置、计算机存储介质 |
CN108632122A (zh) * | 2017-03-20 | 2018-10-09 | 中兴通讯股份有限公司 | 一种实现双控制平面的方法、装置 |
CN106850434A (zh) * | 2017-03-31 | 2017-06-13 | 联想(北京)有限公司 | 一种vxlan的传输控制方法、系统及处理设备 |
CN106850434B (zh) * | 2017-03-31 | 2020-08-25 | 联想(北京)有限公司 | 一种vxlan的传输控制方法、系统及处理设备 |
CN108880968A (zh) * | 2017-05-11 | 2018-11-23 | 中兴通讯股份有限公司 | 软件定义网络中广播、组播实现方法及装置、存储介质 |
CN108880968B (zh) * | 2017-05-11 | 2021-12-07 | 中兴通讯股份有限公司 | 软件定义网络中广播、组播实现方法及装置、存储介质 |
CN107404546B (zh) * | 2017-08-07 | 2022-10-14 | 刘昱 | 一种sdn网络内的通信方法及装置 |
CN107404546A (zh) * | 2017-08-07 | 2017-11-28 | 刘昱 | 一种sdn网络内的通信方法及装置 |
CN109428949A (zh) * | 2017-08-30 | 2019-03-05 | 杭州达乎科技有限公司 | 一种基于sdn实现arp代理的方法和装置 |
CN110351395A (zh) * | 2018-04-04 | 2019-10-18 | 深信服科技股份有限公司 | 一种虚拟机icmp交互方法、设备、系统及存储介质 |
CN109547344A (zh) * | 2019-01-15 | 2019-03-29 | 浙江农林大学暨阳学院 | 一种基于mspg的以太网帧转发方法及其mspg系统 |
CN109547344B (zh) * | 2019-01-15 | 2021-06-25 | 浙江农林大学暨阳学院 | 一种基于mspg的以太网帧转发方法及其mspg系统 |
CN110365569A (zh) * | 2019-07-12 | 2019-10-22 | 迈普通信技术股份有限公司 | 报文处理方法、装置及通信设备 |
CN110401733A (zh) * | 2019-08-22 | 2019-11-01 | 中国科学院声学研究所 | 一种sdn网络的arp协议实现方法、系统及控制器 |
CN113542441A (zh) * | 2020-04-20 | 2021-10-22 | 亚信科技(中国)有限公司 | 一种通信处理方法及装置 |
CN113542441B (zh) * | 2020-04-20 | 2023-02-17 | 亚信科技(中国)有限公司 | 一种通信处理方法及装置 |
CN111884916A (zh) * | 2020-07-24 | 2020-11-03 | 杭州希益丰新业科技有限公司 | 一种基于多网口计算机实现透明传输的代理网关系统 |
CN116112315A (zh) * | 2022-12-27 | 2023-05-12 | 广东中兴新支点技术有限公司 | 一种跨网段通信传输方法、系统、设备及存储介质 |
CN116112315B (zh) * | 2022-12-27 | 2024-05-10 | 广东中兴新支点技术有限公司 | 一种跨网段通信传输方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106210157B (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106210157A (zh) | 抑制地址解析协议消息的方法与系统、控制器 | |
CN102025591B (zh) | 虚拟专用网络的实现方法及系统 | |
US9294305B2 (en) | Method for sending ethernet frames in ethernet tree service and provider edge device | |
CA2941544C (en) | Tunnelling time-critical messages between substations over wan | |
CN103944826B (zh) | Spbm网络中的表项聚合方法及设备 | |
CN104320267B (zh) | 基于SDN框架实现VxLAN的ARP广播抑制系统及方法 | |
CN102413060B (zh) | Vpls网络中用户专线通信方法及设备 | |
CN105991432A (zh) | 提供商边缘路由器及方法 | |
CN103326918B (zh) | 一种报文转发方法和设备 | |
CN109861899B (zh) | 虚拟家庭网关及实现方法、家庭网络中心及数据处理方法 | |
EP3069471B1 (en) | Optimized multicast routing in a clos-like network | |
CN102546657B (zh) | Ip监控系统中穿越、协助穿越网络隔离设备的方法和节点 | |
CN103973825B (zh) | 叠加网络中通告mac地址可达性的方法、节点设备及发送方法 | |
CN102647487B (zh) | 一种节约ip地址的方法及接入代理设备 | |
CN106899478B (zh) | 电力测试业务通过云平台实现资源弹性扩展的方法 | |
JP2008147882A5 (zh) | ||
CN106657442A (zh) | 基于VxLAN实现媒体共享存储网络的系统及其方法 | |
WO2007134501A1 (fr) | Procédé d'interconnexion avec des ponts de fournisseurs de réseau fédérateur et système correspondant | |
CN102571375B (zh) | 组播转发方法、装置及网络设备 | |
CN104079466B (zh) | 一种报文处理方法和设备 | |
US20110228774A1 (en) | Multicasting in a provider backbone bridge network | |
CN101197760B (zh) | 虚拟专网服务中用户分组互通/隔离装置 | |
CN109873864B (zh) | 一种基于视联网的通信连接建立方法及系统 | |
CN104717119B (zh) | 实现l2 vpn与l3 vpn桥接的方法及系统 | |
CN104205747B (zh) | 分组交换网络中的伪线群组 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |