CN105657078B - 一种数据传输方法、装置及多层网络管理器 - Google Patents

一种数据传输方法、装置及多层网络管理器 Download PDF

Info

Publication number
CN105657078B
CN105657078B CN201511008622.XA CN201511008622A CN105657078B CN 105657078 B CN105657078 B CN 105657078B CN 201511008622 A CN201511008622 A CN 201511008622A CN 105657078 B CN105657078 B CN 105657078B
Authority
CN
China
Prior art keywords
address
virtual machine
opposite end
data transmission
request
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
CN201511008622.XA
Other languages
English (en)
Other versions
CN105657078A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201511008622.XA priority Critical patent/CN105657078B/zh
Publication of CN105657078A publication Critical patent/CN105657078A/zh
Application granted granted Critical
Publication of CN105657078B publication Critical patent/CN105657078B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]

Landscapes

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

Abstract

本发明实施例公开了一种数据传输方法,包括:接收来自第一客户虚拟机的第一地址解析协议ARP消息;响应所述第一ARP消息,在预设的ARP映射表中查询对端的地址,并将查询到的对端的地址的携带在第二ARP消息中发送至所述第一客户虚拟机;接收来自第一客户虚拟机的数据帧;根据预设的转发策略,将所述数据帧中所述第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址,其中,所述第一客户虚拟机运行在所述第一主机虚拟机上;基于所述对端的地址,转发修改后的数据帧。本发明实施例同时公开了一种数据传输装置及多层网络管理器。

Description

一种数据传输方法、装置及多层网络管理器
技术领域
本发明涉及云计算领域,尤其涉及一种数据传输方法、装置及多层网络管理器。
背景技术
目前越来越多的企业正在将应用环境从私有云迁移到公有云环境中,为了尽量不修改应用服务器的网络配置及相互之间的网络连接关系,在公有云之上部署嵌套的虚拟化环境使得应用系统迁移时无需改变虚拟机格式,虚拟机的网络配置以及应用的环境配置,实现从测试环境到生产环境的快速部署。
公有云具有多租户特性即多租户共享各种虚拟化资源,并且公有云中的计算资源通常需要互联网接入才能实现远程访问,因此采取必要的安全机制来隔离不同租户之间的业务流量、防止每个租户的资源被互联网中的恶意用户攻击对于保障公有云的安全至关重要。
通常为了保障租户的业务安全,公有云提供商会在虚拟化网络中部署安全组件面向租户提供受限的网络来降低遭受恶意网络流量攻击的风险,采取的安全策略包括限制虚拟服务器的二层广播流量和组播流量,禁止虚拟机做SNAT 转换,过滤非来自虚拟服务器的<MAC,IP>地址的数据包等。
这种受限的虚拟化网络为租户提供了业务安全保障,但是也给运行在其上的嵌套虚拟化环境中的虚拟机跨多层网络与外部服务器,如其它主机虚拟机、远端服务器等的通信带来了挑战。首先,由于二层广播流量受到限制,嵌套虚拟化环境中的虚拟机无法与外部的服务器建立ARP连接;另外由于非来自公有云中的虚拟服务器的<MAC,IP>地址会被过滤,导致嵌套虚拟化环境中的虚拟机发往外部服务器的单播数据包因为无法通过公有云网络的检查而被丢弃,这些问题造成运行在嵌套虚拟化环境中的虚拟机无法跨越受限的底层网络与外部服务器建立正常的通信连接。
发明内容
有鉴于此,本发明实施例期望提供一种数据传输方法、装置及多层网络管理器,以使得运行在嵌套虚拟化环境中的虚拟机跨越受限的底层网络,实现与外部服务器建立正常通信。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供一种数据传输方法,应用于数据传输装置,所述方法包括:接收来自第一客户虚拟机的第一地址解析协议ARP消息;响应所述第一ARP消息,在预设的ARP映射表中查询对端的地址,并将查询到的对端的地址的携带在第二ARP消息中发送至所述第一客户虚拟机;接收来自第一客户虚拟机的数据帧;根据预设的转发策略,将所述数据帧中所述第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址,其中,所述第一客户虚拟机运行在所述第一主机虚拟机上;基于所述对端的地址,转发修改后的数据帧。
第二方面,本发明实施例提供一种数据传输方法,应用于多层网络管理器,所述方法包括:接收来自数据传输装置的地址查询请求;响应所述地址查询请求,在全局地址管理表中查询对端的地址;将查询到的所述对端的地址返回所述数据传输装置,使得所述数据传输装置将所述对端的地址转发给第一客户虚拟机。
第三方面,本发明实施例提供一种数据传输装置,包括:地址解析协议ARP 代理模块、客户虚拟交换模块以及主机虚拟交换模块;其中,所述ARP代理模块,用于响应第一ARP消息,在预设的ARP映射表中查询对端的地址,并将查询到的对端的地址发送给所述客户虚拟交换模块;所述客户虚拟交换模块,用于接收来自第一客户虚拟机的所述第一ARP消息,并将所述第一ARP消息转发给所述ARP代理模块;将所述ARP代理模块发送的所述对端的地址的携带在第二ARP消息中发送至所述第一客户虚拟机;接收来自第一客户虚拟机的请求数据帧;根据预设的转发策略,将所述请求数据帧中所述第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址,其中,所述第一客户虚拟机运行在所述第一主机虚拟机上;所述主机虚拟交换模块,用于基于所述对端的地址,转发修改后的请求数据帧。
第四方面,本发明实施例提供一种多层网络管理器,包括:地址解析协议 ARP代理控制单元以及全局网络地址管理单元;其中,所述ARP代理控制单元,用于接收来自数据传输装置的地址查询请求;还用于将查询到的所述对端的地址返回所述数据传输装置,使得所述数据传输装置将所述对端的地址转发给第一客户虚拟机;所述全局网络地址管理单元,用于响应所述地址查询请求,在全局地址管理表中查询所述对端的地址。
本发明实施例提供了一种数据传输方法、装置及多层网络管理器,该装置在接收来自第一客户虚拟机的用于查询对端的地址的第一ARP消息之后,查询对端的地址,并将对端的地址携带在第二ARP消息中发给第一客户虚拟机,然后,接收来自第一客户虚拟机的数据帧,并根据预设的转发策略,将数据帧中第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址,最后,基于对端的地址,转发修改后的数据帧,也就是说,通过将数据帧中的第一客户虚拟机的地址修改为第一主机虚拟机的地址,使得该数据帧伪装成来自第一主机虚拟机,这样,数据帧就能够被发送至外部服务器,实现运行在嵌套虚拟化环境中的虚拟机跨越受限的底层网络,实现与外部服务器建立正常通信。
附图说明
图1为本发明实施例中的跨多层虚拟网络通信系统的结构示意图;
图2为本发明实施例中的数据传输方法的第一种流程示意图;
图3为本发明实施例中的数据传输方法的第二种流程示意图;
图4为本发明实施例中的数据传输方法的第三种流程示意图;
图5为本发明实施例中的数据传输装置侧进行数据传输方法的流程示意图;
图6为本发明实施例中的多层网络管理器侧进行数据传输方法的流程示意图;
图7为本发明实施例中的数据传输装置的结构示意图;
图8为本发明实施例中的多层网络管理器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种跨多层虚拟网络通信系统,参见图1所示,该系统包括:第一客户虚拟机11、数据传输装置12、第一主机虚拟机13、多层网络管理器14、对端15。在实际应用中,对端15可以为远端服务器,也可以为第二主机虚拟机,当然还可以为其它外部服务器,本发明不做具体限定。在本发明实施例中,以对端15为第二主机虚拟机为例进行说明。
其中,第一客户虚拟机11,运行在第一主机虚拟机13上,用于向数据传输装置12发送第一ARP消息以及发送数据帧;
数据传输装置12,用于接收来自第一客户虚拟机11 的第一ARP消息,其中,第一ARP消息用于查询对端15的地址;将携带有所述对端的地址的第二 ARP消息发送至所述第一客户虚拟;接收来自第一客户虚拟机11的数据帧;根据预设的转发策略,将数据帧中第一客户虚拟机11的第一地址修改为第一主机虚拟机13 的第二地址;基于对端15的地址,转发修改后的数据帧。
多层网络管理器14,用于接收来自数据传输装置12的地址查询请求;响应地址查询请求,在全局地址管理表中查询对端15的地址;将查询到的对端 15的地址返回数据传输装置12,使得数据传输装置12将对端15的地址转发给第一客户虚拟机11。
下面结合上述系统对本发明实施例提供的数据传输方法进行说明。
参见图2所示,该数据传输方法,包括:
S201:第一客户虚拟机向数据传输装置发送第一ARP消息;
这里,第一ARP消息用于查询对端的地址,如查询对端的介质访问控制层(MAC,Media Access Control)地址和/或网络互连协议(IP,Internet Protocol) 地址;
S202:数据传输装置响应第一ARP消息,在预设的ARP映射表中查询对端的地址;
S203:数据传输装置将查询到的对端的地址携带在第二ARP消息中返回第一客户虚拟机;
在另一实施例中,当数据传输装置在ARP映射表中未查询到对端的地址时,向多层网络管理器发送地址查询请求,多层网络管理器响应地址查询请求,在全局地址管理表中查询,然后,将查询到的对端的地址返回数据传输装置,数据传输装置将其携带在第二ARP消息中返回第一客户虚拟机;
至此,第一客户虚拟机查询对端的地址的过程就完成了。
举例来说,数据传输装置中的端口映射表如表1所示,那么,第一客户虚拟机,即客户虚拟机1的IP为10.10.3.101,MAC为20:aa:bbca:af:ee,映射于主机虚拟机1,即第一主机虚拟机,第一主机虚拟机的IP为192.168.100.21, MAC为10:aa:ca:bc:af:ff。
表1
这里,仅以表1为例,端口映射表以实际应用为准,本发明不做具体限定。
然后,第一客户虚拟机向数据传输装置发送第一ARP消息,查询对端的地址,数据传输装置在ARP映射表中查询到对端,如第二主机虚拟机的地址,若 ARP映射表中没有查询到第二主机虚拟机的地址时,数据传输装置向多层网络管理器发地址查询请求,多层网络管理器响应该请求,在如下表2所示的全局管理表中,查找第二主机虚拟机的地址。多层网络管理器查找到第二主机虚拟机,即主机虚拟机2的IP为192.168.100.10,MAC地址为10:aa:ca:bc:af:fe。然后,多层网络管理器将主机虚拟机2的IP和MAC地址返回数据传输装置。数据传输装置将主机虚拟机2的IP和MAC地址携带在第二ARP消息中发送给第一客户虚拟机,也就是客户虚拟机1。
所在云 虚拟机名称 虚拟端口IP 虚拟端口MAC 关联主机虚拟机
客户云 客户虚拟机1 10.10.3.101 20:aa:bb:ca:af:ee 主机虚拟机1
主机云 主机虚拟机1 192.168.100.20 10:aa:ca:bc:af:ff Null
主机云 主机虚拟机2 192.168.100.10 10:aa:ca:bc:af:fe Null
表2
这里,仅以表2为例,全局地址管理表以实际应用为准,本发明不做具体限定。
接下来,对第一客户虚拟机的数据帧发送流程进行说明。
仍参考图2所示,在S202之后,执行S204:第一客户虚拟机发送数据帧;
具体来说,第一客户虚拟机根据之前查询到的对端的地址生成数据帧,然后,将该数据帧发送至数据传输装置。
S205:数据传输装置根据预设的转发策略,将数据帧中第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址;
具体来说,在数据传输装置中存储有记录了在第一主机虚拟机上运行的每个客户虚拟机的数据帧的转发策略的转发流表,该流表包括:源IP=10.10.3.101、源MAC=20:aa:bb:ca:af:ee、目的IP=192.168.100.10、目的MAC=10:aa:ca:bc:af:fe、动作Action1=mod,修改后的源IP=192.168.100.20、修改后的源MAC= 10:aa:ca:bc:af:ff、动作Action2=forword等,如此,当数据帧达到数据传输装置后,数据传输装置便能够根据上述流表,将数据帧中源地址,即第一客户虚拟的第一地址修改为第一主机虚拟机的第二地址。
在具体实施过程中,上述预设的转发流表可以是人为手动配置的,也可以是系统自动配置的,那么,在S205之前,参见图3所示,上述方法还包括:
S301:数据传输装置在转发流表中查询第一客户虚拟机对应的转发策略;
S302:当未查询到转发策略时,数据传输装置发送流表创建请求给多层网络管理器;
S303:多层网络管理器响应流表创建请求,为第一主机虚拟机的网络端口注册第二地址;
S304:多层网络管理器基于第二地址,创建第一客户虚拟机对应的转发策略;
也就是说,多层网络管理器将第一客户虚拟机与第二地址关联,创建第一客户虚拟机对应的转发策略。
S305:多层网络管理器将创建的第一客户虚拟机对应的转发策略返回数据传输装置。
具体来说,当上述转发流表中并不存在第一客户虚拟机对应的转发策略时,数据传输装置可以请求多层网络管理器通过主机云管理器为第一主机虚拟机的网络端口注册第二地址,然后将第一客户虚拟机第一地址映射到该网络端口新注册的第二地址,此时,第一客户虚拟机的转发策略就创建完成了,多层网络管理器将创建的上述转发策略返回数据传输装置,数据传输装置保存该转发策略。
S206:数据传输装置基于对端的地址,转发修改后的数据帧。
也就是说,数据传输装置将根据转发策略修改后的数据帧发送给对端。
至此,完成第一客户虚拟机向对端发送数据帧的过程。
在另一实施例中,在第一客户虚拟机向对端发送数据帧之后,对端还可以向第一客户虚拟机发送响应数据帧,那么,在S206之后,参见图4所示,上述方法还包括:
S401:对端发送响应数据帧,其中,响应数据帧中携带的目的地址为第二地址;
具体来说,对端接收修改后的数据帧之后,向数据传输装置发送响应数据帧,这里,由于修改后的数据帧中的源地址为第二地址,所以,响应数据帧的目的地址就为第二地址。
S402:数据传输装置根据上述预设的转发策略,将响应数据帧中的第二地址修改为第一地址;
举例来说,数据传输装置中存储的转发流表还可以包括:源 IP=192.168.100.10、源MAC=10:aa:ca:bc:af:fe、目的IP=192.168.100.21、目的 MAC=10:aa:ca:bc:af:ff、动作Action1=mod,修改后的目的IP=10.10.3.101、修改后的源MAC=20:aa:bb:ca:af:ee、动作Action2=forword等,如此,当响应数据帧达到数据传输装置后,数据传输装置便能够根据上述流表,将响应数据帧中目标地址,即第一主机虚拟的第二地址修改为第一客户虚拟机的第一地址。
S403:数据传输装置将修改后的响应数据帧返回第一客户虚拟机。
需要说明的是,在实际应用中,上述一个或者多个实施例中的数据传输装置按照逻辑可以分为客户虚拟交换模块、ARP代理模块以及主机虚拟交换模块,其中,客户虚拟交换模块执行上述过程中与第一客户虚拟机之间的信息交互, ARP代理模块则进行对端地址的查询,以及与多层网络管理器之间的交互,主机虚拟交换模块则进行第一主机虚拟机与对端的数据交互,当然,还可以存在其它的逻辑划分,本发明不做具体限定。上述各个逻辑模块可以合设于同一物理实体,也可以分设于不同的物理实体,以实际应用为准。
在本实施例中,通过将数据帧中的第一客户虚拟机的地址修改为第一主机虚拟机的地址,使得该数据帧伪装成来自第一主机虚拟机,这样,数据帧就能够被发送至外部服务器,实现运行在嵌套虚拟化环境中的虚拟机跨越受限的底层网络,实现与外部服务器建立正常通信;进一步地,由于无需对公有云网络环境作任何配置或修改,所以可适用于公有云的场景;进一步地,由于无需对虚拟私有云中的客户虚拟机访问的目的服务器的网络环境作任何配置或修改,所以,部署简单,适用性强,可行性高。
下面站在上述系统的各侧对上述方案进行说明。
首先,站在数据传输装置侧进行描述,参见图5所示,本发明实施例提供的数据传输装置侧进行数据传输的方法,包括:
S501:接收来自第一客户虚拟机的第一ARP消息;
S502:响应第一ARP消息,在预设的ARP映射表中查询对端的地址,并将查询到的对端的地址的携带在第二ARP消息中发送至第一客户虚拟机;
S503:接收来自第一客户虚拟机的数据帧;
在上述方案中,在S503之后,该方法还包括:在转发流表中查询第一客户虚拟机对应的转发策略;当未查询到转发策略时,发送流表创建请求,其中,流表创建请求用于指示多层网络管理器为第一主机虚拟机的网络端口注册第二地址,并基于第二地址,创建转发策略;接收返回的转发策略。
S504:根据预设的转发策略,将数据帧中第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址;
其中,第一客户虚拟机运行在第一主机虚拟机上;
S505:基于对端的地址,转发修改后的数据帧。
在上述方案中,在S505之后,该方法还包括:接收来自对端的响应数据帧,其中,响应数据帧中携带的目的地址为第二地址;根据转发策略,将响应数据帧中的第二地址修改为第一地址;将修改后的响应数据帧返回第一客户虚拟机。
其次,站在多层网络管理器侧进行描述,参见图6所示,本发明实施例提供的多层网络管理器侧进行数据传输的方法,包括:
S601:接收来自数据传输装置的地址查询请求;
S602:响应地址查询请求,在全局地址管理表中查询对端的地址;
S603:将查询到的对端的地址返回数据传输装置,使得数据传输装置将对端的地址转发给第一客户虚拟机。
在上述方案中,在S603之后,该方法还包括:接收来自数据传输装置的流表创建请求;响应流表创建请求,为第一主机虚拟机的网络端口注册第二地址;基于第二地址,创建第一客户虚拟机对应的转发策略;将转发策略返回数据传输装置。
在上述方案中,上述基于第二地址,创建第一客户虚拟机对应的转发策略的步骤可以包括:将第一客户虚拟机与第二地址关联,创建转发策略。
基于同一发明构思,本发明实施例提供一种数据传输装置,与上述一个或者多个实施例中的数据传输装置一致。
参见图7所示,该数据传输装置包括:ARP代理模块71、客户虚拟交换模块72以及主机虚拟交换模块73;其中,ARP代理模块71,用于响应第一ARP 消息,在预设的ARP映射表中查询对端的地址,并将查询到的对端的地址发送给客户虚拟交换模块;客户虚拟交换模块72,用于接收来自第一客户虚拟机的第一ARP消息,并将第一ARP消息转发给ARP代理模块;将ARP代理模块发送的对端的地址的携带在第二ARP消息中发送至第一客户虚拟机;接收来自第一客户虚拟机的请求数据帧;根据预设的转发策略,将请求数据帧中第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址,其中,第一客户虚拟机运行在第一主机虚拟机上;主机虚拟交换模块73,用于基于对端的地址,转发修改后的数据帧。
在上述方案中,ARP代理模块71,还用于在ARP映射表中未查找到对端的地址时,将向多层网络管理器发送地址查询请求;还用于接收多层网络管理器返回的对端的地址,并转发至客户虚拟交换模块72。
在上述方案中,客户虚拟交换模块72,还用于在根据预设的转发策略,将数据帧中第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址之前,在转发流表中查询第一客户虚拟机对应的转发策略;当未查询到转发策略时,发送流表创建请求,其中,流表创建请求用于指示多层网络管理器为第一主机虚拟机的网络端口注册第二地址,并基于第二地址,创建转发策略;接收返回的转发策略。
在上述方案中,客户虚拟交换模块72,还用于在主机虚拟交换模块转发修改后的数据帧之后,接收来自对端的响应数据帧,其中,响应数据帧中携带的目的地址为第二地址;根据转发策略,将响应数据帧中的第二地址修改为第一地址;将修改后的响应数据帧返回第一客户虚拟机。
这里需要指出的是,以上数据传输装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明数据传输装置实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。
基于同一发明构思,本发明实施例提供一种多层网络管理器,与上述一个或者多个实施例中的多层网络管理器一致。
参见图8所示,该多层网络管理器包括:ARP代理控制单元81以及全局网络地址管理单元82;其中,ARP代理控制单元81,用于接收来自数据传输装置的地址查询请求;还用于将查询到的对端的地址返回数据传输装置,使得数据传输装置将对端的地址转发给第一客户虚拟机;全局网络地址管理单元 82,用于响应地址查询请求,在全局地址管理表中查询对端的地址。
在上述方案中,多层网络管理器,还包括:虚拟交换机控制单元,用于在 ARP代理控制单元81将查询到的对端的地址返回数据传输装置之后,接收来自数据传输装置的流表创建请求;响应流表创建请求,为第一主机虚拟机的网络端口注册第二地址,并基于第二地址,创建第一客户虚拟机对应的转发策略,其中,第一客户虚拟机运行在第一主机虚拟机上;将转发策略返回数据传输装置。
在上述方案中,虚拟交换机控制单元,具体包括:流表管理单元,用于接收流表创建请求;端口映射管理单元,用于响应流表创建请求,为第一主机虚拟机的网络端口注册第二地址;将第一客户虚拟机与第二地址关联,创建转发策略。
这里需要指出的是,以上多层网络管理器实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明多层网络管理器实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (11)

1.一种数据传输方法,应用于数据传输装置,所述方法包括:
接收来自第一客户虚拟机的第一地址解析协议ARP消息;
响应所述第一ARP消息,在预设的ARP映射表中查询对端的地址;
在所述ARP映射表中未查询到所述对端的地址时,向多层网络管理器发送地址查询请求并从多层网络管理器获取所述对端的地址;
将查询到的对端的地址的携带在第二ARP消息中发送至所述第一客户虚拟机;
接收来自第一客户虚拟机的请求数据帧;
根据预设的转发策略,将所述请求数据帧中所述第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址,其中,所述第一客户虚拟机运行在所述第一主机虚拟机上;
基于所述对端的地址,转发修改后的请求数据帧。
2.根据权利要求1所述的方法,其特征在于,在所述根据预设的转发策略,将所述请求数据帧中所述第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址之前,所述方法还包括:
在转发流表中查询所述第一客户虚拟机对应的转发策略;
当未查询到所述转发策略时,发送流表创建请求,其中,所述流表创建请求用于指示多层网络管理器为所述第一主机虚拟机的网络端口注册所述第二地址,并基于所述第二地址,创建所述转发策略;
接收返回的所述转发策略。
3.根据权利要求1所述的方法,其特征在于,在所述基于所述请求数据帧中携带的目的地址,转发修改后的请求数据帧之后,所述方法还包括:
接收来自所述对端的响应数据帧,其中,所述响应数据帧中携带的目的地址为所述第二地址;
根据所述转发策略,将所述响应数据帧中的所述第二地址修改为所述第一地址;
将修改后的响应数据帧返回所述第一客户虚拟机。
4.一种数据传输方法,应用于多层网络管理器,所述方法包括:
接收来自数据传输装置的地址查询请求;
响应所述地址查询请求,在全局地址管理表中查询对端的地址;
将查询到的所述对端的地址返回所述数据传输装置,使得所述数据传输装置将所述对端的地址转发给第一客户虚拟机;
接收来自所述数据传输装置的流表创建请求;
响应所述流表创建请求,为第一主机虚拟机的网络端口注册第二地址;
基于所述第二地址,创建所述第一客户虚拟机对应的转发策略,其中,所述第一客户虚拟机运行在所述第一主机虚拟机上;
将所述转发策略返回所述数据传输装置。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二地址,创建所述第一客户虚拟机对应的转发策略,包括:
将所述第一客户虚拟机与所述第二地址关联,创建所述转发策略。
6.一种数据传输装置,包括:地址解析协议ARP代理模块、客户虚拟交换模块、多层网络管理器以及主机虚拟交换模块;其中,
所述ARP代理模块,用于响应第一ARP消息,在预设的ARP映射表中查询对端的地址,并将查询到的对端的地址发送给所述客户虚拟交换模块;
所述多层网络管理器,用于在所述ARP映射表中未查询到所述对端的地址时,向多层网络管理器发送地址查询请求并从多层网络管理器获取所述对端的地址;
所述客户虚拟交换模块,用于接收来自第一客户虚拟机的所述第一ARP消息,并将所述第一ARP消息转发给所述ARP代理模块;
将所述ARP代理模块或所述多层网络管理器发送的所述对端的地址的携带在第二ARP消息中发送至所述第一客户虚拟机;接收来自第一客户虚拟机的请求数据帧;根据预设的转发策略,将所述请求数据帧中所述第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址,其中,所述第一客户虚拟机运行在所述第一主机虚拟机上;
所述主机虚拟交换模块,用于基于所述对端的地址,转发修改后的请求数据帧。
7.根据权利要求6所述的装置,其特征在于,所述ARP代理模块,还用于在所述ARP映射表中未查找到所述对端的地址时,将向多层网络管理器发送地址查询请求;还用于接收所述多层网络管理器返回的所述对端的地址,并转发至所述客户虚拟交换模块。
8.根据权利要求6所述的装置,其特征在于,所述客户虚拟交换模块,还用于在根据预设的转发策略,将所述请求数据帧中所述第一客户虚拟机的第一地址修改为第一主机虚拟机的第二地址之前,在转发流表中查询所述第一客户虚拟机对应的转发策略;当未查询到所述转发策略时,发送流表创建请求,其中,所述流表创建请求用于指示多层网络管理器为所述第一主机虚拟机的网络端口注册所述第二地址,并基于所述第二地址,创建所述转发策略;接收返回的所述转发策略。
9.根据权利要求6所述的装置,其特征在于,所述客户虚拟交换模块,还用于在所述主机虚拟交换模块转发所述修改后的请求数据帧之后,接收来自所述对端的响应数据帧,其中,所述响应数据帧中携带的目的地址为所述第二地址;根据所述转发策略,将所述响应数据帧中的所述第二地址修改为所述第一地址;将修改后的响应数据帧返回所述第一客户虚拟机。
10.一种多层网络管理器,包括:地址解析协议ARP代理控制单元、全局网络地址管理单元和虚拟交换机控制单元;其中,
所述ARP代理控制单元,用于接收来自数据传输装置的地址查询请求;还用于将查询到的对端的地址返回所述数据传输装置,使得所述数据传输装置将所述对端的地址转发给第一客户虚拟机;
所述全局网络地址管理单元,用于响应所述地址查询请求,在全局地址管理表中查询所述对端的地址;
虚拟交换机控制单元,用于在所述ARP代理控制单元将查询到的所述对端的地址返回所述数据传输装置之后,接收来自所述数据传输装置的流表创建请求;响应所述流表创建请求,为第一主机虚拟机的网络端口注册第二地址,并基于所述第二地址,创建所述第一客户虚拟机对应的转发策略,其中,所述第一客户虚拟机运行在所述第一主机虚拟机上;将所述转发策略返回所述数据传输装置。
11.根据权利要求10所述的多层网络管理器,其特征在于,所述虚拟交换机控制单元,具体包括:
流表管理单元,用于接收所述流表创建请求;
端口映射管理单元,用于响应所述流表创建请求,为所述第一主机虚拟机的网络端口注册所述第二地址;将所述第一客户虚拟机与所述第二地址关联,创建所述转发策略。
CN201511008622.XA 2015-12-29 2015-12-29 一种数据传输方法、装置及多层网络管理器 Active CN105657078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511008622.XA CN105657078B (zh) 2015-12-29 2015-12-29 一种数据传输方法、装置及多层网络管理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511008622.XA CN105657078B (zh) 2015-12-29 2015-12-29 一种数据传输方法、装置及多层网络管理器

