CN110213148A - 一种数据传输的方法、系统及装置 - Google Patents

一种数据传输的方法、系统及装置 Download PDF

Info

Publication number
CN110213148A
CN110213148A CN201910431422.7A CN201910431422A CN110213148A CN 110213148 A CN110213148 A CN 110213148A CN 201910431422 A CN201910431422 A CN 201910431422A CN 110213148 A CN110213148 A CN 110213148A
Authority
CN
China
Prior art keywords
message
address
bms
vtep
cvm
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
CN201910431422.7A
Other languages
English (en)
Other versions
CN110213148B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910431422.7A priority Critical patent/CN110213148B/zh
Publication of CN110213148A publication Critical patent/CN110213148A/zh
Application granted granted Critical
Publication of CN110213148B publication Critical patent/CN110213148B/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/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • H04L12/4683Dynamic sharing of VLAN information amongst network nodes characterized by the protocol used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本申请公开了一种数据传输的方法,属于通信技术领域。所述方法包括:接收CVM发送的基于GRE协议封装的第一报文,第一报文中携带有第一BMS的地址;对第一报文基于GRE协议解封装,基于第一BMS的地址确定第一VTEP的地址,对解封装后的第一报文基于Vxlan协议封装,得到第二报文,第二报文中携带第一VTEP的地址;基于第一VTEP的地址,将第二报文转发至第一VTEP,第二报文中携带的第一BMS的地址指示第一VTEP对第二报文基于Vxlan协议解封装,对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,将第三报文转发至第一BMS。采用本申请可以实现CVM和BMS之间的交互。

Description

