CN105591916A - 一种报文传输方法及装置 - Google Patents

一种报文传输方法及装置 Download PDF

Info

Publication number
CN105591916A
CN105591916A CN201410568124.XA CN201410568124A CN105591916A CN 105591916 A CN105591916 A CN 105591916A CN 201410568124 A CN201410568124 A CN 201410568124A CN 105591916 A CN105591916 A CN 105591916A
Authority
CN
China
Prior art keywords
nve equipment
message
nve
address
equipment
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
CN201410568124.XA
Other languages
English (en)
Other versions
CN105591916B (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 CN201410568124.XA priority Critical patent/CN105591916B/zh
Priority to PCT/CN2015/088892 priority patent/WO2016062169A1/zh
Priority to EP15852122.9A priority patent/EP3197107B1/en
Publication of CN105591916A publication Critical patent/CN105591916A/zh
Priority to US15/494,334 priority patent/US10193707B2/en
Application granted granted Critical
Publication of CN105591916B publication Critical patent/CN105591916B/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/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

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

本发明实施例提供一种报文传输方法及装置,方法包括:第一NVE设备接收第一报文,第一报文包括第一源地址和第一目的地址;第一NVE设备获得多活接入配置信息列表,列表包括第一表项和第二表项,第一表项包括第一多活组的标识、VNI和第一NVE设备的标识,第二表项包括第二多活组的标识、VNI和属于第二多活组的至少两个NVE设备的标识;第一NVE设备根据第一NVE设备的标识获得VNI;并查找对应于VNI的至少一个多活组,至少一个多活组包括第二多活组,从属于第二多活组的至少两个NVE设备中选取第二NVE设备;第一NVE设备利用第二NVE设备的标识和VNI封装第一报文,发送封装后的第一报文。实现报文的正确传输。

Description

一种报文传输方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种报文传输方法及装置。
背景技术
覆盖网络(英文:overlay)技术是一种在现有网络架构上进行网络叠加的虚拟化技术,举例来说,可在IP网络之上叠加overlay形成层3网络虚拟化(英文:NetworkVirtualizationoverLayer3,简称:NVo3)。具体地,overlay可以为集中式网络,例如,虚拟可扩展局域网(英文:VirtualExtensibleLocalAreaNetwork,简称:VXLAN)、采用通用路由封装的虚拟化(英文:NetworkVirtualusingGenericRoutingEncapsulation,简称:NVGRE)等。
链路聚合(英文:linkaggregation)技术可以提高数据传输的带宽和健壮性。链路聚合技术是将两个或更多网络连接聚合成一个具有更高带宽的逻辑链路。
为了进一步提高网络性能,可以将overlay技术和链路聚合技术相结合,如此结合之后,随之而来的一个问题便是,报文如何在结合有这两种技术的网络中正确传输。
发明内容
本发明实施例的报文传输方法及装置,提供了一种结合有overlay技术和链路聚合技术的网络中,报文传输的实现方案。
为此,本发明实施例提供如下技术方案:
第一方面,提供了一种报文传输方法,所述方法包括:
第一虚拟网络边缘NVE设备接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化;
所述第一NVE设备获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和所述第一NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识;
所述第一NVE设备根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例;
所述第一NVE设备查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备;
所述第一NVE设备利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文,向所述第二NVE设备发送封装后的第一报文。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一NVE设备获得多活接入配置信息列表包括:所述第一NVE设备接收来自控制器的所述多活接入配置信息列表。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述多活接入信息配置列表以另一个下一代YANG语言描述,所述第一表项采用树状结构承载所述第一多活组的标识、所述虚拟网络实例和所述第一NVE设备的标识,其中,所述第一多活组的标识为根节点,所述第一NVE设备的标识和所述虚拟网络实例为子节点。
结合第一方面,第一方面的第一种和第二种可能的实现方式中的任意一个,在第一方面的第三种可能的实现方式中,所述多活接入配置信息列表还包括第三表项,所述第三表项包括第三多活组的标识、所述虚拟网络实例和属于所述第三多活组的至少两个NVE设备的标识,所述至少一个多活组包括所述第二多活组和所述第三多活组;
所述向所述第二NVE设备发送封装后的第一报文包括:
所述第一NVE设备判断所述第二表项是否还包括第二虚拟机的地址;
如果所述第二表项还包括所述第二虚拟机的地址,所述第一NVE设备查找对应于所述第二虚拟机的地址的所述第二多活组,向所述第二NVE设备发送所述封装后的第一报文。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,如果所述第二表项不包括所述第二虚拟机的地址,所述第一NVE设备向属于所述第二多活组的至少两个NVE设备和属于所述第三多活组的至少两个NVE设备发送所述封装后的第一报文。
结合第一方面,第一方面的第一种至第四种可能的实现方式中的任意一个,在第一方面的第五种可能的实现方式中,所述第一表项包括所述第一多活组的标识、所述虚拟网络实例、所述第一NVE设备的标识和所述第一虚拟机的地址,所述方法还包括:
所述第一NVE设备接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化;
所述第一NVE设备对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址;
所述第一NVE设备判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址;
如果所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,所述第一NVE设备根据所述第二目的地址,发送所述拆封装后的第二报文。
第二方面,提供了一种报文传输装置,所述装置包括:
第一接收单元,用于接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化;
第一获得单元,用于在所述第一接收单元接收到所述第一报文,获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和第一虚拟网络边缘NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识;
第二获得单元,用于从所述第一获得单元获得的所述多活接入配置信息列表中,根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例;
查找单元,用于从所述第一获得单元获得的所述多活接入配置信息列表中,查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备;
封装单元,用于利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文;
第一发送单元,用于向所述第二NVE设备发送所述封装单元封装后的第一报文。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一获得单元,具有用于接收来自控制器的所述多活接入配置信息列表。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一获得单元获得的所述多活接入信息配置列表以另一个下一代YANG语言描述,所述第一表项采用树状结构承载所述第一多活组的标识、所述虚拟网络实例和所述第一NVE设备的标识,其中,所述第一多活组的标识为根节点,所述第一NVE设备的标识和所述虚拟网络实例为子节点。
结合第二方面,第二方面的第一种和第二种可能的实现方式中的任意一个,在第二方面的第三种可能的实现方式中,所述多活接入配置信息列表还包括第三表项,所述第三表项包括第三多活组的标识、所述虚拟网络实例和属于所述第三多活组的至少两个NVE设备的标识,所述至少一个多活组包括所述第二多活组和所述第三多活组;
所述第一发送单元,具体用于判断所述第二表项是否还包括第二虚拟机的地址;并在所述第二表项还包括所述第二虚拟机的地址时,查找对应于所述第二虚拟机的地址的所述第二多活组,向所述第二NVE设备发送所述封装后的第一报文。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一发送单元,还用于在所述第二表项不包括所述第二虚拟机的地址时,向属于所述第二多活组的至少两个NVE设备和属于所述第三多活组的至少两个NVE设备发送所述封装后的第一报文。
结合第二方面,第二方面的第一种至第四种可能的实现方式中的任意一个,在第二方面的第五种可能的实现方式中,所述第一表项包括所述第一多活组的标识、所述虚拟网络实例、所述第一NVE设备的标识和所述第一虚拟机的地址,所述装置还包括:
第二接收单元,用于接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化;
拆封装单元,用于对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址;
判断单元,用于判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址;
第二发送单元,用于在所述判断单元判定所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,根据所述第二目的地址,发送所述拆封装后的第二报文。
第三方面,提供了一种报文传输设备,所述设备包括:处理器和存储器;
所述存储器,用于存储程序指令和数据;
所述处理器,用于读取所述存储器中存储的程序指令和数据,执行以下操作:
所述处理器接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化;
所述处理器获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和所述第一虚拟网络边缘NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识;
所述处理器根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例;
所述处理器查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备;
所述处理器利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文,向所述第二NVE设备发送封装后的第一报文。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器获得多活接入配置信息列表包括:所述处理器接收来自控制器的所述多活接入配置信息列表。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器获得的所述多活接入信息配置列表以另一个下一代YANG语言描述,所述第一表项采用树状结构承载所述第一多活组的标识、所述虚拟网络实例和所述第一NVE设备的标识,其中,所述第一多活组的标识为根节点,所述第一NVE设备的标识和所述虚拟网络实例为子节点。
结合第三方面,第三方面的第一种和第二种可能的实现方式中的任意一个,在第三方面的第三种可能的实现方式中,所述多活接入配置信息列表还包括第三表项,所述第三表项包括第三多活组的标识、所述虚拟网络实例和属于所述第三多活组的至少两个NVE设备的标识,所述至少一个多活组包括所述第二多活组和所述第三多活组;
所述处理器向所述第二NVE设备发送封装后的第一报文包括:
所述处理器判断所述第二表项是否还包括第二虚拟机的地址;
如果所述第二表项还包括所述第二虚拟机的地址,所述处理器查找对应于所述第二虚拟机的地址的所述第二多活组,向所述第二NVE设备发送所述封装后的第一报文。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,如果所述第二表项不包括所述第二虚拟机的地址,所述处理器向属于所述第二多活组的至少两个NVE设备和属于所述第三多活组的至少两个NVE设备发送所述封装后的第一报文。
结合第三方面,第三方面的第一种至第三种可能的实现方式中的任意一个,在第三方面的第四种可能的实现方式中,所述第一表项包括所述第一多活组的标识、所述虚拟网络实例、所述第一NVE设备的标识和所述第一虚拟机的地址,所述处理器还执行以下操作:
所述处理器接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化;
所述处理器对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址;
所述处理器判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址;
如果所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,所述处理器根据所述第二目的地址,发送所述拆封装后的第二报文。
本发明实施例的报文传输方法及装置,在进行多活接入配置时,可将多活接入配置信息列表下发至NVo3网络中的各个NVE设备,当需要第一NVE设备发送报文时,第一NVE设备可以根据保存的多活接入配置信息列表获得VNI,并根据VNI查找到第二NVE设备,进而对报文进行封装处理后,正确转发至第二NVE设备。对应地,当需要第一NVE设备接收报文时,第一NVE设备对接收的报文进行拆封装处理,还原出报文中包括的目的地址,进而将报文转发至目的地址对应的VM。如此过程,即可实现报文的正确传输。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1是本发明实施例中NVo3网络的网络示意图;
图2是本发明实施例中多活接入配置信息列表的树状结构示意图;
图3是本发明实施例中报文传输方法实施例1的流程图;
图4是本发明实施例中报文传输方法实施例2的流程图;
图5是本发明实施例中报文传输方法实施例3的流程图;
图6是本发明实施例中报文传输装置的示意图;
图7是本发明实施例中报文传输设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
在介绍本发明实施例技术方案之前,先对本发明实施例的具体应用场景进行解释说明。
为了解决业务需求与网络处理能力之间的冲突,可以在传统网络的基础上搭建overlay,以提高网络的处理能力。举例来说,可以在传统IP网络的基础上搭建overlay,形成NVo3网络。与传统IP网络的处理能力相比,NVo3网络增加了对overlay层数据报文的传输,即,提高网络的处理能力可体现在增加了网络支持的数据报文格式;另外,NVo3网络还提供了大量可供租户(英文:tenant)使用的虚拟网络边缘(英文:NetworkVirtualizationEdge,简称:NVE)设备,即,提高网络的处理能力可体现在增加了网络的接入节点数。目前,NVo3的overlay可体现为在IP网络的基础上搭建的集中式虚拟化网络,如,VXLAN或NVGRE等。举例来说,本发明实施例中的NVE设备可以是,位于网络边缘,可实现二层和/或三层虚拟网络功能的网络实体,具体可参见请求注解(英文:RequestforComments,简称:RFC)7365中的描述,此处不做详述。
为了进一步优化NVo3网络,提高NVo3网络的数据传输性能,发明人在研发过程中发现,可以结合多活接入技术,实现虚拟机(英文:virtualmachine,简称:VM)到NVo3网络的NVE设备的多活接入,从而提高NVo3网络的数据传输带宽和健壮性。本发明实施例即是为此而提出,下面分别对多活接入NVo3网络过程中涉及的多活接入配置方式、配置完成后的数据传输方式进行解释说明。
参见图1所示网络示意图,NVE设备1、NVE设备2、NVE设备3、NVE设备4、NVE设备5均为NVo3网络的边缘设备,VM1、VM2、VM3为物理服务器server1进行操作系统虚拟化(英文:operatingsystemlevelvirtualization)获得的虚拟机,VM4为物理服务器server2进行操作系统虚拟化获得的虚拟机,其中,server1与server2为数据中心(英文:datacenter,简称:DC)的服务器。server1可通过局域网(英文:localareanetwork,简称:LAN)设备LAN10连接NVo3网络,server2可通过LAN20连接NVo3网络。其中,LAN10和LAN20可以为物理设备,也可以为虚拟设备。可选地,局域网设备可以为交换机,也可以为路由器。
举例来说,NVE设备1与LAN10之间的链路、NVE设备2与LAN10之间的链路、NVE设备3与LAN10之间的链路进行了链路聚合,如,采用多机箱链路聚合(英文:Multi-ChassisLinkAggregationGroup,简称:MC-LAG)技术将上述三条链路进行链接捆绑,则NVE设备1、NVE设备2和NVE设备3属于一个多活边缘设备组(英文:active-active-edgedevicegroup)。该多活边缘设备组为第一多活组,NVE设备1、NVE设备2、NVE设备3均为第一多活组的多活成员。同样地,基于链路聚合技术形成的第二多活组的多活成员可以为NVE设备4和NVE设备5。
关于多活接入,可以理解为,在一次报文传输过程中,VM可以连接到多活组包括的多个多活成员中的任一个,以便进行报文的发送或接收。举例来说,当server1提供的VM1需要连接NVo3网络时,VM1可以连接到NVE设备1、NVE设备2和NVE设备3中的任一个。
另外,结合实际应用需求,租户可以将VM1、VM2和VM3划分到第一用户组,并将LAN10的虚拟局域网(英文:virtuallocalareanetwork,简称:VLAN)标识VLAN10分配给所述第一用户组,即,VM1、VM2、VM3可通过LAN10的VLAN10向LAN10发送数据报文,LAN10亦可通过VLAN10向NVE设备转发所述数据报文。同样地,租户还可将VM4划分到第二用户组,并将LAN20的VLAN10分配给第二用户组。
在实际应用中,第一用户组可多活接入第一多活组,第二用户组可多活接入第二多活组。下面以第一用户组可多活接入第一多活组为例,对本发明实施例的多活配置方式进行解释说明。
(1)生成多活接入配置信息列表,列表中保存NVo3网络中的每个NVE设备的配置信息。
当NVE设备作为数据发送方时,配置信息至少可包括:多活组的标识、虚拟网络实例(英文:VirtualNetworkInstance,简称:VNI)和属于所述多活组的至少两个NVE设备的标识。当NVE设备作为数据接收方时,配置信息至少可包括:多活组的标识、VNI、属于所述多活组的至少两个NVE设备的标识和VM的地址。当然,本发明实施例对网络中的NVE设备可不做区分处理,即,不论NVE设备是数据发送方,还是数据接收方,NVE设备的配置信息均可体现为:多活组的标识、VNI、属于所述多活组的至少两个NVE设备的标识和VM的地址。作为一种可实现方式,可以建立上述配置信息之间的对应关系,即,多活接入配置信息列表以表项方式保存每个NVE设备的配置信息。
举例来说,从NVE设备的角度考虑,本发明实施例中的VNI可以是overlay的一个具体实例,具体可参见标准RFC7365中所做介绍,此处不做详述。
举例来说,VM的标识可体现为VM的名称和/或VM的地址,其中,VM的地址可以为VM的MAC地址或者VM的IP地址。
举例来说,NVE设备的标识可体现为NVE设备的名称和/或NVE设备的地址,其中,NVE设备的地址可以为NVE设备的IP地址,举例来说,IP地址可以为IPv4地址或IPv6地址。
举例来说,多活组的标识可以为多活组的编号,如,第一多活组可以用编号1表示、第二多活组可以用编号2表示;或者,考虑到用户组中的VM是通过配置的LAN接入NVE设备,故多活组的标识还可以为VM接入本多活组时使用的LAN标识,如,第一多活组可以用LAN10表示、第二多活组可以用LAN20表示。
举例来说,VNI主要用于供NVE设备识别具有数据传输需求的多活组,VNI可以体现为预设编号,如VIN100。可选地,识别具有数据传输需求的多活组可体现为:如果NVE设备1的配置信息中虚拟网络实例为VNI100,NVE设备4的配置信息中虚拟网络实例也为VNI100,如此,就可以确定NVE设备1所属第一多活组与NVE设备4所属第二多活组之间可以进行数据传输。
需要说明的是,本发明实施例对NVE设备的标识、VNI、多活组的标识的具体表现形式可不做具体限定。另外,对于VNI所起的作用,此处暂不做详述,具体可参见下文在图3所示示例中的解释说明。
结合上文所做介绍,以图1所示网络示意图为例,多活接入配置信息列表中至少可包括NVE设备1、NVE设备2、NVE设备3、NVE设备4、NVE设备5对应的表项。举例来说,各NVE设备对应的表项可体现如下:
NVE设备1对应的表项可包括:LAN10、VNI100、NVE设备1的IP地址、VM1~VM3的MAC地址,
NVE设备2对应的表项可包括:LAN10、VNI100、NVE设备2的IP地址、VM1~VM3的MAC地址,
NVE设备3对应的表项可包括:LAN10、VNI100、NVE设备3的IP地址、VM1~VM3的MAC地址,
NVE设备4对应的表项可包括:LAN20、VNI100、NVE设备4的IP地址、VM4的MAC地址,
NVE设备5对应的表项可包括:LAN20、VNI100、NVE设备5的IP地址、VM4的MAC地址。
可选地,本发明实施例并不对生成多活接入配置列表的方式做具体限定,作为一种示例,可通过另一个下一代(英文:YetAnotherNextGeneration,简称:YANG)语言来描述多活接入信息配置列表。对应于此,上述表项中的配置信息可体现为图2所示的树状结构,图中通过不同缩进深度来表示树状结构中根节点与子节点间的层属关系。由图中所示可知,多活组的标识为根节点,VM的列表、NVE设备的列表和VNI为子节点。其中,VM的列表中包括的是能多活接入本多活组的VM的地址,NVE设备的列表中包括的是本多活组所包括的多活成员的标识。可选地,为了进行NVE设备内部水平分割以及端口负载均衡,NVE设备的列表中还可进一步包括接口(英文:interface)号。
(2)将上述生成的多活接入配置信息列表发送至NVo3网络中的每个NVE设备。
作为一种可实现方式,上述多活接入配置信息列表可以是NVo3网络中的任一设备生成并以广播方式发送至各NVE设备;或者,考虑到本发明实施例中的overlay为集中式虚拟化网络,所述设备生成多活接入配置信息列表后,可将列表发送至集中式网络中的控制器(英文:controller),进而由Controller以广播方式将列表推送至各NVE设备;再者,为了最大程度的提高本发明实施例进行多活配置的效率,还可由Controller生成多活接入配置信息列表并下发至各NVE设备。本发明实施例对列表的生成、下发等过程和方式可不做具体限定,只要使NVo3网络中的每个NVE设备都保存有多活接入配置信息列表即可。
对应地,接收到列表的NVE设备通过列表中的多活组标识至少可获得如下信息,从而完成多活接入配置过程:
(a)确定本NVE设备为多活设备,还是单活设备。如果列表中不存在与本NVE设备具有相同多活组标识的其它NVE设备,则本NVE设备为单活设备;如果列表中存在与本NVE设备具有相同多活组标识的其它NVE设备,则本NVE设备为多活设备。
需要说明的是,单活设备是相对多活设备的一个概念,可以理解为,单活NVE设备与交换机相连的链路未与其它链路进行链路捆绑,即,VM通过交换机只能唯一接入该单活NVE设备。
(b)确定多活组。可以将具有相同多活组标识的NVE设备确定为一个多活组,如此,NVE设备就可以知晓网络中存在哪些多活组以及每个多活组包括的多活成员。
在实际应用中,单活设备也可以视为是一个多活组,只不过该多活组只包括一个NVE设备,本发明实施例对此可不做具体限定。
由上述多活接入配置过程可知,本发明实施例在进行多活接入配置时,无需NVE设备之间进行控制信令交互,可降低配置过程对网络资源的消耗,简便快捷的实现多活接入配置。
本发明实施例提供的报文传输方案,主要适应于不同服务器提供的虚拟机之间有报文传输需求场景,对于同一服务器提供的虚拟机之间的交互,可由转发设备进行报文转发,如,VM1与VM2之间交互的数据报文可通过LAN10进行转发。下面结合具体示例对本发明实施例的报文传输方法进行解释说明。
参见图3,示出了本发明实施例报文传输方法实施例1的流程图,可包括:
101,第一虚拟网络边缘NVE设备设备接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化。
本实施例1示出的是NVE设备发送报文的实现方式,下面以图1中的VM1向VM4发送报文的场景为例,对本发明实施例NVE设备的报文发送过程进行解释说明。本示例中转发设备可体现为交换机。
在有数据传输需求时,VM1可通过预配置的VLAN10向LAN10发送第一报文,第一报文中包括第一源地址、第一目的地址和第一载荷,其中,第一源地址可为VM1的地址,第一目的地址可为VM4的地址。交换机中保存有LAN与NVE设备的对应关系、以及与NVE设备相连的链路的聚合信息,因此,在LAN10接收到经由VLAN10传送来的第一报文后,LAN10即可从第一多活组中选择一个NVE设备,并通过VLAN10将第一报文转发至该选择出的NVE设备。举例来说,LAN10可以根据NVE设备1~NVE设备3的当前负载情况,通过负载均衡技术从中选取一个NVE设备。
例如,LAN10选择出的NVE设备为NVE设备1,即,上文中的第一NVE设备为NVE设备1,则本实施例1示出的即是NVE设备1进行报文发送的处理流程。
102,所述第一NVE设备获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和所述第一NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识。
103,所述第一NVE设备根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例。
104,所述第一NVE设备查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备。
105,所述第一NVE设备利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文,向所述第二NVE设备发送封装后的第一报文。
NVE设备1接收到LAN10转发的第一报文,便可获取NVE设备1本地保存的多活接入配置信息列表,做如下处理:
(1)NVE设备1读取列表中NVE设备1对应的表项,获取NVE设备1的标识所对应的虚拟网络实例VNI100。
(2)作为虚拟网络实例所起作用的一种体现,NVE设备1可以遍历列表中的表项,查找对应于VNI100的至少一个多活组,并从所述至少一个多活组包括的第二多活组中选取第二NVE设备。举例来说,选取的第二NVE设备为NVE设备4。
举例来说,第二NVE设备至少符合如下条件:第二NVE设备与第一NVE设备属于不同多活组,且第一目的地址对应的虚拟机可以接入第二NVE设备。对于本发明实施例查找第二NVE设备的方式,此处暂不详述,具体可参见下文介绍的三种场景。
需要说明的是,由表项包括的配置信息可知,VNI对应于多活组的标识,多活组的标识又唯一对应一个多活组,即,VNI与多活组之间亦为对应关系。
(3)NVE设备1利用VNI100和NVE设备4的地址封装第一报文,并向第二NVE设备发送封装后的第一报文,封装后的第一报文中包括VNI100、NVE设备4的地址、VM1的地址、VM4的地址和第一载荷。
相对现有技术依赖VLAN进行租户隔离的方案,本发明实施例利用VNI对第一报文进行封装,即可通过VLAN结合VNI的方式进行租户隔离,提高NVo3网络可以隔离的租户数量。这也是本发明实施例中虚拟网络实例所起作用的另一种体现。
结合实际应用,本发明实施例中选取第二NVE设备的过程可能存在以下三种场景:
场景一,NVE设备1保存的列表中存在第一目的地址。
如此,NVE设备1便可利用VNI00和VM4的地址查找到第二多活组,第二多活组中包括NVE设备4和NVE设备5,NVE设备1可以从二者中选择一个NVE设备作为第二NVE设备,如,NVE设备1选择NVE设备4作为第二NVE设备。举例来说,NVE设备1可以随机从二者中选择第二NVE设备,或者,NVE设备1还可通过负载均衡技术从二者中选择第二NVE设备,本发明实施例对NVE设备1选择第二NVE设备的方式可不做具体限定。
本场景中,不论第一多活组是否只与一个多活组进行数据交互,均可准确查找到第二多活组,并从第二多活组中选取第二NVE设备。
场景二,NVE设备1保存的列表中不存在第一目的地址,且第一多活组只可与一个多活组进行数据交互。
如此,NVE设备1便可利用VNI100查找到第一多活组和第二多活组,第一多活组中包括NVE设备1、NVE设备2和NVE设备3,第二多活组中包括NVE设备4和NVE设备5。为了避免出现路由环路,NVE设备1可以筛除第一多活组,保留第二多活组,同样地,NVE设备1可以从第二多活组中选取第二NVE设备。
场景三,NVE设备1保存的列表中不存在第一目的地址,且第一多活组不只与一个多活组进行数据交互。
举例来说,在图1所示示意图的基础上,NVo3网络中还存在NVE设备6,若NVE设备6对应的表项包括:LAN30、VNI100和NVE设备6的IP地址,则NVE设备1可以利用VNI100查找到第一多活组、第二多活组和第三多活组。为了避免出现路由环路,NVE设备1可以筛除第一多活组,保留第二多活组和第三多活组,此时NVE设备1暂时不能选择出VM4接入的NVE设备,但可以确定VM4至少能接入这两个多活组中的一个,即,保留的两个多活组中包括第二NVE设备。
可以理解的,NVE设备1保存的列表中存在第一目的地址,即,列表中NVE设备4对应的表项和NVE设备5对应的表项中包括VM4的地址。需要说明的是,VM4的地址,可以是在生成列表时即存在于列表中,即NVE设备1通过静态配置的方式在本地保存VM4的地址。或者,VM4的地址,也可以是NVE设备1动态学习后保存于列表中,举例来说,NVE设备1可通过地址解析协议(英文:AddressResolutionProtocol,简称:ARP)帧、反向地址转换协议(英文:ReverseAddressResolutionProtocol,简称:RARP)帧、数据(英文:data)帧获取可接入NVE设备4和NVE设备5的VM4的地址。本发明实施例对NVE设备1获得VM4的地址的方式、NVE设备1动态学习的方式等可不做具体限定。
针对上述查找第二NVE设备的三个场景,本发明实施例提供了如下两种发送封装后的第一报文的方式:
方式一,如果NVE设备1在场景一或场景二下获取到NVE设备4,即,NVE设备1能明确VM4可接入的NVE设备,NVE设备1可向NVE设备4发送封装后的第一报文。对应于此,本方式中用于封装第一报文的第二NVE设备的标识可为NVE设备4的IP地址。
方式二,如果NVE设备1在场景三下获取到至少两个多活组,即,NVE设备1不能明确VM4可接入的NVE设备,NVE设备1可向属于所述至少两个多活组的NVE设备发送封装后的第一报文。具体地,NVE设备1可以利用组播技术向所述属于所述至少两个多活组的NVE设备发送封装后的第一报文,对应于此,本方式中用于封装第一报文的第二NVE设备的标识可为组播组的IP地址;或者,NVE设备1也可以分别向每个所述属于所述至少两个多活组的NVE设备发送封装后的第一报文,对应于此,本方式中用于封装第一报文的第二NVE设备的标识可为对应NVE设备的IP地址。举例来说,组播组可以是由具有VNI100的所有NVE设备形成,如,由NVE设备1、NVE设备2、NVE设备3、NVE设备4、NVE设备5和NVE设备6形成;或者,组播组也可以是由NVE设备1保留的具有VNI100的所有NVE设备形成,如,由NVE设备4、NVE设备5和NVE设备6形成,本发明实施例对组播组包括的组播成员可不做具体限定。
综上,利用本发明实施例提供的方案,就实现了NVo3网络中两个服务器提供的虚拟机之间的数据交互过程,特别是交互过程中涉及的报文发送的实现方案。
参见图4,示出了本发明实施例报文传输方法实施例2的流程图,可包括:
201,所述第一NVE设备接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化。
第一NVE设备除了可按照图3所示流程向第二NVE设备发送报文之外,还可接收第四NVE设备发送来的报文,并正确将接收到的报文转发至对应的虚拟机。本实施例2示出的即是NVE设备接收报文的实现方式。
举例来说,根据实际通信需求,第四NVE设备可以是图3所示实施例中的第二NVE设备,或者,第四NVE设备也可以是除所述第二NVE设备之外的其它NVE设备,本发明实施例对此可不做具体限定。下面以图1中的VM1接收VM4发送的报文为例,对本发明实施例NVE设备的报文接收过程进行解释说明。举例来说,第一NVE设备可以为NVE设备1、第四NVE设备可以为NVE设备4、第一虚拟机可以为VM1、第三虚拟机可以为VM4。
在有数据传输需求时,VM4可通过预配置的VLAN10向LAN20发送报文,进而通过LAN20将所述报文转发至NVE设备4,NVE设备4则可按照图3所示方案对所述报文进行封装处理,生成第二报文,第二报文中包括VNI100、NVE设备1的地址、VM4的地址、VM1的地址和第二载荷。同时,NVE设备4还可根据本地保存的多活接入配置信息列表(列表中不存在VM1的地址),利用NVI100查找到NVE设备1~NVE设备3、NVE设备6,且根据LAN可知四者不属于同一多活组,NVE设备4暂时无法确定出VM1接入的NVE设备,故,作为一种示例,NVE设备4可利用组播技术向四者发送第二报文,对应地,NVE设备1的地址可体现为NVE设备1所属组播组的地址。本步骤即是NVE设备1接收NVE设备4利用组播技术发送的第二报文。
202,所述第一NVE设备对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址。
203,所述第一NVE设备判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址。
204,如果所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,所述第一NVE设备根据所述第二目的地址,发送所述拆封装后的第二报文。
NVE设备1接收到NVE设备4转发的第二报文后,便可根据第二报文中包括的第一NVE设备的标识,判断所述第二报文是否为发送给本NVE设备1的报文,如果第一NVE设备的标识为NVE设备1的地址,则可判定NVE设备1为第二报文的合法接收者,NVE设备1可以按照本实施例方案对第二报文进行后续处理;如果第一NVE设备的标识并非NVE设备1的地址,则可判定NVE设备1不是第二报文的合法接收者,NVE设备1可对第二报文做丢弃处理,本发明实施例对此可不做具体限定。
如果NVE设备1判定其为第二报文的合法接收者,NVE设备1则可按照本发明实施例方案对第二报文做如下后续处理:
(1)为了实现NVE设备1到VM1的报文传输,NVE设备1可对第二报文进行拆封装处理,去掉NVE设备4封装的VNI100和组播组的地址,获得拆封装后的第二报文。拆封装后的第二报文中包括VM4的地址、VM1的地址和第三载荷。
(2)NVE设备1读取本地保存的列表中NVE设备1对应的表项,判断VM1是否可接入NVE设备1,如果可以,NVE设备1可通过LAN10向VM1发送拆封装后的第二报文,完成第二报文的接收和转发。举例来说,判断VM1是否可接入NVE设备1的方式为:判断NVE设备1对应的表项中VM的列表是否包括VM1的地址,如果包括,则说明VM1可接入NVE设备1;如果不包括,则说明VM1不可接入NVE设备1。可选地,本发明实施例对VM1不可接入NVE设备1场景下的处理过程可不做具体限定,作为一种示例,NVE设备1在判定VM1不可接入NVE设备1时,可对第二报文做丢弃处理。
可选地,为了避免属于一个多活组的多个多活成员重复向第一虚拟机发送拆封装后的第二报文,多活成员还可保存优先级信息。如果第四NVE利用组播技术向属于第二多活组的至少两个NVE设备和属于第三多活组的至少两个NVE设备发送第二报文,则第一NVE设备接收到第二报文后,可以先根据优先级信息判断在第一NVE设备所属的多活组内,第一NVE设备的优先级是否最高。如果第一NVE设备的优先级最高,第一NVE可以对第二报文进行拆封装处理,并向第一虚拟机发送拆封装后的第二报文。如果第一NVE设备的优先级不是最高,第一NVE则可对第二报文做丢弃处理,本发明实施例对此可不做具体限定。
综上,利用本发明实施例提供的方案,就实现了NVo3网络中两个服务器提供的虚拟机之间的数据交互过程,特别是交互过程中涉及的报文接收的实现方案。
参见图5,示出了本发明实施例报文传输方法实施例3的流程图,可包括:
301,所述第一NVE设备接收第五NVE设备发送的第三报文,所述第三报文包括所述第一NVE设备的标识、所述虚拟网络实例、第三源地址和第三目的地址;所述第三源地址为第四虚拟机的地址,所述第三目的地址为所述第一虚拟机的地址,所述第四虚拟机由第四物理服务器虚拟化获得。
第一NVE设备除了可按照图3所示流程向第二NVE设备发送报文之外,还可接收第五NVE设备发送来的报文,并正确将接收到的报文转发至对应的虚拟机。本实施例3示出的即是NVE设备接收报文的实现方式。
举例来说,根据实际通信需求,第五NVE设备可以是图3所示实施例中的第二NVE设备,或者,第五NVE设备也可以是除所述第二NVE设备之外的其它NVE设备,本发明实施例对此可不做具体限定。下面以图1中的VM1接收VM4发送的报文为例,对本发明实施例NVE设备的报文接收过程进行解释说明。举例来说,第一NVE设备可以为NVE设备1、第五NVE设备可以为NVE设备4、第一虚拟机可以为VM1、第四虚拟机可以为VM4。
在有数据传输需求时,VM4可通过预配置的VLAN10向LAN20发送报文,进而通过LAN20将所述报文转发至NVE设备4,NVE设备4则可按照图3所示方案对所述报文进行封装处理,生成第三报文,第三报文中包括VNI100、NVE设备1的地址、VM4的地址、VM1的地址和第三载荷。同时,NVE设备4还可根据本地保存的多活接入配置信息列表(列表中存在VM1的地址),利用NVI100、VM1的地址查找到NVE设备1~NVE设备3,且根据LAN10可知三者属于同一多活组,因此,NVE设备4可通过负载均衡技术选择出NVE设备1,并利用单播技术将第三报文路由至NVE设备1。本步骤即是NVE设备1接收NVE设备4利用单播技术发送的第三报文。
302,所述第一NVE设备对所述第三报文进行拆封装,获得拆封装后的第三报文,所述拆封装后的第三报文包括所述第三源地址和所述第三目的地址。
303,所述第一NVE设备根据所述第三目的地址,发送所述拆封装后的第三报文。
NVE设备1接收到NVE设备4转发的第三报文后,便可根据第三报文中包括的第一NVE设备的标识,判断NVE设备1是否为所述第三报文的合法接收者,具体判断方式可参见上文图4处所做介绍,此处不再赘述。
如果NVE设备1为所述第三报文的合法接收者,NVE设备1可按照本发明实施例方案对第三报文做如下后续处理:
如果NVE设备1判定其为第三报文的合法接收者,NVE设备1则可按照本发明实施例方案对第三报文做如下后续处理:
(1)为了实现NVE设备1到VM1的报文传输,NVE设备1可对第三报文进行拆封装处理,去掉NVE设备4封装的VNI100和NVE设备1的地址,获得拆封装后的第三报文。拆封装后的第三报文中包括VM4的地址、VM1的地址和第三载荷。
(2)NVE设备1利用VM1的地址,通过LAN10向VM1发送拆封装后的第三报文,完成第三报文的接收与转发。
综上,利用本发明实施例提供的方案,就实现了NVo3网络中两个服务器提供的虚拟机之间的数据交互过程,特别是交互过程中涉及的报文接收的实现方案。
上文图3、图4和图5示出了NVo3技术与多活接入技术相结合后的报文传输方案,下面再结合具体示例,对本发明实施例的报文传输过程进行解释说明。
1.根据租户设置的多活接入信息,生成多活接入配置信息列表。
考虑到根据YANG数据模型语言可以很方便地转换为可扩展标记语言(英文:ExtensibleMarkupLanguage,简称:XML)格式,并通过树形结构简明的描述数据之间的关系,本发明实施例可以利用YANG数据模型语言编译租户设置的多活接入信息,生成多活接入配置信息列表。
作为一种示例,Controller基于YANG数据模型语言生成列表的方式可体现如下:
(1)定义数据类型
(2)建立数据间的关联关系
2.将多活接入配置信息列表下发至NVo3网络的每个NVE设备中,配置NVo3网络的多活接入信息。
Controller将生成的列表以广播方式下发至NVo3网络中的每个NVE设备,NVo3网络中的NVE设备均可支持网络配置(英文:NetworkConfiguration,简称:Netconf)协议,可分析YANG数据模型语言描述的树形结构,并识别出NVo3网络中存在的多活组以及每个多活组包括的多活成员。
以上文图1所举示例为例,可以识别出NVo3网络中存在两个多活组,其中,第一多活组包括的多活成员为NVE设备1~NVE设备3,第二多活组包括的多活成员为NVE设备4~NVE设备5。
下面以VM1与VM4之间的交互过程为例,对本发明实施例方案进行解释说明。
3.VM1向VM4发送请求报文,请求报文中包括VM1的MAC地址、VM4的MAC地址和请求数据。
首先,VM1通过VLAN10向与其相连的LAN10发送请求报文,LAN10根据其保存的LAN与NVE设备的对应关系、以及链路捆绑信息可知,可以通过NVE设备1~NVE设备3中的任一个NVE设备将请求报文发送至VM4接入的远端NVE设备。若此时,LAN10根据负载均衡技术选择NVE设备1作为本次报文转发的处理设备,LAN10可通过VLAN10将请求报文转发至NVE设备1。需要说明的是,上文基于YANG数据模型语言生成列表的方式中,end-id可表现为LAN标识。
需要说明的是,VM1可多活接入NVE设备1~NVE设备3可以理解为,VM1可以接入三者中的任一个;或者,还可进一步细化到VM1传输的数据流(英文:flow)可以接入三者中的任一个。即,可以细化到发往特定VLAN和VM的数据流。举例来说,VM1通过VLAN10向VM4发送flow1时,可接入NVE设备1,通过NVE设备1进行flow1的转发;或者,VM1通过VLAN20向VM4发送flow2时,可接入NVE设备2,通过NVE设备2进行flow2的转发,等等,本发明实施例对此可不做具体限定。
其次,NVE设备1接收请求报文,并读取本地保存的多活接入配置信息列表,查找远端NVE设备。
举例来说,NVE设备1本地保存的列表中记录了如下表项:
NVE设备1对应的表项包括:LAN10、VNI100、NVE设备1的IP地址、VM1~VM3的MAC地址;
NVE设备4对应的表项包括:LAN20、VNI100、NVE设备4的IP地址;
NVE设备5对应的表项包括:LAN20、VNI100、NVE设备5的IP地址。
也即,Controller生成的列表中VM的地址为空,NVE设备1可知晓能接入NVE设备1的VM的MAC地址,同时,NVE设备1需要通过动态学习才能知晓可接入NVE设备4的VM的MAC地址、可接入NVE设备5的VM的MAC地址。
如此,NVE设备1根据VNI100可查找到能与NVE设备1所属多活组进行数据交互的NVE设备4和NVE设备5,且根据LAN20可知,NVE设备4和NVE设备5属于同一多活组,故,NVE设备1可根据负载均衡技术选择NVE设备4作为本次报文转发的远端NVE设备。
接着,NVE设备1对请求报文进行封装处理,将封装处理后的请求报文路由至远端NVE设备。
为了实现请求报文在NVE设备1到NVE设备4之间的传输,NVE设备1可在请求报文中封装NVE设备4的IP地址;与此同时,为了提高本发明实施例可隔离租户的数量,还可在请求报文中封装VNI100,通过VLAN10与VNI100相结合的方式标识租户。如此处理之后,NVE设备1即可以单播方式将封装处理后的请求转发至NVE设备4。
需要说明的是,此处仅是对本次报文转发过程中可能涉及的处理设备所对应的表项进行举例说明,并不表示NVE设备1本地保存的列表中仅记录了上述列举的表项。
另外,在查找到NVE设备4和NVE设备5之后,NVE设备1还可将二者确定为远端NVE设备,并利用组播技术向二者发送请求报文,本发明实施例对此可不作具体限定,只要将请求报文发送至VM4能接入的NVE设备即可。
最后,NVE设备4接收NVE设备1转发的封装处理后的请求报文,并发送至VM4。
根据封装处理后的请求报文中的NVE设备4的IP地址,NVE设备4可以确定其为所述封装处理后的请求报文的合法接收者,NVE设备4可进行拆封装还原出请求报文,并根据请求报文中包括的VM4的MAC地址,通过LAN20将请求报文转发至VM4,实现VM1到VM4的报文传输。
3.VM4向VM1发送响应报文,响应报文中包括VM4的MAC地址、VM1的MAC地址和响应数据。
VM4接收到VM1发送的请求报文后,可根据请求报文执行一系列处理(对此可由实际需要而定,本发明实施例并不做具体限定),并通过响应报文向VM1返回响应数据。
首先,VM4通过VLAN10向与其相连的LAN20发送响应报文,LAN20则根据其保存的LAN与NVE设备的对应关系、以及链路捆绑信息,确定NVE设备4~NVE设备5中的任一个NVE设备均可将响应报文发送至VM1接入的远端NVE设备。若此时,LAN20根据负载均衡技术选择NVE设备5作为本次报文转发的处理设备,LAN20可通过VLAN10将响应报文转发至NVE设备5。
其次,NVE设备5接收响应报文,并读取本地保存的多活接入配置信息列表,查找远端NVE设备。如,NVE设备5查找到属于同一多活组的NVE设备1~NVE设备3,则可根据负载均衡技术选择NVE设备2作为本次报文转发的远端NVE设备。
NVE设备5查找远端NVE设备的方式可参照上文所做介绍,此处不再赘述。
接着,NVE设备5对响应报文进行封装处理,将封装处理后的响应报文发送至远端NVE设备。封装后的响应报文中包括VNI100、NVE设备2的IP地址、VM4的MAC地址、VM1的MAC地址和响应数据。
最后,NVE设备2接收NVE设备5转发的封装处理后的响应报文,并进行拆封装还原出响应报文,根据响应报文中包括的VM1的MAC地址,通过LAN10将响应报文转发至VM1,实现VM4到VM1的报文传输。
综上,利用本发明实施例提供的方案,就实现了NVo3网络中两个服务器提供的虚拟机之间的数据交互过程。需要说明的是,上文所举示例中,报文中的源地址和目的地址均是以MAC地址为例做的解释说明,根据VM所在网络层级的不同,源地址和目的地址还可体现为IP地址,本发明实施例对此可不做具体限定。需要说明的是,如果源地址和目的地址体现为IP地址,则转发设备应为路由器,具体报文传输方案可参照上文所做介绍,此处不再赘述。
另外,上文所举示例中,两个服务器属于同一数据中心,在实际应用过程中,还可能存在跨数据中心的交互需求,如,server1属于数据中心1,server2属于数据中心2,则NVE设备1对请求报文进行封装处理时,还可将数据中心2的标识封装进请求报文中,如此,NVE设备1便可利用数据中心2的标识以及NVE设备4的标识将封装处理后的请求报文发送至NVE设备4,实现跨数据中心的报文转发。举例来说,NVE设备1可从跨数据中心路由器获得数据中心2的标识,本发明实施例对此可不做具体限定。
与图3所示方法相对应地,本发明实施例还提供了一种报文传输装置,参见图6所示示意图,所述装置可包括:
第一接收单元401,用于接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化;
第一获得单元402,用于在所述第一接收单元接收到所述第一报文,获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和第一虚拟网络边缘NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识;
第二获得单元403,用于从所述第一获得单元获得的所述多活接入配置信息列表中,根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例;
查找单元404,用于从所述第一获得单元获得的所述多活接入配置信息列表中,查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备;
封装单元405,用于利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文;
第一发送单元406,用于向所述第二NVE设备发送所述封装单元封装后的第一报文。
本发明实施例的报文传输装置,可以集成在NVo3网络的NVE设备中,应用于上文图3所示方法实施例中,实现其中第一NVE设备的功能。当需要进行报文转发时,报文传输装置可以利用本地保存的多活接入配置信息列表查找到第二NVE,并向第二NVE进行报文转发,实现NVo3网络中两个服务器提供的虚拟机之间的数据交互过程,特别是交互过程中涉及的报文发送的实现方案。
可选地,所述第一获得单元,具有用于接收来自控制器的所述多活接入配置信息列表。
可选地,所述第一获得单元获得的所述多活接入信息配置列表以另一个下一代YANG语言描述,所述第一表项采用树状结构承载所述第一多活组的标识、所述虚拟网络实例和所述第一NVE设备的标识,其中,所述第一多活组的标识为根节点,所述第一NVE设备的标识和所述虚拟网络实例为子节点。
可选地,所述多活接入配置信息列表还包括第三表项,所述第三表项包括第三多活组的标识、所述虚拟网络实例和属于所述第三多活组的至少两个NVE设备的标识,所述至少一个多活组包括所述第二多活组和所述第三多活组;则
所述第一发送单元,具体用于判断所述第二表项是否还包括第二虚拟机的地址;并在所述第二表项还包括所述第二虚拟机的地址时,查找对应于所述第二虚拟机的地址的所述第二多活组,向所述第二NVE设备发送所述封装后的第一报文。
可选地,所述第一发送单元,还用于在所述第二表项不包括所述第二虚拟机的地址时,向属于所述第二多活组的至少两个NVE设备和属于所述第三多活组的至少两个NVE设备发送所述封装后的第一报文。
可选地,所述第一表项包括所述第一多活组的标识、所述虚拟网络实例、所述第一NVE设备的标识和所述第一虚拟机的地址,所述装置还包括:
第二接收单元,用于接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化;
拆封装单元,用于对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址;
判断单元,用于判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址;
第二发送单元,用于在所述判断单元判定所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,根据所述第二目的地址,发送所述拆封装后的第二报文。
可选地,所述装置还包括:
第三接收单元,用于接收第五NVE设备发送的第三报文,所述第三报文包括所述第一NVE设备的标识、所述虚拟网络实例、第三源地址和第三目的地址;所述第三源地址为第四虚拟机的地址,所述第三目的地址为所述第一虚拟机的地址,所述第四虚拟机由第四物理服务器虚拟化获得;
第二拆封装单元,用于对所述第三接收单元接收的所述第三报文进行拆封装,获得拆封装后的第三报文,所述拆封装后的第三报文包括所述第三源地址和所述第三目的地址;
第三发送单元,用于根据所述第三目的地址,发送所述拆封装后的第三报文。
在上述可选方案中,本发明实施例报文传输装置可以实现的附加功能,请参照方法实施例中对第一NVE附加功能的描述,在这里不再赘述。
另外,上述实施例提供的报文传输装置在进行报文发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
与图3所示方法相对应地,本发明实施例还提供了一种报文传输设备500,参见图7所示示意图,所述设备可包括:处理器501、存储器502、网络接口503、总线系统504。
所述总线系统504,用于连接上述处理器501、存储器502和网络接口503。
所述网络接口503,用于实现设备与其它网络设备之间的通信连接。所述网络接口503可以由光收发器,电收发器,无线收发器或其任意组合实现。例如,光收发器可以是小封装可插拔(英文:smallform-factorpluggabletransceiver,缩写:SFP)收发器(英文:transceiver),增强小封装可插拔(英文:enhancedsmallform-factorpluggable,缩写:SFP+)收发器或10吉比特小封装可插拔(英文:10Gigabitsmallform-factorpluggable,缩写:XFP)收发器。电收发器可以是以太网(英文:Ethernet)网络接口控制器(英文:networkinterfacecontroller,缩写:NIC)。无线收发器可以是无线网络接口控制器(英文:wirelessnetworkinterfacecontroller,缩写:WNIC)。
所述存储器502,用于存储程序指令和数据。所述存储器502可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:HDD)或固态硬盘(英文:solid-statedrive,缩写:SSD);存储器还可以包括上述种类的存储器的组合。
所述处理器501是中央处理器(英文:centralprocessingunit,缩写:CPU),也可以是CPU和硬件芯片的组合。上述硬件芯片可以是以下一种或多种的组合:专用集成电路(英文:application-specificintegratedcircuit,缩写:ASIC),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:FPGA),复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:CPLD)以及网络处理器(英文:networkprocessor,缩写:NP)。所述处理器501,用于读取所述存储器502中存储的程序指令和数据,执行以下操作:
所述处理器通过所述网络接口接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化;
所述处理器获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和所述第一NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识;
所述处理器根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例;
所述处理器查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备;
所述处理器利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文,通过所述网络接口向所述第二NVE设备发送封装后的第一报文。
本发明实施例的报文传输设备,可以体现为NVo3网络中的NVE设备。当需要进行报文转发时,报文传输设备可以利用本地保存的多活接入配置信息列表查找到第二NVE,并向第二NVE进行报文转发,实现NVo3网络中两个服务器提供的虚拟机之间的数据交互过程,特别是交互过程中涉及的报文发送的实现方案。
可选地,所述处理器获得多活接入配置信息列表包括:所述处理器接收来自控制器的所述多活接入配置信息列表。
可选地,所述处理器获得的所述多活接入信息配置列表以另一个下一代YANG语言描述,所述第一表项采用树状结构承载所述第一多活组的标识、所述虚拟网络实例和所述第一NVE设备的标识,其中,所述第一多活组的标识为根节点,所述第一NVE设备的标识和所述虚拟网络实例为子节点。
可选地,所述多活接入配置信息列表还包括第三表项,所述第三表项包括第三多活组的标识、所述虚拟网络实例和属于所述第三多活组的至少两个NVE设备的标识,所述至少一个多活组包括所述第二多活组和所述第三多活组;则所述处理器向所述第二NVE设备发送封装后的第一报文包括:
所述处理器判断所述第二表项是否还包括第二虚拟机的地址;
如果所述第二表项还包括所述第二虚拟机的地址,所述处理器查找对应于所述第二虚拟机的地址的所述第二多活组,向所述第二NVE设备发送所述封装后的第一报文。
可选地,如果所述第二表项不包括所述第二虚拟机的地址,所述处理器向属于所述第二多活组的至少两个NVE设备和属于所述第三多活组的至少两个NVE设备发送所述封装后的第一报文。
可选地,所述第一表项包括所述第一多活组的标识、所述虚拟网络实例、所述第一NVE设备的标识和所述第一虚拟机的地址,所述处理器还可执行以下操作:
所述处理器接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化;
所述处理器对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址;
所述处理器判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址;
如果所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,所述处理器根据所述第二目的地址,通过所述网络接口发送所述拆封装后的第二报文。
可选地,所述处理器还可执行以下操作:
所述处理器通过所述网络接口接收第五NVE设备发送的第三报文,所述第三报文包括所述第一NVE设备的标识、所述虚拟网络实例、第三源地址和第三目的地址;所述第三源地址为第四虚拟机的地址,所述第三目的地址为所述第一虚拟机的地址,所述第四虚拟机由第四物理服务器虚拟化获得;
所述处理器对所述第三报文进行拆封装,获得拆封装后的第三报文,所述拆封装后的第三报文包括所述第三源地址和所述第三目的地址;
所述处理器根据所述第三目的地址,通过所述网络接口发送所述拆封装后的第三报文。
附图7所示的报文传输设备的实现细节,请参考前面附图3所示的方法实施例中的描述,此处不再赘述。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-onlymemory,简称:ROM)、RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的可选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种报文传输方法,其特征在于,所述方法包括:
第一虚拟网络边缘NVE设备接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化;
所述第一NVE设备获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和所述第一NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识;
所述第一NVE设备根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例;
所述第一NVE设备查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备;
所述第一NVE设备利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文,向所述第二NVE设备发送封装后的第一报文。
2.根据权利要求1所述的方法,其特征在于,所述第一NVE设备获得多活接入配置信息列表包括:所述第一NVE设备接收来自控制器的所述多活接入配置信息列表。
3.根据权利要求1或2所述的方法,其特征在于,所述多活接入信息配置列表以另一个下一代YANG语言描述,所述第一表项采用树状结构承载所述第一多活组的标识、所述虚拟网络实例和所述第一NVE设备的标识,其中,所述第一多活组的标识为根节点,所述第一NVE设备的标识和所述虚拟网络实例为子节点。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述多活接入配置信息列表还包括第三表项,所述第三表项包括第三多活组的标识、所述虚拟网络实例和属于所述第三多活组的至少两个NVE设备的标识,所述至少一个多活组包括所述第二多活组和所述第三多活组;
所述向所述第二NVE设备发送封装后的第一报文包括:
所述第一NVE设备判断所述第二表项是否还包括第二虚拟机的地址;
如果所述第二表项还包括所述第二虚拟机的地址,所述第一NVE设备查找对应于所述第二虚拟机的地址的所述第二多活组,向所述第二NVE设备发送所述封装后的第一报文。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述第二表项不包括所述第二虚拟机的地址,所述第一NVE设备向属于所述第二多活组的至少两个NVE设备和属于所述第三多活组的至少两个NVE设备发送所述封装后的第一报文。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述第一表项包括所述第一多活组的标识、所述虚拟网络实例、所述第一NVE设备的标识和所述第一虚拟机的地址,所述方法还包括:
所述第一NVE设备接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化;
所述第一NVE设备对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址;
所述第一NVE设备判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址;
如果所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,所述第一NVE设备根据所述第二目的地址,发送所述拆封装后的第二报文。
7.一种报文传输装置,其特征在于,所述装置包括:
第一接收单元,用于接收第一报文,所述第一报文包括第一源地址和第一目的地址;所述第一源地址为第一虚拟机的地址,所述第一目的地址为第二虚拟机的地址,所述第一虚拟机由第一物理服务器虚拟化,所述第二虚拟机由第二物理服务器虚拟化;
第一获得单元,用于在所述第一接收单元接收到所述第一报文,获得多活接入配置信息列表,所述多活接入配置信息列表包括第一表项和第二表项,所述第一表项包括第一多活组的标识、虚拟网络实例和第一虚拟网络边缘NVE设备的标识,所述第二表项包括第二多活组的标识、所述虚拟网络实例和属于所述第二多活组的至少两个NVE设备的标识;
第二获得单元,用于从所述第一获得单元获得的所述多活接入配置信息列表中,根据所述第一表项和所述第一NVE设备的标识,获得所述虚拟网络实例;
查找单元,用于从所述第一获得单元获得的所述多活接入配置信息列表中,查找对应于所述虚拟网络实例的至少一个多活组,所述至少一个多活组包括所述第二多活组,从所述属于所述第二多活组的至少两个NVE设备中选取第二NVE设备;
封装单元,用于利用所述第二NVE设备的标识和所述虚拟网络实例封装所述第一报文;
第一发送单元,用于向所述第二NVE设备发送所述封装单元封装后的第一报文。
8.根据权利要求7所述的装置,其特征在于,
所述第一获得单元,具有用于接收来自控制器的所述多活接入配置信息列表。
9.根据权利要求7或8所述的装置,其特征在于,
所述第一获得单元获得的所述多活接入信息配置列表以另一个下一代YANG语言描述,所述第一表项采用树状结构承载所述第一多活组的标识、所述虚拟网络实例和所述第一NVE设备的标识,其中,所述第一多活组的标识为根节点,所述第一NVE设备的标识和所述虚拟网络实例为子节点。
10.根据权利要求7~9任一项所述的装置,其特征在于,所述多活接入配置信息列表还包括第三表项,所述第三表项包括第三多活组的标识、所述虚拟网络实例和属于所述第三多活组的至少两个NVE设备的标识,所述至少一个多活组包括所述第二多活组和所述第三多活组;
所述第一发送单元,具体用于判断所述第二表项是否还包括第二虚拟机的地址;并在所述第二表项还包括所述第二虚拟机的地址时,查找对应于所述第二虚拟机的地址的所述第二多活组,向所述第二NVE设备发送所述封装后的第一报文。
11.根据权利要求10所述的装置,其特征在于,
所述第一发送单元,还用于在所述第二表项不包括所述第二虚拟机的地址时,向属于所述第二多活组的至少两个NVE设备和属于所述第三多活组的至少两个NVE设备发送所述封装后的第一报文。
12.根据权利要求7~11任一项所述的装置,其特征在于,所述第一表项包括所述第一多活组的标识、所述虚拟网络实例、所述第一NVE设备的标识和所述第一虚拟机的地址,所述装置还包括:
第二接收单元,用于接收第四NVE设备发送的第二报文,所述第二报文包括所述第一NVE设备的标识、所述虚拟网络实例、第二源地址和第二目的地址;所述第二源地址为第三虚拟机的地址,所述第二目的地址为所述第一虚拟机的地址,所述第三虚拟机由第三物理服务器虚拟化;
拆封装单元,用于对所述第二报文进行拆封装,获得拆封装后的第二报文,所述拆封装后的第二报文包括所述第二源地址和所述第二目的地址;
判断单元,用于判断所述第二目的地址是否为所述第一表项中的所述第一虚拟机的地址;
第二发送单元,用于在所述判断单元判定所述第二目的地址为所述第一表项中的所述第一虚拟机的地址,根据所述第二目的地址,发送所述拆封装后的第二报文。
CN201410568124.XA 2014-10-22 2014-10-22 一种报文传输方法及装置 Active CN105591916B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410568124.XA CN105591916B (zh) 2014-10-22 2014-10-22 一种报文传输方法及装置
PCT/CN2015/088892 WO2016062169A1 (zh) 2014-10-22 2015-09-02 一种报文传输方法及装置
EP15852122.9A EP3197107B1 (en) 2014-10-22 2015-09-02 Message transmission method and apparatus
US15/494,334 US10193707B2 (en) 2014-10-22 2017-04-21 Packet transmission method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410568124.XA CN105591916B (zh) 2014-10-22 2014-10-22 一种报文传输方法及装置

Publications (2)

Publication Number Publication Date
CN105591916A true CN105591916A (zh) 2016-05-18
CN105591916B CN105591916B (zh) 2018-10-30

Family

ID=55760267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410568124.XA Active CN105591916B (zh) 2014-10-22 2014-10-22 一种报文传输方法及装置

Country Status (4)

Country Link
US (1) US10193707B2 (zh)
EP (1) EP3197107B1 (zh)
CN (1) CN105591916B (zh)
WO (1) WO2016062169A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547340A (zh) * 2017-06-19 2018-01-05 新华三技术有限公司 一种报文转发方法和装置
WO2018107594A1 (zh) * 2016-12-16 2018-06-21 平安科技(深圳)有限公司 一种overlay网络的实现方法、终端、设备及计算机可读存储介质
CN109033483A (zh) * 2017-06-12 2018-12-18 中兴通讯股份有限公司 一种在yang模型中定义数据关系的方法、装置及系统
CN109768908A (zh) * 2017-11-09 2019-05-17 华为技术有限公司 一种vxlan的配置方法、设备及系统
CN117453150A (zh) * 2023-12-25 2024-01-26 杭州阿启视科技有限公司 录像存储调度服务多实例的实现方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454766B2 (en) * 2016-04-21 2019-10-22 Super Micro Computer, Inc. Automatic configuration of a network switch in a multi-chassis link aggregation group
US11089066B2 (en) * 2016-12-09 2021-08-10 Nutanix, Inc. System and method for dynamic medium access control (MAC) relating to a virtualization environment
US10530747B2 (en) * 2017-01-13 2020-01-07 Citrix Systems, Inc. Systems and methods to run user space network stack inside docker container while bypassing container Linux network stack
CN111418174A (zh) * 2017-12-04 2020-07-14 瑞典爱立信有限公司 第一节点和第二节点以及操作第一节点和第二节点的方法
CN109962846B (zh) * 2017-12-25 2020-09-25 华为技术有限公司 路由协议报文的处理方法及装置
US11438279B2 (en) * 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
CN111447131B (zh) * 2019-01-16 2022-11-08 中兴通讯股份有限公司 报文解封装方法及装置、报文封装方法及装置
CN114697220A (zh) * 2020-12-29 2022-07-01 华为技术有限公司 一种报文处理方法及相关装置
US20230117218A1 (en) * 2021-08-31 2023-04-20 Marvell Israel (M.I.S.L) Ltd. Cloud-edge forwarding in a network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131216A1 (en) * 2010-11-23 2012-05-24 Cisco Technology, Inc. Active-Active Multi-Homing Support for Overlay Transport Protocol
US20130100851A1 (en) * 2011-10-25 2013-04-25 Cisco Technology, Inc. Multicast Source Move Detection for Layer-2 Interconnect Solutions
CN103684956A (zh) * 2012-09-01 2014-03-26 中兴通讯股份有限公司 一种虚拟网络布局的实现方法和系统
CN104104534A (zh) * 2013-04-12 2014-10-15 中兴通讯股份有限公司 一种虚拟网络管理的实现方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8988984B2 (en) * 2011-02-04 2015-03-24 Cisco Technology, Inc. Designated forwarder election for VPLS with BGP-based MAC learning
US8948169B2 (en) * 2011-12-07 2015-02-03 Cisco Technology, Inc. Mechanism for E-VPN interoperability with VPLS
CN103685026A (zh) * 2012-08-31 2014-03-26 中兴通讯股份有限公司 一种虚拟网络的接入方法和系统
US8948055B2 (en) * 2012-11-02 2015-02-03 Ciena Corporation Resilient interworking of shortest path bridging and Ethernet virtual private networks
CN103916317B (zh) * 2012-12-31 2018-04-27 华为技术有限公司 通信方法、路由桥及网络系统
US20140233569A1 (en) * 2013-02-15 2014-08-21 Futurewei Technologies, Inc. Distributed Gateway in Virtual Overlay Networks
US9660905B2 (en) * 2013-04-12 2017-05-23 Futurewei Technologies, Inc. Service chain policy for distributed gateways in virtual overlay networks
CN104426680B (zh) * 2013-09-03 2018-03-16 华为技术有限公司 数据传输方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131216A1 (en) * 2010-11-23 2012-05-24 Cisco Technology, Inc. Active-Active Multi-Homing Support for Overlay Transport Protocol
US20130100851A1 (en) * 2011-10-25 2013-04-25 Cisco Technology, Inc. Multicast Source Move Detection for Layer-2 Interconnect Solutions
CN103684956A (zh) * 2012-09-01 2014-03-26 中兴通讯股份有限公司 一种虚拟网络布局的实现方法和系统
CN104104534A (zh) * 2013-04-12 2014-10-15 中兴通讯股份有限公司 一种虚拟网络管理的实现方法和系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018107594A1 (zh) * 2016-12-16 2018-06-21 平安科技(深圳)有限公司 一种overlay网络的实现方法、终端、设备及计算机可读存储介质
CN109033483A (zh) * 2017-06-12 2018-12-18 中兴通讯股份有限公司 一种在yang模型中定义数据关系的方法、装置及系统
CN109033483B (zh) * 2017-06-12 2023-11-14 中兴通讯股份有限公司 一种在yang模型中定义数据关系的方法、装置及系统
CN107547340A (zh) * 2017-06-19 2018-01-05 新华三技术有限公司 一种报文转发方法和装置
CN109768908A (zh) * 2017-11-09 2019-05-17 华为技术有限公司 一种vxlan的配置方法、设备及系统
CN109768908B (zh) * 2017-11-09 2020-10-09 华为技术有限公司 一种vxlan的配置方法、设备及系统
US11310080B2 (en) 2017-11-09 2022-04-19 Huawei Technologies Co., Ltd. VXLAN configuration method, device, and system
CN117453150A (zh) * 2023-12-25 2024-01-26 杭州阿启视科技有限公司 录像存储调度服务多实例的实现方法
CN117453150B (zh) * 2023-12-25 2024-04-05 杭州阿启视科技有限公司 录像存储调度服务多实例的实现方法

