CN104702708B - 获取地址解析协议信息的方法、设备、***及网络虚拟化端点 - Google Patents

获取地址解析协议信息的方法、设备、***及网络虚拟化端点 Download PDF

Info

Publication number
CN104702708B
CN104702708B CN201310658962.1A CN201310658962A CN104702708B CN 104702708 B CN104702708 B CN 104702708B CN 201310658962 A CN201310658962 A CN 201310658962A CN 104702708 B CN104702708 B CN 104702708B
Authority
CN
China
Prior art keywords
host
arp
address
nvo3
ternary
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
CN201310658962.1A
Other languages
English (en)
Other versions
CN104702708A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310658962.1A priority Critical patent/CN104702708B/zh
Publication of CN104702708A publication Critical patent/CN104702708A/zh
Application granted granted Critical
Publication of CN104702708B publication Critical patent/CN104702708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

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

Abstract

本发明提供获取地址解析协议信息的方法、设备、***及网络虚拟化端点。地址解析协议代理设备接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NVO3封装的ARP请求,所述ARP请求包括第二主机的互联网协议IP地址;根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、MAC地址与所述第二主机连接的NVE的PA的对应关系;根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息;将所述NVO3封装的ARP应答发送至与所述第一主机连接的源NVE。本发明解决了部署APR代理设备的NVO3网络中报文传输路径不优化的问题,使报文在传输过程中不需要经过ARP代理设备,节省了网络流量。

Description

获取地址解析协议信息的方法、设备、***及网络虚拟化端点
技术领域
本发明涉及网络通信领域,具体涉及获取地址解析协议信息的方法、设备、***及网络虚拟化端点。
背景技术
地址解析协议(英文:Address Resolution Protocol,缩写:ARP)是将互联网协议地址(英文:Internet Protocol,缩写:IP)地址解析为媒体访问控制(英文:Media AccessControl,缩写:MAC)地址(或称物理地址)的协议。当ARP请求从一个网络的主机发往另一个网络上的主机时,连接这两个网络的路由设备就可以对该请求进行应答,此过程称作ARP代理,其中,发送ARP请求的主机称作第一主机,ARP请求欲发往的主机称作第二主机,用于实现ARP代理的路由设备称作ARP代理设备。基于三层叠加网络的网络虚拟化(英文:NetworkVirtualization Over Layer3,缩写:NVO3)作为一种理想的大二层技术,扩大了网络的范围。而上述ARP代理过程可以被应用于NVO3网络中。
但是,在部署了ARP代理设备的NVO3网络中,当第一主机向第二主机发送ARP请求时,首先将ARP请求发送至与第一主机连接的源网络虚拟化端点(英文:NetworkVirtualization Endpoint,缩写:NVE)。所述ARP请求经过源NVE的封装后,被发送至ARP代理设备。然后,ARP代理设备使用自己的MAC地址作为该ARP请求的回应,导致第一主机只能获取到该ARP代理设备的MAC地址。由于第一主机只获取ARP代理设备的MAC地址,所以随后从第一主机发往第二主机的报文都必须首先发送至源NVE,经过源NVE的封装后再根据ARP代理设备的MAC地址将其发送至ARP代理设备,最后经过与第二主机连接的目的NVE转发至第二主机,由于NVO3网络中的第一主机不能经过源NVE直接将报文发送至目的NVE,由所述目的NVE将所述报文转发至第二主机,而是必须经过第三方,即ARP代理设备的转发才能实现报文的成功发送。相比报文的直接发送,经过ARP代理设备的转发使得报文传输路径复杂,进而导致网络流量的浪费。
发明内容
本发明提供了一种获取地址解析协议信息的方法、设备、***及网络虚拟化端点,能够使第一主机在不经过第三方转发的情况下,通过源NVE向与目的NVE连接的第二主机直接发送报文,从而优化了报文传输路径,节省了网络流量。
为此,本发明实施例提供如下技术方案:
第一方面,本发明提供了一种获取地址解析协议信息的方法,所述方法应用于地址解析协议ARP代理设备,所述方法包括:
接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NVO3封装的地址解析协议ARP请求,所述NVO3封装的ARP请求包括第二主机的互联网协议IP地址;
根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、媒体访问控制MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息;
将所述NVO3封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
在第一方面的第一种可能的实现方式中,所述根据所述三元ARP信息生成NVO3封装的ARP应答,包括:
根据所述三元ARP信息中的MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址生成NVO3封装的ARP应答的报文头;
根据所述三元ARP信息中的所述第二主机的IP地址和MAC地址生成NVO3封装的ARP应答的报文负载。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,包括:
确定本地ARP表中存在包括所述第二主机的IP地址的三元ARP信息时,获取所述第二主机的三元ARP信息;
或者,
确定本地ARP表中不存在包括所述第二主机的IP地址的三元ARP信息时,广播包括所述第二主机的IP地址的信令请求以请求与所述第二主机的IP地址对应的三元ARP信息,当接收到包括所述三元ARP信息的信令应答时,根据所述信令应答获取所述三元ARP信息。
第二方面,本发明提供了一种获取地址解析协议信息的方法,所述方法应用于源NVE,所述源NVE与第一主机相连,所述方法包括:
接收基于三层叠加网络的网络虚拟化NVO3封装的ARP应答,所述NVO3封装的ARP应答包括第二主机的三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址;
将所述ARP应答发送至所述第一主机。
在第二方面的第一种可能的实现方式中,所述方法还包括:
接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址;
根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NVO3封装报文,所述NVO3封装报文携带所述网络虚拟化端点的运营商地址;
将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址,包括:
根据所述NVO3封装的ARP应答的报文头,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址;
根据所述NVO3封装的ARP应答的报文负载,获取所述第二主机的IP地址和MAC地址。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,包括:
根据所述网络虚拟化端点的运营商地址建立隧道,所述隧道用于所述源NVE与所述目标NVE的通信;
通过所述隧道,将所述NVO3封装报文发送至所述目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至与所述MAC地址对应的第二主机。
第三方面,本发明提供了一种获取地址解析协议信息的设备,所述设备包括:
接收模块,用于接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NVO3封装的地址解析协议ARP请求,所述NVO3封装的ARP请求包括第二主机的互联网协议IP地址;
获取模块,用于根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、媒体访问控制MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
封装模块,用于根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息;
发送模块,用于将所述NVO3封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
在第三方面的第一种可能的实现方式中,所述封装模块,包括:
第一封装子模块,用于根据所述三元ARP信息中的MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址生成NVO3封装的ARP应答的报文头;
第二封装子模块,用于根据所述三元ARP信息中的所述第二主机的IP地址和MAC地址生成NVO3封装的ARP应答的报文负载。
结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取模块包括:
第一获取子模块,用于确定本地ARP表中存在包括所述第二主机的IP地址的三元ARP信息时,获取所述第二主机的三元ARP信息;
或者,
广播子模块,用于确定本地ARP表中不存在包括所述第二主机的IP地址的三元ARP信息时,广播包括所述第二主机的IP地址的信令请求以请求与所述第二主机的IP地址对应的三元ARP信息;
第二获取子模块,用于当接收到包括所述三元ARP信息的信令应答时,根据所述信令应答获取所述三元ARP信息。
第四方面,本发明提供了一种网络虚拟化端点,所述网络虚拟化端点与第一主机相连,包括:
接收模块,用于接收基于三层叠加网络的网络虚拟化NVO3封装的ARP应答,所述NVO3封装的ARP应答第二主机的包括三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
第一获取模块,用于将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址;
第一发送模块,用于将所述ARP应答发送至所述第一主机。
在第四方面的第一种可能的实现方式中,所述网络虚拟化端点,还包括:
第二获取模块,用于接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址;
封装模块,用于根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NVO3封装报文,所述NVO3封装报文携带所述网络虚拟化端点的运营商地址;
第二发送模块,用于将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
结合第四方面或者第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一获取模块,包括:
第一获取子模块,用于根据所述NVO3封装的ARP应答的报文头,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址;
第二获取子模块,用于根据所述NVO3封装的ARP应答的报文负载,获取所述第二主机的IP地址和MAC地址。
结合第四方面的第一种可能的实现方式,在第三种可能的实现方式中,所述第二发送模块,包括:
建立子模块,用于根据所述网络虚拟化端点的运营商地址建立隧道,所述隧道用于所述源NVE与所述目标NVE的通信;
发送子模块,用于通过所述隧道,将所述NVO3封装报文发送至所述目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至与所述MAC地址对应的第二主机。
第五方面,本发明还提供了一种获取地址解析协议信息的***,所述***包括地址解析协议ARP代理设备和源网络虚拟化端点;
所述ARP代理设备为上述获取地址解析协议信息的设备,所述源NVE为上述网络虚拟化端点。
本发明的ARP代理设备根据获取的第二主机的三元ARP信息生成封装后ARP应答,并发送至所述第一主机连接的源NVE,源NVE将所述封装后ARP应答解封装,得到三元ARP信息中的MAC地址与PA。这使得第一主机向第二主机发送报文时,首先可以通过第一主机中的IP地址与MAC地址的对应关系确定第二主机的MAC地址,其次,可以通过源NVE中的MAC地址与PA确定与第二主机相连的目标NVE的PA,进而根据所述PA将待发送的报文封装后,发送至目标NVE,最终实现报文的发送。所以本发明解决了部署ARP代理设备的NVO3网络中报文传输路径复杂的问题,使报文在传输过程中不需要经过ARP代理设备,节省了网络流量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明实施例一的获取地址解析协议信息的方法流程图;
图2是本发明实施例一的获取地址解析协议信息的过程的信令图;
图3是本发明实施例一的ARP代理设备获取第二主机的三元ARP信息的交互图;
图4是本发明实施例一的第一主机向第二主机发送报文过程的交互图;
图5是本发明实施例一的应用于跨数据中心的NVO3网络中的获取地址解析协议信息的方法示意图;
图6是本发明实施例一的一种报文格式示意图;
图7是本发明实施例二的获取地址解析协议信息的方法流程图;
图8是本发明实施例二的获取地址解析协议信息的方法流程图;
图9是本发明实施例三的获取地址解析协议信息的设备结构图;
图10是本发明实施例三的封装模块903的结构示意图;
图11是本发明实施例三的网络虚拟化端点的结构示意图;
图12是本发明实施例三的网络虚拟化端点的结构示意图;
图13是本发明实施例三的获取地址解析协议信息的***结构图;
图14是本发明实施例三的获取地址解析协议信息的设备的硬件构成示意图;
图15是本发明实施例三的网络虚拟化端点的硬件构成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
基于三层叠加网络的网络虚拟化(英文:Network Virtualization Over Layer3,缩写:NVO3)作为一种理想的大二层技术,扩大了二层网络的范围,甚至可以扩大到跨数据中心(英文:Data Center,缩写:DC)的范围,也是一种理想的数据中心间互联(英文:DataCenter Interconnection,缩写:DCI)部署技术。NVO3采用报文二次封装及隧道技术实现数据中心虚拟化二层网络覆盖,在云计算时代下的网络虚拟化进程中,具有较好的应用前景。
实施例一
参考图1,图1为本实施例获取地址解析协议信息的方法流程图,所述方法应用于ARP代理设备,所述方法可以包括如下步骤:
步骤101:接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NVO3封装的ARP请求,所述NVO3封装的ARP请求包括第二主机的互联网协议IP地址。
ARP是将IP地址解析为MAC地址的协议,本实施例中的第一主机发送的ARP请求中包括欲请求的第二主机的IP地址。ARP代理设备在接收到包括所述IP地址的ARP请求后,可以根据该ARP请求中的第二主机的IP地址解析出该第二主机的MAC地址。
实际操作中,第一主机可以经过与该第一主机连接的源NVE向ARP代理设备发送ARP请求,当ARP请求到达源NVE时,源NVE将该ARP请求进行NVO3封装后发送至ARP代理设备。具体的,NVE可以是交换机或者服务器等。
步骤102:根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、MAC地址与所述第二主机连接的NVE的运营商地址(英文:Provider Address,缩写:PA)的对应关系。
其中,所述第二主机连接的NVE的运营商地址,是指所述第二主机连接的NVE在对所述第二主机发送的报文进行NVO3封装时使用的外层IP地址。
本实施例中的ARP代理设备可以根据接收的ARP请求中的IP地址,获取与该IP地址对应的三元ARP信息。其中,所述三元ARP信息包括所述第二主机的IP地址、MAC地址与所述第二主机连接的NVE的PA的对应关系,也就是说,可以根据三元ARP信息获得所述第二主机的IP地址与MAC地址的对应关系,以及所述MAC地址与所述第二主机连接的NVE的PA的对应关系。
步骤103:根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息。
本实施例中,ARP代理设备在获取到第二主机的三元ARP信息之后,根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息。
具体的,ARP代理设备可以采用虚拟可扩展局域网(英文:Virtual eXtensibleLAN,缩写:VXLAN)、网络虚拟化通用路由封装(英文:Network Virtualization usingGeneric Routing Encapsulation,缩写:NVGRE)或无状态传输隧道(英文:StatelessTransport Tunneling,缩写:STT)技术作为NVO3网络的封装技术,利用确定的封装技术,根据所述三元ARP信息生成NVO3封装的ARP应答。
值得注意的是,在NVO3网络被建立时,该NVO3网络中的ARP代理设备已经确定可以使用哪种封装技术生成NVO3封装的ARP应答。
步骤104:将所述NVO3封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
所述NVO3封装的ARP应答用于使所述源NVE获取所述第二主机的MAC地址与PA,建立所述MAC地址与PA的对应关系。此后,所述源NVE对所述NVO3封装的ARP应答进行解封装,得到ARP应答,并将所述ARP应答发送给所述第一主机,以使所述第一主机获取所述ARP应答中的IP地址与MAC地址,并根据所述IP地址和MAC地址更新本地存储的ARP表,建立所述IP地址和MAC地址的对应关系。其中,所述IP地址与MAC地址的对应关系用于当所述第一主机向所述第二主机发送报文时,所述第一主机可以根据所述IP地址与MAC地址的对应关系获取与所述第二主机的IP地址对应的MAC地址,并将包含所述第二主机的MAC地址的报文发送出去;源NVE接收到所述报文后,首先根据之前建立的MAC地址和PA的对应关系,获取与所述MAC地址对应的PA,并根据所述PA封装所述报文,以发送至与所述第二主机相连的目标NVE,目标NVE将该报文解封装后发送至第二主机。
本实施例中,第一主机与源NVE相连,ARP代理设备收到ARP请求后,获取第二主机的三元ARP信息,根据该三元ARP信息生成NVO3封装的ARP应答。并将该NVO3封装的ARP应答发送至与第一主机相连的源NVE。在NVO3封装的ARP应答到达源NVE时,源NVE学习并保存该NVO3封装的ARP应答NVO3封装报文中包含的三元ARP信息中的MAC地址与PA。并且,当源NVE获取到MAC地址与PA后,将解隧道NVO3封装的ARP应答传送至第一主机时,该第一主机可以获取到该NVO3封装报文中的IP地址与MAC地址。
实际应用中,ARP代理设备获取第二主机的三元ARP信息的方法不受限制,ARP代理设备可以首先查找本地的ARP表,确定所述ARP表中是否包括所述第二主机的三元ARP信息,其中本地的ARP表中包括三元ARP信息。当本地ARP表中包括所述第二主机的三元ARP信息时,获取所述第二主机的三元ARP信息。当本地的ARP表中不包括所述第二主机的三元ARP信息时,可以向其他ARP代理设备广播包括所述第二主机的IP地址的信令请求,以请求所述第二主机的三元ARP信息,当接收到包括所述三元ARP信息的信令应答时,对该信令应答进行解析以便获取所述第二主机的三元ARP信息。所述信令请求为本发明实施例提供的一种新的控制协议报文,其携带ARP标识,所述ARP标识用于表明所述信令请求消息用于获取所述三元ARP信息。
当其他网络中的ARP代理设备接收到该ARP代理设备广播的包括所述第二主机的IP地址的信令请求时,可以首先查找本地的ARP表,如果查找未成功,则以自己为源,重新构造一个到第二主机的ARP请求,并在其所在的数据中心内广播,获取第二主机的三元ARP信息,最后将获取的第二主机的三元ARP信息发送至第一主机的ARP代理设备。
为了方便理解本实施例的获取地址解析协议信息的过程,现提供获取地址解析协议信息的过程的信令图,参考图2,图2为本实施例的获取地址解析协议信息的过程的信令图,其中,Proxy1用来表示ARP代理设备。第一主机首先向源NVE发送包括IP地址的ARP请求,源NVE对所述ARP请求进行NVO3封装后,向Proxy1发送封装后的ARP请求,Proxy1收到封装后的ARP请求后,对其进行解封装后得到原始的ARP请求,并根据ARP请求中的IP地址获取三元ARP信息。Proxy1获取三元ARP信息之后,将根据该三元ARP信息生成NVO3封装的ARP应答,将该NVO3封装的ARP应答发送至与第一主机连接的源NVE,源NVE学习并保存所述NVO3封装的ARP应答中的MAC地址与PA的对应关系,并将所述NVO3封装的ARP应答解封装,得到ARP应答,将所述ARP应答发送给第一主机,第一主机通过所述ARP应答获取IP地址与MAC地址的对应关系。
基于NVO3网络的特点,ARP代理设备不仅可以在本数据中心内部获取第二主机的三元ARP信息,还可以跨数据中心获取第二主机的三元ARP信息。参考图3,图3为本实施例中的ARP代理设备获取第二主机的三元ARP信息的交互图,其中,Proxy1仍用来表示第一主机的ARP代理设备,ProxyN用来表示与Proxy1处于不同数据中心的ARP代理设备,其中ProxyN可能为第二主机的ARP代理设备。当Proxy1接收到包括IP地址的ARP请求后,首先查找本地的ARP表,确定所述ARP表中是否包括第二主机的三元ARP信息。当本地的ARP表中包括第二主机的三元ARP信息时,Proxy1可以直接获取第二主机的三元ARP信息,并根据该三元ARP信息生成NVO3封装的ARP应答,将该NVO3封装的ARP应答反馈给与第一主机连接的源NVE,源NVE将该NVO3封装的ARP应答解封装后,获取MAC地址与PA,同时得到ARP应答,将所述ARP应答发送至第一主机,以使第一主机获取ARP应答中的第二主机的IP地址和MAC地址。当本地的ARP表中不包括第二主机的三元ARP信息时,,Proxy1可以跨数据中心的向其他数据中心的ARP代理设备ProxyN广播信令请求,所述信令请求用于获取所述三元ARP信息。当ProxyN接收到广播的信令请求时,ProxyN首先也会查找本地的ARP表,当本地的ARP表中包括第二主机的三元ARP信息时,将该三元ARP信息回复给Proxy1,当本地的ARP表中也不包括第二主机的三元ARP信息时,ProxyN以自己为源,重新构造一个到第二主机的ARP请求,并在该数据中心内广播,获取三元ARP信息。当第二主机的三元ARP信息获取成功后,ProxyN将三元ARP信息以信令的形式回复给Proxy1。
本实施例中,第一主机的ARP代理设备在获取第二主机的三元ARP信息后,根据所述三元ARP信息生成NVO3封装的ARP应答,并将该NVO3封装的ARP应答发送至与第一主机连接的源NVE。源NVE学习所述NVO3封装的ARP应答中的MAC地址与PA,并建立MAC地址与PA的对应关系,同时,将所述NVO3封装的ARP应答解封装,得到ARP应答,并将该ARP应答发送至第一主机。第一主机获取到该ARP应答中的IP地址与MAC地址,并建立IP地址与MAC地址的对应关系。实际应用中,当第一主机向第二主机发送报文时,可以不经过ARP代理设备的转发,由第一主机将报文发送至源NVE,源NVE根据与所述第二主机连接的NVE的PA生成NVO3封装报文,并将该NVO3封装报文发送至与第二主机连接的目标NVE,目标NVE对该NVO3封装报文进行解封装后直接发送至第二主机,节省了用于转发报文的网络资源。
参考图4,图4为本实施例中的第一主机向第二主机发送报文过程的交互图,其中,当第一主机欲向第二主机发送报文时,可以首先根据IP地址与MAC地址的对应关系,获取与第二主机的IP地址对应的MAC地址,并将包括该MAC地址的报文发送至源NVE。其次,由于源NVE中预先建立了MAC地址与PA的对应关系,所以源NVE根据报文中的MAC地址确定与其对应的PA,并根据PA将该报文封装,得到NVO3封装报文。源NVE通过隧道将所述NVO3封装报文发送至目标NVE,目标NVE将NVO3封装报文解封装后,得到MAC地址。最后,目标NVE将解封装后的报文发送至所述MAC地址对应的第二主机,结束报文的发送过程。
为了更清楚的说明获取地址解析协议信息的方法的应用过程,下面结合图5介绍获取地址解析协议信息的方法在跨数据中心的NVO3网络中的应用,参考图5,图5为应用于跨数据中心的NVO3网络中的获取地址解析协议信息的方法示意图。处于数据中心1(英文:Data Center1,缩写:DC1)的VM10.0.0.1作为第一主机,处于数据中心n(英文:Data Centern,,缩写:DCn)的VM10.0.0.8作为第二主机,Proxy1用来表示ARP代理设备。
其中,图中步骤1表示第一主机VM10.0.0.1发出包括第二主机IP地址10.0.0.8的ARP请求,连接第一主机VM10.0.0.1的Proxy1接收该ARP请求后,查找本地的ARP表,确定本地的ARP表中是否存在IP地址为10.0.0.8的ARP表项,当本地的ARP表中包括所述ARP表项时,Proxy1可以直接获取该ARP表项,根据该ARP表项生成NVO3封装的ARP应答,并将其发送至与第一主机连接的源NVE,与第一主机相连的源NVE接收到该NVO3封装的ARP应答后,对其进行解封装,获取MAC地址与PA,同时得到ARP应答,并将该ARP应答发送至第一主机。第一主机根据该ARP应答获取第二主机的MAC地址与PA,并建立第二主机的MAC地址与PA的对应关系。
图中步骤2表示当本地ARP表中不存在IP地址为10.0.0.8的第二主机时,Proxy1广播包括IP地址为10.0.0.8的信令请求,当处于DC n的Proxy n收到该请求时,首先查找本地的ARP表,确定本地的ARP表中是否存在IP地址为10.0.0.8的ARP表项,如果存在,则将该ARP表项通过信令回复给Proxy1。
图中步骤3表示当Proxy n在本地ARP表中未查找到IP地址为10.0.0.8的ARP表项时,其以自己为源,重新构造一个到第二主机VM10.0.0.8的ARP请求,并在DC n内广播,获取该第二主机的三元ARP信息。
图中步骤4表示当Proxy1接收到Proxy n获取的第二主机的三元ARP信息后,根据该三元ARP信息生成NVO3封装的ARP应答,并将其发送至与第一主机VM10.0.0.1连接的源NVE,源NVE接收到NVO3封装的ARP应答后,将该NVO3封装的ARP应答解封装,获取其中的MAC地址与PA,并建立MAC地址与PA的对应关系,同时得到ARP应答,所述ARP应答包括第二主机的IP地址与MAC地址。第一主机VM10.0.0.1获取该ARP应答中的IP地址与MAC地址,并建立IP地址与MAC地址的对应关系。
值得注意的是,在NVO3网络中,如果想要实现不经过ARP代理设备,第一主机经过源NVE直接将报文发送至与与第二主机连接的目标NVE的报文发送流程,源NVE必须学习到第二主机VM10.0.0.8的MAC地址与PA的对应关系。具体的,本实施例可以将ARP代理设备发送至源NVE的报文封装,得到NVO3封装的ARP应答,所述NVO3封装的ARP应答的内层SMAC为第二主机的MAC地址,外层SIP为目标NVE的PA,并通过NVO3网络隧道将该NVO3封装的ARP应答回复给与第一主机VM10.0.0.1相连的源NVE。
具体的,NVO3封装的ARP应答的报文格式可以如图6所示,图6为一种报文格式示意图。所述报文包括外部以太网报头、外部IP头、NVO3头、内部以太网报头和ARP响应有效载荷,其中,该报文的外部IP头为第二主机连接的目的NVE的PA,内部以太网报头为第二主机的MAC地址,ARP响应有效载荷携带ARP应答。实际操作中,根据该报文的外部IP头可以将该报文发送至连接第二主机的目标NVE,经过目标NVE的解封装之后,可以根据该报文的内部以太网报头第二主机的MAC地址,将该报文携带的ARP应答发送至该MAC地址对应的第二主机。
另外,图5中的步骤5示出第一主机VM10.0.0.1在建立第二主机的IP地址与MAC地址的对应关系,以及源NVE建立第二主机的MAC地址与PA的对应关系之后,由第一主机VM10.0.0.1向源NVE发送报文,源NVE将该报文封装后,在不经过ARP代理设备Proxy1的情况下,直接向与第二主机VM10.0.0.8连接的目标NVE发送封装后的报文,目标NVE在收到该封装后的报文后将其解封装,并转发至第二主机。其中,当第一主机VM10.0.0.1需要向第二主机VM10.0.0.8发送报文时,第一主机可以根据其本身预存的IP地址与MAC地址的对应关系获取与第二主机的IP地址10.0.0.8对应的MAC地址,并将包含该MAC地址的报文发送出去。源NVE在接收到第一主机发送的包含第二主机的MAC地址的报文后,根据预先学习的MAC地址和PA的对应关系,获取与该MAC地址对应的PA,并根据该PA将报文封装,将NVO3封装报文发送至与第二主机VM10.0.0.8相连的目标NVE。目标NVE在接收到NVO3封装报文后,将NVO3封装报文解封,并发送至第二主机VM10.0.0.8以完成报文的发送。
本实施例的ARP代理设备将获取的第二主机的三元ARP信息封装后发送至与第一主机相连的源NVE,使得与第一主机连接的源NVE能够学到三元ARP信息中的MAC地址与PA的对应关系。源NVE将解NVO3封装的ARP应答发送至第一主机,第一主机可以获取ARP应答中的IP地址与MAC地址,并建立IP地址与MAC地址的对应关系,这使得第一主机向第二主机发送报文时,首先可以通过第一主机中的IP地址与MAC地址的对应关系确定第二主机的MAC地址,其次,可以通过源NVE中的MAC地址与PA的对应关系确定与与第二主机相连的目标NVE的PA,所以本实施例解决了部署ARP代理设备的NVO3网络中报文传输路径复杂的问题,使报文在传输过程中不需要经过ARP代理设备,节省了网络流量。
实施例二
为了更清楚的阐述获取地址解析协议信息的过程,本实施例保护一种应用于源NVE的获取地址解析协议信息的方法,参考图7,图7为本实施例的获取地址解析协议信息的方法流程图,具体包括以下步骤:
步骤701:接收NVO3封装的ARP应答,所述NVO3封装的ARP应答包括第二主机三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系。
ARP代理设备在接收到第一主机连接的NVE发送的NVO3封装的ARP请求后,根据获取的三元ARP信息生成NVO3封装的ARP应答,并将NVO3封装的ARP应答发送至与第一主机相连的源NVE。
步骤702:将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址。
本实施例中,源NVE在接收NVO3封装的ARP应答后,将NVO3封装的ARP应答解封装,获取第二主机的三元ARP信息中的MAC地址和PA,并建立MAC地址和PA的对应关系。同时,源NVE将NVO3封装的ARP应答解封装后可以得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址。
步骤703:将所述ARP应答发送至所述第一主机。
本实施例中,在源NVE获取到包括第二主机的IP地址和MAC地址的ARP应答后,将该ARP应答发送至第一主机,使得第一主机可以获取ARP应答中的MAC地址和IP地址,并建立MAC地址和IP地址的对应关系。
本发明上述方法中,步骤701之前,所述方法还可以包括以下步骤:接收第一主机发送的ARP请求,对所述ARP请求进行NVO3封装,得到NVO3封装的ARP请求,将所述NVO3封装的ARP请求发送给所述地址解析协议代理设备。
参考图8,图8为本实施例提供的获取地址解析协议信息的方法流程图,所述方法包括:
步骤801:接收NVO3封装的ARP应答,所述NVO3封装的ARP应答包括第二主机的三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系。
步骤802:将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址。
步骤803:将所述ARP应答发送至所述第一主机。
步骤801-步骤803与步骤701-步骤703相同,此处不再赘述。步骤804:接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址。
实际应用中,当第一主机向第二主机发送报文时,与第一主机相连的源NVE在接收到包括第二主机的MAC地址的报文后,根据之前建立的MAC地址和PA的对应关系,确定该第二主机的MAC地址对应的PA,所述PA可以用于确定与第二主机相连的目标NVE。
步骤805:根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NVO3封装报文,所述NVO3封装报文携带所述网络虚拟化端点的运营商地址。
本实施例中,源NVE确定目标NVE的PA之后,根据PA将第一主机发送的报文封装,得到NVO3封装报文。其中该NVO3封装报文携带所述网络虚拟化端点的PA。
由于携带所述网络虚拟化端点的PA的NVO3封装报文可以直接被发送至与第二主机连接的目标NVE,所以,本实施例可以不经过ARP代理设备直接完成第一主机通过源NVE向第二主机的目标NVE发送报文的过程。
步骤806:将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
本实施例中,源NVE在得到NVO3封装报文之后,将该NVO3封装报文发送至目标NVE,目标NVE对该NVO3封装报文进行解封装后,得到解封装后的报文,并将解封装后的报文发送至第二主机,完成报文的发送。
具体的,源NVE可以在获取目标NVE的PA后,根据PA建立与目标NVE通信的隧道。相应的,源NVE可以通过该隧道将封装后的包括MAC地址的报文发送至目标NVE。目标NVE在收到封装后的报文后,对其进行解封装,得到原报文,并将原报文发送至第二主机。
所以,本实施例解决了部署ARP代理设备的NVO3网络中报文传输路径不优化的问题,使报文在传输过程中不需要经过ARP代理设备,节省了网络流量。
实施例三
参考图9,图9示出本实施例提供的获取地址解析协议信息的设备结构图,所述设备可以包括:
接收模块901,用于接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NVO3封装的地址解析协议ARP请求,所述NVO3封装的ARP请求包括第二主机的互联网协议IP地址;
获取模块902,用于根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、媒体访问控制MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
封装模块903,用于根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息。
发送模块904,用于将所述NVO3封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
为了更清楚的介绍封装模块的结构及工作原理,参考图10,图10为本实施例提供的封装模块903的结构图,封装模块903具体可以包括:
第一封装子模块9031,用于根据所述三元ARP信息中的MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址生成NVO3封装的ARP应答的报文头;
第二封装子模块9032,用于根据所述三元ARP信息中的所述第二主机的IP地址和MAC地址生成NVO3封装的ARP应答的报文负载。
另外,所述获取模块902具体可以包括:
第一获取子模块,用于确定本地ARP表中存在包括所述第二主机的IP地址的三元ARP信息时,获取所述第二主机的三元ARP信息;
或者,
广播子模块,用于确定本地ARP表中不存在包括所述第二主机的IP地址的三元ARP信息时,广播包括所述第二主机的IP地址的信令请求以请求与所述第二主机的IP地址对应的三元ARP信息;
第二获取子模块,用于当接收到包括所述三元ARP信息的信令应答时,根据所述信令应答获取所述三元ARP信息。
参考图11,图11为本实施例提供的网络虚拟化端点的结构图,其中,所述网络虚拟化端点可以包括:
接收模块1101,用于接收基于三层叠加网络的网络虚拟化NVO3封装的ARP应答,所述NVO3封装的ARP应答包括第二主机的三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
第一获取模块1102,用于将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址;
具体的,所述第一获取模块1102具体可以包括:
第一获取子模块,用于根据所述NVO3封装的ARP应答的报文头,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址;
第二获取子模块,用于根据所述NVO3封装的ARP应答的报文负载,获取所述第二主机的IP地址和MAC地址。
第一发送模块1103,用于将所述ARP应答发送至所述第一主机。
图12示出本实施例提供的网络虚拟化端点的结构示意图,所述网络虚拟化端点不仅包括上述接收模块1101、第一获取模块1102和第一发送模块1103,还可以包括:
第二获取模块1201,用于接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址;
封装模块1202,用于根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NVO3封装报文,所述NVO3封装报文携带所述网络虚拟化端点的运营商地址;
第二发送模块1203,用于将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
由于网络虚拟化端点可以直接通过隧道进行通信,所以,本实施例中的第二发送模块具体可以包括:
建立子模块,用于根据所述网络虚拟化端点的运营商地址PA建立隧道,所述隧道用于所述源NVE与所述目的目标NVE的通信;
发送子模块,用于通过所述隧道,将所述NVO3封装报文发送至所述目的目标NVE,以便所述目的目标NVE将解封装后的所述NVO3封装报文发送至与所述MAC地址对应的目的主机第二主机。
本发明上述各实施例中的网络虚拟化端点中的所述接收模块还用于接收第一主机发送的ARP请求,对所述ARP请求进行NVO3封装,得到NVO3封装的ARP请求,将所述NVO3封装的ARP请求发送给所述地址解析协议代理设备。
参考图13,图13为本实施例提供的获取地址解析协议信息的***结构图,所述***可以包括ARP代理设备1301和源NVE1302;
所述ARP代理设备1301可以为图9所示的结构,所述源NVE1302可以为图11或图12所示的结构。
本实施例提供的***中的ARP代理设备将获取的第二主机的三元ARP信息封装后发送至与第一主机连接的源NVE,源NVE将其解封装后,获取目标NVE的PA与第二主机的MAC。同时将解封装后ARP应答发送至第一主机,使得第一主机可以获取第二主机的IP地址与MAC地址。当第一主机向第二主机发送报文时,首先可以根据第一主机中的IP地址与MAC地址,确定第二主机的MAC地址,其次,可以通过源NVE中的MAC地址与PA,确定与第二主机相连的目标NVE的PA,再次,根据所述PA将所述报文封装后发送至目标NVE,最终完成向第二主机的报文发送。所以本实施例解决了部署ARP代理设备的NVO3网络中报文传输路径不优化的问题,使报文在传输过程中不需要经过ARP代理设备,节省了网络流量。
本发明实施例还提供了获取地址解析协议信息的装置的硬件构成,可包括至少一个处理器(例如CPU),至少一个网络接口或者其他通信接口,存储器,和至少一个通信总线。所述通信总线用于实现这些组件之间的连接通信。处理器用于执行存储器中存储的可执行模块,例如计算机程序。存储器可能包含高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非不易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该获取地址解析协议信息的装置与至少一个其他网元之间的通信连接,所述通信连接可以使用互联网,广域网,本地网,城域网等实现。
参见图14,在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,程序指令包括接收模块901、获取模块902、封装模块903和发送模块904,各单元的具体实现可参见图9所揭示的相应单元。或者程序指令还可包括图10所揭示的其它单元,这里不再赘述。
进一步地,本发明实施例还提供了网络虚拟化端点的硬件构成,可包括至少一个处理器(例如CPU),至少一个网络接口或者其他通信接口,存储器,和至少一个通信总线。通信总线用于实现这些组件之间的连接通信。处理器用于执行存储器中存储的可执行模块,例如计算机程序。存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该网络虚拟化端点与至少一个其他网元之间的通信连接,所述通信连接可以使用互联网,广域网,本地网,城域网等实现。
参见图15,在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,程序指令包括接收模块1101、第一获取模块1102和第一发送模块1103,各单元的具体实现可参见图11所揭示的相应单元。或者程序指令还可包括图12所揭示的其它单元,这里不再赘述。
本发明方案可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序单元。一般地,程序单元包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明方案,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种获取地址解析协议信息的方法,其特征在于,所述方法应用于地址解析协议ARP代理设备,所述方法包括:
接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NVO3封装的地址解析协议ARP请求,所述NVO3封装的ARP请求包括第二主机的互联网协议IP地址;
根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、媒体访问控制MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息;
将所述NVO3封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
2.根据权利要求1所述的方法,其特征在于,所述根据所述三元ARP信息生成NVO3封装的ARP应答,包括:
根据所述三元ARP信息中的MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址生成NVO3封装的ARP应答的报文头;
根据所述三元ARP信息中的所述第二主机的IP地址和MAC地址生成NVO3封装的ARP应答的报文负载。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,包括:
确定本地ARP表中存在包括所述第二主机的IP地址的三元ARP信息时,获取所述第二主机的三元ARP信息;
或者,
确定本地ARP表中不存在包括所述第二主机的IP地址的三元ARP信息时,广播包括所述第二主机的IP地址的信令请求以请求与所述第二主机的IP地址对应的三元ARP信息,当接收到包括所述三元ARP信息的信令应答时,根据所述信令应答获取所述三元ARP信息。
4.一种获取地址解析协议信息的方法,其特征在于,所述方法应用于源NVE,所述源NVE与第一主机相连,所述方法包括:
接收基于三层叠加网络的网络虚拟化NVO3封装的ARP应答,所述NVO3封装的ARP应答包括第二主机的三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址;
将所述ARP应答发送至所述第一主机。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址;
根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NVO3封装报文,所述NVO3封装报文携带所述网络虚拟化端点的运营商地址;
将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
6.根据权利要求4或5所述的方法,其特征在于,所述将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址,包括:
根据所述NVO3封装的ARP应答的报文头,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址;
根据所述NVO3封装的ARP应答的报文负载,获取所述第二主机的IP地址和MAC地址。
7.根据权利要求5所述的方法,其特征在于,所述将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,包括:
根据所述网络虚拟化端点的运营商地址建立隧道,所述隧道用于所述源NVE与所述目标NVE的通信;
通过所述隧道,将所述NVO3封装报文发送至所述目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至与所述MAC地址对应的第二主机。
8.一种获取地址解析协议信息的设备,其特征在于,所述设备包括:
接收模块,用于接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NVO3封装的地址解析协议ARP请求,所述NVO3封装的ARP请求包括第二主机的互联网协议IP地址;
获取模块,用于根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、媒体访问控制MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
封装模块,用于根据所述三元ARP信息生成NVO3封装的ARP应答,所述NVO3封装的ARP应答携带所述三元ARP信息;
发送模块,用于将所述NVO3封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
9.根据权利要求8所述的设备,其特征在于,所述封装模块,包括:
第一封装子模块,用于根据所述三元ARP信息中的MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址生成NVO3封装的ARP应答的报文头;
第二封装子模块,用于根据所述三元ARP信息中的所述第二主机的IP地址和MAC地址生成NVO3封装的ARP应答的报文负载。
10.根据权利要求8或9所述的设备,其特征在于,所述获取模块包括:
第一获取子模块,用于确定本地ARP表中存在包括所述第二主机的IP地址的三元ARP信息时,获取所述第二主机的三元ARP信息;
或者,
广播子模块,用于确定本地ARP表中不存在包括所述第二主机的IP地址的三元ARP信息时,广播包括所述第二主机的IP地址的信令请求以请求与所述第二主机的IP地址对应的三元ARP信息;
第二获取子模块,用于当接收到包括所述三元ARP信息的信令应答时,根据所述信令应答获取所述三元ARP信息。
11.一种网络虚拟化端点,其特征在于,所述网络虚拟化端点与第一主机相连,包括:
接收模块,用于接收基于三层叠加网络的网络虚拟化NVO3封装的ARP应答,所述NVO3封装的ARP应答包括第二主机的三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
第一获取模块,用于将所述NVO3封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址;
第一发送模块,用于将所述ARP应答发送至所述第一主机。
12.根据权利要求11所述的网络虚拟化端点,其特征在于,所述网络虚拟化端点,还包括:
第二获取模块,用于接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址;
封装模块,用于根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NVO3封装报文,所述NVO3封装报文携带所述网络虚拟化端点的运营商地址;
第二发送模块,用于将所述NVO3封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
13.根据权利要求11或12所述的网络虚拟化端点,其特征在于,所述第一获取模块,包括:
第一获取子模块,用于根据所述NVO3封装的ARP应答的报文头,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址;
第二获取子模块,用于根据所述NVO3封装的ARP应答的报文负载,获取所述第二主机的IP地址和MAC地址。
14.根据权利要求12所述的网络虚拟化端点,其特征在于,所述第二发送模块,包括:
建立子模块,用于根据所述网络虚拟化端点的运营商地址建立隧道,所述隧道用于所述NVE与所述目标NVE的通信;
发送子模块,用于通过所述隧道,将所述NVO3封装报文发送至所述目标NVE,以便所述目标NVE将解封装后的所述NVO3封装报文发送至与所述MAC地址对应的第二主机。
15.一种获取地址解析协议信息的***,其特征在于,所述***包括地址解析协议ARP代理设备和源网络虚拟化端点;
所述ARP代理设备为权利要求8-10中任意一项所述的设备,所述源NVE为权利要求11-14中任意一项所述的网络虚拟化端点。
CN201310658962.1A 2013-12-06 2013-12-06 获取地址解析协议信息的方法、设备、***及网络虚拟化端点 Active CN104702708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310658962.1A CN104702708B (zh) 2013-12-06 2013-12-06 获取地址解析协议信息的方法、设备、***及网络虚拟化端点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310658962.1A CN104702708B (zh) 2013-12-06 2013-12-06 获取地址解析协议信息的方法、设备、***及网络虚拟化端点