一种数据传输的方法、系统及装置
技术领域
本申请涉及通信技术领域,特别涉及一种数据传输的方法、系统及装置。
背景技术
目前,VPC(Virtual Private Cloud,虚拟私有云)作为企业用户在云平台上自定义的私有网络空间被广泛使用。用户可以在自己的VPC中部署数据库、Nosql(Not OnlySQL,非关系型的数据库)快存储等多种云服务。
一般VPC会采用GRE(Generic Routing Encapsulation,通用路由封装)技术,或Vxlan(Virtual eXtensible Local Area Network,虚拟可扩展的局域网)技术构建。采用GRE技术构建时,可以通过部署CVM(Cloud Virtual Machine,云虚拟服务器)来构建用户的VPC,其中,CVM作为虚拟机是部署于物理机上的,该物理机可以称为该CVM的宿主机,不同宿主机的CVM间基于GRE协议通信,CVM的优点在于灵活性高、成本低等。采用Vxlan技术构建时,可以通过部署BMS(Bara Metal Server,裸金属服务器)来构建用户的VPC,其中,BMS相当于一台物理机,不同BMS间基于Vxlan协议通信,BMS的优点在于计算性能强。
然而,随着用户业务的发展,需求也更加多样。例如,用户的业务A对服务器计算性能要求不高,那么该业务A可以部署在CVM上,业务B对服务器计算性能要求较高,那么该业务B可以部署在BMS上,而业务B和业务A间还有交互需求,但是由于CVM和BMS的通信协议不同,导致二者无法交互,也就无法同时使用CVM和BMS来构建VPC。为了满足用户的多样化需求,亟需一种能够实现BMS和CVM之间互通的方法。
发明内容
本申请实施例提供了一种数据传输的方法,能够解决Vxlan连接下的BMS和GRE连接下的CVM之间不能互相通信的问题。所述技术方案如下:
第一方面,提供了一种数据传输的方法,所述方法应用于转换网关,所述方法包括:
接收云虚拟服务器CVM发送的基于GRE协议封装的第一报文,所述第一报文中携带有所述转换网关的地址和第一裸金属服务器BMS的地址;
对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一虚拟可扩展的局域网隧道端点VTEP的地址,对解封装后的第一报文基于虚拟可扩展的局域网Vxlan协议进行封装,得到第二报文,其中,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址;
基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP,其中,所述第二报文中携带的所述第一BMS的地址用于指示所述第一VTEP对所述第二报文基于Vxlan协议解封装,并对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,将所述第三报文转发至所述第一BMS。
可选的,所述方法还包括:
接收所述第一BMS通过所述第一VTEP发送的基于Vxlan协议封装的第四报文,所述第四报文中携带有所述转换网关的地址和所述CVM的地址;
对所述第四报文基于Vxlan协议解封装,基于所述CVM的地址确定所述CVM的宿主机的地址,基于GRE协议对解封装后的第四报文进行封装,得到第五报文,其中,所述第五报文中携带有所述CVM的地址和所述CVM的宿主机的地址;
基于所述第五报文中携带的所述CVM的宿主机的地址,将所述第五报文转发至所述CVM的宿主机,所述第五报文中携带的所述CVM的地址用于指示所述CVM的宿主机将所述第五报文分配给所述CVM。
可选的,所述方法还包括:
接收所述第一BMS通过所述第一VTEP发送的基于Vxlan协议封装的第六报文,其中,所述第六报文中携带有所述转换网关的地址和第二BMS的地址,所述第一BMS和第二BMS属于不同虚拟私有云VPC;
对所述第六报文基于Vxlan协议解封装,基于所述第六报文中的第二BMS的地址,确定所述第二BMS对应的第二VTEP的地址,对解封装后的第六报文基于Vxlan协议进行封装,得到第七报文,其中,所述第七报文中携带有所述第二VTEP的地址和所述第二BMS的地址。
基于所述第七报文中携带的所述第二VTEP的地址,将所述第七报文转发至所述第二VTEP,其中,所述第七报文中携带的所述第二BMS的地址用于指示所述第二VTEP对所述第七报文基于Vxlan协议解封装,并对解封装后的第七报文基于预设传输协议进行封装,得到第八报文,将所述第八报文转发至所述第二BMS。
第二方面,提供了一种数据传输的方法,所述方法应用于CVM,所述方法包括:
获取待发送给BMS的数据和所述BMS的地址;
在预先存储的子机地址与宿主机地址的对应关系中,查找所述BMS的地址对应的宿主机地址,其中,在所述对应关系中所述BMS的地址对应的宿主机地址为转换网关的地址;
基于GRE协议对所述数据进行封装得到报文,所述报文中携带有所述转换网关的地址和所述BMS的地址;
基于所述报文中携带的所述转换网关的地址,将所述报文发送至所述转换网关。
第三方面,提供了一种数据传输的方法,所述方法应用于第一VTEP,所述方法包括:
接收第一BMS发送的第一报文,其中,所述第一报文中携带有所述CVM的地址;
基于预设传输协议对所述第一报文进行解封装,获取所述CVM的地址;
如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取转换网关的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第二报文中携带有所述CVM的地址和所述转换网关的地址;
基于所述第二报文中携带的所述转换网关的地址,将所述第二报文发送至所述转换网关。
可选的,其特征在于,所述方法还包括:
接收第一BMS发送的第三报文,其中,所述第三报文中携带有所述第二BMS的地址;
基于预设传输协议对所述第三报文进行解封装,获取所述第二BMS的地址;
如果所述第一VTEP存储的BMS地址表中不包含所述第二BMS的地址,则获取转换网关的地址,基于Vxlan协议对解封装后的第三报文进行封装,得到第四报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第四报文中携带有所述第二BMS的地址和所述转换网关的地址;
基于所述第四报文中携带的所述转换网关的地址,将所述第四报文发送至所述转换网关。
第四方面,提供了一种数据传输的系统,所述系统包括CVM、转换网关、第一BMS和第一VTEP,其中:
所述CVM用于获取待发送给第一BMS的数据和所述第一BMS的地址,在预先存储的子机地址与宿主机地址的对应关系中,查找所述第一BMS的地址对应的宿主机地址,其中,在所述对应关系中所述第一BMS的地址对应的宿主机地址为转换网关的地址,基于GRE协议对所述数据进行封装得到第一报文,所述第一报文中携带有所述转换网关的地址和所述第一BMS的地址,基于所述第一报文中携带的所述转换网关的地址,向所述转换网关发送所述第一报文;
所述转换网关用于接收所述第一报文,对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一VTEP的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址,基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP;
所述第一VTEP接收所述第二报文,对所述第二报文基于Vxlan协议解封装,对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,其中,所述第三报文中携带有所述第一BMS的地址,基于所述第三报文中携带的所述第一BMS的地址,将所述第三报文转发至所述第一BMS。
可选的,所述第一BMS用于获取待发送给CVM的数据和所述CVM的地址,基于预设传输协议对所述数据进行封装得到第四报文,其中,所述第四报文中携带有所述CVM的地址,向所述第一BMS对应的第一VTEP发送所述第四报文;
所述第一VTEP用于接收所述第一BMS发送的所述第四报文,对所述第四报文基于预设传输协议进行解封装,获取所述CVM的地址,如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取所述转换网关的地址,对解封装后的第四报文基于Vxlan协议进行封装,得到第五报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第五报文中携带有所述CVM的地址和所述转换网关的地址,基于所述第五报文中携带的所述转换网关的地址,向所述转换网关发送所述第五报文;
所述转换网关用于接收所述第五报文,对所述第五报文基于Vxlan协议解封装,基于所述CVM的地址确定所述CVM的宿主机的地址,基于GRE协议对解封装后的第五报文进行封装,得到第六报文,其中,所述第六报文中携带有所述CVM的地址和所述CVM的宿主机的地址,基于所述第六报文中携带的所述CVM的宿主机的地址,将所述第六报文转发至所述CVM的宿主机,所述第六报文中携带的所述CVM的地址用于指示所述CVM的宿主机将所述第六报文分配给所述CVM。
可选的,所述系统还包括第二BMS和第二VTEP,其中:
所述第一BMS用于获取待发送给第二BMS的数据和所述第二BMS的地址,对所述数据基于预设传输协议进行封装,得到第七报文,其中,所述第七报文中携带有所述第二BMS的地址,所述第一BMS和所述第二BMS属于不同虚拟私有云VPC,将所述第七报文发送至所述第一BMS对应的第一VTEP;
所述第一VTEP用于对所述第七报文基于预设传输协议解封装,获取所述第二BMS的地址,如果所述第一VTEP存储的BMS地址表中不包含所述第二BMS的地址,则获取所述转换网关的地址,对解封装后的第七报文基于Vxlan协议进行封装,得到第八报文,其中,所述第八报文中携带有所述转换网关的地址和所述第二BMS的地址,基于所述第九报文中携带的所述转换网关的地址,向所述转换网关发送所述第八报文;
所述转换网关用于接收所述第八报文,基于所述第八报文中的第二BMS的地址,确定所述第二BMS对应的第二VTEP的地址,将所述第八报文中携带的所述转换网关的地址替换为所述第二VTEP的地址,得到第九报文,基于所述第九报文中携带的所述第二VTEP的地址,将所述第九报文转发至所述第二VTEP;
所述第二VTEP用于对所述第九报文基于Vxlan协议解封装,再对解封装后的第九报文基于预设传输协议进行封装,得到第十报文,其中,所述第十报文中携带的所述第二BMS的地址,基于所述第十报文中携带的所述第二BMS的地址,将所述第十报文转发至所述第二BMS。
第五方面,提供了一种数据传输的装置,所述装置应用于转换网关,所述装置包括:
接收模块,用于接收云虚拟服务器CVM发送的基于GRE协议封装的第一报文,其中,所述第一报文中携带有所述转换网关的地址和第一裸金属服务器BMS的地址;
转换模块,用于对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一虚拟可扩展的局域网隧道端点VTEP的地址,对解封装后的第一报文基于虚拟可扩展的局域网Vxlan协议进行封装,得到第二报文,其中,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址;
转发模块,用于基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP,其中,所述第二报文中携带的所述第一BMS的地址用于指示所述第一VTEP对所述第二报文基于Vxlan协议解封装,并对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,将所述第三报文转发至所述第一BMS。
第六方面,提供了一种数据传输的装置,所述装置应用于CVM,所述装置包括:
获取模块,用于获取待发送给BMS的数据和所述BMS的地址;
查找模块,用于在预先存储的子机地址与宿主机地址的对应关系中,查找所述BMS的地址对应的宿主机地址,其中,在所述对应关系中所述BMS的地址对应的宿主机地址为转换网关的地址;
封装模块,用于基于GRE协议对所述数据进行封装得到报文,所述报文中携带有所述转换网关的地址和所述BMS的地址;
转发模块,用于基于所述报文中携带的所述转换网关的地址,将所述报文发送至所述转换网关。
第七方面,提供了一种数据传输的装置,所述装置应用于第一VTEP,所述装置包括:
接收模块,用于接收第一BMS发送的第一报文,其中,所述第一报文中携带有所述CVM的地址;
解封装模块,用于基于预设传输协议对所述第一报文进行解封装,获取所述CVM的地址;
封装模块,用于如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取转换网关的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第二报文中携带有所述CVM的地址和所述转换网关的地址;
转发模块,用于基于所述第二报文中携带的所述转换网关的地址,将所述第二报文发送至所述转换网关。
本申请实施例提供的技术方案带来的有益效果是:
通过在CVM和BMS之间部署转换网关,由该转换网关接收CVM发送的基于GRE协议封装的第一报文,并对该第一报文进行解封装。然后,对解封装后的第一报文,基于Vxlan协议进行封装,得到第二报文,则该第二报文的封装格式为Vxlan封装。转换网关将该第二报文发送给VTEP,又VTEP将第二报文转发给BMS。这样,便实现了GRE连接下的CVM和Vxlan连接下的BMS的互通。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的实施环境图;
图2是本申请实施例提供的数据传输的方法流程图;
图3是本申请实施例提供的实施环境图;
图4是本申请实施例提供的数据传输的方法流程图;
图5是本申请实施例提供的实施环境图;
图6是本申请实施例提供的实施环境图;
图7是本申请实施例提供的数据传输的方法流程图;
图8是本申请实施例提供的实施环境图;
图9是本申请实施例提供的VTEP连接示意图;
图10是本申请实施例提供的VTEP连接示意图;
图11是本申请实施例提供的数据传输的装置结构示意图;
图12是本申请实施例提供的数据传输的装置结构示意图;
图13是本申请实施例提供的数据传输的装置结构示意图;
图14是本申请实施例提供转换网关的结构示意图;
图15是本申请实施例提供BMS的结构示意图;
图16是本申请实施例提供CVM的结构示意图;
图17是本申请实施例提供VTEP的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种实施环境的示意图,在该示意图中包括有两个VPC,分别为VPC X和VPC Y,VPC X中包括有四个CVM,和两个BMS,VPC Y中包括有一个BMS。通过本申请的技术方案,可以实现其中同一VPC下的CVM和BMS之间互通,不同VPC下的BMS之间互通,除此之外,对于不同VPC下的BMS和CVM之间互通本申请同样适用。在具体实施方式中,主要对以下三种数据传输的情况:同一VPC下的CVM向BMS发送数据、同一VPC下的BMS向CVM发送数据以及不同VPC下的BMS间发送数据,通过三个实施例分别进行说明。对于不同VPC下的CVM和BMS之间的互通与上述同一VPC下BMS和CVM之间的互通相类似,在此不做赘述。
实施例一、同一VPC下的CVM向BMS发送数据的情况。
图2是本申请实施例提供的一种数据传输的方法流程图。本实施例1可以由CVM、转换网关、第一BMS和第一VTEP共同完成,CVM、转换网关、第一BMS和第一VTEP之间的数据传输方向如图3所示。参见图2,该实施例包括:
S201,CVM获取待发送给第一BMS的数据和所述第一BMS的地址,在预先存储的子机地址与宿主机地址的对应关系中,查找第一BMS的地址对应的宿主机地址,基于GRE协议对获取的数据进行封装得到第一报文。
其中,在对应关系中所述第一BMS的地址对应的宿主机地址为转换网关的地址。
在实施中,由于CVM通常是会和同一VPC下的CVM进行数据传输,那么在CVM侧会存储有CVM和其宿主机之间的对应关系表。在本实施例中,需要CVM和和与其在同一VPC下的BMS进行数据传输,则技术人员可以将转换网关和BMS类比为宿主机和子机(CVM)的关系,如下表1,在宿主机地址一栏填上转换网关的地址,在CVM一栏填上BMS的地址,该表1仅为示例性说明,实际中的对应关系表可以采用其他方式,在此不做限定。
表1
CVM地址 宿主机地址
1.1.1.1 192.168.1.1
1.1.1.2 192..168.1.2
1.1.1.2(BMS地址) 1.1.1.2(转换网关地址)
这样,无论数据是发送给其他CVM,还是发送给BMS,对于CVM来说的处理是一样的,即可以实现在原有CVM构建的VPC下无缝接入BMS,无需对原有CVM进行改造,大大节省了资源。
CVM在给第一BMS发送数据时,首先,获取待待发送的数据和第一BMS的地址,在预先存储的子机地址和宿主机地址对应关系中,基于第一BMS的地址,确定出相应的宿主机地址,该宿主机地址即为转换网关的地址。因为CVM和转换网关之间建立的是GRE连接,所以,在CVM中将待发送的数据基于GRE协议封装,得到第一报文。该第一报文中携带有转换网关的地址和第一BMS的地址。
S202,CVM基于第一报文中携带的转换网关的地址,向该转换网关发送第一报文。
在实施中,CVM基于第一报文中携带转换网关的地址,通过CVM和转换网关之间的GRE连接,将该第一报文发送给转换网关。
S203,转换网关接收第一报文,对第一报文基于GRE协议解封装,基于第一BMS的地址确定第一BMS对应的第一VTEP的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文。
在实施中,转换网关在接收到CVM发送的第一报文后,对该第一报文基于GRE协议解封装。然后,确定第一报文中携带的目的网络设备地址为BMS的地址,则需要对该解封装后的第一报文基于Vxlan协议进行封装,得到第二报文。在进行Vxlan封装之前,需要先基于第一BMS的地址确定出该第一BMS对应的第一VTEP的地址。在基于Vxlan协议封装的第二报文中,携带有第一BMS的地址和其对应的第一VTEP的地址,其中,第一BMS的地址在第二报文的内层中,其对应的第一VTEP的地址在第二报文的外层中。可见,该转换网关中要配置有对GRE格式的报文解封装和对报文进行Vxlan格式的报文封装的功能。
S204,转换网关基于第二报文中携带的第一VTEP的地址,将第二报文转发至所述第一VTEP。
在实施中,转换网关基于第二报文的外层中携带的第一VTEP的地址,将该第二报文转发给第一VTEP。
S205,第一VTEP接收第二报文,对第二报文基于Vxlan协议解封装,并对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,其中,第三报文中携带有第一BMS的地址
在实施中,第一VTEP接收到第二报文后,基于Vxlan协议对该第二报文进行解封装,再对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,该预设传输协议可以为IP协议。该第三报文中携带有第一BMS的地址,基于该第三报文中携带的第一BMS的地址,将该第三报文转发给第一BMS。
S206,第一VTEP基于第三报文中携带的第一BMS的地址,将第三报文转发至第一BMS。
实施例二、同一VPC下的BMS向CVM发送数据的情况。
图4是本申请实施例提供的一种数据传输的方法流程图。本实施例二可以由CVM、转换网关、第一BMS和第一VTEP共同完成,CVM、转换网关、第一BMS和第一VTEP之间的数据传输方向如图5所示。参见图4,该实施例包括:
S401,第一BMS获取待发送给CVM的数据和CVM的地址,基于预设传输协议对数据进行封装得到第四报文。
其中,第四报文中携带有CVM的地址。
在实施中,第一BMS获取待发送给CVM的数据和CVM的地址,基于预设传输协议对数据进行封装,得到第四报文,该预设传输协议可以为IP协议。
S402,第一BMS向第一BMS对应的第一VTEP发送第四报文。
在实施中,第一BMS要向其他网络设备发送报文,要经过其默认路由,即与其对应的VTEP进行转发。VTEP的接入方案,采用BGP-EVPN(Border Gateway Protocol-EthernetVirtual Private Network,边界网关协议-二层互通虚拟专有网络)和静态Vxlan共同实现,即,基于BGP EVPN技术使各VTEP之间自动建立Vxlan隧道,并且对于转发信息进行自动学习,而VTEP和转换网关之间需要建立静态Vxlan隧道,则从该VTEP转发出的消息都会经由该静态Vxlan隧道传输到转换网关,再由转换网关对报文进行处理。这样,BMS向外发送的报文都会经由VTEP转发到转换网关上。
那么,第一BMS则要对第四报文发送至其对应的VTEP上。
S403,第一VTEP接收第一BMS发送的所述第四报文,基于预设传输协议对所述第四报文进行解封装,获取CVM的地址,如果第一VTEP存储的BMS地址表中不包含CVM的地址,则获取转换网关的地址,基于Vxlan协议对解封装后的第四报文进行封装,得到第五报文。
其中,BMS地址表由第一VTEP对应的各BMS的地址组成,第五报文中携带有CVM的地址和转换网关的地址。
在实施中,第一VTEP接收到第一BMS发送的第四报文后,对该第四报文进行基于预设传输协议解封装。然后,查询该第四报文中携带的目的网络设备的地址是否在由第一VTEP对应的各BMS的地址组成的BMS地址表中,在第四报文中,该目的网络设备为CVM。确定该CVM的地址不在该BMS地址表中,则获取转换网关的地址,对解封装后的第四报文基于Vxlan协议进行封装,得到第五报文,该第五报文中携带有转换网关的地址和CVM的地址。
S404,第一VTEP基于所述第五报文中携带的所述转换网关的地址,向所述转换网关发送所述第五报文。
在实施中,第一VTEP通过其与转换网关之间建立的静态Vxlan隧道将该第五报文转发给转换网关。
S405,转换网关接收第五报文,对第五报文基于Vxlan协议解封装,基于CVM的地址确定CVM的宿主机的地址,基于GRE协议对解封装后的第五报文进行封装,得到第六报文。
其中,第六报文中携带有CVM的地址和CVM的宿主机的地址。
在实施中,转换网关在接收到VTEP发送的第五报文后,对其基于Vxlan协议进行解封装,然后在预先存储的CVM地址和CVM对应的宿主机地址的对应关系中,基于第五报文中的CVM的地址,确定出其对应的宿主机的地址。然后,对解封装后的第五报文基于GRE协议进行封装,得到第六报文,该第六报文中携带有CVM的地址和该CVM对应的宿主机的地址。
在一种可能的实现方式中,如图6所示,在拥有BMS的VPC都会有唯一的VPN(Virtual Private Network,虚拟专用网络)与之对应,该VPN构成了一个独立的通信域。在该VPN中BMS都采用独立子网的形式部署,即将一个或多个BMS划分在一个网段内,每个独立子网对应有唯一标识VNI(Vxlan Network Identifier,虚拟可扩展局域网网络标识),例如,图6中,BMS1和BMS2处于同一独立子网下,该独立子网的标识为VNI1,BMS3和BMS4处于同一独立子网下,该独立子网的标识为VNI2,在该VPN下还设置有一个默认子网,该默认子网的标识为VNI,在该VPN内的所有独立子网中的BMS要和该VPN外的设备进行交互时,报文都会经VTEP再通过该默认子网,再到转换网关。此处需要说明的是,在VTEP基于Vxlan协议对BMS发送来的报文进行封装时,会将Vxlan header(Vxlan头部)中的VNI字段,写入统一的VNI,即只要是在同一VPN下的BMS无论其处于哪个独立子网,在经由VTEP基于Vxlan协议封装时,其对应的独立子网的VNI都会被写入为相同VNI。
此处需要说明现有技术常识是,在基于GRE协议的VPC中,一个VPC占用一个VPCID(VPC Identify,VPC身份标识),则在一个VPC下的CVM也都共用该VPCID。而在基于Vxlan协议的VPC中,如上所述是每个独立子网会占用一个VNI,那么在GRE协议下的CVM和在VTEP协议下的BMS进行交互时,在转换网关进行报文格式转换时,要将BMS对应的VNI转换成为VPCID。
这样,在上述对于在同一VPN下的BMS在VTEP基于Vxlan协议封装时都会写入相同的VNI,那么,在转换网关就无需再存储每个VNI和VPCID的映射关系了,在接收到VTEP发送的Vxlan封装的报文,进行GRE封装时,也就无需再查询VNI和VPCID的映射关系,直接写入唯一的VNI对应的VPCID即可。如果是BMS和CVM在同一VPC下,该唯一VNI对应的VPCID则与CVM对应的VPCID相同,如果BMS所在的VPC下只有BMS则对于唯一的VNI对应的VPCID可自定义设置。
S406,转换网关基于第六报文中携带的CVM的宿主机的地址,将第六报文转发至CVM的宿主机。
其中,第六报文中携带的CVM的地址用于指示CVM的宿主机将第六报文分配给CVM。
在实施中,转换网关根据第六报文中携带的CVM的宿主机的地址,将第六报文转发至该CVM的宿主机,由该宿主机根据第六报文中携带的CVM的地址,将该第六报文分配给该CVM。
实施例三、不同VPC下的BMS间发送数据
图7是本申请实施例提供的一种数据传输的方法流程图。本实施例三可以由转换网关、第一BMS、第一VTEP、第二BMS以及第二VTEP共同完成,转换网关、第一BMS、第一VTEP、第二BMS以及第二VTEP之间的数据传输方向如图8所示。参见图7,该实施例包括:
S701,第一BMS获取待发送给第二BMS的数据和所述第二BMS的地址,基于预设传输协议对所述数据进行封装,得到第七报文。
其中,该第七报文中携带有第二BMS的地址,第一BMS和第二BMS属于不同虚拟私有云VPC。
在实施中,第一BMS获取待发送给第二BMS的数据和第二BMS的地址,将要发送给第二BMS的数据基于预设传输协议进行封装,得到第七报文,该预设传输协议可以为IP协议。
S702,第一BMS将第七报文发送至第一BMS对应的第一VTEP。
S703,第一VTEP接收第七报文,对第七报文基于预设传输协议进行解封装,对解封装后的第七报文基于Vxlan协议进行封装,获取第二BMS的地址,如果第一VTEP存储的BMS地址表中不包含第二BMS的地址,则获取转换网关的地址,对解封装后的第七报文基于Vxlan协议进行封装,得到第八报文。
其中,第八报文中携带有转换网关的地址和第二BMS的地址。
在实施中,第一VTEP对第七报文基于预设传输协议进行解封装,然后,获取第二BMS的地址,如果第一VTEP存储的BMS地址表中不包含该第二BMS的地址,则对解封装后的第七报文基于Vxlan协议进行封装,得到第八报文。
S704,第一VTEP基于第八报文中的转换网关的地址,向该转换网关发送该第八报文。
S705,转换网关接收第八报文,基于第八报文中的第二BMS的地址,确定第二BMS对应的第二VTEP的地址,对第八报文基于Vxlan协议解封装,再对解封装后的第八报文基于Vxlan协议进行封装,得到第九报文。
其中,所述第九报文中携带有所述第二VTEP的地址和所述第二BMS的地址。
在实施中,转换网关在接收到第八报文后,在预先存储的BMS地址和VTEP地址的对应关系中,基于第八报文中的第二BMS的地址,确定出该第二BMS的地址,并对第八报文中的转换网关的基Vxlan协议解封装,再对解封装后的第八报文基于Vxlan协议进行封装,得到第九报文,第九报文中携带有第二VTEP的地址和第二BMS的地址。
在一种可能的实现方式中,由于第一BMS和第二BMS处于两个不同的独立子网中,各自对应有不同的VNI,则转换网关在基于Vxlan协议对解封装后的第八报文进行封装时,会将第八报文中Vxlan头部的第一BMS对应的VNI改为第二BMS对应的VNI。
S706,转换网关基于第九报文中携带的第二VTEP的地址,将第九报文转发至第二VTEP。
S707,第二VTEP接收第九报文,对第九报文基于Vxlan协议解封装,再对解封装后的第九报文基于预设传输协议进行封装,得到第十报文。
其中,该第十报文中携带的第二BMS的地址。
S708,基于第二BMS的地址,将第十报文转发至第二BMS。
在实施中,第二VTEP在接收到第九报文后,基于Vxlan协议对该第九报文进行解封装,然后对解封装后的第九报文基于预设传输协议协议进行封装,得到第十报文。第二VTEP基于该第二BMS的地址将第十报文转发给第二BMS。
此外,还需要说明的是,对于上述三个实施例中所提及的VTEP,与其Controller(控制器)之间的连接关系可以如图9所示Controller用于对VTEP进行各种配置。Controller与部署Zookeeper(一种分布式的应用程序协调服务)的设备连接,在该Zookeeper设备下连接有多个agent(代理)节点设备,每个agent节点设备连接有多个VTEP。在此连接下,利用的Zookeeper的特性,每个agent在Zookeeper设备上均会建立一个临时节点,当agent处于正常工作状态时,临时节点则有效,在使用一致性哈希做负载均衡时,则会将该agent计算在内,如果agent与Zookeeper设备断开连接,则其对应的临时节点就会自动删除,那么,在使用一致性哈希算法做负载均衡时,则不会将该agent计算在内。这样,agent的增减,可以通过Zookeeper监控,相应的负载均衡算法也会随之调整。
另外,如图10所示,agent采用plugin(插件)设计,即在agent中安装有各厂商设备对应的插件,该插件用于对相应的厂商的设备接口向上抽象为统一接口,这样可以屏蔽不同厂商的接口差异。这样对于新厂商的设备接入时,只需在agent中添加插件即可,无需对Controller做任何修改。
基于相同的技术构思,本申请实施例还提供了一种数据传输的装置,该装置可以为上述实施例中的转换网关,如图11所示,该装置包括接收模块1100、转换模块1101和转发模块1102:
接收模块1100,用于接收云虚拟服务器CVM发送的基于GRE协议封装的第一报文,所述第一报文中携带有所述转换网关的地址和第一裸金属服务器BMS的地址;
转换模块1101,用于对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一虚拟可扩展的局域网隧道端点VTEP的地址,对解封装后的第一报文基于虚拟可扩展的局域网Vxlan协议进行封装,得到第二报文,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址;
转发模块1102,用于基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP,其中,所述第二报文中携带的所述第一BMS的地址用于指示所述第一VTEP对所述第二报文基于Vxlan协议解封装,并对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,将所述第三报文转发至所述第一BMS。
基于相同的技术构思,本申请实施例还提供了一种数据传输的装置,该装置可以为上述实施例中的CVM,如图12所示,该装置包括获取模块1200、查找模块1201、封装模块1202和转发模块1203:
获取模块1200,用于获取待发送给BMS的数据和所述BMS的地址;
查找模块1201,用于在预先存储的子机地址与宿主机地址的对应关系中,查找所述BMS的地址对应的宿主机地址,其中,在所述对应关系中所述BMS的地址对应的宿主机地址为转换网关的地址;
封装模块1202,用于基于GRE协议对所述数据进行封装得到报文,所述报文中携带有所述转换网关的地址和所述BMS的地址;
转发模块1203,用于基于所述报文中携带的所述转换网关的地址,将所述报文发送至所述转换网关。
基于相同的技术构思,本申请实施例还提供了一种数据传输的装置,该装置可以为上述实施例中的第一VTEP,如图13所示,该装置包括接收模块1300、解封模块1301、封装模块1302和转发模块1303:
接收模块1300,用于接收第一BMS发送的第一报文,其中,所述第一报文中携带有所述CVM的地址;
解封装模块1301,用于基于预设传输协议对所述第一报文进行解封装,获取所述CVM的地址;
封装模块1302,用于如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取转换网关的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第二报文中携带有所述CVM的地址和所述转换网关的地址;
转发模块1303,用于基于所述第二报文中携带的所述转换网关的地址,将所述第二报文发送至所述转换网关。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是:上述实施例提供的数据传输的装置在进行数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输的装置与数据传输的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于相同的技术构思,本申请实施例还提供了一种数据传输的系统,所述系统包括CVM、转换网关、第一BMS和第一VTEP,其中:
所述CVM用于获取待发送给第一BMS的数据和所述第一BMS的地址,在预先存储的子机地址与宿主机地址的对应关系中,查找所述第一BMS的地址对应的宿主机地址,其中,在所述对应关系中所述第一BMS的地址对应的宿主机地址为转换网关的地址,基于GRE协议对所述数据进行封装得到第一报文,所述第一报文中携带有所述转换网关的地址和所述第一BMS的地址,基于所述第一报文中携带的所述转换网关的地址,向所述转换网关发送所述第一报文;
所述转换网关用于接收所述第一报文,对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一VTEP的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址;
所述转换网关用于基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP;
所述第一VTEP接收所述第二报文,对所述第二报文基于Vxlan协议解封装,对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,其中,所述第三报文中携带有所述第一BMS的地址,基于所述第三报文中携带的所述第一BMS的地址,将所述第三报文转发至所述第一BMS。
可选的,所述第一BMS用于获取待发送给CVM的数据和所述CVM的地址,基于预设传输协议对所述数据进行封装得到第四报文,其中所述第四报文中携带有所述CVM的地址,向所述第一BMS对应的第一VTEP发送所述第四报文;
所述第一VTEP用于接收所述第一BMS发送的所述第四报文,基于预设传输协议对所述第四报文进行解封装,获取所述CVM的地址,如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取所述转换网关的地址,基于Vxlan协议对解封装后的第四报文进行封装,得到第五报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第五报文中携带有所述CVM的地址和所述转换网关的地址,基于所述第五报文中携带的所述转换网关的地址,向所述转换网关发送所述第五报文;
所述转换网关用于接收所述第五报文,对所述第五报文基于Vxlan协议解封装,基于所述CVM的地址确定所述CVM的宿主机的地址,基于GRE协议对解封装后的第五报文进行封装,得到第六报文,所述第六报文中携带有所述CVM的地址和所述CVM的宿主机的地址;
所述转换网关用于基于所述第六报文中携带的所述CVM的宿主机的地址,将所述第六报文转发至所述CVM的宿主机,所述第六报文中携带的所述CVM的地址用于指示所述CVM的宿主机将所述第六报文分配给所述CVM。
可选的,所述系统还包括第二BMS和第二VTEP,其中:
所述第一BMS用于获取待发送给第二BMS的数据和所述第二BMS的地址,基于预设传输协议对所述数据进行封装,得到第七报文,其中,所述第七报文中携带有所述第二BMS的地址,所述第一BMS和所述第二BMS属于不同虚拟私有云VPC将所述报文发送至所述第一BMS对应的第一VTEP;
所述第一VTEP用于对所述第七报文基于预设传输协议解封装,对解封装后的第七报文基于Vxlan协议进行封装,得到第八报文,所述第八报文中携带有所述转换网关的地址和所述第二BMS的地址,基于所述第九报文中携带的所述转换网关的地址,向所述转换网关发送所述第八报文;
所述转换网关用于接收所述第八报文,基于所述第八报文中的第二BMS的地址,确定所述第二BMS对应的第二VTEP的地址,将所述第八报文中携带的所述转换网关的地址替换为所述第二VTEP的地址,得到第九报文;
所述转换网关用于基于所述第九报文中携带的所述第二VTEP的地址,将所述第九报文转发至所述第二VTEP;
所述第二VTEP用于对所述第九报文基于Vxlan协议解封装,再对解封装后的第九报文基于预设传输协议进行封装,得到第十报文,所述第十报文中携带的所述第二BMS的地址,基于所述第十报文中携带的所述第二BMS的地址,将所述第十报文转发至所述第二BMS。
需要说明的是,上述实施例提供的数据传输的系统与数据传输的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14是本申请实施例提供的一种转换网关的结构示意图,该转换网关1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1401和一个或一个以上的存储器1402,其中,所述存储器1402中存储有至少一条指令,所述至少一条指令由所述处理器1401加载并执行以实现上述各个方法实施例提供的方法。当然,该转换网关还可以包括其他用于实现设备功能的部件,在此不做赘述。
图15是本申请实施例提供的一种BMS的结构示意图,该BMS可以为上述实施例中的第一BMS或者为第二BMS,该BMS1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1501和一个或一个以上的存储器1502,其中,所述存储器1502中存储有至少一条指令,所述至少一条指令由所述处理器1501加载并执行以实现上述各个方法实施例提供的方法。当然,该BMS还可以包括其他用于实现设备功能的部件,在此不做赘述。
图16是本申请实施例提供的一种CVM的结构示意图,该CVM1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1601和一个或一个以上的存储器1602,其中,所述存储器1602中存储有至少一条指令,所述至少一条指令由所述处理器1601加载并执行以实现上述各个方法实施例提供的方法。当然,该CVM还可以包括其他用于实现设备功能的部件,在此不做赘述。
图17是本申请实施例提供的一种VTEP的结构示意图,该VTEP1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1701和一个或一个以上的存储器1702,其中,所述存储器1702中存储有至少一条指令,所述至少一条指令由所述处理器1701加载并执行以实现上述各个方法实施例提供的方法。当然,该VTEP还可以包括其他用于实现设备功能的部件,在此不做赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种数据传输的方法,其特征在于,所述方法应用于转换网关,所述方法包括:
接收云虚拟服务器CVM发送的基于GRE协议封装的第一报文,所述第一报文中携带有所述转换网关的地址和第一裸金属服务器BMS的地址;
对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一虚拟可扩展的局域网隧道端点VTEP的地址,对解封装后的第一报文基于虚拟可扩展的局域网Vxlan协议进行封装,得到第二报文,其中,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址;
基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP,其中,所述第二报文中携带的所述第一BMS的地址用于指示所述第一VTEP对所述第二报文基于Vxlan协议解封装,并对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,将所述第三报文转发至所述第一BMS。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第一BMS通过所述第一VTEP发送的基于Vxlan协议封装的第四报文,其中,所述第四报文中携带有所述转换网关的地址和所述CVM的地址;
对所述第四报文基于Vxlan协议解封装,基于所述CVM的地址确定所述CVM的宿主机的地址,基于GRE协议对解封装后的第四报文进行封装,得到第五报文,其中,所述第五报文中携带有所述CVM的地址和所述CVM的宿主机的地址;
基于所述第五报文中携带的所述CVM的宿主机的地址,将所述第五报文转发至所述CVM的宿主机,其中,所述第五报文中携带的所述CVM的地址用于指示所述CVM的宿主机将所述第五报文分配给所述CVM。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述第一BMS通过所述第一VTEP发送的基于Vxlan协议封装的第六报文,其中,所述第六报文中携带有所述转换网关的地址和第二BMS的地址,所述第一BMS和第二BMS属于不同虚拟私有云VPC;
对所述第六报文基于Vxlan协议解封装,基于所述第六报文中的第二BMS的地址,确定所述第二BMS对应的第二VTEP的地址,对解封装后的第六报文基于Vxlan协议进行封装,得到第七报文,其中,所述第七报文中携带有所述第二VTEP的地址和所述第二BMS的地址。
基于所述第七报文中携带的所述第二VTEP的地址,将所述第七报文转发至所述第二VTEP,其中,所述第七报文中携带的所述第二BMS的地址用于指示所述第二VTEP对所述第七报文基于Vxlan协议解封装,并对解封装后的第七报文基于预设传输协议进行封装,得到第八报文,将所述第八报文转发至所述第二BMS。
4.一种数据传输的方法,其特征在于,所述方法应用于CVM,所述方法包括:
获取待发送给BMS的数据和所述BMS的地址;
在预先存储的子机地址与宿主机地址的对应关系中,查找所述BMS的地址对应的宿主机地址,其中,在所述对应关系中所述BMS的地址对应的宿主机地址为转换网关的地址;
对所述数据基于GRE协议进行封装得到报文,其中,所述报文中携带有所述转换网关的地址和所述BMS的地址;
基于所述报文中携带的所述转换网关的地址,将所述报文发送至所述转换网关。
5.一种数据传输的方法,其特征在于,所述方法应用于第一VTEP,所述方法包括:
接收第一BMS发送的第一报文,其中,所述第一报文中携带有所述CVM的地址;
对所述第一报文基于预设传输协议进行解封装,获取所述CVM的地址;
如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取转换网关的地址,对解封装后的第一报文基于Vxlan协议进行封装,得到第二报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第二报文中携带有所述CVM的地址和所述转换网关的地址;
基于所述第二报文中携带的所述转换网关的地址,将所述第二报文发送至所述转换网关。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收第一BMS发送的第三报文,其中,所述第三报文中携带有所述第二BMS的地址;
对所述第三报文基于预设传输协议进行解封装,获取所述第二BMS的地址;
如果所述第一VTEP存储的BMS地址表中不包含所述第二BMS的地址,则获取转换网关的地址,对解封装后的第三报文基于Vxlan协议进行封装,得到第四报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第四报文中携带有所述第二BMS的地址和所述转换网关的地址;
基于所述第四报文中携带的所述转换网关的地址,将所述第四报文发送至所述转换网关。
7.一种数据传输的系统,其特征在于,所述系统包括CVM、转换网关、第一BMS和第一VTEP,其中:
所述CVM用于获取待发送给第一BMS的数据和所述第一BMS的地址,在预先存储的子机地址与宿主机地址的对应关系中,查找所述第一BMS的地址对应的宿主机地址,其中,在所述对应关系中所述第一BMS的地址对应的宿主机地址为转换网关的地址,基于GRE协议对所述数据进行封装得到第一报文,所述第一报文中携带有所述转换网关的地址和所述第一BMS的地址,基于所述第一报文中携带的所述转换网关的地址,向所述转换网关发送所述第一报文;
所述转换网关用于接收所述第一报文,对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一VTEP的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文,其中,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址,基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP;
所述第一VTEP接收所述第二报文,对所述第二报文基于Vxlan协议解封装,对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,其中,所述第三报文中携带有所述第一BMS的地址,基于所述第三报文中携带的所述第一BMS的地址,将所述第三报文转发至所述第一BMS。
8.根据权利要求7所述的系统,其特征在于,所述第一BMS用于获取待发送给CVM的数据和所述CVM的地址,基于预设传输协议对所述数据进行封装得到第四报文,其中,所述第四报文中携带有所述CVM的地址,向所述第一BMS对应的第一VTEP发送所述第四报文;
所述第一VTEP用于接收所述第一BMS发送的所述第四报文,对所述第四报文基于预设传输协议进行解封装,获取所述CVM的地址,如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取所述转换网关的地址,对解封装后的第四报文基于Vxlan协议进行封装,得到第五报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第五报文中携带有所述CVM的地址和所述转换网关的地址,基于所述第五报文中携带的所述转换网关的地址,向所述转换网关发送所述第五报文;
所述转换网关用于接收所述第五报文,对所述第五报文基于Vxlan协议解封装,基于所述CVM的地址确定所述CVM的宿主机的地址,基于GRE协议对解封装后的第五报文进行封装,得到第六报文,其中,所述第六报文中携带有所述CVM的地址和所述CVM的宿主机的地址,基于所述第六报文中携带的所述CVM的宿主机的地址,将所述第六报文转发至所述CVM的宿主机,所述第六报文中携带的所述CVM的地址用于指示所述CVM的宿主机将所述第六报文分配给所述CVM。
9.根据权利要求7或8所述的系统,其特征在于,所述系统还包括第二BMS和第二VTEP,其中:
所述第一BMS用于获取待发送给第二BMS的数据和所述第二BMS的地址,对所述数据基于预设传输协议进行封装,得到第七报文,其中,所述第七报文中携带有所述第二BMS的地址,所述第一BMS和所述第二BMS属于不同虚拟私有云VPC,将所述第七报文发送至所述第一BMS对应的第一VTEP;
所述第一VTEP用于对所述第七报文基于预设传输协议解封装,获取所述第二BMS的地址,如果所述第一VTEP存储的BMS地址表中不包含所述第二BMS的地址,则获取所述转换网关的地址,对解封装后的第七报文基于Vxlan协议进行封装,得到第八报文,其中,所述第八报文中携带有所述转换网关的地址和所述第二BMS的地址,基于所述第九报文中携带的所述转换网关的地址,向所述转换网关发送所述第八报文;
所述转换网关用于接收所述第八报文,基于所述第八报文中的第二BMS的地址,确定所述第二BMS对应的第二VTEP的地址,将所述第八报文中携带的所述转换网关的地址替换为所述第二VTEP的地址,得到第九报文,基于所述第九报文中携带的所述第二VTEP的地址,将所述第九报文转发至所述第二VTEP;
所述第二VTEP用于对所述第九报文基于Vxlan协议解封装,再对解封装后的第九报文基于预设传输协议进行封装,得到第十报文,其中,所述第十报文中携带的所述第二BMS的地址,基于所述第十报文中携带的所述第二BMS的地址,将所述第十报文转发至所述第二BMS。
10.一种数据传输的装置,其特征在于,所述装置设置于转换网关,所述装置包括:
接收模块,用于接收云虚拟服务器CVM发送的基于GRE协议封装的第一报文,其中,所述第一报文中携带有所述转换网关的地址和第一裸金属服务器BMS的地址;
转换模块,用于对所述第一报文基于GRE协议解封装,基于所述第一BMS的地址确定所述第一BMS对应的第一虚拟可扩展的局域网隧道端点VTEP的地址,对解封装后的第一报文基于虚拟可扩展的局域网Vxlan协议进行封装,得到第二报文,所述第二报文中携带有所述第一BMS的地址和所述第一VTEP的地址;
转发模块,用于基于所述第二报文中携带的所述第一VTEP的地址,将所述第二报文转发至所述第一VTEP,其中,所述第二报文中携带的所述第一BMS的地址用于指示所述第一VTEP对所述第二报文基于Vxlan协议解封装,并对解封装后的第二报文基于预设传输协议进行封装,得到第三报文,将所述第三报文转发至所述第一BMS。
11.一种数据传输的装置,其特征在于,所述装置设置于CVM,所述装置包括:
获取模块,用于获取待发送给BMS的数据和所述BMS的地址;
查找模块,用于在预先存储的子机地址与宿主机地址的对应关系中,查找所述BMS的地址对应的宿主机地址,其中,在所述对应关系中所述BMS的地址对应的宿主机地址为转换网关的地址;
封装模块,用于基于GRE协议对所述数据进行封装得到报文,所述报文中携带有所述转换网关的地址和所述BMS的地址;
转发模块,用于基于所述报文中携带的所述转换网关的地址,将所述报文发送至所述转换网关。
12.一种数据传输的装置,其特征在于,所述装置设置于第一VTEP,所述装置包括:
接收模块,用于接收第一BMS发送的第一报文,其中,所述第一报文中携带有所述CVM的地址;
解封装模块,用于基于预设传输协议对所述第一报文进行解封装,获取所述CVM的地址;
封装模块,用于如果所述第一VTEP存储的BMS地址表中不包含所述CVM的地址,则获取转换网关的地址,基于Vxlan协议对解封装后的第一报文进行封装,得到第二报文,其中,所述BMS地址表由所述第一VTEP对应的各BMS的地址组成,所述第二报文中携带有所述CVM的地址和所述转换网关的地址;
转发模块,用于基于所述第二报文中携带的所述转换网关的地址,将所述第二报文发送至所述转换网关。
CN201910431422.7A 2019-05-22 2019-05-22 一种数据传输的方法、系统及装置 Active CN110213148B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910431422.7A CN110213148B (zh) 2019-05-22 2019-05-22 一种数据传输的方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910431422.7A CN110213148B (zh) 2019-05-22 2019-05-22 一种数据传输的方法、系统及装置

Publications (2)

Publication Number Publication Date
CN110213148A true CN110213148A (zh) 2019-09-06
CN110213148B CN110213148B (zh) 2021-10-15

Family

ID=67788216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910431422.7A Active CN110213148B (zh) 2019-05-22 2019-05-22 一种数据传输的方法、系统及装置

Country Status (1)

Country Link
CN (1) CN110213148B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933470A (zh) * 2019-11-29 2020-03-27 杭州当虹科技股份有限公司 一种视频数据的共享方法
CN111585917A (zh) * 2020-06-10 2020-08-25 广州市品高软件股份有限公司 一种裸金属服务器网络系统及其实现方法
CN113132226A (zh) * 2019-12-30 2021-07-16 华为技术有限公司 发送报文的方法、装置及系统
CN113766569A (zh) * 2021-09-09 2021-12-07 阿里巴巴达摩院(杭州)科技有限公司 数据传输方法、设备、系统及存储介质
CN114500171A (zh) * 2021-12-29 2022-05-13 曙光云计算集团有限公司 网络系统及报文传输方法
CN115134273A (zh) * 2021-03-29 2022-09-30 北京华为数字技术有限公司 一种报文处理方法以及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005864A1 (en) * 2015-06-30 2017-01-05 International Business Machines Corporation Cloud system order and configuration using customized templates
CN107766154A (zh) * 2017-10-19 2018-03-06 北京百悟科技有限公司 服务器的转换方法及装置
CN109495405A (zh) * 2018-12-12 2019-03-19 平安科技(深圳)有限公司 一种裸金属服务器和云主机网络互通的方法及交换机

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005864A1 (en) * 2015-06-30 2017-01-05 International Business Machines Corporation Cloud system order and configuration using customized templates
CN107766154A (zh) * 2017-10-19 2018-03-06 北京百悟科技有限公司 服务器的转换方法及装置
CN109495405A (zh) * 2018-12-12 2019-03-19 平安科技(深圳)有限公司 一种裸金属服务器和云主机网络互通的方法及交换机

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933470A (zh) * 2019-11-29 2020-03-27 杭州当虹科技股份有限公司 一种视频数据的共享方法
CN113132226A (zh) * 2019-12-30 2021-07-16 华为技术有限公司 发送报文的方法、装置及系统
CN111585917A (zh) * 2020-06-10 2020-08-25 广州市品高软件股份有限公司 一种裸金属服务器网络系统及其实现方法
CN115134273A (zh) * 2021-03-29 2022-09-30 北京华为数字技术有限公司 一种报文处理方法以及相关设备
WO2022206050A1 (zh) * 2021-03-29 2022-10-06 华为技术有限公司 一种报文处理方法以及相关设备
CN113766569A (zh) * 2021-09-09 2021-12-07 阿里巴巴达摩院(杭州)科技有限公司 数据传输方法、设备、系统及存储介质
CN113766569B (zh) * 2021-09-09 2024-03-15 阿里巴巴达摩院(杭州)科技有限公司 数据传输方法、设备、系统及存储介质
CN114500171A (zh) * 2021-12-29 2022-05-13 曙光云计算集团有限公司 网络系统及报文传输方法
CN114500171B (zh) * 2021-12-29 2023-05-26 曙光云计算集团有限公司 网络系统及报文传输方法

Also Published As

Publication number Publication date
CN110213148B (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
CN110213148A (zh) 一种数据传输的方法、系统及装置
CN103200069B (zh) 一种报文处理的方法和设备
CN111917649B (zh) 虚拟私有云通信及配置方法以及相关装置
CN110896371B (zh) 一种虚拟网络设备及相关方法
CN109716717A (zh) 从软件定义的网络控制器管理虚拟端口信道交换机对等体
CN113411243B (zh) 数据传输方法及装置
CN105634770B (zh) 部署虚拟扩展局域网的方法和装置
CN107332775B (zh) 基于docker容器的跨宿主机互访系统及其控制方法
CN107342941B (zh) 一种vxlan控制平面的优化方法及装置
CN106209557B (zh) 报文转发方法及装置
CN107113240A (zh) 可扩展虚拟局域网报文发送方法、计算机设备和可读介质
CN105323136A (zh) 信息的处理方法及装置
CN104780088A (zh) 一种业务报文的传输方法和设备
CN108347493A (zh) 混合云管理方法、装置和计算设备
CN106209553A (zh) 报文处理方法、设备及系统
CN110505152A (zh) 路由过滤方法、装置及电子设备
CN106789748A (zh) 一种分布式接入复用器dam叠加网络系统及其装置
WO2019214612A1 (zh) 传输报文的方法和装置
CN107547665A (zh) 一种dhcp地址分配的方法、设备及系统
CN105227466A (zh) 通信处理方法和装置
CN105634901A (zh) 基于cas vxlan的mac地址信息同步方法及装置
CN106921573A (zh) NVo3网络中用于发布租户路由的方法及装置
CN109688241A (zh) 基于SDN的IPv4/IPv6双栈转换方法和系统
CN105812221B (zh) 虚拟可扩展本地区域网络中数据传输的设备和方法
CN113660164A (zh) 一种报文转发方法及网络设备

Legal Events

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