Also Published As

Publication number Publication date
EP3197107B1 (en) 2020-07-22
CN105591916B (zh) 2018-10-30
US10193707B2 (en) 2019-01-29
WO2016062169A1 (zh) 2016-04-28
EP3197107A4 (en) 2017-09-27
US20170230197A1 (en) 2017-08-10
EP3197107A1 (en) 2017-07-26

Similar Documents

Publication Publication Date Title
CN105591916A (zh) 一种报文传输方法及装置
US11671367B1 (en) Methods and apparatus for improving load balancing in overlay networks
CN103200069B (zh) 一种报文处理的方法和设备
US10122629B2 (en) Systems and methods for externalizing network functions via packet trunking
CN105706398B (zh) 重叠网络中的虚拟端口信道弹回的方法和系统
US9306837B1 (en) Source IP-based pruning of traffic toward dually-connected overlay hosts in a data communications environment
US9729441B2 (en) Service function bundling for service function chains
CN104954245B (zh) 业务功能链处理方法及装置
CN106464564B (zh) 用于网络分组封装和路由的方法、系统和计算机可读介质
CN107646185A (zh) 在覆盖数据中心环境中的操作、管理和处理(oam)
CN104704778A (zh) 用于虚拟和物理网络集成的方法和系统
CN105051688A (zh) 经扩展的标记联网
US10924299B2 (en) Packet forwarding
US20200007472A1 (en) Service insertion in basic virtual network environment
CN106209648B (zh) 跨虚拟可扩展局域网的组播数据报文转发方法和设备
CN105991387A (zh) 虚拟扩展局域网的报文传输方法和装置
CN103581274B (zh) 一种堆叠系统中报文转发方法和装置
CN102821165B (zh) Ip地址转换方法及装置
CN103139075B (zh) 一种报文传输方法和设备
CN112671628A (zh) 业务服务提供方法及系统
CN104639440A (zh) 一种在网络中实现三层转发并封装协议信息的方法和装置
CN107645433A (zh) 报文转发方法及装置
US20240113969A1 (en) Evpn host routed bridging (hrb) and evpn cloud native data center
CN109474507A (zh) 一种报文转发方法及装置
CN107332772A (zh) 转发表项建立方法和装置

Legal Events

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