Publications (2)

Publication Number Publication Date
CN104702708A CN104702708A (zh) 2015-06-10
CN104702708B true CN104702708B (zh) 2018-04-27

Family

ID=53349466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310658962.1A Active CN104702708B (zh) 2013-12-06 2013-12-06 获取地址解析协议信息的方法、设备、***及网络虚拟化端点

Country Status (1)

Country Link
CN (1) CN104702708B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209641A (zh) * 2016-06-24 2016-12-07 迈普通信技术股份有限公司 一种报文处理的方法、***及装置
CN110062057A (zh) * 2018-12-18 2019-07-26 华为技术有限公司 为热备***处理报文的代理网关及通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863129A (zh) * 2005-12-01 2006-11-15 华为技术有限公司 一种基于二层vpn异种介质互通的***和方法
CN1921441A (zh) * 2006-09-28 2007-02-28 华为技术有限公司 一种虚拟专用局域网的报文转发方法及装置
CN102148766A (zh) * 2011-05-11 2011-08-10 烽火通信科技股份有限公司 一种三层功能组网下pon内业务互通的方法
CN103200069A (zh) * 2013-03-29 2013-07-10 华为技术有限公司 一种报文处理的方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9548959B2 (en) * 2012-03-23 2017-01-17 Cisco Technology, Inc. Address resolution suppression for data center interconnect

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863129A (zh) * 2005-12-01 2006-11-15 华为技术有限公司 一种基于二层vpn异种介质互通的***和方法
CN1921441A (zh) * 2006-09-28 2007-02-28 华为技术有限公司 一种虚拟专用局域网的报文转发方法及装置
CN102148766A (zh) * 2011-05-11 2011-08-10 烽火通信科技股份有限公司 一种三层功能组网下pon内业务互通的方法
CN103200069A (zh) * 2013-03-29 2013-07-10 华为技术有限公司 一种报文处理的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向云计算的数据中心网络体系结构设计;王聪;《计算机研究与发展》;20120215;全文 *

Also Published As

Publication number Publication date
CN104702708A (zh) 2015-06-10

Similar Documents

Publication Publication Date Title
US11671367B1 (en) Methods and apparatus for improving load balancing in overlay networks
US10476796B2 (en) Packet processing method, and device and system
US10541836B2 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
US10320664B2 (en) Cloud overlay for operations administration and management
CN104869042B (zh) 报文转发方法和装置
CN106464564B (zh) 用于网络分组封装和路由的方法、***和计算机可读介质
CN104158718B (zh) 一种报文处理方法和装置
CN106101023B (zh) 一种vpls报文处理方法及设备
CN105591916B (zh) 一种报文传输方法及装置
CN107342941B (zh) 一种vxlan控制平面的优化方法及装置
CN104704778A (zh) 用于虚拟和物理网络集成的方法和***
CN104468368B (zh) 配置bgp邻居的方法及装置
CN107645433B (zh) 报文转发方法及装置
JP2019517168A (ja) 物理ネットワークと仮想ネットワークの間の相互接続
CN107404436A (zh) 用于虚拟可扩展局域网的通信方法和装置
CN106559302A (zh) 单播隧道建立方法、装置和***
WO2015113410A1 (zh) 数据包的处理方法与装置
CN106878181A (zh) 一种报文传输方法和装置
CN106941437A (zh) 一种信息传输方法及装置
CN106878136A (zh) 一种报文转发方法及装置
CN108718269A (zh) 报文处理方法及装置
CN108600074A (zh) 组播数据报文的转发方法及装置
CN113364660B (zh) Lvs负载均衡中的数据包处理方法及装置
CN106330779A (zh) 服务器、物理交换机以及通信***
CN105553810A (zh) 一种转发专线业务报文的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant