CN112995005B - 虚拟网络数据交换方法和装置 - Google Patents

虚拟网络数据交换方法和装置 Download PDF

Info

Publication number
CN112995005B
CN112995005B CN201911302290.4A CN201911302290A CN112995005B CN 112995005 B CN112995005 B CN 112995005B CN 201911302290 A CN201911302290 A CN 201911302290A CN 112995005 B CN112995005 B CN 112995005B
Authority
CN
China
Prior art keywords
address
virtual machine
service request
network
destination
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
CN201911302290.4A
Other languages
English (en)
Other versions
CN112995005A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911302290.4A priority Critical patent/CN112995005B/zh
Publication of CN112995005A publication Critical patent/CN112995005A/zh
Application granted granted Critical
Publication of CN112995005B publication Critical patent/CN112995005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation

Landscapes

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

Abstract

本公开的实施例公开了虚拟网络数据交换方法和装置。该方法的一具体实施方式包括:响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核;在交换内核中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则;根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络。该实施方式虚拟网络不需要在每个服务宿主机上创建众多的额外设备,节省了宿主机因创建设备所占用的大量内存。

Description

虚拟网络数据交换方法和装置
技术领域
本公开的实施例涉及计算机技术领域,具体涉及虚拟网络数据交换方法和装置。
背景技术
随着互联网技术的不断创新与发展,对于云计算服务提供方,一个重要的能力就是提供虚拟私有云VPC(Virtual Private Cloud)服务将众多用户的虚拟机VM(VirtualMachine)以便于故障迁移的方式隔离开。针对目前主要应用的隧道技术来说,公共服务需要支持将各个用户VPC的流量封装到其对应VPC的隧道,完成将用户数据流从物理网络underlay交换到隧道内的虚拟网络overlay,而对于从用户VPC内VM进入公共服务的数据流,公共服务需要支持将其解封装到各个用户对应VPC的隧道,完成用户数据流从overlay交换到underlay。
为实现数据流在underlay和overlay之间交换,目前主要存在两种方案:第一,通过在宿主机上创建专门的设备来封装和解封装隧道数据流,实现数据流在underlay和overlay之间交换。但因每个设备只封装/解封装一个VPC对应隧道的数据流,而公共服务支持成千上万个VPC,使得每个公共服务宿主机上需要创建众多的隧道设备,占用了宿主机大量的内存,并且在众多隧道设备中根据VPC信息进行数据流的查询、配置和统计十分困难,造成在创建数量巨大的隧道设备的场景下运维十分困难,另外,由于缺乏可供应用直接调用的接口,使得在云计算多租户场景下设置维护数量巨大的VPC的数据流交换规则变得十分困难;第二,创建单独的协议栈,在协议栈中动态管理各个VPC的隧道信息,并根据这些信息封装和解封装数据流,实现数据流在underlay网络和overlay网络之间动态转换,但对于各个公共服务来说,单独创建一套协议栈并在其中支持数据流交换的开发难度较大,后期的维护成本十分高昂。
发明内容
本公开的实施例提出了虚拟网络数据交换方法和装置。
第一方面,本公开的实施例提供了一种虚拟网络数据交换方法,该方法包括:响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核,其中,目的虚拟机的虚拟IP地址与服务请求需访问的目的虚拟机的真实IP地址不同;在交换内核中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,其中,出向规则表包括数据从underlay网络到overlay网络的传输规则,出向传输规则包括数据封装协议和数据从underlay网络到overlay网络的传输路径信息;根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络。
在一些实施例中,服务请求相应的数据包通过如下方式封装:基于Linux协议栈,将映射的服务请求的目的IP地址更新为服务请求的目的虚拟机在VPC中的IP地址,并将映射的服务请求的源IP地址更新为服务请求的源宿主机在VPC中的IP地址,其中,服务请求的源宿主机在VPC中的IP地址与虚拟机内能访问的VPC内的其他IP地址不同;以目的虚拟机的MAC地址作为目的MAC地址,以服务请求的源宿主机的MAC地址作为源MAC地址对映射的服务请求相应的数据包封装MAC帧头;以目的虚拟机所在宿主机的IP地址作为隧道目的IP地址,以目的虚拟机在VPC中的网络标志符作为隧道标志符,并以源宿主机IP地址作为隧道源IP地址,对映射的服务请求相应的数据包封装隧道头。
在一些实施例中,在根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络之后,还包括:响应于接收到overlay网络返回underlay网络的服务请求的响应请求,按照预先配置的入向规则表查询目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符所表征的入向传输规则,其中,入向规则表包括数据从overlay网络到underlay网络的传输规则,入向传输规则包括数据解封装协议和数据从overlay网络到underlay网络的传输路径信息;根据入向传输规则,将响应请求相应的数据包解封装后从overlay网络发送到underlay网络。
在一些实施例中,响应请求相应的数据包通过如下方式解封装:基于Linux协议栈,以源宿主机IP地址作为隧道目的IP地址,以目的虚拟机所在宿主机的IP地址作为隧道源IP地址,去除映射的响应请求相应的数据包的隧道头;以服务请求的源宿主机的MAC地址作为目的MAC地址,以目的虚拟机的MAC地址作为源MAC地址,去除映射的响应请求相应的数据包的MAC帧头;将映射的响应请求相应的数据包的目的IP地址更新为服务请求的源宿主机IP地址,并将映射的响应请求相应的数据包的源IP地址更新为服务请求的目的虚拟机的虚拟IP地址。
在一些实施例中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,包括:根据出向规则表对应的哈希函数,在出向规则表中查找是否存在目的虚拟机的虚拟IP地址;响应于存在,在出向规则表中提取目的虚拟机的虚拟IP地址表征的出向传输规则。
在一些实施例中,按照预先配置的入向规则表查询目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符所表征的入向传输规则,包括:根据入向规则表对应的哈希函数,在入向规则表中查找是否存在目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息;响应于存在,在入向规则表中提取目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息所表征的入向传输规则。
第二方面,本公开的实施例提供了一种虚拟网络数据交换装置,包括:发送单元、出向查询单元和出向交换单元,其中,发送单元,被配置成响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核,其中,目的虚拟机的虚拟IP地址与服务请求需访问的目的虚拟机的真实IP地址不同;出向查询单元,被配置成在交换内核中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,其中,出向规则表包括数据从underlay网络到overlay网络的传输规则,出向传输规则包括数据封装协议和数据从underlay网络到overlay网络的传输路径信息;出向交换单元,被配置成根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络。
在一些实施例中,出向交换单元还包括:出向更新子模块,被配置成基于Linux协议栈,将映射的服务请求的目的IP地址更新为服务请求的目的虚拟机在VPC中的IP地址,并将映射的服务请求的源IP地址更新为服务请求的源宿主机在VPC中的IP地址,其中,服务请求的源宿主机在VPC中的IP地址与虚拟机内能访问的VPC内的其他IP地址不同;封装MAC头子模块,被配置成以目的虚拟机的MAC地址作为目的MAC地址,以服务请求的源宿主机的MAC地址作为源MAC地址对映射的服务请求相应的数据包封装MAC帧头;封装隧道头子模块,被配置成以目的虚拟机所在宿主机的IP地址作为隧道目的IP地址,以目的虚拟机在VPC中的网络标志符作为隧道标志符,并以源宿主机IP地址作为隧道源IP地址,对映射的服务请求相应的数据包封装隧道头。
在一些实施例中,装置还包括:入向查询单元,被配置成响应于接收到overlay网络返回underlay网络的服务请求的响应请求,按照预先配置的入向规则表查询目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符所表征的入向传输规则,其中,入向规则表包括数据从overlay网络到underlay网络的传输规则,入向传输规则包括数据解封装协议和数据从overlay网络到underlay网络的传输路径信息;入向交换单元,被配置成根据入向传输规则,将响应请求相应的数据包解封装后从overlay网络发送到underlay网络。
在一些实施例中,入向交换单元包括:去除隧道头子模块,被配置成基于Linux协议栈,以源宿主机IP地址作为隧道目的IP地址,以目的虚拟机所在宿主机的IP地址作为隧道源IP地址,去除映射的响应请求相应的数据包的隧道头;去除MAC头子模块,被配置成以服务请求的源宿主机的MAC地址作为目的MAC地址,以目的虚拟机的MAC地址作为源MAC地址,去除映射的响应请求相应的数据包的MAC帧头;入向更新子模块,被配置成将映射的响应请求相应的数据包的目的IP地址更新为服务请求的源宿主机IP地址,并将映射的响应请求相应的数据包的源IP地址更新为服务请求的目的虚拟机的虚拟IP地址。
在一些实施例中,出向查询单元包括:出向查询子模块,被配置成根据出向规则表对应的哈希函数,在出向规则表中查找是否存在目的虚拟机的虚拟IP地址;出向提取子模块,被配置成响应于存在,在出向规则表中提取目的虚拟机的虚拟IP地址表征的出向传输规则。
在一些实施例中,入向查询单元包括:入向查询子模块,被配置成根据入向规则表对应的哈希函数,在入向规则表中查找是否存在目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息;入向提取子模块,被配置成响应于存在,在入向规则表中提取目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息所表征的入向传输规则。
第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本公开的实施例提供的虚拟网络数据交换方法和装置,通过按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,再根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络,与现有技术相比,虚拟网络不需要在每个服务宿主机上创建众多的额外设备,节省了宿主机因创建设备所占用的大量内存,因管理每个虚拟私有云VPC对应的传输规则所需内存小于管理创建的额外设备所需内存,进一步节省了宿主机的内存空间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一些实施例可以应用于其中的示例性***架构图;
图2是根据本公开的虚拟网络数据交换方法的一个实施例的流程图;
图3是根据本公开的实施例的虚拟网络数据交换方法的一个应用场景的结构示意图;
图4是根据本公开的虚拟网络数据交换方法的又一个实施例的流程图;
图5是根据本公开的虚拟网络数据交换装置的一个实施例的结构示意图;
图6是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的实施例的虚拟网络数据交换方法和装置的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103的服务请求提供虚拟网络支持的宿主机。宿主机上可以具有预先创建的虚拟机,虚拟机可以位于提出服务请求的用户所对应的VPC中,宿主机可以对接收到的服务请求等数据进行处理,并将处理结果(例如响应请求相应的数据包)反馈给终端设备。
需要说明的是,本公开的实施例所提供的虚拟网络数据交换方法一般由服务器105执行。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
继续参考图2,示出了根据本公开的虚拟网络数据交换方法的一个实施例的流程200。该虚拟网络数据交换方法,包括以下步骤:
步骤201,响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核。
在本实施例中,虚拟网络数据交换方法的执行主体(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户终端接收服务请求,当接收到服务请求时,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址,并发送服务请求相应的数据包至交换内核,上述目的虚拟机的虚拟IP地址与服务请求需访问的目的虚拟机的真实IP地址不相同,上述目的虚拟机的虚拟IP地址可以在创建目的虚拟机时进行配置。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。上述服务请求包括:添加请求、删除请求、查询请求和分析请求。
步骤202,在交换内核中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则。
在本实施例中,基于步骤201中的目的虚拟机的虚拟IP地址,上述执行主体(例如图1所示的服务器)可以在预先配置的出向规则表中以目的虚拟机的虚拟IP地址作为关键字查找目的虚拟机的虚拟IP地址所表征的数据传输规则,上述出向规则表包括数据从underlay网络到overlay网络的传输规则,出向传输规则包括数据封装协议和数据从underlay网络到overlay网络的传输路径信息,上述出向规则表可以包括:目的虚拟机的虚拟IP地址、源宿主机IP地址、目的虚拟机的在VPC中的IP地址、源宿主机在VPC中的IP地址、目的虚拟机的MAC地址、源宿主机的MAC地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符。
步骤203,根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络。
在本实施例中,上述执行主体(例如图1所示的服务器)可以按照查找到的出向传输规则对服务请求相应的数据包进行封装,并将封装后的数据包从物理网络(即underlay网络)发送到虚拟网络(即overlay网络)。
在本实施例的一些可选的实现方式中,服务请求相应的数据包通过如下方式封装:基于Linux协议栈,将映射的服务请求的目的IP地址更新为服务请求的目的虚拟机在VPC中的IP地址,并将映射的服务请求的源IP地址更新为服务请求的源宿主机在VPC中的IP地址,其中,服务请求的源宿主机在VPC中的IP地址与虚拟机内能访问的VPC内的其他IP地址不同;以目的虚拟机的MAC地址作为目的MAC地址,以服务请求的源宿主机的MAC地址作为源MAC地址对映射的服务请求相应的数据包封装MAC帧头;以目的虚拟机所在宿主机的IP地址作为隧道目的IP地址,以目的虚拟机在VPC中的网络标志符作为隧道标志符,并以源宿主机IP地址作为隧道源IP地址,对映射的服务请求相应的数据包封装隧道头。基于通用的Linux协议栈技术,提供方便调用的统一接口,使设置和维护数量巨大的VPC对应的交换规则变得简单,具有更好的开发和运维能力;统一接口具有较高的可移植性和可维护性,不需要单独开发和维护协议栈,降低了开发和运维成本。
需要说明的是,上述查询方法和更新方法是目前广泛研究和应用的公知技术,在此不再赘述。
本公开的上述实施例提供的方法通过按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,再根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络,与现有技术相比,虚拟网络不需要在每个服务宿主机上创建众多的额外设备,节省了宿主机因创建设备所占用的大量内存,因管理每个虚拟私有云VPC对应的传输规则所需内存小于管理创建的额外设备所需内存,进一步节省了宿主机的内存空间。
继续参见图3,图3是根据本实施例的虚拟网络数据交换方法的应用场景的一个示意图。宿主机302首先接收到终端设备301发来的一个服务请求的数据包303,其中,服务请求的源IP地址为终端设备(即服务请求的源宿主机)的IP地址172.16.0.1,服务请求的目的IP地址为宿主机302中目的虚拟机的虚拟IP地址240.0.0.1,并发送服务请求相应的数据包至交换内核。
接着,在交换内核中,对服务请求相应的数据包进行分析,提取目的虚拟机的虚拟IP地址240.0.0.1,在预先配置的出向规则表中查找目的虚拟机的虚拟IP地址所表征的出向传输规则。
最后,按照查找到的出向传输规则对服务请求相应的数据包进行封装,并将封装后的数据包从underlay网络发送到overlay网络。
本公开的上述实施例提供的方法通过按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,再根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络,与现有技术相比,虚拟网络不需要在每个服务宿主机上创建众多的额外设备,节省了宿主机因创建设备所占用的大量内存,因管理每个虚拟私有云VPC对应的传输规则所需内存小于管理创建的额外设备所需内存,进一步节省了宿主机的内存空间。
进一步参考图4,其示出了虚拟网络数据交换方法的又一个实施例的流程400。该虚拟网络数据交换方法的流程400,包括以下步骤:
步骤401,响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核。
步骤402,在交换内核中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则。
步骤403,根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络。
在本实施例中,步骤401~403的具体操作与图2所示的实施例中的步骤201~203的操作基本相同,在此不再赘述。
步骤404,响应于接收到overlay网络返回underlay网络的服务请求的响应请求,按照预先配置的入向规则表查询目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符所表征的入向传输规则。
在本实施例中,虚拟网络数据交换方法的执行主体(例如图1所示的服务器)基于上述服务请求,可以接收到从overlay网络返回underlay网络的响应请求,在预先配置的入向规则表中以目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息查找得到响应请求相应的数据包的入向传输规则,上述入向规则表包括数据从overlay网络到underlay网络的传输规则,入向传输规则包括数据解封装协议和数据从overlay网络到underlay网络的传输路径信息,上述入向规则表可以包括:目的虚拟机的虚拟IP地址、源宿主机IP地址、目的虚拟机的在VPC中的IP地址、源宿主机在VPC中的IP地址、目的虚拟机的MAC地址、源宿主机的MAC地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符。
上述以目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息查找得到响应请求相应的数据包的入向传输规则可以是分别以目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符作为关键字在入向规则表中进行查找后作关联得到响应请求相应的数据包所对应的入向传输规则,也可以是将目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符关联后作为关键字在入向规则表中进行查找,得到响应请求相应的数据包所对应的入向传输规则。
步骤405,根据入向传输规则,将响应请求相应的数据包解封装后从overlay网络发送到underlay网络。
在本实施例中,上述执行主体(例如图1所示的服务器)可以按照查找到的入向传输规则对响应请求相应的数据包进行解封装,并将解封装后的数据包从overlay网络发送到underlay网络。
在本实施例的一些可选的实现方式中,响应请求相应的数据包通过如下方式解封装:基于Linux协议栈,以源宿主机IP地址作为隧道目的IP地址,以目的虚拟机所在宿主机的IP地址作为隧道源IP地址,去除映射的响应请求相应的数据包的隧道头;以服务请求的源宿主机的MAC地址作为目的MAC地址,以目的虚拟机的MAC地址作为源MAC地址,去除映射的响应请求相应的数据包的MAC帧头;将映射的响应请求相应的数据包的目的IP地址更新为服务请求的源宿主机IP地址,并将映射的响应请求相应的数据包的源IP地址更新为服务请求的目的虚拟机的虚拟IP地址。基于通用的Linux协议栈技术,提供方便调用的统一接口,使设置和维护数量巨大的VPC对应的交换规则变得简单,具有更好的开发和运维能力;统一接口具有较高的可移植性和可维护性,不需要单独开发和维护协议栈,降低了开发和运维成本。
在本实施例的一些可选的实现方式中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,包括:根据出向规则表对应的哈希函数,在出向规则表中查找是否存在目的虚拟机的虚拟IP地址;响应于存在,在出向规则表中提取目的虚拟机的虚拟IP地址表征的出向传输规则。
在本实施例中,执行主体根据哈希函数,在出向规则表中查找是否存在目的虚拟机的虚拟IP地址所映射的位置信息,上述出向规则表为哈希表。通过利用哈希表进行查询,快速准确的定位到需要的查询结果。
在本实施例的一些可选的实现方式中,按照预先配置的入向规则表查询目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符所表征的入向传输规则,包括:根据入向规则表对应的哈希函数,在入向规则表中查找是否存在目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息;响应于存在,在入向规则表中提取目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息所表征的入向传输规则。
在本实施例中,执行主体根据哈希函数,在出向规则表中查找是否存在目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息所映射的位置信息,上述出向规则表为哈希表。通过利用哈希表进行查询,快速准确的定位到需要的查询结果。
从图4中可以看出,与图2对应的实施例相比,本实施例中的虚拟网络数据交换方法的流程400通过按照预先配置的入向规则表查询目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符所表征的入向传输规则,再根据入向传输规则,将响应请求相应的数据包解封装后从overlay网络发送到underlay网络,是一种针对服务请求具有反馈的响应请求的虚拟网络数据交换方法,并且体现了利用哈希函数进行出向规则表和入向规则表的查询过程的步骤。由此,本实施例描述的方案通过利用哈希表进行查询,快速准确的定位到需要的查询结果,提高了数据处理效率。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种虚拟网络数据交换装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的虚拟网络数据交换装置500包括:发送单元501、出向查询单元502和出向交换单元503。其中,发送单元501被配置成响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核,其中,目的虚拟机的虚拟IP地址与服务请求需访问的目的虚拟机的真实IP地址不同;出向查询单元502被配置成在交换内核中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则,其中,出向规则表包括数据从underlay网络到overlay网络的传输规则,出向传输规则包括数据封装协议和数据从underlay网络到overlay网络的传输路径信息;出向交换单元503被配置成根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络。
在本实施例中,虚拟网络数据交换装置500的发送单元501、出向查询单元502和出向交换单元503的具体处理及其所带来的技术效果可分别参考图2对应的实施例中的步骤201到步骤203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,该装置的出向交换单元还包括:出向更新子模块,被配置成基于Linux协议栈,将映射的服务请求的目的IP地址更新为服务请求的目的虚拟机在VPC中的IP地址,并将映射的服务请求的源IP地址更新为服务请求的源宿主机在VPC中的IP地址,其中,服务请求的源宿主机在VPC中的IP地址与虚拟机内能访问的VPC内的其他IP地址不同;封装MAC头子模块,被配置成以目的虚拟机的MAC地址作为目的MAC地址,以服务请求的源宿主机的MAC地址作为源MAC地址对映射的服务请求相应的数据包封装MAC帧头;封装隧道头子模块,被配置成以目的虚拟机所在宿主机的IP地址作为隧道目的IP地址,以目的虚拟机在VPC中的网络标志符作为隧道标志符,并以源宿主机IP地址作为隧道源IP地址,对映射的服务请求相应的数据包封装隧道头。
在本实施例的一些可选的实现方式中,该装置还包括:入向查询单元,被配置成响应于接收到overlay网络返回underlay网络的服务请求的响应请求,按照预先配置的入向规则表查询目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符所表征的入向传输规则,其中,入向规则表包括数据从overlay网络到underlay网络的传输规则,入向传输规则包括数据解封装协议和数据从overlay网络到underlay网络的传输路径信息;入向交换单元,被配置成根据入向传输规则,将响应请求相应的数据包解封装后从overlay网络发送到underlay网络。
在本实施例的一些可选的实现方式中,该装置的入向交换单元包括:去除隧道头子模块,被配置成基于Linux协议栈,以源宿主机IP地址作为隧道目的IP地址,以目的虚拟机所在宿主机的IP地址作为隧道源IP地址,去除映射的响应请求相应的数据包的隧道头;去除MAC头子模块,被配置成以服务请求的源宿主机的MAC地址作为目的MAC地址,以目的虚拟机的MAC地址作为源MAC地址,去除映射的响应请求相应的数据包的MAC帧头;入向更新子模块,被配置成将映射的响应请求相应的数据包的目的IP地址更新为服务请求的源宿主机IP地址,并将映射的响应请求相应的数据包的源IP地址更新为服务请求的目的虚拟机的虚拟IP地址。
在本实施例的一些可选的实现方式中,该装置的出向查询单元包括:出向查询子模块,被配置成根据出向规则表对应的哈希函数,在出向规则表中查找是否存在目的虚拟机的虚拟IP地址;出向提取子模块,被配置成响应于存在,在出向规则表中提取目的虚拟机的虚拟IP地址表征的出向传输规则。
在本实施例的一些可选的实现方式中,该装置的入向查询单元包括:入向查询子模块,被配置成根据入向规则表对应的哈希函数,在入向规则表中查找是否存在目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息;入向提取子模块,被配置成响应于存在,在入向规则表中提取目的虚拟机在VPC中的IP地址、目的虚拟机所在宿主机的IP地址和目的虚拟机在VPC中的网络标志符的关联信息所表征的入向传输规则。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器或终端设备)600的结构示意图。本公开的实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的终端设备/服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核;在交换内核中,按照预先配置的出向规则表查询目的虚拟机的虚拟IP地址表征的出向传输规则;根据出向传输规则,将服务请求相应的数据包封装后从underlay网络发送到overlay网络。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、出向查询单元和出向交换单元。这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“响应于接收到服务请求,将服务请求的目的虚拟机的虚拟IP地址作为服务请求的目的IP地址,将服务请求的源宿主机IP地址作为服务请求的源IP地址发送服务请求相应的数据包至交换内核”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种虚拟网络数据交换方法,包括:
响应于接收到服务请求,将所述服务请求的目的虚拟机的虚拟IP地址作为所述服务请求的目的IP地址,将所述服务请求的源宿主机IP地址作为所述服务请求的源IP地址发送所述服务请求相应的数据包至交换内核,其中,所述目的虚拟机的虚拟IP地址与服务请求需访问的目的虚拟机的真实IP地址不同;
在所述交换内核中,按照预先配置的出向规则表查询所述目的虚拟机的虚拟IP地址表征的出向传输规则,其中,所述出向规则表包括数据从underlay网络到overlay网络的传输规则,所述出向传输规则包括数据封装协议和数据从underlay网络到overlay网络的传输路径信息;
根据所述出向传输规则,将所述服务请求相应的数据包封装后从underlay网络发送到overlay网络。
2.根据权利要求1所述的虚拟网络数据交换方法,其中,所述服务请求相应的数据包通过如下方式封装:
基于Linux协议栈,将映射的所述服务请求的目的IP地址更新为所述服务请求的目的虚拟机在VPC中的IP地址,并将映射的所述服务请求的源IP地址更新为所述服务请求的源宿主机在VPC中的IP地址,其中,所述服务请求的源宿主机在VPC中的IP地址与虚拟机内能访问的VPC内的其他IP地址不同;
以所述目的虚拟机的MAC地址作为目的MAC地址,以所述服务请求的源宿主机的MAC地址作为源MAC地址对映射的所述服务请求相应的数据包封装MAC帧头;
以所述目的虚拟机所在宿主机的IP地址作为隧道目的IP地址,以所述目的虚拟机在VPC中的网络标志符作为隧道标志符,并以所述源宿主机IP地址作为隧道源IP地址,对映射的所述服务请求相应的数据包封装隧道头。
3.根据权利要求2所述的虚拟网络数据交换方法,其中,在所述根据所述出向传输规则,将所述服务请求相应的数据包封装后从underlay网络发送到overlay网络之后,还包括:
响应于接收到overlay网络返回underlay网络的所述服务请求的响应请求,按照预先配置的入向规则表查询所述目的虚拟机在VPC中的IP地址、所述目的虚拟机所在宿主机的IP地址和所述目的虚拟机在VPC中的网络标志符所表征的入向传输规则,其中,所述入向规则表包括数据从overlay网络到underlay网络的传输规则,所述入向传输规则包括数据解封装协议和数据从overlay网络到underlay网络的传输路径信息;
根据所述入向传输规则,将所述响应请求相应的数据包解封装后从overlay网络发送到underlay网络。
4.根据权利要求3所述的虚拟网络数据交换方法,其中,所述响应请求相应的数据包通过如下方式解封装:
基于Linux协议栈,以所述源宿主机IP地址作为隧道目的IP地址,以所述目的虚拟机所在宿主机的IP地址作为隧道源IP地址,去除映射的所述响应请求相应的数据包的隧道头;
以所述服务请求的源宿主机的MAC地址作为目的MAC地址,以所述目的虚拟机的MAC地址作为源MAC地址,去除映射的所述响应请求相应的数据包的MAC帧头;
将映射的所述响应请求相应的数据包的目的IP地址更新为所述服务请求的源宿主机IP地址,并将映射的所述响应请求相应的数据包的源IP地址更新为所述服务请求的目的虚拟机的虚拟IP地址。
5.根据权利要求1所述的虚拟网络数据交换方法,所述按照预先配置的出向规则表查询所述目的虚拟机的虚拟IP地址表征的出向传输规则,包括:
根据所述出向规则表对应的哈希函数,在所述出向规则表中查找是否存在所述目的虚拟机的虚拟IP地址;
响应于存在,在所述出向规则表中提取所述目的虚拟机的虚拟IP地址表征的出向传输规则。
6.根据权利要求3所述的虚拟网络数据交换方法,所述按照预先配置的入向规则表查询所述目的虚拟机在VPC中的IP地址、所述目的虚拟机所在宿主机的IP地址和所述目的虚拟机在VPC中的网络标志符所表征的入向传输规则,包括:
根据所述入向规则表对应的哈希函数,在所述入向规则表中查找是否存在所述目的虚拟机在VPC中的IP地址、所述目的虚拟机所在宿主机的IP地址和所述目的虚拟机在VPC中的网络标志符的关联信息;
响应于存在,在所述入向规则表中提取所述目的虚拟机在VPC中的IP地址、所述目的虚拟机所在宿主机的IP地址和所述目的虚拟机在VPC中的网络标志符的关联信息所表征的入向传输规则。
7.一种虚拟网络数据交换装置,包括:
发送单元,被配置成响应于接收到服务请求,将所述服务请求的目的虚拟机的虚拟IP地址作为所述服务请求的目的IP地址,将所述服务请求的源宿主机IP地址作为所述服务请求的源IP地址发送所述服务请求相应的数据包至交换内核,其中,所述目的虚拟机的虚拟IP地址与服务请求需访问的目的虚拟机的真实IP地址不同;
出向查询单元,被配置成在所述交换内核中,按照预先配置的出向规则表查询所述目的虚拟机的虚拟IP地址表征的出向传输规则,其中,所述出向规则表包括数据从underlay网络到overlay网络的传输规则,所述出向传输规则包括数据封装协议和数据从underlay网络到overlay网络的传输路径信息;
出向交换单元,被配置成根据所述出向传输规则,将所述服务请求相应的数据包封装后从underlay网络发送到overlay网络。
8.根据权利要求7所示的虚拟网络数据交换装置,所述出向交换单元,还包括:
出向更新子模块,被配置成基于Linux协议栈,将映射的所述服务请求的目的IP地址更新为所述服务请求的目的虚拟机在VPC中的IP地址,并将映射的所述服务请求的源IP地址更新为所述服务请求的源宿主机在VPC中的IP地址,其中,所述服务请求的源宿主机在VPC中的IP地址与虚拟机内能访问的VPC内的其他IP地址不同;
封装MAC头子模块,被配置成以所述目的虚拟机的MAC地址作为目的MAC地址,以所述服务请求的源宿主机的MAC地址作为源MAC地址对映射的所述服务请求相应的数据包封装MAC帧头;
封装隧道头子模块,被配置成以所述目的虚拟机所在宿主机的IP地址作为隧道目的IP地址,以所述目的虚拟机在VPC中的网络标志符作为隧道标志符,并以所述源宿主机IP地址作为隧道源IP地址,对映射的所述服务请求相应的数据包封装隧道头。
9.根据权利要求8所示的虚拟网络数据交换装置,所述装置还包括:
入向查询单元,被配置成响应于接收到overlay网络返回underlay网络的所述服务请求的响应请求,按照预先配置的入向规则表查询所述目的虚拟机在VPC中的IP地址、所述目的虚拟机所在宿主机的IP地址和所述目的虚拟机在VPC中的网络标志符所表征的入向传输规则,其中,所述入向规则表包括数据从overlay网络到underlay网络的传输规则,所述入向传输规则包括数据解封装协议和数据从overlay网络到underlay网络的传输路径信息;
入向交换单元,被配置成根据所述入向传输规则,将所述响应请求相应的数据包解封装后从overlay网络发送到underlay网络。
10.根据权利要求9所示的虚拟网络数据交换装置,所述入向交换单元,包括:
去除隧道头子模块,被配置成基于Linux协议栈,以所述源宿主机IP地址作为隧道目的IP地址,以所述目的虚拟机所在宿主机的IP地址作为隧道源IP地址,去除映射的所述响应请求相应的数据包的隧道头;
去除MAC头子模块,被配置成以所述服务请求的源宿主机的MAC地址作为目的MAC地址,以所述目的虚拟机的MAC地址作为源MAC地址,去除映射的所述响应请求相应的数据包的MAC帧头;
入向更新子模块,被配置成将映射的所述响应请求相应的数据包的目的IP地址更新为所述服务请求的源宿主机IP地址,并将映射的所述响应请求相应的数据包的源IP地址更新为所述服务请求的目的虚拟机的虚拟IP地址。
11.根据权利要求7所示的虚拟网络数据交换装置,所述出向查询单元,包括:
出向查询子模块,被配置成根据所述出向规则表对应的哈希函数,在所述出向规则表中查找是否存在所述目的虚拟机的虚拟IP地址;
出向提取子模块,被配置成响应于存在,在所述出向规则表中提取所述目的虚拟机的虚拟IP地址表征的出向传输规则。
12.根据权利要求9所示的虚拟网络数据交换装置,所述入向查询单元,包括:
入向查询子模块,被配置成根据所述入向规则表对应的哈希函数,在所述入向规则表中查找是否存在所述目的虚拟机在VPC中的IP地址、所述目的虚拟机所在宿主机的IP地址和所述目的虚拟机在VPC中的网络标志符的关联信息;
入向提取子模块,被配置成响应于存在,在所述入向规则表中提取所述目的虚拟机在VPC中的IP地址、所述目的虚拟机所在宿主机的IP地址和所述目的虚拟机在VPC中的网络标志符的关联信息所表征的入向传输规则。
13.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201911302290.4A 2019-12-17 2019-12-17 虚拟网络数据交换方法和装置 Active CN112995005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911302290.4A CN112995005B (zh) 2019-12-17 2019-12-17 虚拟网络数据交换方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911302290.4A CN112995005B (zh) 2019-12-17 2019-12-17 虚拟网络数据交换方法和装置

Publications (2)

Publication Number Publication Date
CN112995005A CN112995005A (zh) 2021-06-18
CN112995005B true CN112995005B (zh) 2022-02-25

Family

ID=76342265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911302290.4A Active CN112995005B (zh) 2019-12-17 2019-12-17 虚拟网络数据交换方法和装置

Country Status (1)

Country Link
CN (1) CN112995005B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992404B (zh) * 2021-10-27 2023-11-10 北京天融信网络安全技术有限公司 一种攻击证据记录方法及装置
CN114697326B (zh) * 2022-03-17 2024-04-30 浪潮云信息技术股份公司 一种边缘计算场景下多边通信的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161259A (zh) * 2015-03-27 2016-11-23 杭州华三通信技术有限公司 虚拟扩展局域网vxlan的组播数据报文转发方法和设备
CN107733670A (zh) * 2016-08-11 2018-02-23 新华三技术有限公司 一种转发策略配置方法和装置
CN108429680A (zh) * 2018-03-07 2018-08-21 北京优帆科技有限公司 一种基于虚拟私有云的路由配置方法、***、介质及设备
CN109218258A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 数据包传输方法及网关设备
CN110191042A (zh) * 2019-05-21 2019-08-30 新华三技术有限公司 一种报文转发方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9717021B2 (en) * 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161259A (zh) * 2015-03-27 2016-11-23 杭州华三通信技术有限公司 虚拟扩展局域网vxlan的组播数据报文转发方法和设备
CN107733670A (zh) * 2016-08-11 2018-02-23 新华三技术有限公司 一种转发策略配置方法和装置
CN109218258A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 数据包传输方法及网关设备
CN108429680A (zh) * 2018-03-07 2018-08-21 北京优帆科技有限公司 一种基于虚拟私有云的路由配置方法、***、介质及设备
CN110191042A (zh) * 2019-05-21 2019-08-30 新华三技术有限公司 一种报文转发方法及装置

Also Published As

Publication number Publication date
CN112995005A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN104301373B (zh) 经由文件共享服务同步的推送通知
CN109150677B (zh) 跨域访问的处理方法、装置及电子设备
KR20140057553A (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
US20230071561A1 (en) Wireless communication method and apparatus, device, storage medium, and computer program product
US9047308B2 (en) Methods and apparatus for providing unified access to various data resources using virtualized services
WO2019024658A1 (zh) 界面呈现方法和装置
US20220366066A1 (en) Display method, display device, and electronic device
CN112995005B (zh) 虚拟网络数据交换方法和装置
CN110177047B (zh) 报文发送方法、装置、电子设备和计算机可读存储介质
CN112202744B (zh) 一种多***数据通信方法和装置
CN113162836B (zh) 虚拟局域网联通方法、装置、云服务器、介质和电子设备
WO2019192128A1 (zh) 网页访问方法及装置
CN110489474B (zh) 一种数据处理的方法、装置、介质和电子设备
CN109981546B (zh) 获取应用模块间的远程调用关系的方法和装置
CN110708238B (zh) 用于处理信息的方法和装置
CN111953718B (zh) 一种页面调试方法和装置
CN109005250B (zh) 用于访问服务端的方法和装置
US20230224347A1 (en) Splitter and merger functions for multidimensional segmented media data
CN115665026A (zh) 一种集群组网的方法和装置
US11277300B2 (en) Method and apparatus for outputting information
CN114896244A (zh) 配置数据库表的方法、装置、设备和计算机可读介质
CN104424260A (zh) 浏览器信息共享方法及装置
WO2021155498A1 (zh) 一种数据读取方法以及终端
CN113556370A (zh) 一种服务调用方法和装置
CN112306984A (zh) 一种数据源路由方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant