CN107920020A - 报文处理方法和网关 - Google Patents

报文处理方法和网关 Download PDF

Info

Publication number
CN107920020A
CN107920020A CN201711000834.2A CN201711000834A CN107920020A CN 107920020 A CN107920020 A CN 107920020A CN 201711000834 A CN201711000834 A CN 201711000834A CN 107920020 A CN107920020 A CN 107920020A
Authority
CN
China
Prior art keywords
address
virtual machine
mac
gateway
value
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
Application number
CN201711000834.2A
Other languages
English (en)
Other versions
CN107920020B (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 CN201711000834.2A priority Critical patent/CN107920020B/zh
Publication of CN107920020A publication Critical patent/CN107920020A/zh
Application granted granted Critical
Publication of CN107920020B publication Critical patent/CN107920020B/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
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

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

Abstract

本发明实施例提供一种报文处理方法和网关。该方法包括:第一网关接收第一虚拟机发送的第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知Unknow MAC地址。本发明用来节约网关的资源,提高报文转发的效率。

Description

报文处理方法和网关
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种报文处理方法和网关。
背景技术
现有的运营商网络存在多租户隔离需求,多个租户具有平行的地址空间、相互不影响。一般的,不同的运营商下所包含的数据中心(Data Center,以下简称DC) 网络是不同的,且一个运营商可以有多个DC网络,不同的DC网络可以为不同的租户服务,而一个租户可以有多个虚拟机(Virtual Machine,以下简称VM),多个VM可以分布在不同的物理服务器上,而不同的物理服务器可能代表不同的DC网络,即DC 网络是物理服务器所在的网络,多个VM可以通过服务器建立的隧道通信,由于不同的物理服务器采用的隧道技术不同,因此在多个VM之间要进行通信就需要异构虚拟网络网关来实现不同DC网络间的互通。
现有技术中,DC网络中的网关在VM之间转发以太帧时,需要学习发送VM和接收 VM的媒体访问控制(Media Access Control,以下简称MAC)地址,尤其在网关向DC网络中多个VM发送以太帧的场景下,网关需要学习该DC网络中多个VM的MAC地址,从而导致DC网络的网关资源占用严重,转发效率低下。
发明内容
本发明实施例提供一种报文处理方法和网关,用以节约网关的资源,提高报文处理的效率。
本发明实施例第一方面提供一种报文转发方法,包括:
第一网关接收第一虚拟机发送的第一承载互联网协议IP报文的以太帧,所述第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的MAC地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP 地址字段的值为所述第二虚拟机的IP地址;
所述第一网关将所述第一承载IP报文的以太帧中的所述第一源MAC地址字段的值由所述第一虚拟机的MAC地址修改为所述第一网关的标识,得到第二承载IP报文的以太帧;
所述第一网关根据所述第二网关的标识,将第二承载IP报文的以太帧发送给所述第二网关。
结合第一方面,在第一方面的第一种可能的实施方式中,所述第一网关接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之后,所述方法还包括:
所述第一网关根据接收的所述第一承载IP报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系第一虚拟机。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述第一网关接收第一虚拟机发送的所述第一承载IP报文的以太帧之前,所述方法还包括:
所述第一网关接收所述第一虚拟机发送的第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC 地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC 地址字段的值为未知Unknow MAC地址;
所述第一网关根据接收的第一承载ARP请求报文的以太帧记录所述第一虚拟机的IP 地址和所述第一虚拟机的MAC地址的对应关系;
所述第一网关将所述第一承载ARP请求报文的以太帧中的所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为所述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧;
所述第一网关将所述第二承载ARP请求报文的以太帧广播给第二网关,所述第二网关位于第二数据中心DC网络,所述第一网关和所述第一虚拟机位于第一DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述第一网关将所述第二承载ARP请求报文的以太帧广播给第二网关之后,所述方法还包括:
所述第一网关接收所述第二网关发送的第一承载ARP响应报文的以太帧,所述第一承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三TargetMAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二网关的标识,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值均为所述第一网关的标识;
所述第一网关根据预先存储的所述第一虚拟机的IP地址与所述第一虚拟机的MAC地址的对应关系,将所述第一承载ARP响应报文的以太帧的所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值由所述第一网关的标识均修改为所述第一虚拟机的MAC地址,得到第二承载ARP响应报文的以太帧;
所述第一网关根据所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址,将所述第二承载ARP响应报文的以太帧发送给所述第一虚拟机。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第四种可能的实施方式中,所述第一网关接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之前,所述方法还包括:
所述第一网关接收所述第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC 地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四Target MAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP 地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四Target MAC地址段的值为未知MAC地址;
所述第一网关向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;
所述第一网关接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;
所述第一网关向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机将所述第一承载IP报文的以太帧中的所述第一目的MAC地址字段的值填充为所述第二网关的标识。
本发明实施例第二方面提供一种报文转发方法,包括:
第二网关接收第一网关发送的第二承载互联网协议IP报文的以太帧,所述第二承载 IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一网关的标识,所述第一目的 MAC地址字段的值为第二虚拟机对应的所述第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
所述第二网关根据预先存储的所述第二虚拟机的IP地址与所述第二虚拟机的MAC地址的对应关系,将所述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由所述第二网关的标识修改为所述第二虚拟机的MAC地址,得到第三承载IP报文的以太帧;
所述第二网关根据所述第二虚拟机的IP地址和所述第二虚拟机的MAC地址,将所述第三承载IP报文的以太帧发送给所述第二虚拟机。
结合第二方面,在第二方面的第一种可能的实施方式中,所述第二网关接收第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,所述方法还包括:
所述第二网关接收所述第一网关发送的第二承载地址解析协议ARP请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC 地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址;
所述第二网关将所述第二承载ARP请求报文的以太帧向第二数据中心DC网络内的虚拟机广播,所述第一网关和所述第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于所述第二DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述第二网关将所述第二承载ARP请求报文的以太帧向所述第二数据中心DC网络内的虚拟机广播之后,所述方法还包括:
所述第二网关接收所述第二虚拟机发送的第三承载ARP响应报文的以太帧,所述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三TargetMAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的 MAC地址字段的值和所述第三Target MAC地址字段的值为所述第一网关的标识;
所述第二网关将所述第三承载ARP响应报文的以太帧中的所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,得到第一承载ARP响应报文的以太帧;
所述第二网关将所述第一承载ARP响应报文的以太帧发送给所述第一网关。
结合第二方面,在第一方面的第三种可能的实施方式中,所述第二网关接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,所述方法还包括:
所述第二网关接收所述第二虚拟机发送的第四承载ARP请求报文的以太帧,所述第四承载ARP请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五Sender MAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五TargetIP地址字段,所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述目的MAC地址字段的值为广播MAC地址,所述第五Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第五Target IP地址字段的值为所述第一虚拟机的IP地址,所述第五目的MAC地址字段的值为未知MAC地址;
所述第二网关将所述第四承载ARP请求报文的以太帧中的所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,并发送第四消息给信息采集服务器,所述第四消息中携带所述第二网关的标识和所述第二虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
结合第二方面,在第二方面的第四种可能的实施方式中,所述第二网关接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,所述方法还包括:
所述第二网关发送第五消息给信息采集服务器,所述第五消息中携带第二虚拟机所述第二虚拟机的IP地址的对应关系和所述第二网关的标识,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
本发明实施例第三方面提供一种网关,包括:
第一接收模块,用于接收第一虚拟机发送的第一承载互联网协议IP报文的以太帧,所述第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的 MAC地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
第一修改模块,用于将所述第一承载IP报文的以太帧中的所述第一源MAC地址字段的值由所述第一虚拟机的MAC地址修改为所述第一网关的标识,得到第二承载IP报文的以太帧;
第一发送模块,用于根据所述第二网关的标识,将第二承载IP报文的以太帧发送给所述第二网关。
结合第三方面,在第三方面的第一种可能的实施方式中,所述网关还包括:
第一记录模块,用于接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之后,根据接收的所述第一承载IP报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系第一虚拟机。
结合第三方面或第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述网关还包括:
第二接收模块,用于接收第一虚拟机发送的所述第一承载IP报文的以太帧之前,接接收所述第一虚拟机发送的第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP 地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知Unknow MAC地址;
第二记录模块,用于根据接收的第一承载ARP请求报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系;
第二修改模块,用于将所述第一承载ARP请求报文的以太帧中的所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为所述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧;
广播模块,用于将所述第二承载ARP请求报文的以太帧广播给第二网关,所述第二网关位于第二数据中心DC网络,所述第一网关和所述第一虚拟机位于第一DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机。
结合第三方面或第三方面的第一种可能的实施方式,在第三方面的第三种可能的实施方式中,所述网关还包括:
第三接收模块,用于在将所述第二承载ARP请求报文的以太帧广播给第二网关之后,接收所述第二网关发送的第一承载ARP响应报文的以太帧,所述第一承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二网关的标识,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值均为所述第一网关的标识;
第三修改模块,用于根据预先存储的所述第一虚拟机的IP地址与所述第一虚拟机的 MAC地址的对应关系,将所述第一承载ARP响应报文的以太帧的所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值由所述第一网关的标识均修改为所述第一虚拟机的MAC地址,得到第二承载ARP响应报文的以太帧;
第二发送模块,用于所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址,将所述第二承载ARP响应报文的以太帧发送给所述第一虚拟机。
结合第三方面或第三方面的第一种可能的实施方式,在第三方面的第四种可能的实施方式中,所述网关还包括:
第四接收模块,用于在接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之前,接收所述第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC地址字段、第四SenderIP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四Target MAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的 MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四Target MAC地址段的值为未知MAC 地址;
第三发送模块,用于向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;
第五接收模块,用于接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;
第四发送模块,用于向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机将所述第一承载IP报文的以太帧中的所述第一目的MAC地址字段的值填充为所述第二网关的标识。
本发明实施例第四方面提供一种网关,包括:
第一接收模块,用于接收第一网关发送的第二承载互联网协议IP报文的以太帧,所述第二承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一网关的标识,所述第一目的MAC地址字段的值为第二虚拟机对应的所述第二网关的标识,所述第一目的IP 地址字段的值为所述第二虚拟机的IP地址;
第一修改模块,用于根据预先存储的所述第二虚拟机的IP地址与所述第二虚拟机的 MAC地址的对应关系,将所述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由所述第二网关的标识修改为所述第二虚拟机的MAC地址,得到第三承载IP报文的以太帧;
第一发送模块,用于根据所述第二虚拟机的IP地址和所述第二虚拟机的MAC地址,将所述第三承载IP报文的以太帧发送给所述第二虚拟机。
结合第四方面,在第四方面的第一种可能的实施方式中,所述网关还包括:
第二接收模块,用于接收第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,接收所述第一网关发送的第二承载地址解析协议ARP请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二SenderIP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标TargetMAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP 地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址;
第一广播模块,用于将所述第二承载ARP请求报文的以太帧向第二数据中心DC网络内的虚拟机广播,所述第一网关和所述第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于所述第二DC网络,租户租用所述第一虚拟机并且租用所述第二DC 网络中的虚拟机。
结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述网关还包括:
第三接收模块,用于将所述第二承载ARP请求报文的以太帧向所述第二数据中心DC 网络内的虚拟机广播之后,接收所述第二虚拟机发送的第三承载ARP响应报文的以太帧,所述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值为所述第一网关的标识;
第二修改模块,用于将所述第三承载ARP响应报文的以太帧中的所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,得到第一承载ARP响应报文的以太帧;
第二发送模块,用于将所述第一承载ARP响应报文的以太帧发送给所述第一网关。
结合第四方面,在第四方面的第三种可能的实施方式中,所述网关还包括:
第四接收模块,用于在接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,接收所述第二虚拟机发送的第四承载ARP请求报文的以太帧,所述第四承载ARP请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五 SenderMAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五Target IP地址字段,所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述目的MAC地址字段的值为广播MAC地址,所述第五Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第五Target IP地址字段的值为所述第一虚拟机的IP地址,所述第五目的MAC地址字段的值为未知MAC地址;
第三发送模块,用于将所述第四承载ARP请求报文的以太帧中的所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,并发送第四消息给信息采集服务器,所述第四消息中携带所述第二网关的标识和所述第二虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
结合第四方面,在第四方面的第四种可能的实施方式中,所述网关还包括:
第四发送模块,用于在接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,发送第五消息给信息采集服务器,所述第五消息中携带所述第二虚拟机的MAC地址和所述第二虚拟机的IP地址的对应关系和所述第二网关的标识,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
本发明实施例提供的报文转发方法和网关,第一网关将第一承载IP报文的以太帧中的MAC地址替换为第一网关的标识并转发给第二网关,该第一承载IP报文的以太帧的目的MAC地址为第二网关的标识,使得第二网关根据预先存储的第二虚拟机的IP地址与第二虚拟机的MAC地址的对应关系,将第二承载IP报文的以太帧中的目的MAC地址字段的值由第二网关的标识修改为第二虚拟机的MAC地址发送给第二虚拟机,从而大大减少了DC网关所要学习的MAC表项,节约DC网关资源,提高转发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种报文转发方法实施例一的流程示意图;
图2为本发明提供的一种报文转发方法实施例三的流程示意图;
图3为本发明提供的一种报文转发方法实施例四的流程示意图;
图4为本发明提供的一种报文转发方法实施例五的流程示意图;
图5为本发明提供的一种报文转发方法实施例六的流程示意图;
图6为本发明提供的一种报文转发方法实施例七的流程示意图;
图7为本发明提供的一种报文转发方法实施例八的流程示意图;
图8为本发明提供的一种报文转发方法实施例九的流程示意图;
图9为本发明提供的一种报文转发方法实施例十的流程示意图;
图10为本发明提供的一种报文转发网关实施例一的结构示意图;
图11为本发明提供的一种报文转发网关实施例二的结构示意图;
图12为本发明提供的一种报文转发网关实施例三的结构示意图;
图13为本发明提供的一种报文转发网关实施例四的结构示意图;
图14为本发明提供的一种报文转发网关实施例五的结构示意图;
图15为本发明提供的一种报文转发网关实施例六的结构示意图;
图16为本发明提供的一种报文转发网关实施例七的结构示意图;
图17为本发明提供的一种报文转发网关实施例八的结构示意图;
图18为本发明提供的一种报文转发网关实施例九的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的一种报文转发方法实施例一的流程示意图,如图1所示,该方法包括:
S101:第一网关接收第一虚拟机发送的第一承载互联网协议(InternetProtocol,以下简称IP)报文的以太帧,该第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制(Media Access Control,以下简称MAC)地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,上述第一源IP地址字段的值为第一虚拟机的IP地址,上述第一源MAC地址字段的值为第一虚拟机的MAC地址,上述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,上述第一目的IP地址字段的值为所述第二虚拟机的IP地址。
S102:第一网关将所述第一承载IP报文的以太帧中的所述第一源MAC地址字段的值由所述第一虚拟机的MAC地址修改为所述第一网关的标识,得到第二承载IP报文的以太帧。
S103:第一网关根据上述第二网关的标识,将第二承载IP报文的以太帧发送给第二网关。
具体的,第一网关是DC1网络的网关,第二网关是DC2网络的网关,其中,DC1网络和DC2网络各采用不同的隧道技术;且第一虚拟机存在于DC1网络中的服务器上的,第二虚拟机存在于DC2网络中的服务器上,其中,第一虚拟机可以为源虚拟机,第二虚拟机可以为目的虚拟机;此处,我们假设第一虚拟机为VM1,第二虚拟机为VM2,因为 VM1与VM2之间要进行通信,而虚拟机之间是通过服务器建立的隧道通信的,但是DC1 网络和DC2网络所采用的隧道技术不同,因此VM1与VM2之间要互相传送IP报文就需要通过异构虚拟网络网关来实现DC1网络和DC2网络之间的互通,其中,之后的所有实施例中VM1均指的是第一虚拟机,VM2均指的是第二虚拟机。
一般的,VM1与VM2之间IP报文的传送是通过以太帧的形式来传送的,即IP报文是承载在以太帧上进行传送,一个以太帧由以太帧头、以太帧负荷以及帧校验三部分组成,以太帧头由源MAC地址字段、目的MAC地址字段以及2个字节的以太帧类型字段组成,当以太帧类型字段中的内容值为十六进制的0x0806,则表示该以太帧负荷是一个地址解析协议(Address Resolution Protocol,以下简称ARP)报文;当以太帧类型字段中的内容值为十六进制的0x0800,则表示该以太帧负荷是一个IP报文;第一虚拟机向第一网关发送第一承载IP报文的以太帧,该承载IP报文的以太帧中携带了第一源IP地址字段、第一源MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,并且该以太帧的第一源MAC地址字段的值为VM1的MAC地址,此处假设为MAC1,并且后面所有实施例中提到的VM1的MAC地址均为MAC1,第一源IP地址字段的值为VM1的IP地址,此处假设为10.0.0.10,并且后面所有的实施例中提到的VM1的IP地址均为10.0.0.10;第一目的IP地址字段的值为VM2的IP地址,此处假设为10.0.0.20,并且后面所有实施例中提到的VM2的IP地址均为10.0.0.20,VM2的MAC地址均为MAC4;第一目的MAC地址字段的值为第二网关的标识,此处假设为MAC3,并且后面所有的实施例中的第二网关的标识均为MAC3.。
进一步地,第一网关接收VM1发送的第一承载IP报文的以太帧后,将该第一承载IP报文的以太帧进行修改,此处的对承载IP报文的以太帧进行修改是针对该以太帧的源 MAC地址字段的值进行修改,即修改为第一网关的标识,得到第二承载IP报文的以太帧,其中,第一网关的标识可以为第二网关的MAC地址,也可是其他的标识;之后,第一网关将第二承载IP报文的以太帧发送给第二网关,且第二网关的标识可以为第二网关的 MAC地址,也可以为其他的标识,在本发明中,第二网关的标识均以第二网关的MAC 地址为例;第二网关接收第一网关发送的第二承载IP报文的以太帧,第二网关根据其预先存储的VM2的IP地址与VM2的MAC地址之间的对应关系,即10.0.0.20与MAC4的对应关系,将上述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由第二网关的MAC地址修改为VM2的MAC地址,即从MAC3修改为MAC4,并由第二网关将该第二承载IP报文的以太帧发送给VM2,此时VM1与VM2之间的通信就完成了。
现有技术中,VM1发送第一承载IP报文的以太帧给第一网关,此时第一网关需要学习DC1网络下的VM1的MAC地址;当第一网关需要将该承载IP报文的以太帧发送给 VM2,因为此时第一网关和VM1均不知道VM2的MAC地址,也不知道该经过哪一个网关到达VM2,因为一个运营商可能有多个DC网络,则就有多个网关,每个网关也有多个虚拟机,因此,假设对端网络DC2中有多个虚拟机(VM2、VM3、VM4等),在此次通信中,第一网关需要学习对端DC2网络下的VM2的MAC地址,才可以将该承载IP 报文的以太帧准确发送给VM2,当下次VM1与VM3进行通信时,第一网关除了要学习 DC1网络下VM1的MAC地址,还需要学习DC2网络下VM3的MAC地址,也就是说,当DC1网络下的VM1与对端DC2网络下不同的VM进行通信,则第一网关就必须要学习对端不同VM的MAC地址;并且此处假设的只是一种情况,若VM3属于DC3网络,则第一网关还需要学习DC3的网关地址和VM3的网关地址,最坏的一种情况,就是第一网关需要学习对端所有DC网络下的所有虚拟机的MAC地址,而现有技术根本无法支持这么大的MAC表项;在本发明中,无论与VM1通信的是VM2还是VM3,第一网关学习到的承载IP报文的以太帧的目的MAC地址仅是第二网关的MAC地址,而不用去学习对端DC网络下的所有虚拟机的MAC地址,因此第一网关学习到的MAC地址仅是DC1 网络下的VM的MAC地址以及对端DC网络网关的MAC地址,大大减少了第一网关所要学习的MAC表项。
本实施例提供的方法中,第一网关将第一承载IP报文的以太帧中的MAC地址替换为第一网关的标识并转发给第二网关,该第一承载IP报文的以太帧的目的MAC地址为第二网关的标识,使得第二网关根据预先存储的第二虚拟机的IP地址与第二虚拟机的MAC地址的对应关系,将第二承载IP报文的以太帧中的目的MAC地址字段的值由第二网关的标识修改为第二虚拟机的MAC地址发送给第二虚拟机,从而大大减少了DC网关所要学习的MAC表项,节约DC网关资源,提高转发效率。
在本发明的实施例二中,在图1所示实施例的基础上,即第一网关接收第一虚拟机发送的承载IP报文的以太帧之后,第一网关还可以对第一虚拟机的IP地址和MAC地址的对应关系进行记录,包括:所述第一网关根据接收的所述第一承载IP报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系
具体的,上述第一虚拟机(VM1)发送给第一网关的第一承载IP报文的以太帧中还携带了第一源IP地址字段和第一源MAC地址字段,该第一源IP地址字段的值为上述第一虚拟机的IP地址,即VM1的IP地址,即10.0.0.10,该第一源MAC地址字段的值为上述第一虚拟机的MAC地址,即VM1的MAC地址,即为MAC1。
进一步的,第一网关接收VM1发送的第一承载IP报文的以太帧后,记录VM1的IP 地址和VM1的MAC地址的对应关系,即记录10.0.0.10与MAC1的对应关系。
图2为本发明提供的一种报文转发方法实施例三的流程示意图,在上述实施例一和实施例二的基础上,本实施例进一步提供了第一虚拟机确认第二虚拟机MAC地址的过程,具体是通过第一虚拟机向第一网关发送第一承载ARP请求报文的以太帧,第一网关广播该以太帧,以及第二虚拟机返回第三承载ARP响应报文的以太帧的方式来确定,该方法具体包括:
S201:上述第一网关接收上述第一虚拟机发送的第一承载ARP请求报文的以太帧,上述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二Target IP地址字段和第二TargetMAC地址字段,上述第二Sender IP地址字段的值为上述第一虚拟机的IP地址,上述第二源MAC地址字段的值和上述第二Sender MAC地址字段的值均为上述第一虚拟机的MAC地址,上述第二Target IP地址字段的值为上述第二虚拟机的IP地址,上述第二目的MAC地址字段的值为广播MAC地址,上述第二Target MAC地址字段的值为未知MAC地址。
具体的,VM1和VM2之间如果要传送IP报文,VM1除了要知道对端网络下VM2 的IP地址之外,还需要知道对端网络下VM2的MAC地址,因此,在发送第一承载IP 报文的以太帧之前,就需要发送第一承载ARP请求报文的以太帧以获取对端网络下VM2 的MAC地址。
进一步地,VM1发送第一承载ARP请求报文的以太帧给第一网关,该承载ARP请求报文的以太帧由以太帧头、以太帧负荷以及帧校验字段三部分组成,以太帧头由源MAC 地址字段、目的MAC地址字段以及2个字节的以太帧类型字段组成,当以太帧类型字段中的内容值为十六进制的0x0806时,说明后面的以太帧负荷是ARP请求报文,与IP报文不同的是,ARP请求报文携带了第二Sender IP地址字段、第二Sender MAC地址字段、第二Target IP地址字段和第二Target MAC地址字段,第二源MAC地址字段和第二目的 MAC地址字段处于以太帧头的地址字段中;其中,第二Sender IP地址字段的值为VM1 的IP地址,即10.0.0.10;第二源MAC地址字段的值和第二Sender MAC地址字段的值均为VM1的MAC地址,即MAC1;第二Target IP地址字段的值为VM2的IP地址,即 10.0.0.20;第二目的MAC地址字段的值为广播MAC地址,此处为FF:FF:FF:FF:FF:FF;第二Target MAC地址字段的值为未知MAC地址,即00:00:00:00:00:00。
S202:上述第一网关根据接收的第一承载ARP报文的以太帧记录上述第一虚拟机的 IP地址和上述第一虚拟机的MAC地址的对应关系。
S203:上述第一网关将上述第一承载ARP请求报文的以太帧中的第二源MAC地址字段的值和第二Sender MAC地址字段的值由上述第一虚拟机的MAC地址均修改为上述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧。
S204:上述第一网关将第二承载ARP请求报文的以太帧广播给上述第二网关,上述第二网关位于第二数据中心DC网络,第一网关和第一虚拟机位于第一DC网络,租户租用第一虚拟机并且租用第二DC网络中的虚拟机。
具体的,第一网关接收VM1发送的第一承载ARP请求报文的以太帧,并记录VM1 的IP地址和VM1的MAC地址的对应关系,即记录10.0.0.10和MAC1的对应关系;之后,第一网关将上述第一承载ARP请求报文的以太帧中的第二源MAC地址字段的值和第二Sender MAC地址字段的值由上述第一虚拟机的MAC地址均修改为上述第一网关的标识,即第一网关的MAC地址,即将第二源MAC地址字段的值和第二Sender MAC地址字段的值由MAC1修改为MAC2,并重新计算以太帧校验字段,其他字段不做修改;其中,这个标识可以是网关自己的MAC地址,或者基于其全网唯一的IP地址生成或者其他规则生成均可以,只要在网络内具有唯一性即可,即全网唯一可标识;这里的IP报文可以是IPv4报文也可以是IPv6报文。
进一步地,第一网关将第二承载ARP请求报文的以太帧广播给第二网关,第二网关位于第二DC网络,第一网关和第一虚拟机位于第一DC网络,租户租用第一虚拟机并且租用第二DC网络中的虚拟机;此时第二网关就可以收到上述第二承载ARP请求报文的以太帧,并将该第二承载ARP请求报文的以太帧广播给DC2网络下的其他虚拟机;VM2 接收到该第二承载ARP请求报文的以太帧后,会认为IP地址为10.0.0.10对应的VM1的 MAC地址为MAC2;第二网关和VM2会认为VM1的MAC地址字段的值为MAC2,则后续发给该地址的承载IP报文的以太帧的目的MAC地址字段也会填充为MAC2,例如:当VM2发送承载IP报文的以太帧给第二网关时,第二网关接收到VM2发送的携带IP报文的以太帧后将该承载IP报文的以太帧的源MAC地址字段的值由MAC4修改为MAC3,且承载该IP报文的以太帧的目的MAC地址字段的值就是MAC2,即第一网关的MAC地址;目的IP为VM1的IP地址,即10.0.0.10,第二网关直接根据该承载IP报文的以太帧的目的MAC地址字段的值将该修改后的承载IP报文的以太帧发送给第一网关,进而第一网关根据该修改后的承载IP报文的以太帧的目的IP地址字段的值以及预先存储的 10.0.0.10与MAC1的对应关系,确定该承载IP报文的以太帧的最终接收的虚拟机为VM1,进而由第一网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC1,之后,将该承载IP报文的以太帧发送给VM1。
更进一步地,对于第二网关和VM2来讲,来自于第一网关的由任一第一虚拟机发送的所有承载ARP请求报文的以太帧的源MAC地址字段的值均为MAC2,即VM1的MAC 地址通过第一网关的修改对第二网关和VM2实现了MAC地址的隐藏。
本实施例提供的方法中,通过第一虚拟机向第一网关发送第一承载ARP请求报文的以太帧,第一网关接收到该以太帧后记录第一虚拟机的MAC地址与IP地址的对应关系,并将该以太帧的第二源MAC地址字段的值和第二Sender MAC地址字段的值均修改为第一网关的MAC地址,使得第二网关学习到的第一虚拟机的MAC地址只是第一网关的MAC地址,而并不是第一虚拟机本身的MAC地址,即对于第二网关来讲,来自于第一网关的由DC1网络下的任一第一虚拟机发送的所有承载ARP请求报文的以太帧的第二源 MAC地址字段的值和第二Sender MAC地址字段的值都为第一网关的MAC地址,即第二网关不用学习DC1网络下其他所有虚拟机的MAC地址,只需学习DC2网络下的虚拟机的MAC地址和第一网关的MAC地址即可,从而减少了第二网关的学习的MAC表项,从而节约DC网关资源,提高转发效率。
图3为本发明提供的一种报文转发方法实施例四的流程示意图,如图3所示,在上述实施例2的基础上,本实施例更进一步提供了第一虚拟机确认第二虚拟机MAC地址的过程,具体是通过第二网关在接收到第一网关发送的第二承载ARP请求报文的以太帧后,第二网关返回第一承载ARP响应报文的以太帧给第一网关的方式确定,该方法具体包括:
S301:上述第一网关接收上述第二网关发送的第一承载ARP响应报文的以太帧,上述第一承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三TargetMAC地址字段,上述第三Sender IP地址字段的值为上述第二虚拟机的IP地址,上述第三源MAC地址字段的值和上述第三Sender MAC地址字段的值均为上述第二网关的标识,上述第三Target IP地址字段的值为上述第一虚拟机的IP地址,上述第三目的 MAC地址字段的值和上述第三Target MAC地址字段的值为上述第一网关的标识。
具体的,第一网关将第二承载ARP请求报文的以太帧广播给VM1所属租户的所有DC网络内的网关之后,第二网关也因此接收到了该第二承载ARP请求报文的以太帧,并将该第二承载ARP请求报文的以太帧广播给DC2网络内的所有虚拟机,但是因为该第二承载ARP请求报文的以太帧中包含了第二Target IP地址字段,并且该第二Target IP地址字段的值为VM2的IP地址,即10.0.0.20,因此,只有VM2会发送第一承载ARP响应报文的以太帧给第一网关,但是该第一承载ARP响应报文的以太帧在出DC2网络时必须要经过第二网关,第二网关会对该以太帧中的第三源MAC地址字段和第三Sender MAC地址字段中的值进行修改,因此第一网关会接收到来自于第二网关发送的第一承载ARP响应报文的以太帧,并且该第一承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三SenderIP地址字段、第三Sender MAC地址字段、第三 Target IP地址字段和第三Target MAC地址字段,第三Sender IP地址字段的值为VM2的 IP地址,即10.0.0.20,第三源MAC地址字段的值和第三Sender MAC地址字段的值均为所述第二网关的MAC地址,即MAC3,第三Target IP地址字段的值为VM1的IP地址,即10.0.0.10,第三目的MAC地址字段的值和第三Target MAC地址字段的值为第一网关的MAC地址,即MAC2。
S302:上述第一网关根据预先存储的上述第一虚拟机的IP地址与上述第一虚拟机的 MAC地址的对应关系,将上述第一承载ARP响应报文的以太帧的上述第三目的MAC地址字段的值和上述第三Target MAC地址字段的值由上述第一网关的标识均修改为上述第一虚拟机的MAC地址,得到第二承载ARP响应报文的以太帧。
S303:上述第一网关根据上述第一虚拟机的IP地址和上述第一虚拟机的MAC地址,将上述第二承载ARP响应报文的以太帧发送给上述第一虚拟机。
具体的,如前所述,第一网关会记录VM1的IP地址与所述VM1的MAC地址的对应关系,即10.0.0.10与MAC1的对应关系,第一网关在接收到第二网关发送的第一承载 ARP响应报文的以太帧后,会根据以太帧中第三Target IP地址字段的值,以及,预先存储的10.0.0.10与MAC1的对应关系,找到MAC1,并将该第一承载ARP响应报文的以太帧的第三目的MAC地址字段的值和第三Target MAC地址字段的值由第一网关的MAC地址均修改为第一虚拟机的MAC地址,即将该第一承载ARP响应报文的以太帧的第三目的 MAC地址字段的值和第三Target MAC地址字段的值由原来的MAC2修改为MAC1,得到第二承载ARP响应报文的以太帧。
进一步地,第一网关根据VM1的IP地址和VM1的MAC地址,将第二承载ARP响应报文的以太帧发送给VM1;VM1收到该第二承载ARP响应报文的以太帧后,会认为 IP地址为10.0.0.20的第二虚拟机的MAC地址为MAC3,则后续发给该地址的IP报文的目的MAC地址会填充为MAC3,例如:当VM1发送承载IP报文的以太帧给第一网关时,第一网关接收到VM1发送的承载IP报文的以太帧后将该承载IP报文的以太帧的源MAC 地址字段的值由MAC1修改为MAC2,且承载该IP报文的以太帧的目的MAC地址字段中填充的值就是MAC3,目的IP为VM2的IP地址,即10.0.0.20,第一网关直接根据该承载IP报文的以太帧的目的MAC地址字段的值将该修改后的承载IP报文的以太帧发送给第二网关,进而第二网关根据该修改后的承载IP报文的以太帧的目的IP地址字段的值以及预先存储的10.0.0.20与MAC4的对应关系,确定该承载IP报文的以太帧的最终接收的虚拟机为VM2,进而由第二网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC4,之后,将该承载IP报文的以太帧发送给VM2。
更进一步地,对于第一网关和VM1来讲,来自于第二网关的由任一第二虚拟机发送的所有承载ARP响应报文的以太帧的目的MAC地址字段的值均为MAC3。
本实施例提供的方法中,通过第一网关接收第二网关发送的第一承载ARP响应报文的以太帧,使得第一网关学习到的第二虚拟机的MAC地址只是第二网关的MAC地址,而并不是第二虚拟机本身的MAC地址,即对于第一网关来讲,来自于第二网关的由DC2 网络下的任一第二虚拟机发送的所有承载ARP响应报文的以太帧的第三目的MAC地址字段的值和第三Target MAC地址字段的值都为第二网关的MAC地址,即第一网关不用学习DC2网络下所有虚拟机的MAC地址,只需学习DC1网络下的虚拟机的MAC地址和第二网关的MAC地址即可,从而减少了第一网关的学习的MAC表项,从而节约DC网关资源,提高转发效率。
图4为本发明提供的一种报文转发方法实施例五的流程示意图,如图4所示,本实施例提供了第一虚拟机确认第二虚拟机MAC地址的另一过程,具体是通过第一虚拟机向第一网关发送第三承载ARP请求报文的以太帧,第一网关将该以太帧中的第四源MAC地址字段的值修改为第一网关的标识后,发送给信息采集服务器,信息采集服务器发送第一响应消息给第一网关的方式确定的,该方法具体包括:
S401:上述第一网关接收上述第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,上述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP 地址字段和第四Target MAC地址字段,上述第四Sender IP地址字段的值为上述第一虚拟机的IP地址,上述第四源MAC地址字段的值和上述第四Sender MAC地址字段的值均为上述第一虚拟机的MAC地址,上述第四Target IP地址字段的值为上述第二虚拟机的IP 地址,上述第四目的MAC地址字段的值为未知MAC地址。
具体的,VM1和VM2之间如果要传送IP报文,VM1除了要知道对端网络下VM2 的IP地址之外,还需要知道对端网络下VM2的MAC地址,因此,在发送承载IP报文的以太帧之前,就需要发送承载ARP请求报文的以太帧以获取对端网络下VM2的MAC地址。
进一步地,VM1发送第三承载ARP请求报文的以太帧给第一网关,该第三承载ARP请求报文的以太帧由以太帧头、以太帧负荷以及帧校验字段三部分组成,以太帧头由源MAC地址字段、目的MAC地址字段以及2个字节的以太帧类型字段组成,当以太帧类型字段中的内容值为十六进制的0x0806时,说明后面的以太帧负荷是ARP请求报文,该 ARP请求报文携带了第四源MAC地址字段、第四目的MAC地址字段、第四Sender IP 地址字段、第四SenderMAC地址字段、第四Target IP地址字段和第四Target MAC地址字段,第四源MAC地址字段和第四目的MAC地址字段处于以太帧头地址字段中;其中,第四Sender IP地址字段的值为VM1的IP地址,即10.0.0.10;第四源MAC地址字段的值和第四Sender MAC地址字段的值均为VM1的MAC地址,即MAC1;第四Target IP地址字段的值为VM2的IP地址,即10.0.0.20;第四目的MAC地址字段的值为广播MAC 地址,此处为FF:FF:FF:FF:FF:FF;第四Target MAC地址字段的值为未知MAC地址,即 00:00:00:00:00:00。
S402:上述第一网关向信息采集服务器发送获取上述第二虚拟机的MAC地址的第一请求消息,上述第一请求消息中携带上述第二虚拟机的IP地址。
S403:上述第一网关接收上述信息采集服务器根据预先存储的上述第二网关的标识和上述第二虚拟机的IP地址对应关系返回的第一响应消息,上述第一响应消息中携带上述第二网关的标识。
S404:第一网关向第一虚拟机发送第四承载ARP响应报文的以太帧,该第四承载ARP 响应报文的以太帧中携带第二网关的标识,以使上述第一虚拟机将第一承载IP报文的以太帧中的第一目的MAC地址字段的值填充为第二网关的标识。
具体的,第一网关接收VM1发送的第三承载ARP请求报文的以太帧,并记录VM1 的IP地址和VM1的MAC地址的对应关系,即记录10.0.0.10和MAC1的对应关系;之后,第一网关将上述第三承载ARP请求报文的以太帧中的第四源MAC地址字段的值和第四Sender MAC地址字段的值由上述第一虚拟机的MAC地址均修改为上述第一网关的标识,即第一网关的MAC地址,即将第四源MAC地址字段的值和第四Sender MAC地址字段的值由MAC1修改为MAC2,其中,这个本地标识可以是网关自己的MAC地址,或者基于其全网唯一的IP地址生成或者其他规则生成均可以,只要在网络内具有唯一性即可,即全网唯一可标识;这里的IP报文可以是IPv4报文也可以是IPv6报文。
进一步地,第一网关向信息采集服务器发送获取第二虚拟机的MAC地址的第一请求消息,该第一请求消息中携带第二虚拟机的IP地址;信息采集服务器收到该第一请求消息后,根据第一请求消息中携带的第二虚拟机的IP地址以及信息采集服务器预先存储的第二网关的标识和第二虚拟机的IP地址对应关系,查询其对应的第二网关的MAC地址,并将第二网关的MAC地址携带在第一响应消息中发送给第一网关。
更进一步地,第一网关根据信息采集服务器发送的第一响应消息,重新构建第四承载 ARP响应报文的以太帧并发送给VM1,该第四承载ARP响应报文的以太帧携带第二网关的标识;VM1收到该第四承载ARP响应报文的以太帧后,会认为IP地址为10.0.0.20的第二虚拟机的MAC地址为MAC3,则后续发给该地址的IP报文的目的MAC地址会填充为MAC3,例如:当VM1发送承载IP报文的以太帧给第一网关时,第一网关接收到VM1 发送的承载IP报文的以太帧后将该承载IP报文的以太帧的源MAC地址字段的值由MAC1 修改为MAC2,且承载该IP报文的以太帧的目的MAC地址字段中填充的字段值就是 MAC3,Target IP为VM2的IP地址,即10.0.0.20,第一网关直接根据该承载IP报文的以太帧的目的MAC地址字段的值将该修改后的承载IP报文的以太帧发送给第二网关,进而第二网关根据该修改后的承载IP报文的以太帧的Target IP地址字段的值以及预先存储的 10.0.0.20与MAC4的对应关系,确定该承载IP报文的以太帧的最终接收的虚拟机为VM2,进而由第二网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC4,之后,将该承载IP报文的以太帧发送给VM2。
更进一步地,对于第一网关和VM1来讲,通过信息采集服务器学习到的第二虚拟机的MAC地址仅是第二网关的MAC地址,即VM2的MAC地址对VM1和第一网关实现了隐藏,也就是说对端DC2网络下任一虚拟机发送给第二网关并由第二网关转发给服务器的承载ARP请求报文的以太帧的源MAC地址和Sender MAC地址均为MAC3。
本实施例提供的方法中,通过第一网关向信息采集服务器发送第三承载ARP请求报文的以太帧,信息采集服务器根据预先存储的第二虚拟机的IP地址与第二网关的MAC地址的对应关系,向第一网关发送携带第二虚拟机的IP地址与第二网关的MAC地址的对应关系的响应消息,以使得第一网关根据该响应消息发送承载ARP响应报文的以太帧给第一虚拟机,并使得第一网关学习到的第二虚拟机的MAC地址只是第二网关的MAC地址,而并不是第二虚拟机本身的MAC地址,即第一网关不用学习DC2网络下所有虚拟机的 MAC地址,只需学习DC1网络下的虚拟机的MAC地址和第二网关的MAC地址即可,从而减少了第一网关的学习的MAC表项,从而节约DC网关资源,提高转发效率。
图5为本发明提供的一种报文转发方法实施例六的流程示意图,如图5所示,该方法包括:
S501:第二网关接收第一网关发送的第二承载IP报文的以太帧,上述第二承载IP报文的以太帧中携带第一源IP地址字段、第一MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,上述第一源IP地址字段的值为第一虚拟机的IP地址,第一源MAC 地址字段的值为第一网关的标识,上述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,上述第一目的IP地址字段的值为上述第二虚拟机的IP地址。
具体的,第一网关是DC1网络的网关,第二网关是DC2网络的网关,其中,DC1网络和DC2网络各采用不同的隧道技术;且第一虚拟机存在于DC1网络中的服务器上的,第二虚拟机存在于DC2网络中的服务器上,其中,第一虚拟机可以为源虚拟机,第二虚拟机可以为目的虚拟机;此处,我们假设第一虚拟机为VM1,第二虚拟机为VM2,因为 VM1与VM2之间要进行通信,而虚拟机之间是通过服务器建立的隧道通信的,但是DC1 网络和DC2网络所采用的隧道技术不同,因此VM1与VM2之间要互相传送IP报文就需要通过异构虚拟网络网关来实现DC1网络和DC2网络之间的互通。
一般的,VM1与VM2之间IP报文的传送是通过以太帧的形式来传送的,即IP报文是承载在以太帧上进行传送,一个以太帧由以太帧头、以太帧负荷以及帧校验三部分组成,以太帧头由源MAC地址字段、目的MAC地址字段以及2个字节的以太帧类型组成,当以太帧类型为十六进制的0x0806时,说明后面的以太帧负荷是ARP报文,并且ARP报文中携带Sender IP字段和Target IP字段;当以太帧类型值为十六进制的0x0800时,表明以太帧负荷为IP报文;第一虚拟机向第一网关发送第一承载IP报文的以太帧,并对第一承载IP报文的以太帧的源MAC地址进行修改,得到第二承载IP报文的以太帧,该第二承载IP报文的以太帧中携带了第一源IP地址字段、第一源MAC地址字段、第一目的MAC 地址字段和第一目的IP地址字段,并且第一源IP地址字段的值为第一虚拟机的IP地址,第一源MAC地址字段的值为第一网关的标识,第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,第一目的IP地址字段的值为所述第二虚拟机的IP地址。
S502:上述第二网关根据预先存储的上述第二虚拟机的IP地址与上述第二虚拟机的 MAC地址的对应关系,将上述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由上述第二网关的标识修改为上述第二虚拟机的MAC地址,得到第三承载IP报文的以太帧。
S503:上述第二网关根据上述第二虚拟机的IP地址和上述第二虚拟机的MAC地址,将上述第三承载IP报文的以太帧发送给上述第二虚拟机。
进一步地,第二网关接收第一网关发送的第二承载IP报文的以太帧后,根据该第二承载IP报文的以太帧中第一目的IP地址字段的值以及第二网关预先存储的第二虚拟机的 IP地址与MAC地址之间的对应关系,即10.0.0.20与MAC4的对应关系,将上述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由第二网关的MAC地址修改为VM2 的MAC地址,即从MAC3修改为MAC4,并由第二网关将该第二承载IP报文的以太帧发送给VM2,此时VM1与VM2之间的通信就完成了。
现有技术中,VM1发送承载IP报文的以太帧给第一网关,此时第一网关需要学习DC1 网络下的VM1的MAC地址;当第一网关需要将该承载IP报文的以太帧发送给VM2,因为此时第一网关和VM1均不知道VM2的MAC地址,也不知道该经过哪一个网关到达 VM2,因为一个运营商可能有多个DC网络,则就有多个网关,每个网关也有多个VM,因此,假设对端网络DC2下有多个虚拟机(VM2、VM3、VM4等),在此次通信中,第一网关需要学习对端DC2网络下的VM2的MAC地址,才可以将该承载IP报文的以太帧准确发送给VM2,当下次VM1与VM3进行通信时,第一网关除了要学习DC1网络下VM1 的MAC地址,还需要学习DC2网络下VM3的MAC地址,也就是说,当DC1网络下的 VM1与对端DC2网络下不同的VM进行通信,则第一网关就必须要学习对端不同VM的 MAC地址;并且此处假设的只是一种情况,若VM3属于DC3网络,则第一网关还需要学习DC3的网关地址和VM3的网关地址,最坏的一种情况,就是第一网关需要学习对端所有DC网络下的所有虚拟机的MAC地址,而现有技术根本无法支持这么大的MAC表项;而在本发明中,无论与VM1通信的是VM2还是VM3,第一网关学习到的承载IP报文的以太帧的目的MAC地址仅是第二网关的MAC地址,而不用去学习对端DC网络下的所有虚拟机的MAC地址,因此第一网关学习到的MAC地址仅是DC1网络下的虚拟机的MAC地址以及对端DC网络的MAC地址,大大减少了第一网关所要学习的MAC表项。
本实施例提供的方法中,通过第一网关将第二承载IP报文的以太帧转发给第二网关,并且该第二承载IP报文的以太帧的第一目的MAC地址字段的值为第二网关的MAC地址而并不是对端第二虚拟机的MAC地址,使得第二网关根据预先存储的第二虚拟机的IP 地址与第二虚拟机的MAC地址的对应关系,将第二承载IP报文的以太帧中的第一目的 MAC地址字段的值由第二网关的MAC地址修改为第二虚拟机的MAC地址,得到第三承载IP报文的以太帧,从而将该第三承载IP报文的以太帧准确发送给第二虚拟机,从而大大减少了第一网关所要学习的MAC表项,从而节约DC网关资源,提高转发效率。
图6为本发明提供的一种报文转发方法实施例七的流程示意图,在图5所示实施例的基础上,通过第二网关接收第一网关发送的第二承载ARP请求报文的以太帧,并由第二网关广播给第二虚拟机。具体包括:
S601:上述第二网关接收所述第一网关发送的第二承载ARP请求报文的以太帧,上述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二Target IP地址字段和第二TargetMAC地址字段,上述第二Sender IP地址字段的值为上述第一虚拟机的IP地址,上述第二源MAC地址字段的值和上述第二Sender MAC地址字段的值均为上述第一网关的标识,上述第二Target IP地址字段的值为上述第二虚拟机的IP地址,上述第二目的 MAC地址字段的值为广播MAC地址;上述第二Target MAC地址字段的值为未知MAC 地址。
S602:上述第二网关将上述第二承载ARP请求报文的以太帧向第二DC网络内的虚拟机广播,第一网关和第一虚拟机位于第一DC网络,第二网关和第二虚拟机位于第二 DC网络,租户租用第一虚拟机并且租用第二DC网络中的虚拟机。
具体的,第一网关接收VM1发送的第一承载ARP请求报文的以太帧,该承载ARP 请求报文的以太帧中携带了第一源MAC地址字段、第一目的MAC地址字段、第一Sender IP地址字段、第一Sender MAC地址字段、第一Target IP地址字段和第一Target MAC地址字段,该第一Sender IP地址字段的值为VM1的IP地址,此处假设为10.0.0.10,并且后面所有实施例中VM1的IP地址均为10.0.0.10;上述第一源MAC地址字段的值和第一 Sender MAC地址字段的值均为VM1的MAC地址,此处假设为MAC1,并且后面所有的实施例中VM1的MAC地址均为MAC1;第一Target IP地址字段的值为VM2的IP地址,即10.0.0.20;第一目的MAC地址字段的值为广播MAC地址;上述第一Target MAC地址字段的值为未知MAC地址。
第一网关在接收到VM1发送的第一承载ARP请求报文的以太帧后,记录VM1的 MAC地址与IP地址的对应关系,即记录10.0.0.10与MAC1的对应关系,并且修改该承载ARP请求报文的以太帧中第一源MAC地址字段的值和第一Sender MAC地址字段的值为第一网关的MAC地址,此处假设为MAC2,并且后面所有实施例中第一网关的MAC 地址均为MAC2,从而得到第二承载ARP请求报文的以太帧;第二网关接收到的第二承载ARP请求报文的以太帧是经第一网关修改后的承载ARP请求报文的以太帧,其中,该第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二SenderMAC地址字段、第二Target IP地址字段和第二Target MAC地址字段,第二Sender IP地址字段的值为VM1的IP地址,即10.0.0.10;第二源 MAC地址字段的值和第二Sender MAC地址字段的值均为第一网关的MAC地址,即 MAC2;第二Target IP地址字段的值为第二虚拟机的IP地址,即10.0.0.20;第二目的MAC 地址字段的值为广播MAC地址;第二Target MAC地址字段的值为未知MAC地址。
进一步地,第二网关将该第二承载ARP请求报文的以太帧向第二DC网络内的虚拟机广播,第一网关和第一虚拟机位于第一DC网络,第二网关和第二虚拟机位于第二DC 网络,租户租用第一虚拟机并且租用第二DC网络中的虚拟机;此时VM2收到该第二承载ARP请求报文的以太帧后,会认为IP地址为10.0.0.10对应的VM1的MAC地址为 MAC2,即第二网关和VM2会认为VM1的MAC地址字段的值为MAC2,则后续发给该地址的承载IP报文的以太帧的目的MAC地址字段也会填充为MAC2,例如:当VM2发送携带IP报文的以太帧给第二网关时,第二网关接收到VM2发送的携带IP报文的以太帧后,将该承载IP报文的以太帧的源MAC地址字段的值由MAC4修改为第二网关的MAC 地址,即MAC3,且承载该IP报文的以太帧的目的MAC地址字段的值就填充的是MAC2,目的IP为VM1的IP地址,即10.0.0.10,第二网关直接根据该承载IP报文的以太帧的目的MAC地址字段的值将该修改后的承载IP报文的以太帧发送给第一网关,进而第一网关根据该修改后的承载IP报文的以太帧的目的IP地址字段的值以及预先存储的10.0.0.10与 MAC1的对应关系,确定该承载IP报文的以太帧的最终接收的虚拟机为VM1,进而由第一网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC1,之后,将该承载 IP报文的以太帧发送给VM1。
更进一步地,对于第二网关和VM2来讲,来自于第一网关的由任一第一虚拟机发送的所有承载ARP请求报文的以太帧的源MAC地址字段的值均为MAC2。
本实施例提供的方法中,通过第一虚拟机向第一网关发送第一承载ARP请求报文的以太帧,第一网关接收到该以太帧后记录第一虚拟机的MAC地址与IP地址的对应关系,并将该以太帧的第一源MAC地址字段的值和第一Sender MAC地址字段的值均修改为第一网关的MAC地址,得到第二承载ARP请求报文的以太帧,使得第二网关学习到的第一虚拟机的MAC地址只是第一网关的MAC地址,而并不是第一虚拟机本身的MAC地址,即对于第二网关来讲,来自于第一网关的由DC1网络下的任一第一虚拟机发送的所有承载ARP请求报文的以太帧的源MAC地址字段的值和Sender MAC地址字段的值都为第一网关的MAC地址,即第二网关不用学习DC1网络下所有虚拟机的MAC地址,只需学习 DC2网络下的虚拟机的MAC地址和第一网关的MAC地址即可,从而减少了第二网关的学习的MAC表项,从而节约DC网关资源,提高转发效率。
图7为本发明提供的一种报文转发方法实施例八的流程示意图,如图7所示,通过第二网关接收第二虚拟机发送的第三承载ARP响应报文的以太帧之后,第二网关还可以对第二虚拟机的IP地址和MAC的对应关系进行记录,以使接收到第一网关发送的第二承载 IP报文的以太帧,第二网关能够根据所记录的对应关系对收到的以太帧目的MAC字段进行修改。具体包括:
S701:上述第二网关接收上述第二虚拟机发送的第三承载ARP响应报文的以太帧,上述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三TargetMAC地址字段,上述第三Sender IP地址字段的值为上述第二虚拟机的IP地址,上述第三源MAC地址字段的值和上述第三Sender MAC地址字段的值均为上述第二虚拟机的MAC地址,上述第三Target IP地址字段的值为上述第一虚拟机的IP地址,上述第三目的MAC地址字段的值和上述第三Target MAC地址字段的值为上述第一网关的标识。
具体的,第一网关将第二承载ARP请求报文的以太帧广播给VM1所属租户的所有DC网络内的网关之后,第二网关也因此接收到了该第二承载ARP请求报文的以太帧,并将该第二承载ARP请求报文的以太帧广播给DC2网络内的所有虚拟机,但是因为该第二承载ARP请求报文的以太帧中包含了第二Target IP地址字段,并且该第二Target IP地址字段的值VM2的IP地址,即10.0.0.20,因此,只有VM2会发送第三承载ARP响应报文的以太帧给第二网关,并且该第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,上述第三Sender IP地址字段的值为第二虚拟机VM2的IP地址,即10.0.0.20;上述第三源MAC地址字段的值和上述第三 Sender MAC地址字段的值均为上述第二虚拟机VM2的MAC地址,即MAC2;上述第三 Target IP地址字段的值为上述第一虚拟机VM1的IP地址,即10.0.0.10;上述第三目的 MAC地址字段的值和上述第三Target MAC地址字段的值为上述第一网关的MAC地址,即MAC2。
S702:上述第二网关将上述第三承载ARP响应报文的以太帧中的第三源MAC地址字段的值和上述第三Sender MAC地址字段的值由上述第二虚拟机的MAC地址均修改为上述第二网关的标识,得到第一承载ARP响应报文的以太帧。
S703:上述第二网关将上述第一承载ARP响应报文的以太帧发送给上述第一网关。
具体的,第二网关收到VM2发送的第三承载ARP响应报文的以太帧后,记录第二虚拟机VM2的MAC地址与VM2的IP地址的对应关系,即记录10.0.0.20与MAC4的对应关系,并将第三承载ARP响应报文的以太帧的第三源MAC地址字段的值和第三Sender MAC地址字段的值由第二虚拟机VM2的MAC地址均修改为第二网关的MAC地址,即将第三承载ARP响应报文的以太帧的第三源MAC地址字段的值和第三Sender MAC地址字段的值由MAC4修改为MAC3,得到第一承载ARP响应报文的以太帧;之后,第二网关将第一承载ARP响应报文的以太帧发送给上述第一网关。
进一步地,如前所述,第一网关会记录第一虚拟机的IP地址与所述第一虚拟机的MAC 地址的对应关系,即10.0.0.10与MAC1的对应关系,第一网关在接收到第二网关发送的第一承载ARP响应报文的以太帧后,会根据以太帧中第一Target IP地址字段的值,以及,预先存储的10.0.0.10与MAC1的对应关系,找到MAC1,并将该第一承载ARP响应报文的以太帧的第三目的MAC地址字段的值和第三Target MAC地址字段的值由第一网关的 MAC地址均修改为VM1的MAC地址,即将该第一承载ARP响应报文的以太帧的第三目的MAC地址字段的值和第三Target MAC地址字段的值由原来的MAC2修改为MAC1,得到第二承载ARP响应报文的以太帧。
进一步地,第一网关根据第一虚拟机的IP地址和第一虚拟机的MAC地址,将第二承载ARP响应报文的以太帧发送给第一虚拟机,即发送给VM1;VM1收到该第二承载ARP 响应报文的以太帧后,会认为IP地址为10.0.0.20的第二虚拟机的MAC地址为MAC3,则后续发给该地址的IP报文的目的MAC地址会填充为MAC3,例如:即当VM1发送携带IP报文的以太帧给第一网关时,第一网关接收到VM1发送的携带IP报文的以太帧后将该承载IP报文的以太帧的源MAC地址字段的值由MAC1修改为MAC2,且承载该IP 报文的以太帧的目的MAC地址字段的值就是MAC3,目的IP地址字段的值为VM2的IP 地址,即10.0.0.20,第一网关直接根据该承载IP报文的以太帧的目的MAC地址字段的值将该修改后的承载IP报文的以太帧发送给第二网关,进而第二网关根据该修改后的承载 IP报文的以太帧的Target IP地址字段的值以及预先存储的10.0.0.20与MAC4的对应关系,确定该承载IP报文的以太帧的最终接收的虚拟机为VM2,进而由第二网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC4,之后,将该承载IP报文的以太帧发送给 VM2。
更进一步地,对于第一网关和VM1来讲,来自于第二网关的由任一第二虚拟机发送的所有修改后的承载ARP响应报文的以太帧的源MAC地址字段的值均为MAC3。
本实施例提供的方法中,通过第二虚拟机向第二网关发送第三承载ARP响应报文的以太帧,第二网关接收到该以太帧后记录第二虚拟机的MAC地址与IP地址的对应关系,并将该以太帧的第三源MAC地址字段的值和第三Sender MAC地址字段的值均修改为第二网关的MAC地址,使得第一网关学习到的第二虚拟机的MAC地址只是第二网关的 MAC地址,而并不是第二虚拟机本身的MAC地址,即对于第一网关来讲,来自于第二网关的由DC2网络下的任一第二虚拟机发送的所有承载ARP响应报文的以太帧的源MAC 地址字段的值和SenderMAC地址字段的值都为第二网关的MAC地址,即第一网关不用学习DC2网络下所有虚拟机的MAC地址,只需学习DC1网络下的虚拟机的MAC地址和第二网关的MAC地址即可,从而减少了第一网关的学习的MAC表项,从而节约DC 网关资源,提高转发效率。
图8为本发明提供的一种报文转发方法实施例九的流程示意图,如图8所示,在上述实施例的基础上,本实施例进一步提供了第一虚拟机确认第二虚拟机MAC地址的另一过程,具体是通过第二虚拟机向第二网关发送第四承载ARP请求报文的以太帧,第二网关将该以太帧中的第五源MAC地址修改为第二网关的标识后,将第二网关的MAC地址和第二虚拟机的对应关系发送给信息采集服务器,信息采集服务器记录该对应关系,并将该对应关系发送给第一网关的方式确定的,该方法具体包括:
S801:上述第二网关接收上述第二虚拟机发送的第四承载ARP请求报文的以太帧,上述第四承载ARP请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五Sender MAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五Target IP地址字段,上述第五源MAC地址字段的值和上述第五Sender MAC地址字段的值均为上述第二虚拟机的MAC地址,上述第五目的MAC地址字段的值为广播 MAC地址,上述第五Sender IP地址字段的值为上述第二虚拟机的IP地址,上述第五Target IP地址字段的值为上述第一虚拟机的IP地址,上述第五Target MAC地址字段的值为未知 MAC地址。
具体的,VM2发送第四承载ARP请求报文的以太帧给第二网关,该第四承载ARP 请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五Sender MAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五Target IP 地址字段,其中,第五源MAC地址字段的值和第五Sender MAC地址字段的值均为VM2 的MAC地址,即MAC4;第五目的MAC地址字段的值为广播MAC地址;第五Sender IP 地址字段的值为VM2的IP地址,即10.0.0.20;第五Target IP地址字段的值为VM1的IP 地址,即10.0.0.10;第五Target MAC地址字段的值为未知的MAC地址。
S802:第二网关将上述第四承载ARP请求报文的以太帧中的第五源MAC地址字段的值和第五Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为第二网关的标识,并发送第四消息给信息采集服务器,该第四消息中携带第二网关的标识和第二虚拟机的IP地址的对应关系,以使信息采集服务器记录第二网关的标识和所述第二虚拟机的IP地址对应关系;或者,第二网关发送第五消息给信息采集服务器,该第五消息中携带第二虚拟机的MAC地址和第二虚拟机的IP地址的对应关系,以及,第二网关的标识,以使信息采集服务器根据所述第二网关的标识,记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
具体的,第二网关接收VM2发送的第四承载ARP请求报文的以太帧,并记录VM2 的IP地址和VM2的MAC地址的对应关系,即记录10.0.0.20和MAC4的对应关系;之后,第二网关将上述第四承载ARP请求报文的以太帧中的第五源MAC地址字段的值和第五Sender MAC地址字段的值由VM2的MAC地址均修改为第二网关的标识,即第二网关的MAC地址,即将第五源MAC地址字段的值和第五Sender MAC地址字段的值由MAC4 修改为MAC3,其中,这个本地标识可以是网关自己的MAC地址,或者基于其全网唯一的 IP地址生成或者其他规则生成均可以,只要在网络内具有唯一性即可,如全网唯一可标识;这里的IP报文可以是IPv4报文也可以是IPv6报文。
进一步地,第二网关将该第四承载ARP请求报文的以太帧中的第五源MAC地址字段的值和第五Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为所述第二网关的标识,并发送第四消息给信息采集服务器,该第四消息中携带第二网关的标识和第二虚拟机的IP地址的对应关系,即MAC3和10.0.0.20的对应关系,信息采集服务器记录该第二网关的标识和第二虚拟机的IP地址对应关系;或者,第二网关发送第五消息给信息采集服务器,该第五消息中携带第二虚拟机的MAC地址和第二虚拟机的IP地址的对应关系,以及,第二网关的标识,使得信息采集服务器根据第二网关的标识,记录第二网关的标识和第二虚拟机的IP地址对应关系;其中,第四消息和第五消息可以是承载ARP请求报文的以太帧或者承载该信息的BGP消息。
更进一步地,在S801之前,第一网关会向信息采集服务器发送第一请求消息,以获取VM2的MAC地址,信息采集服务器在收到该请求消息后,根据本实施例前述的方法得到的第二网关的MAC地址和第二虚拟机的IP地址的对应关系,信息采集服务器会发送第一响应消息给第一网关,该第一响应消息中携带了信息采集服务器预先存储的第二网关的MAC地址和第二虚拟机的IP地址的对应关系,即MAC3与10.0.0.20的对应关系;之后,第一网关根据信息采集服务器发送的响应消息,重新构建第四承载ARP响应报文的以太帧并发送给VM1,该第四承载ARP响应报文的以太帧携带了第二网关的标识;VM1 收到该第四承载ARP响应报文的以太帧后,会认为IP地址为10.0.0.20的第二虚拟机的MAC地址为MAC3,则后续发给该地址的IP报文的目的MAC地址会填充为MAC3,例如:当VM1发送承载IP报文的以太帧给第一网关时,第一网关接收到VM1发送的承载 IP报文的以太帧后将该承载IP报文的以太帧的源MAC地址字段的值由MAC1修改为 MAC2,且承载该IP报文的以太帧的目的MAC地址字段的值填充为MAC3,目的IP地址字段的值为VM2的IP地址,即10.0.0.20,第一网关直接根据该承载IP报文的以太帧的目的MAC地址字段的值将该修改后的承载IP报文的以太帧发送给第二网关,进而第二网关根据该修改后的承载IP报文的以太帧的目的IP地址字段的值以及预先存储的 10.0.0.20与MAC4的对应关系,确定该承载IP报文的以太帧的最终接收的虚拟机为VM2,进而由第二网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC4,之后,将该承载IP报文的以太帧发送给VM2。
更进一步地,对于第一网关和VM1来讲,通过服务器学习到的第二虚拟机的MAC 地址仅是第二网关的MAC地址,即VM2的MAC地址对VM1和第一网关实现可隐藏,也就是说对端DC2网络下任一虚拟机发送给第二网关并由第二网关转发给服务器的承载 ARP请求报文的以太帧的源MAC地址和Sender MAC地址均为MAC3。
本实施例提供的方法中,通过第二网关向信息采集服务器发送第四消息或第五消息,以使得信息采集服务器记录第二网关的标识和第二虚拟机的IP地址的对应关系,在第一网关向信息采集服务器发送请求获取第二虚拟机的MAC地址的消息后,信息采集服务器向第一网关发送携带第二虚拟机的IP地址与第二网关的MAC地址的对应关系的响应消息,以使得第一网关根据该响应消息发送第四承载ARP响应报文的以太帧给第一虚拟机,并使得第一网关学习到的第二虚拟机的MAC地址只是第二网关的MAC地址,而并不是第二虚拟机本身的MAC地址,即第一网关不用学习DC2网络下所有虚拟机的MAC地址,只需学习DC1网络下的虚拟机的MAC地址和第二网关的MAC地址即可,从而减少了第一网关的学习的MAC表项,从而节约DC网关资源,提高转发效率。
图9为本发明提供的一种报文转发方法实施例十的流程示意图,如图9所示,本实施例提供了第一虚拟机确定第二虚拟机的MAC地址,以及第一虚拟机向第二虚拟机发送IP报文的全过程,该方法具体包括:
S10:上述第一网关接收上述第一虚拟机发送的第一承载ARP请求报文的以太帧,上述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二Target IP地址字段和第二TargetMAC地址字段,上述第二Sender IP地址字段的值为上述第一虚拟机的IP地址,上述第二源MAC地址字段的值和上述第二Sender MAC地址字段的值均为上述第一虚拟机的MAC地址,上述第二Target IP地址字段的值为上述第二虚拟机的IP地址,上述第二目的MAC地址字段的值为广播MAC地址,上述第二Target MAC地址字段的值为未知 MAC地址。
具体的,VM1和VM2之间如果要传送IP报文,VM1除了要知道对端网络下VM2 的IP地址之外,还需要知道对端网络下VM2的MAC地址,因此,在发送承载IP报文的以太帧之前,就需要发送承载ARP请求报文的以太帧以获取对端网络下VM2的MAC地址。
进一步地,VM1发送第一承载ARP请求报文的以太帧给第一网关,该第一承载ARP请求报文的以太帧由以太帧头、以太帧负荷以及帧校验字段三部分组成,以太帧头由源MAC地址字段、目的MAC地址字段以及2个字节的以太帧类型字段组成,当以太帧类型字段中的内容值为十六进制的0x0806时,说明后面的以太帧负荷是ARP请求报文,与 IP报文不同的是,ARP请求报文携带了第二Sender IP地址字段、第二Sender MAC地址字段、第二TargetIP地址字段和第二Target MAC地址字段,第二源MAC地址字段和第二目的MAC地址字段处于以太帧头的地址字段中;其中,第二Sender IP地址字段的值为 VM1的IP地址,即10.0.0.10;第一源MAC地址字段的值和第二Sender MAC地址字段的值均为VM1的MAC地址,即MAC1;第二Target IP地址字段的值为VM2的IP地址,即10.0.0.20;第二目的MAC地址字段的值为广播MAC地址,此处为FF:FF:FF:FF:FF:FF;第二Target MAC地址字段的值为未知MAC地址,即00:00:00:00:00:00。
S11:上述第一网关根据接收的第一承载ARP报文的以太帧记录上述第一虚拟机的IP 地址和上述第一虚拟机的MAC地址的对应关系。
S12:上述第一网关将上述第一承载ARP请求报文的以太帧中的第二源MAC地址字段的值和第二Sender MAC地址字段的值由上述第一虚拟机的MAC地址均修改为上述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧。
S13:上述第一网关将第二承载ARP请求报文的以太帧广播给上述第二网关,上述第二网关位于第二数据中心DC网络,第一网关和第一虚拟机位于第一DC网络,租户租用第一虚拟机并且租用第二DC网络中的虚拟机。具体的,第一网关接收VM1发送的第一承载ARP请求报文的以太帧,并记录VM1的IP地址和VM1的MAC地址的对应关系,即记录10.0.0.10和MAC1的对应关系;之后,第一网关将上述第一承载ARP请求报文的以太帧中的第一源MAC地址字段的值和第一Sender MAC地址字段的值由上述第一虚拟机的MAC地址均修改为上述第一网关的标识,即第一网关的MAC地址,即将第二源MAC 地址字段的值和第二Sender MAC地址字段的值由MAC1修改为MAC2,并重新计算以太帧校验字段,其他字段不做修改;其中,这个本地标识可以是网关自己的MAC地址,或者基于其全网唯一的IP地址生成或者其他规则生成均可以,只要在网络内具有唯一性即可,即全网唯一可标识;这里的IP报文可以是IPv4报文也可以是IPv6报文。
进一步地,第一网关将第二承载ARP请求报文的以太帧广播给第二网关,第二网关位于第二DC网络,第一网关和第一虚拟机位于第一DC网络,租户租用第一虚拟机并且租用第二DC网络中的虚拟,对于第二网关和VM2来讲,来自于第一网关的由任一第一虚拟机发送的所有承载ARP请求报文的以太帧的源MAC地址字段的值均为MAC2,即 VM1的MAC地址通过第一网关的修改对第二网关和VM2实现了MAC地址的隐藏。
S14:上述第二网关接收所述第一网关发送的第二承载ARP请求报文的以太帧,上述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二Target IP地址字段和第二TargetMAC地址字段,上述第二Sender IP地址字段的值为上述第一虚拟机的IP地址,上述第二源MAC地址字段的值和上述第二Sender MAC地址字段的值均为上述第一网关的标识,上述第二Target IP地址字段的值为上述第二虚拟机的IP地址,上述第二目的MAC地址字段的值为广播MAC地址;上述第二Target MAC地址字段的值为未知MAC地址。
S15:上述第二网关将第二承载ARP请求报文的以太帧向第二数据中心DC网络内的虚拟机广播,所述第一网关和所述第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于所述第二DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机。
具体的,第二网关接收第一网关发送的第二承载ARP请求报文的以太帧,该第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二 SenderIP地址字段、第二Sender MAC地址字段、第二Target IP地址字段和第二Target MAC地址字段,第二Sender IP地址字段的值为VM1的IP地址,即10.0.0.10;第二源 MAC地址字段的值和第二Sender MAC地址字段的值均为第一网关的MAC地址,即 MAC2;第二Target IP地址字段的值为第二虚拟机的IP地址,即10.0.0.20;第二目的MAC 地址字段的值为广播MAC地址;第二Target MAC地址字段的值为未知MAC地址。
进一步地,第二网关将第二承载ARP请求报文的以太帧向第二DC网络内的虚拟机广播,第一网关和第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于第二DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机;此时VM2 收到该第二承载ARP请求报文的以太帧后,会认为IP地址为10.0.0.10对应的VM1的 MAC地址为MAC2,即第二网关和VM2会认为VM1的MAC地址字段的值为MAC2,则后续发给该地址的承载IP报文的以太帧的目的MAC地址字段也会填充为MAC2,例如:当VM2发送携带IP报文的以太帧给第二网关时,第二网关接收到VM2发送的承载IP报文的以太帧后,将该承载IP报文的以太帧的源MAC地址字段的值由MAC4修改为第二网关的MAC地址,即MAC3,且承载该IP报文的以太帧的目的MAC地址字段的值就填充的是MAC2,目的IP字段的值为VM1的IP地址,即10.0.0.10,第二网关直接根据该承载IP报文的以太帧的目的MAC地址字段的值将该修改后的承载IP报文的以太帧发送给第一网关,进而第一网关根据该修改后的承载IP报文的以太帧的目的IP地址字段的值以及预先存储的10.0.0.10与MAC1的对应关系,确定该承载IP报文的以太帧的最终接收的虚拟机为VM1,进而由第一网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC1,之后,将该承载IP报文的以太帧发送给VM1。
S16:上述第二网关接收上述第二虚拟机发送的第三承载ARP响应报文的以太帧,上述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三TargetMAC地址字段,上述第三Sender IP地址字段的值为上述第二虚拟机的IP地址,上述第三源MAC地址字段的值和上述第三Sender MAC地址字段的值均为上述第二虚拟机的MAC地址,上述第三Target IP地址字段的值为上述第一虚拟机的IP地址,上述第三目的MAC地址字段的值和上述第三Target MAC地址字段的值为上述第一网关的标识。
具体的,第一网关将第二承载ARP请求报文的以太帧广播给VM1所属租户的所有DC网络内的网关之后,第二网关也因此接收到了该第二承载ARP请求报文的以太帧,并将该第二承载ARP请求报文的以太帧广播给DC2网络内的所有虚拟机,但是因为该第二承载ARP请求报文的以太帧中包含了第二Target IP地址字段,并且该第二Target IP地址字段的值VM2的IP地址,即10.0.0.20,因此,只有VM2会发送一个第三承载ARP响应报文的以太帧给第二网关,并且该第三承载ARP响应报文的以太帧中携带第三源MAC 地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,上述第三Sender IP地址字段的值为第二虚拟机VM2的IP地址,即10.0.0.20;上述第三源MAC地址字段的值和上述第三Sender MAC地址字段的值均为上述第二虚拟机VM2的MAC地址,即MAC2;上述第三Target IP地址字段的值为上述第一虚拟机VM1的IP地址,即10.0.0.10;上述第三目的MAC地址字段的值和上述第三Target MAC地址字段的值为上述第一网关的MAC地址,即MAC2。
S17:上述第二网关将上述第三承载ARP响应报文的以太帧中的第三源MAC地址字段的值和上述第三Sender MAC地址字段的值由上述第二虚拟机的MAC地址均修改为上述第二网关的标识,得到第一承载ARP响应报文的以太帧。
S18:上述第二网关将上述第一承载ARP响应报文的以太帧发送给上述第一网关。
具体的,第二网关收到VM2发送的第三承载ARP响应报文的以太帧后,记录第二虚拟机VM2的MAC地址与VM2的IP地址的对应关系,即记录10.0.0.20与MAC4的对应关系,并将第三承载ARP响应报文的以太帧的第三源MAC地址字段的值和第三Sender MAC地址字段的值由第二虚拟机VM2的MAC地址均修改为第二网关的MAC地址,即将承载ARP响应报文的以太帧的源MAC地址字段的值和Sender MAC地址字段的值由 MAC4修改为MAC3,得到第一承载ARP响应报文的以太帧;之后,第二网关将上述第一承载ARP响应报文的以太帧发送给上述第一网关。
进一步地,如前所述,第一网关会记录第一虚拟机的IP地址与所述第一虚拟机的MAC 地址的对应关系,即10.0.0.10与MAC1的对应关系,第一网关在接收到第二网关发送的第一承载ARP响应报文的以太帧后,会根据该以太帧中第三Target IP地址字段的值,以及,预先存储的10.0.0.10与MAC1的对应关系,找到MAC1,并将该第一承载ARP响应报文的以太帧的第三目的MAC地址字段的值和第三Target MAC地址字段的值由第一网关的MAC地址均修改为VM1的MAC地址,即将该第一承载ARP响应报文的以太帧的目的MAC地址字段的值和Target MAC地址字段的值由原来的MAC2修改为MAC1,得到第二承载ARP响应报文的以太帧。
更进一步地,第一网关根据第一虚拟机的IP地址和第一虚拟机的MAC地址,将上述第二承载ARP响应报文的以太帧发送给第一虚拟机,即发送给VM1;VM1收到该第二承载ARP响应报文的以太帧后,会认为IP地址为10.0.0.20的第二虚拟机的MAC地址为 MAC3,则后续发给该地址的IP报文的目的MAC地址会填充为MAC3,例如:当VM1 发送携带IP报文的以太帧给第一网关时,第一网关接收到VM1发送的第一承载IP报文的以太帧后将该承载IP报文的以太帧的第一源MAC地址字段的值由MAC1修改为 MAC2,得到第二承载IP报文的以太帧,且该第二承载IP报文的以太帧的第一目的MAC 地址字段的值就是MAC3,第一目的IP地址字段的值为VM2的IP地址,即10.0.0.20,第一网关将该第二承载IP报文的以太帧发送给第二网关,进而第二网关根据该第二承载 IP报文的以太帧的第一Target IP地址字段的值以及预先存储的10.0.0.20与MAC4的对应关系,确定该第二承载IP报文的以太帧的最终接收的虚拟机为VM2,进而由第二网关将该承载IP报文的以太帧的目的MAC地址字段修改为MAC4,得到第三承载IP报文的以太帧,之后,将该第三承载IP报文的以太帧发送给VM2。
更进一步地,对于第一网关和VM1来讲,来自于第二网关的由任一第二虚拟机发送的所有承载ARP响应报文的以太帧的源MAC地址字段的值均为MAC3。
本实施例提供的方法中,第一网关接收第一虚拟机发送的第一承载ARP请求报文的以太帧,并将该以太帧的第二源MAC地址字段的值和第二Sender MAC地址字段的值均修改为第一网关的MAC地址,使得第二网关学习到的第一虚拟机的MAC地址只是第一网关的MAC地址,而并不是第一虚拟机本身的MAC地址;并且第二网关接收第二虚拟机发送的第三承载ARP响应报文的以太帧后记录第二虚拟机的MAC地址与IP地址的对应关系,并将该以太帧的第三源MAC地址字段的值和第三Sender MAC地址字段的值均修改为第二网关的MAC地址,使得第一网关学习到的第二虚拟机的MAC地址只是第二网关的MAC地址,而并不是第二虚拟机本身的MAC地址,即对于第二网关来讲,第二网关不用学习DC1网络下所有虚拟机的MAC地址,只需学习DC2网络下的虚拟机的MAC 地址和第一网关的MAC地址即可,对于第一网关来讲,第一网关不用学习DC2网络下所有虚拟机的MAC地址,只需学习DC1网络下的虚拟机的MAC地址和第二网关的MAC 地址即可,从而大大减少了第二网关和第二网关学习的MAC表项,从而节约DC网关资源,提高转发效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图10为本发明提供的一种报文转发网关实施例一的结构示意图,如图10所示,该网关包括:第一接收模块101、第一修改模块和102第一发送模块103,其中,第一接收模块101,用于接收第一虚拟机发送的第一承载互联网协议IP报文的以太帧,所述第一承载 IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的MAC地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP 地址字段的值为所述第二虚拟机的IP地址;第一修改模块102,用于将所述第一承载IP 报文的以太帧中的所述第一源MAC地址字段的值由所述第一虚拟机的MAC地址修改为所述第一网关的标识,得到第二承载IP报文的以太帧;第一发送模块103,用于根据所述第二网关的标识,将第二承载IP报文的以太帧发送给所述第二网关。
本实施例的报文转发网关可以执行上述报文转发方法实施例一,其实现原理和技术效果类似,此处不再赘述。
图11为本发明提供的一种报文转发网关实施例二的结构示意图,如图11所示,在上述图10所示实施例一的基础上,该网关还包括:第一记录模块201,用于在接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之后,根据接收的所述第一承载IP报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系。
本实施例的报文转发网关可以执行上述报文转发方法实施例二,其实现原理和技术效果类似,此处不再赘述。
图12为本发明提供的一种报文转发网关实施例三的结构示意图,如图12所示,在上述实施例的基础上,该网关还包括:第二接收模块301,在接收第一虚拟机发送的所述第一承载IP报文的以太帧之前,接收所述第一虚拟机发送的第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标TargetIP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知MAC地址;第二记录模块302,用于根据接收的第一承载ARP请求报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的 MAC地址的对应关系;第二修改模块303,用于将所述第一承载ARP请求报文的以太帧中的所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为所述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧;广播模块304,用于将所述第二承载ARP请求报文的以太帧广播给第二网关,所述第二网关位于第二数据中心DC网络,所述第一网关和所述第一虚拟机位于第一DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机。
本实施例的报文转发网关可以执行上述报文转发方法实施例三和实施例四,其实现原理和技术效果类似,此处不再赘述。
进一步地,在上述图12所示实施例的基础上,该网关还包括:第三接收模块401,用于在将所述第二承载ARP请求报文的以太帧广播给第二网关之后,接收所述第二网关发送的第一承载ARP响应报文的以太帧,所述第一承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC 地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三 Sender MAC地址字段的值均为所述第二网关的标识,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值均为所述第一网关的标识;第三修改模块402,用于根据预先存储的所述第一虚拟机的IP地址与所述第一虚拟机的MAC地址的对应关系,将所述第一承载ARP响应报文的以太帧的所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值由所述第一网关的标识均修改为所述第一虚拟机的MAC地址,得到第二承载ARP响应报文的以太帧;第二发送模块403,用于根据所述第一虚拟机的IP地址和所述第一虚拟机的 MAC地址,将所述第二承载ARP响应报文的以太帧发送给所述第一虚拟机。
本实施例的报文转发网关可以执行上述报文转发方法实施例四,其实现原理和技术效果类似,此处不再赘述。
图13为本发明提供的一种报文转发网关实施例四的结构示意图,如图13所示,在上述实施例的基础上,该网关还包括:第四接收模块500,用于在接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之前,接收所述第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四Target MAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四 Target MAC地址段的值为未知MAC地址;第三发送模块501,向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;,第五接收模块502,用于接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;第四发送模块503,用于向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机将所述第一承载IP报文的以太帧中的所述第一目的MAC地址字段的值填充为所述第二网关的标识。
本实施例的报文转发网关可以执行上述报文转发方法实施例五,其实现原理和技术效果类似,此处不再赘述。
图14为本发明提供的一种报文转发网关实施例五的结构示意图,如图14所示,该网关包括:第一接收模块601,用于接收第一网关发送的第二承载互联网协议IP报文的以太帧,所述第二承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC 地址字段、第一目的MAC地址字段和第一目的IP地址字段,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一网关的标识,所述第一目的MAC地址字段的值为第二虚拟机对应的所述第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;第一修改模块602,用于根据预先存储的所述第二虚拟机的IP地址与所述第二虚拟机的MAC地址的对应关系,将所述第二承载 IP报文的以太帧中的第一目的MAC地址字段的值由所述第二网关的标识修改为所述第二虚拟机的MAC地址,得到第三承载IP报文的以太帧;第一发送模块603,用于根据所述第二虚拟机的IP地址和所述第二虚拟机的MAC地址,将所述第三承载IP报文的以太帧发送给所述第二虚拟机。
本实施例的报文转发网关可以执行上述报文转发方法实施例六,其实现原理和技术效果类似,此处不再赘述。
图15为本发明提供的一种报文转发网关实施例六的结构示意图,在图14所示实施例的基础上,该网关还包括:第二接收模块701,用于在接收第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,接收所述第一网关发送的第二承载地址解析协议ARP 请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC 地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址;第一广播模块702,用于将所述第二承载ARP请求报文的以太帧向第二数据中心DC网络内的虚拟机广播,所述第一网关和所述第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于所述第二DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机。
本实施例的报文转发网关可以执行上述报文转发方法实施例七,其实现原理和技术效果类似,此处不再赘述。
进一步地,在上述图15所示实施例的基础上,该网关还可以包括:第三接收模块801,在将所述第二承载ARP请求报文的以太帧向所述第二数据中心DC网络内的虚拟机广播之后,接收所述第二虚拟机发送的第三承载ARP响应报文的以太帧,所述第三承载ARP 响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP 地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC 地址字段的值和所述第三Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值为所述第一网关的标识;第二修改模块 802,用于将所述第三承载ARP响应报文的以太帧中的所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,得到第一承载ARP响应报文的以太帧;第二发送模块803,用于将所述第一承载ARP响应报文的以太帧发送给所述第一网关。
本实施例的报文转发网关可以执行上述报文转发方法实施例八,其实现原理和技术效果类似,此处不再赘述。
图16为本发明提供的一种报文转发网关实施例七的结构示意图,如图17所示,该网关包括:第四接收模块901、第三发送模块902,其中,第四接收模块901,用于在接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,接收所述第二虚拟机发送的第四承载ARP请求报文的以太帧,所述第四承载ARP请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五Sender MAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五Target IP地址字段,所述第五源MAC 地址字段的值和所述第五Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述目的MAC地址字段的值为广播MAC地址,所述第五Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第五Target IP地址字段的值为所述第一虚拟机的IP地址,所述第五目的MAC地址字段的值为未知MAC地址;第三发送模块902,将所述第四承载 ARP请求报文的以太帧中的所述第五源MAC地址字段的值和所述第五MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,并发送第四消息给信息采集服务器,所述第四消息中携带所述第二网关的标识和所述第二虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
本实施例的报文转发网关可以执行上述报文转发方法实施例九,其实现原理和技术效果类似,此处不再赘述。
进一步地,在上述图16所示实施例的基础上,该网关还可以包括:第四发送模块903,用于在接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,发送第五消息给信息采集服务器,所述第五消息中携带所述第二虚拟机的MAC地址和所述第二虚拟机的IP地址的对应关系和所述第二网关的标识,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
本实施例的报文转发网关可以执行上述报文转发方法实施例九,其实现原理和技术效果类似,此处不再赘述。
图17为本发明提供的一种报文转发网关实施例八的结构示意图,如图17所示,接收器11、处理器12和发送器13;
接收器11,用于接收第一虚拟机发送的第一承载互联网协议IP报文的以太帧,所述第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的MAC 地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
处理器12,用于将所述第一承载IP报文的以太帧中的所述第一源MAC地址字段的值由所述第一虚拟机的MAC地址修改为所述第一网关的标识,得到第二承载IP报文的以太帧;
发送器13,用于根据所述第二网关的标识,将第二承载IP报文的以太帧发送给所述第二网关。
可选的,处理器12还可以用于:在接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之后,根据接收的所述第一承载IP报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系。
接收器11还可以用于:在接收第一虚拟机发送的所述第一承载IP报文的以太帧之前,接收所述第一虚拟机发送的第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP 地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知Unknow MAC地址;
处理器12还可以用于:根据接收的第一承载ARP请求报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系;
处理器12还可以用于:用于将所述第一承载ARP请求报文的以太帧中的所述第二源 MAC地址字段的值和所述第二Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为所述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧;
发送器13,还可以用于将所述第二承载ARP请求报文的以太帧广播给第二网关,所述第二网关位于第二数据中心DC网络,所述第一网关和所述第一虚拟机位于第一DC网络,租户租用所述第一虚拟机并且租用所述第二DC网络中的虚拟机。
可选的,接收器13还可以用于:在将所述第二承载ARP请求报文的以太帧广播给第二网关之后,接收所述第二网关发送的第一承载ARP响应报文的以太帧,所述第一承载 ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二网关的标识,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三TargetMAC地址字段的值均为所述第一网关的标识;
可选的,处理器12还可以用于:根据预先存储的所述第一虚拟机的IP地址与所述第一虚拟机的MAC地址的对应关系,将所述第一承载ARP响应报文的以太帧的所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值由所述第一网关的标识均修改为所述第一虚拟机的MAC地址,得到第二承载ARP响应报文的以太帧;
发送器13还可以用于:根据所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址,将所述第二承载ARP响应报文的以太帧发送给所述第一虚拟机。
可选的,接收器11还可以用于:在接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之前,接收所述第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC 地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四Target MAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP 地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四Target MAC地址段的值为未知MAC地址;
可选的发送器13还可以用于:向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;
可选的,接收器11还可以用于:接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;
可选的,发送器13还可以用于:向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机将所述第一承载IP报文的以太帧中的所述第一目的MAC地址字段的值填充为所述第二网关的标识。
本实施例的报文转发网关可以执行上述报文转发方法实施例一到实施例四,其实现原理和技术效果类似,此处不再赘述。
图18为本发明提供的一种报文转发网关实施例九的结构示意图,如图18所示,接收器21、处理器22和发送器23;
接收器21,用于接收第一网关发送的第二承载互联网协议IP报文的以太帧,所述第二承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一网关的标识,所述第一目的MAC地址字段的值为第二虚拟机对应的所述第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
处理器22,用于根据预先存储的所述第二虚拟机的IP地址与所述第二虚拟机的MAC 地址的对应关系,将所述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由所述第二网关的标识修改为所述第二虚拟机的MAC地址,得到第三承载IP报文的以太帧;
发送器23,用于根据所述第二虚拟机的IP地址和所述第二虚拟机的MAC地址,将所述第三承载IP报文的以太帧发送给所述第二虚拟机。
可选的,接收器21,还可以用于:在接收第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,接收所述第一网关发送的第二承载地址解析协议ARP请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的 MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP 地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP 地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址;
发送器23,还可以用于将所述第二承载ARP请求报文的以太帧向第二数据中心DC网络内的虚拟机广播,所述第一网关和所述第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于所述第二DC网络,租户租用所述第一虚拟机并且租用所述第二 DC网络中的虚拟机。
可选的,接收器21,还可以用于在将所述第二承载ARP请求报文的以太帧向所述第二数据中心DC网络内的虚拟机广播之后,接收所述第二虚拟机发送的第三承载ARP响应报文的以太帧,所述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP 地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值为所述第一网关的标识;
处理器22,还可以用于将所述第三承载ARP响应报文的以太帧中的所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,得到第一承载ARP响应报文的以太帧;
发送器23,还可以用于将所述第一承载ARP响应报文的以太帧发送给所述第一网关。
可选的,接收器21,可以用于在接收所述第一网关发送的所述第二承载互联网协议 IP报文的以太帧之前,接收所述第二虚拟机发送的第四承载ARP请求报文的以太帧,所述第四承载ARP请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五Sender MAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五TargetIP地址字段,所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述目的MAC地址字段的值为广播MAC 地址,所述第五Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第五Target IP 地址字段的值为所述第一虚拟机的IP地址,所述第五目的MAC地址字段的值为未知MAC 地址;
可选的,发送器21,可以用于将所述第四承载ARP请求报文的以太帧中的所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值由所述第二虚拟机的MAC 地址均修改为所述第二网关的标识,并发送第四消息给信息采集服务器,所述第四消息中携带所述第二网关的标识和所述第二虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
可选的,发送器23,可以用于在接收所述第一网关发送的所述第二承载互联网协议 IP报文的以太帧之前,发送第五消息给信息采集服务器,所述第五消息中携带第二虚拟机所述第二虚拟机的IP地址的对应关系和所述第二网关的标识,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
本实施例的报文转发网关可以执行上述报文转发方法实施例五到实施例就,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (38)

1.一种报文处理方法,其特征在于,包括:
第一网关接收第一虚拟机发送的第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知Unknow MAC地址;
所述第一网关将所述第一承载ARP请求报文的以太帧中的所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为所述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧;
所述第一网关将所述第二承载ARP请求报文的以太帧广播给第二网关,所述第二网关位于第二数据中心DC网络,所述第一网关和所述第一虚拟机位于第一DC网络。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一网关根据接收的第一承载ARP请求报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述第一网关将所述第二承载ARP请求报文的以太帧广播给第二网关之后,所述方法还包括:
所述第一网关接收所述第二网关发送的第一承载ARP响应报文的以太帧,所述第一承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三SenderIP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二网关的标识,所述第三TargetIP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值均为所述第一网关的标识;
所述第一网关根据预先存储的所述第一虚拟机的IP地址与所述第一虚拟机的MAC地址的对应关系,将所述第一承载ARP响应报文的以太帧的所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值由所述第一网关的标识均修改为所述第一虚拟机的MAC地址,得到第二承载ARP响应报文的以太帧;
所述第一网关根据所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址,将所述第二承载ARP响应报文的以太帧发送给所述第一虚拟机。
4.根据权利要求1所述的方法,其特征在于,还包括:
第一网关接收第一虚拟机发送的第一承载互联网协议IP报文的以太帧,所述第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的MAC地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP 地址字段的值为所述第二虚拟机的IP地址;
所述第一网关将所述第一承载IP报文的以太帧中的所述第一源MAC地址字段的值由所述第一虚拟机的MAC地址修改为所述第一网关的标识,得到第二承载IP报文的以太帧;
所述第一网关根据所述第二网关的标识,将第二承载IP报文的以太帧发送给所述第二网关。
5.根据权利要求4所述的方法,其特征在于,所述第一网关接收所述第一虚拟机发送的所述第一承载IP报文的以太帧之前,所述方法还包括:
所述第一网关接收所述第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四Target MAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四Target MAC地址段的值为未知MAC地址;
所述第一网关向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;
所述第一网关接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;
所述第一网关向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机将所述第一承载IP报文的以太帧中的所述第一目的MAC地址字段的值填充为所述第二网关的标识。
6.一种报文处理方法,其特征在于,包括:
第二网关接收第一网关发送的第二承载地址解析协议ARP请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址;
所述第二网关将所述第二承载ARP请求报文的以太帧向第二数据中心DC网络内的虚拟机广播,所述第一网关和所述第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于所述第二DC网络。
7.根据权利要求6所述的方法,其特征在于,所述第二网关将所述第二承载ARP请求报文的以太帧向所述第二数据中心DC网络内的虚拟机广播之后,所述方法还包括:
所述第二网关接收所述第二虚拟机发送的第三承载ARP响应报文的以太帧,所述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三SenderIP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值为所述第一网关的标识;
所述第二网关将所述第三承载ARP响应报文的以太帧中的所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,得到第一承载ARP响应报文的以太帧;
所述第二网关将所述第一承载ARP响应报文的以太帧发送给所述第一网关。
8.根据权利要求6所述的方法,其特征在于,还包括:
所述第二网关接收所述第一网关发送的第二承载互联网协议IP报文的以太帧,所述第二承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一网关的标识,所述第一目的MAC地址字段的值为第二虚拟机对应的所述第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
所述第二网关根据预先存储的所述第二虚拟机的IP地址与所述第二虚拟机的MAC地址的对应关系,将所述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由所述第二网关的标识修改为所述第二虚拟机的MAC地址,得到第三承载IP报文的以太帧;
所述第二网关根据所述第二虚拟机的IP地址和所述第二虚拟机的MAC地址,将所述第三承载IP报文的以太帧发送给所述第二虚拟机。
9.根据权利要求8所述的方法,其特征在于,所述第二网关接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,所述方法还包括:
所述第二网关接收所述第二虚拟机发送的第四承载ARP请求报文的以太帧,所述第四承载ARP请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五SenderMAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五Target IP地址字段,所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述目的MAC地址字段的值为广播MAC地址,所述第五Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第五Target IP地址字段的值为所述第一虚拟机的IP地址,所述第五目的MAC地址字段的值为未知MAC地址;
所述第二网关将所述第四承载ARP请求报文的以太帧中的所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,并发送第四消息给信息采集服务器,所述第四消息中携带所述第二网关的标识和所述第二虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
10.根据权利要求8所述的方法,其特征在于,所述第二网关接收所述第一网关发送的所述第二承载互联网协议IP报文的以太帧之前,所述方法还包括:
所述第二网关发送第五消息给信息采集服务器,所述第五消息中携带所述第二虚拟机的MAC地址和所述第二虚拟机的IP地址的对应关系,以及,所述第二网关的标识,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
11.一种报文处理方法,其特征在于,包括:
第一虚拟机生成第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知Unknow MAC地址;
第一虚拟机向第一网关发送所述第一承载地址解析协议ARP请求报文的以太帧。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述第一虚拟机接收所述第一网关发送的第二承载ARP响应报文的以太帧,所述第二承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三SenderIP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二网关的标识,所述第三TargetIP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值均为所述第一虚拟机的MAC地址。
13.根据权利要求11所述的方法,其特征在于,还包括:
所述第一虚拟机接收所述第一网关发送的第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机获取所述第二网关的标识和所述第二虚拟机的IP地址的对应关系。
14.一种报文处理方法,其特征在于,包括:
第一虚拟机生成第一承载互联网协议IP报文的以太帧,所述第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的MAC地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
第一虚拟机向第一网关发送所述第一承载互联网协议IP报文的以太帧。
15.根据权利要求14所述的方法,其特征在于,所述第一虚拟机生成第一承载互联网协议IP报文的以太帧之前还包括:
所述第一虚拟机获取所述第二网关的标识和所述第二虚拟机的IP地址的对应关系。
16.一种报文处理方法,其特征在于,包括:
第二虚拟机生成第三承载ARP响应报文的以太帧,所述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三SenderMAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三SenderMAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值为所述第一网关的标识;
第二虚拟机向第二网关发送所述第三承载ARP响应报文的以太帧。
17.根据权利要求16所述的方法,其特征在于,所述第二虚拟机生成第三承载ARP响应报文的以太帧之前,还包括:
所述第二虚拟机接收所述第二网关发送的第二承载地址解析协议ARP请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址。
18.一种报文处理方法,其特征在于,包括:
第一网关接收第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四TargetMAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四Target MAC地址段的值为未知MAC地址;
所述第一网关向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;
所述第一网关接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;
所述第一网关向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机获取所述第二网关的标识和所述第二虚拟机的IP地址的对应关系。
19.根据权利要求18所述的方法,其特征在于,还包括:
所述第一网关发送第四消息给信息采集服务器,所述第四消息中携带所述第一网关的标识和所述第一虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第一网关的标识和所述第一虚拟机的IP地址对应关系。
20.一种网关,其特征在于,包括:
第一模块,用于接收第一虚拟机发送的第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知Unknow MAC地址;
第二模块,用于将所述第一承载ARP请求报文的以太帧中的所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值由所述第一虚拟机的MAC地址均修改为所述第一网关的标识,得到修改后的第二承载ARP请求报文的以太帧;
第三模块,用于将所述第二承载ARP请求报文的以太帧广播给第二网关,所述第二网关位于第二数据中心DC网络,所述第一网关和所述第一虚拟机位于第一DC网络。
21.根据权利要求20所述的网关,其特征在于,所述网关还包括:
第四模块,用于根据接收的第一承载ARP请求报文的以太帧记录所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址的对应关系。
22.根据权利要求21所述的网关,其特征在于,所述网关还包括:
第五模块,用于接收所述第二网关发送的第一承载ARP响应报文的以太帧,所述第一承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三SenderIP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二网关的标识,所述第三TargetIP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值均为所述第一网关的标识;
第六模块,用于根据预先存储的所述第一虚拟机的IP地址与所述第一虚拟机的MAC地址的对应关系,将所述第一承载ARP响应报文的以太帧的所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值由所述第一网关的标识均修改为所述第一虚拟机的MAC地址,得到第二承载ARP响应报文的以太帧;
第七模块,用于根据所述第一虚拟机的IP地址和所述第一虚拟机的MAC地址,将所述第二承载ARP响应报文的以太帧发送给所述第一虚拟机。
23.根据权利要求20所述的网关,其特征在于,还包括:
第八模块,用于接收第一虚拟机发送的第一承载互联网协议IP报文的以太帧,所述第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的MAC地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
第九模块,用于将所述第一承载IP报文的以太帧中的所述第一源MAC地址字段的值由所述第一虚拟机的MAC地址修改为所述第一网关的标识,得到第二承载IP报文的以太帧;
第十模块,用于根据所述第二网关的标识,将第二承载IP报文的以太帧发送给所述第二网关。
24.根据权利要求23所述的网关,其特征在于,所述网关还包括:
第十一模块,用于接收所述第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四Target MAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四Target MAC地址段的值为未知MAC地址;
第十二模块,用于向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;
第十三模块,用于接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;
第十四模块,用于向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机将所述第一承载IP报文的以太帧中的所述第一目的MAC地址字段的值填充为所述第二网关的标识。
25.一种网关,其特征在于,包括:
第一模块,用于接收第一网关发送的第二承载地址解析协议ARP请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址;
第二模块,用于将所述第二承载ARP请求报文的以太帧向第二数据中心DC网络内的虚拟机广播,所述第一网关和所述第一虚拟机位于第一DC网络,所述第二网关和所述第二虚拟机位于所述第二DC网络。
26.根据权利要求25所述的网关,其特征在于,所述网关还包括:
第三模块,用于接收所述第二虚拟机发送的第三承载ARP响应报文的以太帧,所述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三SenderIP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值为所述第一网关的标识;
第四模块,用于将所述第三承载ARP响应报文的以太帧中的所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,得到第一承载ARP响应报文的以太帧;
第五模块,用于将所述第一承载ARP响应报文的以太帧发送给所述第一网关。
27.根据权利要求25所述的网关,其特征在于,还包括:
第六模块,用于接收所述第一网关发送的第二承载互联网协议IP报文的以太帧,所述第二承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一网关的标识,所述第一目的MAC地址字段的值为第二虚拟机对应的所述第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
第七模块,用于根据预先存储的所述第二虚拟机的IP地址与所述第二虚拟机的MAC地址的对应关系,将所述第二承载IP报文的以太帧中的第一目的MAC地址字段的值由所述第二网关的标识修改为所述第二虚拟机的MAC地址,得到第三承载IP报文的以太帧;
第八模块,用于根据所述第二虚拟机的IP地址和所述第二虚拟机的MAC地址,将所述第三承载IP报文的以太帧发送给所述第二虚拟机。
28.根据权利要求27所述的网关,其特征在于,所述网关还包括:
第九模块,用于接收所述第二虚拟机发送的第四承载ARP请求报文的以太帧,所述第四承载ARP请求报文的以太帧中携带第五源MAC地址字段、第五目的MAC地址字段、第五SenderMAC地址字段、第五Target MAC地址字段、第五Sender IP地址字段以及第五Target IP地址字段,所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述目的MAC地址字段的值为广播MAC地址,所述第五Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第五Target IP地址字段的值为所述第一虚拟机的IP地址,所述第五目的MAC地址字段的值为未知MAC地址;
第十模块,用于将所述第四承载ARP请求报文的以太帧中的所述第五源MAC地址字段的值和所述第五Sender MAC地址字段的值由所述第二虚拟机的MAC地址均修改为所述第二网关的标识,并发送第四消息给信息采集服务器,所述第四消息中携带所述第二网关的标识和所述第二虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
29.根据权利要求27所述的网关,其特征在于,所述网关还包括:
第十一模块,用于发送第五消息给信息采集服务器,所述第五消息中携带所述第二虚拟机的MAC地址和所述第二虚拟机的IP地址的对应关系,以及,所述第二网关的标识,以使所述信息采集服务器记录所述第二网关的标识和所述第二虚拟机的IP地址对应关系。
30.一种虚拟机,其特征在于,包括:
第一模块,用于生成第一承载地址解析协议ARP请求报文的以太帧,所述第一承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二发送者SenderIP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标TargetMAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址,所述第二Target MAC地址字段的值为未知Unknow MAC地址;
第二模块,用于向第一网关发送所述第一承载地址解析协议ARP请求报文的以太帧。
31.根据权利要求30所述的虚拟机,其特征在于,还包括:
第三模块,用于接收所述第一网关发送的第二承载ARP响应报文的以太帧,所述第二承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三SenderIP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二网关的标识,所述第三TargetIP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三Target MAC地址字段的值均为所述第一虚拟机的MAC地址。
32.根据权利要求30所述的虚拟机,其特征在于,还包括:
第四模块,用于接收所述第一网关发送的第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机获取所述第二网关的标识和所述第二虚拟机的IP地址的对应关系。
33.一种虚拟机,其特征在于,包括:
第一模块,用于生成第一承载互联网协议IP报文的以太帧,所述第一承载IP报文的以太帧中携带第一源IP地址字段、第一源媒体接入控制MAC地址字段、第一目的MAC地址字段和第一目的IP地址字段,其中,所述第一源IP地址字段的值为所述第一虚拟机的IP地址,所述第一源MAC地址字段的值为所述第一虚拟机的MAC地址,所述第一目的MAC地址字段的值为第二虚拟机对应的第二网关的标识,所述第一目的IP地址字段的值为所述第二虚拟机的IP地址;
第二模块,用于向第一网关发送所述第一承载互联网协议IP报文的以太帧。
34.根据权利要求33所述的虚拟机,其特征在于,还包括:
第三模块,用于获取所述第二网关的标识和所述第二虚拟机的IP地址的对应关系。
35.一种虚拟机,其特征在于,包括:
第一模块,用于生成第三承载ARP响应报文的以太帧,所述第三承载ARP响应报文的以太帧中携带第三源MAC地址字段、第三目的MAC地址字段、第三Sender IP地址字段、第三Sender MAC地址字段、第三Target IP地址字段和第三Target MAC地址字段,所述第三Sender IP地址字段的值为所述第二虚拟机的IP地址,所述第三源MAC地址字段的值和所述第三Sender MAC地址字段的值均为所述第二虚拟机的MAC地址,所述第三Target IP地址字段的值为所述第一虚拟机的IP地址,所述第三目的MAC地址字段的值和所述第三TargetMAC地址字段的值为所述第一网关的标识;
第二模块,用于向第二网关发送所述第三承载ARP响应报文的以太帧。
36.根据权利要求35所述的虚拟机,其特征在于,还包括:
第三模块,用于接收所述第二网关发送的第二承载地址解析协议ARP请求报文的以太帧,所述第二承载ARP请求报文的以太帧中携带第二源MAC地址字段、第二目的MAC地址字段、第二Sender IP地址字段、第二Sender MAC地址字段、第二目标Target IP地址字段和第二目标Target MAC地址字段,所述第二Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第二源MAC地址字段的值和所述第二Sender MAC地址字段的值均为所述第一网关的标识,所述第二目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第二目的MAC地址字段的值为广播MAC地址;所述第二Target MAC地址字段的值为未知MAC地址。
37.一种网关,其特征在于,包括:
第一模块,用于接收第一虚拟机发送的第三承载地址解析协议ARP请求报文的以太帧,所述第三承载ARP请求报文的以太帧中携带第四源MAC地址字段、第四目的MAC地址字段、第四Sender IP地址字段、第四Sender MAC地址字段、第四Target IP地址字段和第四TargetMAC地址字段,所述第四Sender IP地址字段的值为所述第一虚拟机的IP地址,所述第四源MAC地址字段的值和所述第四Sender MAC地址字段的值均为所述第一虚拟机的MAC地址,所述第四目标Target IP地址字段的值为所述第二虚拟机的IP地址,所述第四目的MAC地址字段的值为广播MAC地址,所述第四Target MAC地址段的值为未知MAC地址;
第二模块,用于向信息采集服务器发送获取所述第二虚拟机的MAC地址的第一请求消息,所述第一请求消息中携带所述第二虚拟机的IP地址;
第三模块,用于接收所述信息采集服务器根据预先存储的所述第二网关的标识和所述第二虚拟机的IP地址对应关系返回的第一响应消息,所述第一响应消息中携带所述第二网关的标识;
第四模块,用于向所述第一虚拟机发送第四承载ARP响应报文的以太帧,所述第四承载ARP响应报文的以太帧中携带所述第二网关的标识,以使所述第一虚拟机获取所述第二网关的标识和所述第二虚拟机的IP地址的对应关系。
38.根据权利要求37所述的网关,其特征在于,还包括:
第五模块,用于发送第四消息给信息采集服务器,所述第四消息中携带所述第一网关的标识和所述第一虚拟机的IP地址的对应关系,以使所述信息采集服务器记录所述第一网关的标识和所述第一虚拟机的IP地址对应关系。
CN201711000834.2A 2013-03-08 2013-03-08 报文处理方法和网关 Active CN107920020B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711000834.2A CN107920020B (zh) 2013-03-08 2013-03-08 报文处理方法和网关

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711000834.2A CN107920020B (zh) 2013-03-08 2013-03-08 报文处理方法和网关
CN201310074555.6A CN104038422B (zh) 2013-03-08 2013-03-08 报文转发方法和网关

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201310074555.6A Division CN104038422B (zh) 2013-03-08 2013-03-08 报文转发方法和网关

Publications (2)

Publication Number Publication Date
CN107920020A true CN107920020A (zh) 2018-04-17
CN107920020B CN107920020B (zh) 2021-01-15

Family

ID=51469014

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310074555.6A Active CN104038422B (zh) 2013-03-08 2013-03-08 报文转发方法和网关
CN201711000834.2A Active CN107920020B (zh) 2013-03-08 2013-03-08 报文处理方法和网关

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201310074555.6A Active CN104038422B (zh) 2013-03-08 2013-03-08 报文转发方法和网关

Country Status (2)

Country Link
CN (2) CN104038422B (zh)
WO (1) WO2014135024A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385293A (zh) * 2020-03-04 2020-07-07 腾讯科技(深圳)有限公司 一种网络风险检测方法和装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102332471B1 (ko) 2015-05-08 2021-11-30 삼성전자주식회사 동기 신호 검출을 위한 장치 및 방법
WO2017113231A1 (zh) * 2015-12-30 2017-07-06 华为技术有限公司 一种报文传输的方法、装置和系统
CN109495570B (zh) * 2018-11-20 2022-04-26 锐捷网络股份有限公司 采样报文的转发方法、装置及数据中心
CN110753109B (zh) * 2019-10-21 2022-04-29 深信服科技股份有限公司 网关互联方法、网关设备、存储介质及装置
CN113922987B (zh) * 2021-07-12 2022-12-06 北京北斗弘鹏科技有限公司 数据安全传输方法、设备、系统和存储介质
CN113726658B (zh) * 2021-08-09 2022-10-18 中国联合网络通信集团有限公司 一种路由转发方法及装置
CN116055446B (zh) * 2023-01-30 2023-11-17 杭州优云科技有限公司 跨网络的报文转发方法、电子设备及机器可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050013321A1 (en) * 2003-07-18 2005-01-20 Samsung Electronics Co., Ltd. Gateway and control method thereof
CN101924707A (zh) * 2010-09-27 2010-12-22 杭州华三通信技术有限公司 地址解析协议报文的处理方法和设备
US7881208B1 (en) * 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
CN102217245A (zh) * 2011-05-24 2011-10-12 华为技术有限公司 处理报文的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480420A (zh) * 2010-11-29 2012-05-30 北京系统工程研究所 报文发送方法以及报文接收方法、装置及系统
US10142218B2 (en) * 2011-01-14 2018-11-27 International Business Machines Corporation Hypervisor routing between networks in a virtual networking environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881208B1 (en) * 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
US20050013321A1 (en) * 2003-07-18 2005-01-20 Samsung Electronics Co., Ltd. Gateway and control method thereof
CN101924707A (zh) * 2010-09-27 2010-12-22 杭州华三通信技术有限公司 地址解析协议报文的处理方法和设备
CN102217245A (zh) * 2011-05-24 2011-10-12 华为技术有限公司 处理报文的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385293A (zh) * 2020-03-04 2020-07-07 腾讯科技(深圳)有限公司 一种网络风险检测方法和装置

Also Published As

Publication number Publication date
CN104038422A (zh) 2014-09-10
CN104038422B (zh) 2017-11-17
WO2014135024A1 (zh) 2014-09-12
CN107920020B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN104038422B (zh) 报文转发方法和网关
US9602375B2 (en) Tracing host-originated logical network packets
CN103200069B (zh) 一种报文处理的方法和设备
CN104426681B (zh) 端点的分布式多播
CN103200209B (zh) 成员资源的访问方法、群组服务器和成员设备
CN103179228B (zh) 因特网协议地址解析方法及边缘节点
US10355991B1 (en) Managing communications using alternative packet addressing
CN101488904B (zh) Gre隧道穿越网络地址转换设备的方法和网络地址转换设备
US7865586B2 (en) Configuring communications between computing nodes
CN106464564B (zh) 用于网络分组封装和路由的方法、系统和计算机可读介质
CN103259725B (zh) 报文发送方法和网络设备
US20070286093A1 (en) Method of routing multicast traffic
TW201737667A (zh) 用於網路的負載均衡、控制及網路交互的方法和裝置
CN104243269A (zh) 一种虚拟扩展局域网报文的处理方法及装置
US20160261428A1 (en) Packet Forwarding
EP3709182A2 (en) Configuring communications between computing nodes
KR20160057433A (ko) 논리적 라우터
EP3451592B1 (en) Packet transmission between vxlan domains
CN103841028A (zh) 一种报文转发方法及设备
CN103516542A (zh) 网络系统及其管理装置、其交换机
CN107659484B (zh) 从vlan网络接入vxlan网络的方法、装置及系统
CN107580079A (zh) 一种报文传输方法和装置
CN108600074A (zh) 组播数据报文的转发方法及装置
CN104618243A (zh) 路由方法、装置及系统、网关调度方法及装置
CN101800781A (zh) 一种穿越nat的隧道过渡方法及系统

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