获取地址解析协议信息的方法、设备、系统及网络虚拟化端点的制作方法

文档序号:8383855阅读:286来源:国知局
获取地址解析协议信息的方法、设备、系统及网络虚拟化端点的制作方法
【技术领域】
[0001]本发明涉及网络通信领域,具体涉及获取地址解析协议信息的方法、设备、系统及网络虚拟化端点。
【背景技术】
[0002]地址解析协议(英文:Address Resolut1n Protocol,缩写:ARP)是将互联网协议地址(英文:Internet Protocol,缩写:IP)地址解析为媒体访问控制(英文:Media AccessControl,缩写:MAC)地址(或称物理地址)的协议。当ARP请求从一个网络的主机发往另一个网络上的主机时,连接这两个网络的路由设备就可以对该请求进行应答,此过程称作ARP代理,其中,发送ARP请求的主机称作第一主机,ARP请求欲发往的主机称作第二主机,用于实现ARP代理的路由设备称作ARP代理设备。基于三层叠加网络的网络虚拟化(英文:Network Virtualizat1n Over Layer3,缩写:NV03)作为一种理想的大二层技术,扩大了网络的范围。而上述ARP代理过程可以被应用于NV03网络中。
[0003]但是,在部署了 ARP代理设备的NV03网络中,当第一主机向第二主机发送ARP请求时,首先将ARP请求发送至与第一主机连接的源网络虚拟化端点(英文=NetworkVirtualizat1n Endpoint,缩写:NVE)。所述ARP请求经过源NVE的封装后,被发送至ARP代理设备。然后,ARP代理设备使用自己的MAC地址作为该ARP请求的回应,导致第一主机只能获取到该ARP代理设备的MAC地址。由于第一主机只获取ARP代理设备的MAC地址,所以随后从第一主机发往第二主机的报文都必须首先发送至源NVE,经过源NVE的封装后再根据ARP代理设备的MAC地址将其发送至ARP代理设备,最后经过与第二主机连接的目的NVE转发至第二主机,由于NV03网络中的第一主机不能经过源NVE直接将报文发送至目的NVE,由所述目的NVE将所述报文转发至第二主机,而是必须经过第三方,即ARP代理设备的转发才能实现报文的成功发送。相比报文的直接发送,经过ARP代理设备的转发使得报文传输路径复杂,进而导致网络流量的浪费。

【发明内容】

[0004]本发明提供了一种获取地址解析协议信息的方法、设备、系统及网络虚拟化端点,能够使第一主机在不经过第三方转发的情况下,通过源NVE向与目的NVE连接的第二主机直接发送报文,从而优化了报文传输路径,节省了网络流量。
[0005]为此,本发明实施例提供如下技术方案:
[0006]第一方面,本发明提供了一种获取地址解析协议信息的方法,所述方法应用于地址解析协议ARP代理设备,所述方法包括:
[0007]接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NV03封装的地址解析协议ARP请求,所述NV03封装的ARP请求包括第二主机的互联网协议IP地址;
[0008]根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、媒体访问控制MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
[0009]根据所述三元ARP信息生成NV03封装的ARP应答,所述NV03封装的ARP应答携带所述三元ARP信息;
[0010]将所述NV03封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
[0011 ] 在第一方面的第一种可能的实现方式中,所述根据所述三元ARP信息生成NV03封装的ARP应答,包括:
[0012]根据所述三元ARP信息中的MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址生成NV03封装的ARP应答的报文头;
[0013]根据所述三元ARP信息中的所述第二主机的IP地址和MAC地址生成NV03封装的ARP应答的报文负载。
[0014]结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,包括:
[0015]确定本地ARP表中存在包括所述第二主机的IP地址的三元ARP信息时,获取所述第二主机的三元ARP信息;
[0016]或者,
[0017]确定本地ARP表中不存在包括所述第二主机的IP地址的三元ARP信息时,广播包括所述第二主机的IP地址的信令请求以请求与所述第二主机的IP地址对应的三元ARP信息,当接收到包括所述三元ARP信息的信令应答时,根据所述信令应答获取所述三元ARP信肩、O
[0018]第二方面,本发明提供了一种获取地址解析协议信息的方法,所述方法应用于源NVE,所述源NVE与第一主机相连,所述方法包括:
[0019]接收基于三层叠加网络的网络虚拟化NV03封装的ARP应答,所述NV03封装的ARP应答包括第二主机的三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
[0020]将所述NV03封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址;
[0021]将所述ARP应答发送至所述第一主机。
[0022]在第二方面的第一种可能的实现方式中,所述方法还包括:
[0023]接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址;
[0024]根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NV03封装报文,所述NV03封装报文携带所述网络虚拟化端点的运营商地址;
[0025]将所述NV03封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NV03封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
[0026]结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述NV03封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址,包括:
[0027]根据所述NV03封装的ARP应答的报文头,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址;
[0028]根据所述NV03封装的ARP应答的报文负载,获取所述第二主机的IP地址和MAC地址。
[0029]结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述将所述NV03封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NV03封装报文发送至所述第二主机,包括:
[0030]根据所述网络虚拟化端点的运营商地址建立隧道,所述隧道用于所述源NVE与所述目标NVE的通信;
[0031 ] 通过所述隧道,将所述NV03封装报文发送至所述目标NVE,以便所述目标NVE将解封装后的所述NV03封装报文发送至与所述MAC地址对应的第二主机。
[0032]第三方面,本发明提供了一种获取地址解析协议信息的设备,所述设备包括:
[0033]接收模块,用于接收与第一主机连接的源网络虚拟化端点发送的基于三层叠加网络的网络虚拟化NV03封装的地址解析协议ARP请求,所述NV03封装的ARP请求包括第二主机的互联网协议IP地址;
[0034]获取模块,用于根据所述第二主机的IP地址,获取所述第二主机的三元ARP信息,所述三元ARP信息包括所述第二主机的IP地址、媒体访问控制MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
[0035]封装模块,用于根据所述三元ARP信息生成NV03封装的ARP应答,所述NV03封装的ARP应答携带所述三元ARP信息;
[0036]发送模块,用于将所述NV03封装的ARP应答发送至与所述第一主机连接的源网络虚拟化端点NVE。
[0037]在第三方面的第一种可能的实现方式中,所述封装模块,包括:
[0038]第一封装子模块,用于根据所述三元ARP信息中的MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址生成NV03封装的ARP应答的报文头;
[0039]第二封装子模块,用于根据所述三元ARP信息中的所述第二主机的IP地址和MAC地址生成NV03封装的ARP应答的报文负载。
[0040]结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取模块包括:
[0041]第一获取子模块,用于确定本地ARP表中存在包括所述第二主机的IP地址的三元ARP信息时,获取所述第二主机的三元ARP信息;
[0042]或者,
[0043]广播子模块,用于确定本地ARP表中不存在包括所述第二主机的IP地址的三元ARP信息时,广播包括所述第二主机的IP地址的信令请求以请求与所述第二主机的IP地址对应的三元ARP信息;
[0044]第二获取子模块,用于当接收到包括所述三元ARP信息的信令应答时,根据所述信令应答获取所述三元ARP信息。
[0045]第四方面,本发明提供了一种网络虚拟化端点,所述网络虚拟化端点与第一主机相连,包括:
[0046]接收模块,用于接收基于三层叠加网络的网络虚拟化NV03封装的ARP应答,所述NV03封装的ARP应答第二主机的包括三元ARP信息,所述三元ARP信息包括第二主机的IP地址、MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址的对应关系;
[0047]第一获取模块,用于将所述NV03封装的ARP应答解封装后,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址,并得到ARP应答,所述ARP应答包括第二主机的IP地址和MAC地址;
[0048]第一发送模块,用于将所述ARP应答发送至所述第一主机。
[0049]在第四方面的第一种可能的实现方式中,所述网络虚拟化端点,还包括:
[0050]第二获取模块,用于接收所述第一主机发送的包括第二主机的MAC地址的报文,获取与所述MAC地址对应的网络虚拟化端点的运营商地址;
[0051]封装模块,用于根据所述网络虚拟化端点的运营商地址,将所述报文封装,得到NV03封装报文,所述NV03封装报文携带所述网络虚拟化端点的运营商地址;
[0052]第二发送模块,用于将所述NV03封装报文发送至目标NVE,以便所述目标NVE将解封装后的所述NV03封装报文发送至所述第二主机,所述目标NVE与所述第二主机相连。
[0053]结合第四方面或者第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一获取模块,包括:
[0054]第一获取子模块,用于根据所述NV03封装的ARP应答的报文头,获取所述MAC地址与所述第二主机连接的网络虚拟化端点的运营商地址;
[0055]第二获取子模块,用于根据所述NV03封装的ARP应答的报文
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1