Publications (2)

Publication Number Publication Date
CN105657078A CN105657078A (zh) 2016-06-08
CN105657078B true CN105657078B (zh) 2019-05-31

Family

ID=56477135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511008622.XA Active CN105657078B (zh) 2015-12-29 2015-12-29 一种数据传输方法、装置及多层网络管理器

Country Status (1)

Country Link
CN (1) CN105657078B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733670B (zh) 2016-08-11 2020-05-12 新华三技术有限公司 一种转发策略配置方法和装置
CN108347493B (zh) * 2017-01-25 2020-06-26 华为技术有限公司 混合云管理方法、装置和计算设备
CN111367620B (zh) * 2020-03-06 2024-04-23 联想(北京)有限公司 一种虚拟网络实现方法及电子设备
CN111800523B (zh) * 2020-06-30 2022-06-24 北京金山云网络技术有限公司 虚拟机网络的管理方法、数据处理方法及系统
CN113242269B (zh) * 2021-07-12 2021-09-14 北京宇创瑞联信息技术有限公司 基于虚拟化网络的数据传输方法、系统和网络安全设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457586A (zh) * 2010-10-18 2012-05-16 中兴通讯股份有限公司 一种实现二层网络的扩展方法及扩展的二层网络

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9100216B2 (en) * 2012-07-23 2015-08-04 Cisco Technology, Inc. System and method for scaling IPv6 on a three-tier network architecture at a large data center

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457586A (zh) * 2010-10-18 2012-05-16 中兴通讯股份有限公司 一种实现二层网络的扩展方法及扩展的二层网络

Also Published As

Publication number Publication date
CN105657078A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
US9698995B2 (en) Systems and methods for providing multicast routing in an overlay network
CN105657078B (zh) 一种数据传输方法、装置及多层网络管理器
EP4183121B1 (en) Systems and methods for a vlan switching and routing service
JP5855630B2 (ja) 仮想ローカルエリアネットワークのクラウドアプライアンスを管理するための管理サーバおよびその管理方法
US8959185B2 (en) Multitenant server for virtual networks within datacenter
EP2687982A1 (en) Hierarchical system for managing a plurality of virtual machines, method and computer program
US11765080B2 (en) Layer-2 networking span port in a virtualized cloud environment
US20150281075A1 (en) Method and apparatus for processing address resolution protocol (arp) packet
US10771309B1 (en) Border gateway protocol routing configuration
CN106953848B (zh) 一种基于ForCES的软件定义网络实现方法
US20240031282A1 (en) Layer-2 networking span port in a virtualized cloud environment
US11929976B2 (en) Virtual network routing gateway that supports address translation for dataplane as well as dynamic routing protocols (control plane)
US11743233B2 (en) Scaling IP addresses in overlay networks
US20230370371A1 (en) Layer-2 networking storm control in a virtualized cloud environment
US9763135B1 (en) Load balancing with mobile resources
WO2014172869A1 (zh) 一种在虚拟局域网中通信的方法、设备和系统
WO2022146586A1 (en) Layer-2 networking information in a virtualized cloud environment

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