CN110417573A - 一种数据传送的方法及系统 - Google Patents

一种数据传送的方法及系统 Download PDF

Info

Publication number
CN110417573A
CN110417573A CN201910419008.4A CN201910419008A CN110417573A CN 110417573 A CN110417573 A CN 110417573A CN 201910419008 A CN201910419008 A CN 201910419008A CN 110417573 A CN110417573 A CN 110417573A
Authority
CN
China
Prior art keywords
data message
virtual
port
network interface
interface card
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.)
Pending
Application number
CN201910419008.4A
Other languages
English (en)
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 CN201910419008.4A priority Critical patent/CN110417573A/zh
Publication of CN110417573A publication Critical patent/CN110417573A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • 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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

本申请实施例提供了一种数据传送的方法,该方法包括,虚拟交换机接收数据报文,根据该数据报文携带的目的地址,确定在该虚拟交换机的多个虚拟端口中确定转发该数据报文的虚拟端口,并将该数据报文从确定的虚拟端口发送至第一网卡,以使得该第一网卡将该数据报文从确定的虚拟端口所对应的物理端口发送至第二网卡。实现了便于统一管理的网络。数据中心和/或者边缘站点的网络在配置或者搭建过程中,不需要新增物理交换机,直接利用主机上的虚拟交换机即可实现灵活且便于统一管理的网络。

Description

一种数据传送的方法及系统
技术领域
本发明涉及信息技术领域,尤其涉及一种数据传送的方法及系统。
背景技术
近年来,云计算技术得到了越来越多的普及,越来越多的互联网和IT厂商推出云计算服务。云计算厂商提供的云计算服务包括部署在数据中心的中心云服务和部署在边缘站点的边缘云服务。
出于成本及业务需求的考虑,通常情况下,会将边缘站点的部署在数据源附近的现有机房,例如接入机房,并利用现有机房中的网络设备实现边缘站点中设备的通信。这样的机房空间有限,能够提供给设备的功耗也有限,因此边缘站点中通常仅能部署有限的物理设备。除此之外,机房中部署的网络设备通常类型很多,属于各个厂商,难以实现统一管理。如何基于边缘站点中有限的物理设备实现便于统一管理的网络是亟需解决的问题。
发明内容
第一方面,本申请实施例提供一种数据传送的方法。所述方法包括:第一虚拟交换机接收第一数据报文,所述第一数据报文携带第一目的地址;所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,所述第一虚拟交换机与第一网卡通过多个虚拟端口连接,所述多个虚拟端口与所述第一网卡的多个物理端口一一对应;所述第一虚拟交换机将所述第一数据报文从所述第一虚拟端口发送至所述第一网卡;所述第一网卡将所述第一数据报文从所述第一虚拟端口对应的第一物理端口发送至第二网卡。
在本申请实施例中,第一虚拟交换机上的多个虚拟端口与网卡上的多个物理端口一一对应,当第一虚拟交换机接收到的数据报文的要发往不同的网卡,第一虚拟交换机分别根据各数据报文携带的目的地址,分别通过不同的虚拟端口将各数据报文转发至各自对应的网卡。在上述方法中,不需要通过物理交换机,例如架顶(Top of Rack,TOR)交换机,来实现报文在不同网卡中的转发,通过虚拟交换机即可根据数据报文中携带的目的地址将数据报文发送至对应的网卡。相较于难以统一管理和控制的物理交换机,虚拟交换机可以由控制器统一控制,使得网络配置配置灵活方法,且更适应数据中心和/或边缘站点的业务需求,即在有限的物理设备上实现便于统一管理的网络。数据中心和/或者边缘站点的网络在配置或者搭建过程中,不需要新增物理交换机,直接利用主机上的虚拟交换机即可实现灵活且便于统一管理的网络。
可选地,所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,包括:所述第一虚拟交换机根据所述第一目的地址查询转发流表,确定转发所述第一数据报文的所述第一虚拟端口,其中,所述转发流表由网络控制器下发至所述第一虚拟交换机。
本申请实施例中的第一虚拟交换机根据网络控制器下发的转发流表完成数据报文的转发。换句话说,网络控制器通过下发不同的转发流表,使得第一虚拟交换机实现不同的转发功能。网络控制器下发的转发流表使得基于虚拟交换机创建的网络进一步实现灵活的统一管理。
可选地,所述转发流表由所述网络控制器根据所述第一网卡和所述第二网卡的连接关系生成。
可选地,所述第一虚拟交换机将所述第一数据报文从所述第一虚拟端口发送至所述第一网卡之后,所述方法还包括:所述第一网卡从所述第一虚拟端口接收所述第一数据报文,查询所述多个虚拟端口与所述多个物理端口的对应关系,确定所述第一虚拟端口对应的所述第一物理端口。
第一网卡从虚拟端口接收来自虚拟交换机的数据报文后,根据虚拟端口与物理端口的对应关系,通过对应的物理端口将数据报文转发至连接的第二网卡,从而实现数据报文在不同的网卡之间的转发。
可选地,具有所述第一目的地址的设备为所述第一数据报文的目的虚拟机。所述第一虚拟交换机从接收第一数据报文之后,所述方法还包括:所述第一虚拟交换机根据所述第一目的地址确定第二目的地址,其中,具有所述第二目的地址的设备为第二虚拟交换机,所述第二虚拟交换机连接至所述目的虚拟机。所述第一虚拟交换机根据所述第二目的地址对所述第一数据报文进行封装得到第二数据报文,其中,所述第二数据报文携带所述第二目的地址;所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,具体包括:所述第一虚拟交换机根据所述第二目的地址,确定所述第一虚拟端口。
在本申请实施例中,网卡之间转发的数据报文可以是封装后的数据报文,例如虚拟可扩展局域网(Virtual Extensible LAN,VXLAN)报文等。数据报文的封装和解封装通常由虚拟交换机完成。对第一数据报文进行封装得到的第二数据报文携带与第一目的地址对应的第二目的地址,第一虚拟交换机根据第二目的地址对第二数据报文进行转发,使得第二目的地址到达具有针对第二数据报文的解封装能力的第二虚拟交换机,从而实现封装后的数据报文的转发能力。
可选地,所述方法还包括:所述第一虚拟交换机接收第三数据报文,所述第三数据报文携带第三目的地址,所述第三目的地址与所述第一目的地址不同;所述第一虚拟交换机根据所述第三目的地址对所述第三数据报文进行封装得到第四数据报文,所述第四数据报文包含所述第三数据报文,以使得当所述第二虚拟机接收所述第二数据报文后,根据所述第一数据报文携带的所述第一目的地址将所述第一数据报文转发至所述目的设备,以及当所述第二虚拟机接收所述第四数据报文后,根据所述第三数据报文携带的所述第三目的地址转发所述第三数据报文。
当数据报文的目的设备位于数据中心和/或者站点外,由于站点和数据中心外的设备无法转发封装后的数据报文,因此,在封装后的数据报文离开数据中心或者站点之前,将封装后的报文发送至一个或者多个虚拟交换机,所述一个或者多个虚拟交换机对数据报文进行解封装,并将解封装的数据报文发往数据中心和/或者站点外的目的设备。上述方法兼容了数据中心和/或者站点内的支持封装后数据报文的设备与数据中心和站点外不支持封装后数据报文的设备。
可选地,所述方法用于站点和/或数据中心。所述第一虚拟交换机根据所述第一目的地址确定第二目的地址之前,所述方法还包括:所述第一虚拟交换机根据所述第一目的地址确定所述目的设备位于所述站点或数据中心内。
兼容数据中心和/或者站点内的支持封装后数据报文的设备与数据中心和站点外不支持封装后数据报文的设备的另一种可能的实施方式包括:判断数据报文的目的设备是否位于数据中心和/或者站点内。当数据报文的目的设备位于数据中心或者站点内,则对数据报文进行封装,转发封装后的数据报文;当数据报文的目的设备位于数据中心或者站点外,则不对数据报文进行封装,转发未经封装的数据报文。
可选地,所述方法还包括:所述第一虚拟交换机检测到所述第一虚拟交换机与第二虚拟交换机之间的转发路径发生故障,将故障消息上报至所述网络控制器;所述网络控制器接收上报的所述故障消息,获取网卡连接关系,根据所述网卡连接关系更新所述第一虚拟交换机上的所述转发流表;所述第一虚拟交换机从所述虚拟机接收第五数据报文,所述第五数据报文携带所述第一目的地址;所述第一虚拟交换机根据所述第一目的地址查询更新后的所述转发流表,在所述多个虚拟端口中确定转发所述第五数据报文的虚拟端口,确定出的虚拟端口不为所述第一虚拟端口;所述第一虚拟交换机将所述第五数据报文从所述确定出的虚拟端口发送至对应物理端口所在的网卡;所述对应物理端口所在的网卡将所述第二数据报文从所述对应物理端口发送至与所述对应物理端口所在的网卡相连的网卡。
在本申请实施例中,虚拟交换机可实现对故障的检测,且在检测到故障后将故障上报至网络控制器,由网络控制器为数据报文选择新的转发路径,并在虚拟交换机上配置转发路径。上述方法在发生故障时,通过网络控制器即可完成故障恢复,提高了故障恢复的效率,节约了故障恢复的成本,同时也是进一步增强了统一管理。
可选地,所述方法还包括:所述第一虚拟交换机通过所述第一虚拟端口从所述第一网卡接收第六数据报文,所述第六数据报文携带第五目的地址;所述第一虚拟交换机根据所述第五目的地址,确定转发所述第一数据报文的第二虚拟端口;所述第一虚拟交换机将所述第六数据报文从所述第二虚拟端口发送至所述第一网卡;所述第一网卡将所述第六数据报文从所述第二虚拟端口对应的第二物理端口发送至第三网卡。
第二方面,本申请实施例提供计算设备,所述计算设备包括主机和连接至所述主机的第一网卡。所述主机上运行的第一虚拟交换机用于:接收第一数据报文,所述第一数据报文携带第一目的地址;根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,所述第一虚拟交换机与第一网卡通过多个虚拟端口连接,所述多个虚拟端口与所述第一网卡的多个物理端口一一对应;将所述第一数据报文从所述第一虚拟端口发送至所述第一网卡。所述第一网卡用于:将所述第一数据报文从所述第一虚拟端口对应的第一物理端口发送至第二网卡。
在本申请实施例中,第一虚拟交换机上的多个虚拟端口与网卡上的多个物理端口一一对应,当第一虚拟交换机接收到的数据报文的要发往不同的网卡,第一虚拟交换机分别根据各数据报文携带的目的地址,分别通过不同的虚拟端口将各数据报文转发至各自对应的网卡。在上述方法中,不需要通过物理交换机,例如架顶(Top of Rack,TOR)交换机,来实现报文在不同网卡中的转发,通过虚拟交换机即可根据数据报文中携带的目的地址将数据报文发送至对应的网卡。相较于难以统一管理和控制的物理交换机,虚拟交换机可以由控制器统一控制,使得网络配置配置灵活方法,且更适应数据中心和/或边缘站点的业务需求,即在有限的物理设备上实现便于统一管理的网络。数据中心和/或者边缘站点的网络在配置或者搭建过程中,不需要新增物理交换机,直接利用主机上的虚拟交换机即可实现灵活且便于统一管理的网络。
可选地,所述第一虚拟交换机具体用于:根据所述第一目的地址查询转发流表,确定转发所述第一数据报文的所述第一虚拟端口,其中,所述转发流表由网络控制器下发至所述第一虚拟交换机。
本申请实施例中的第一虚拟交换机根据网络控制器下发的转发流表完成数据报文的转发。换句话说,网络控制器通过下发不同的转发流表,使得第一虚拟交换机实现不同的转发功能。网络控制器下发的转发流表使得基于虚拟交换机创建的网络进一步实现灵活的统一管理。
可选地,所述转发流表由所述网络控制器根据所述第一网卡和所述第二网卡的连接关系生成。
可选地,所述第一网卡还用于:从所述第一虚拟端口接收所述第一数据报文,查询所述多个虚拟端口与所述多个物理端口的对应关系,确定所述第一虚拟端口对应的所述第一物理端口。
第一网卡从虚拟端口接收来自虚拟交换机的数据报文后,根据虚拟端口与物理端口的对应关系,通过对应的物理端口将数据报文转发至连接的第二网卡,从而实现数据报文在不同的网卡之间的转发。
可选地,具有所述第一目的地址的设备为所述第一数据报文的目的虚拟机。从接收第一数据报文之后,所述第一虚拟交换机还用于:根据所述第一目的地址确定第二目的地址,其中,具有所述第二目的地址的设备为第二虚拟交换机,所述第二虚拟交换机连接至所述目的虚拟机;根据所述第二目的地址对所述第一数据报文进行封装得到第二数据报文,其中,所述第二数据报文携带所述第二目的地址。根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,具体包括:根据所述第二目的地址,确定所述第一虚拟端口。
在本申请实施例中,网卡之间转发的数据报文可以是封装后的数据报文,例如虚拟可扩展局域网(Virtual Extensible LAN,VXLAN)报文等。数据报文的封装和解封装通常由虚拟交换机完成。对第一数据报文进行封装得到的第二数据报文携带与第一目的地址对应的第二目的地址,第一虚拟交换机根据第二目的地址对第二数据报文进行转发,使得第二目的地址到达具有针对第二数据报文的解封装能力的第二虚拟交换机,从而实现封装后的数据报文的转发能力。
可选地,所述第一虚拟交换机还用于:接收第三数据报文,所述第三数据报文携带第三目的地址,所述第三目的地址与所述第一目的地址不同;根据所述第三目的地址对所述第三数据报文进行封装得到第四数据报文,所述第四数据报文包含所述第三数据报文,以使得当所述第二虚拟机接收所述第二数据报文后,根据所述第一数据报文携带的所述第一目的地址将所述第一数据报文转发至所述目的设备,以及当所述第二虚拟机接收所述第四数据报文后,根据所述第三数据报文携带的所述第三目的地址转发所述第三数据报文。
当数据报文的目的设备位于数据中心和/或者站点外,由于站点和/或者数据中心外的设备无法转发封装后的数据报文,因此,在封装后的数据报文离开数据中心或者站点之前,将封装后的报文发送至一个或者多个虚拟交换机,所述一个或者多个虚拟交换机对数据报文进行解封装,并将解封装的数据报文发往数据中心和/或者站点外的目的设备。上述方法兼容了数据中心和/或者站点内的支持封装后数据报文的设备与数据中心和站点外不支持封装后数据报文的设备。
可选地,所述计算设备用于站点和/或数据中心中。根据所述第一目的地址确定第二目的地址之前,所述第一虚拟交换机还用于:根据所述第一目的地址确定所述目的设备位于所述站点或数据中心内。
兼容数据中心和/或者站点内的支持封装后数据报文的设备与数据中心和站点外不支持封装后数据报文的设备的另一种可能的实施方式包括:判断数据报文的目的设备是否位于数据中心和/或者站点内。当数据报文的目的设备位于数据中心和/或者站点内,则对数据报文进行封装,转发封装后的数据报文;当数据报文的目的设备位于数据中心或者站点外,则不对数据报文进行封装,转发未经封装的数据报文。
可选地,所述第一虚拟交换机还用于:检测到所述第一虚拟交换机与第二虚拟交换机之间的转发路径发生故障,将故障消息上报至所述网络控制器。所述网络控制器还用于:接收上报的所述故障消息,获取网卡连接关系,根据所述网卡连接关系更新所述第一虚拟交换机上的转发流表。所述第一虚拟交换机还用于:从所述虚拟机接收第五数据报文,所述第五数据报文携带所述第一目的地址;根据所述第一目的地址查询更新后的所述转发流表,在所述多个虚拟端口中确定转发所述第五数据报文的虚拟端口,确定出的虚拟端口不为所述第一虚拟端口;将所述第五数据报文从所述确定出的虚拟端口发送至对应物理端口所在的网卡;所述对应物理端口所在的网卡还用于:将所述第二数据报文从所述对应物理端口发送至与所述对应物理端口所在的网卡相连的网卡。
在本申请实施例中,虚拟交换机可实现对故障的检测,且在检测到故障后将故障上报至网络控制器,由网络控制器为数据报文选择新的转发路径,并在虚拟交换机上配置转发路径。上述方法在发生故障时,通过网络控制器即可完成故障恢复,提高了故障恢复的效率,节约了故障恢复的成本,同时也是进一步增强了统一管理。
可选地,所述第一虚拟交换机还用于:通过所述第一虚拟端口从所述第一网卡接收第六数据报文,所述第六数据报文携带第五目的地址;根据所述第五目的地址,确定转发所述第一数据报文的第二虚拟端口;将所述第六数据报文从所述第二虚拟端口发送至所述第一网卡。所述第一网卡还用于:将所述第六数据报文从所述第二虚拟端口对应的第二物理端口发送至第三网卡。
第三方面,本申请实施例提供还另一种数据传送的方法。所述方法包括:第一虚拟交换机接收第一数据报文,所述第一数据报文携带第一目的地址;所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,所述第一虚拟交换机与第一网卡通过多个虚拟端口连接,所述多个虚拟端口与所述第一网卡的多个物理端口一一对应;所述第一虚拟交换机将所述第一数据报文从所述第一虚拟端口发送至所述第一网卡,以使得所述第一数据报文通过所述第一网卡上与所述第一虚拟端口对应的第一物理端口到达第二网卡。
在本申请实施例中,第一虚拟交换机上的多个虚拟端口与网卡上的多个物理端口一一对应,当第一虚拟交换机接收到的数据报文的要发往不同的网卡,第一虚拟交换机分别根据各数据报文携带的目的地址,分别通过不同的虚拟端口将各数据报文转发至各自对应的网卡。在上述方法中,不需要通过物理交换机,例如架顶(Top of Rack,TOR)交换机,来实现报文在不同网卡中的转发,通过虚拟交换机即可根据数据报文中携带的目的地址将数据报文发送至对应的网卡。相较于难以统一管理和控制的物理交换机,虚拟交换机可以由控制器统一控制,使得网络配置配置灵活方法,且更适应数据中心和/或边缘站点的业务需求,即在有限的物理设备上实现便于统一管理的网络。数据中心和/或者边缘站点的网络在配置或者搭建过程中,不需要新增物理交换机,直接利用主机上的虚拟交换机即可实现灵活且便于统一管理的网络。
可选地,所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,包括:所述第一虚拟交换机根据所述第一目的地址查询转发流表,确定转发所述第一数据报文的所述第一虚拟端口,其中,所述转发流表由网络控制器下发至所述第一虚拟交换机。
本申请实施例中的第一虚拟交换机根据网络控制器下发的转发流表完成数据报文的转发。换句话说,网络控制器通过下发不同的转发流表,使得第一虚拟交换机实现不同的转发功能。网络控制器下发的转发流表使得基于虚拟交换机创建的网络进一步实现灵活的统一管理。
可选地,所述转发流表由所述网络控制器根据所述第一网卡和所述第二网卡的连接关系生成。
可选地,具有所述第一目的地址的设备为所述第一数据报文的目的虚拟机。所述第一虚拟交换机从接收第一数据报文之后,所述方法还包括:所述第一虚拟交换机根据所述第一目的地址确定第二目的地址,其中,具有所述第二目的地址的设备为第二虚拟交换机,所述第二虚拟交换机连接至所述目的虚拟机。所述第一虚拟交换机根据所述第二目的地址对所述第一数据报文进行封装得到第二数据报文,其中,所述第二数据报文携带所述第二目的地址;所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,具体包括:所述第一虚拟交换机根据所述第二目的地址,确定所述第一虚拟端口。
在本申请实施例中,网卡之间转发的数据报文可以是封装后的数据报文,例如虚拟可扩展局域网(Virtual Extensible LAN,VXLAN)报文等。数据报文的封装和解封装通常由虚拟交换机完成。对第一数据报文进行封装得到的第二数据报文携带与第一目的地址对应的第二目的地址,第一虚拟交换机根据第二目的地址对第二数据报文进行转发,使得第二目的地址到达具有针对第二数据报文的解封装能力的第二虚拟交换机,从而实现封装后的数据报文的转发能力。
可选地,所述方法还包括:所述第一虚拟交换机接收第三数据报文,所述第三数据报文携带第三目的地址,所述第三目的地址与所述第一目的地址不同;所述第一虚拟交换机根据所述第三目的地址对所述第三数据报文进行封装得到第四数据报文,所述第四数据报文包含所述第三数据报文,以使得当所述第二数据报文到达所述第二虚拟机后,所述第二数据报文中包括的所述第一数据报文由所述第二虚拟机根据所述第一数据报文携带的所述第一目的地址转发至所述目的设备,以及得当所述第四数据报文到达所述第二虚拟机后,所述第四数据报文中包括的所述第三数据报文由所述第二虚拟机根据所述第三数据报文携带的所述第三目的地址转发至所述目的设备。
当数据报文的目的设备位于数据中心和/或者站点外,由于站点和/或者数据中心外的设备无法转发封装后的数据报文,因此,在封装后的数据报文离开数据中心或者站点之前,将封装后的报文发送至一个或者多个虚拟交换机,所述一个或者多个虚拟交换机对数据报文进行解封装,并将解封装的数据报文发往数据中心和/或者站点外的目的设备。上述方法兼容了数据中心和/或者站点内的支持封装后数据报文的设备与数据中心和站点外不支持封装后数据报文的设备。
可选地,所述方法用于站点和/或数据中心。所述第一虚拟交换机根据所述第一目的地址确定第二目的地址之前,所述方法还包括:所述第一虚拟交换机根据所述第一目的地址确定所述目的设备位于所述站点或数据中心内。
兼容数据中心和/或者站点内的支持封装后数据报文的设备与数据中心和站点外不支持封装后数据报文的设备的另一种可能的实施方式包括:判断数据报文的目的设备是否位于数据中心和/或者站点内。当数据报文的目的设备位于数据中心和/或者站点内,则对数据报文进行封装,转发封装后的数据报文;当数据报文的目的设备位于数据中心和/或者站点外,则不对数据报文进行封装,转发未经封装的数据报文。
可选地,所述方法还包括:所述第一虚拟交换机检测到所述第一虚拟交换机与第二虚拟交换机之间的转发路径发生故障,将故障消息上报至所述网络控制器;所述第一虚拟交换机接收所述网络控制器的指令,更新所述转发流表,其中,所述指令由所述网络控制器在接收的所述故障消息后,根据获取的网卡连接关系生成的;所述第一虚拟交换机从所述虚拟机接收第五数据报文,所述第五数据报文携带所述第一目的地址;所述第一虚拟交换机根据所述第一目的地址查询更新后的所述转发流表,在所述多个虚拟端口中确定转发所述第五数据报文的虚拟端口,确定出的虚拟端口不为所述第一虚拟端口;所述第一虚拟交换机将所述第五数据报文从所述确定出的虚拟端口发送至对应物理端口所在的网卡,以使得所述第二数据报文通过所述对应物理端口所在的网卡到达与所述对应物理端口所在的网卡相连的网卡。
可选地,所述方法还包括:所述第一虚拟交换机检测到所述第一虚拟交换机与第二虚拟交换机之间的转发路径发生故障,将故障消息上报至所述网络控制器;所述网络控制器接收上报的所述故障消息,获取网卡连接关系,根据所述网卡连接关系更新所述第一虚拟交换机上的所述转发流表;所述第一虚拟交换机从所述虚拟机接收第五数据报文,所述第五数据报文携带所述第一目的地址;所述第一虚拟交换机根据所述第一目的地址查询更新后的所述转发流表,在所述多个虚拟端口中确定转发所述第五数据报文的虚拟端口,确定出的虚拟端口不为所述第一虚拟端口;所述第一虚拟交换机将所述第五数据报文从所述确定出的虚拟端口发送至对应物理端口所在的网卡;所述对应物理端口所在的网卡将所述第二数据报文从所述对应物理端口发送至与所述对应物理端口所在的网卡相连的网卡。
可选地,所述方法还包括:所述第一虚拟交换机通过所述第一虚拟端口从所述第一网卡接收第六数据报文,所述第六数据报文携带第五目的地址;所述第一虚拟交换机根据所述第五目的地址,确定转发所述第一数据报文的第二虚拟端口;所述第一虚拟交换机将所述第六数据报文从所述第二虚拟端口发送至所述第一网卡,以使得所述第六数据报文通过所述第一网卡上与所述第二虚拟端口对应的第二物理端口到达第三网卡。
第四方面,本申请实施例提供了计算机程序产品和非易失性计算机可读存储介质,其中计算机程序产品和非易失性计算机可读存储介质中包含计算机指令,计算设备执行计算机指令用于实现本申请实施例第一方面中的各种方案。
第五方面,本申请实施例提供了计算机程序产品和非易失性计算机可读存储介质,其中计算机程序产品和非易失性计算机可读存储介质中包含计算机指令,计算设备执行计算机指令用于实现本申请实施例第三方面中的各种方案。
附图说明
图1为本申请实施例中提供的一种数据中心、边缘站点、外部网络、外部设备及数据源的架构的的示意图;
图2为本申请实施例中提供的一种数据中心的架构的示意图;
图3为本申请实施例中提供的一种获取转发流表的方法的示意图;
图4为本申请实施例中提供的一种数据传送方法的示意图;
图5为本申请实施例提供的另一种数据传送方法的示意图;
图6为本申请实施例提供的一种计算设备的示意图;
图7为本申请实施例提供的一种主机和网卡的示意图。
具体实施方式
首先解释说明本申请实施例中的名词术语。
数据中心:亦称云数据中心或中心站点,用于基于数据源产生的待处理数据来提供服务。通常情况下,数据中心离产生待处理数据的数据源较远,数据中心的设备通过远程连接或访问从数据源获取待处理数据,这就会带来因远程连接或访问而导致的时延,因此,数据中心中部署的服务通常是对时延要求较低的服务。
站点,亦称边缘站点,用于基于数据源产生的待处理数据来提供服务。通常情况下,边缘站点离产生待处理数据的数据源较近,边缘站点的设备从数据源获取待处理数据的时延较低。这就会带来因远程连接或访问而导致的时延,因此,边缘站点中部署的服务通常是对实时性要求较高的服务。
服务,包括但不限于计算服务、存储服务、网络服务等,数据中心和/或站点中用户可以访问到的任何设备或功能都可视为数据中心或站点提供的服务。通常情况下,称部署在数据中心中的服务为中心服务或者中心云服务,称部署在边缘站点中的服务为边缘服务或者边缘云服务。
外部设备,指数据中心以及边缘站点以外的设备。外部设备包括服务器、终端等各种物理或虚拟设备。
外部网络,指数据中心以及边缘站点以外的网络设备建立的网络。外部网络101包括但不限于5G网络,4G网络,广域网(Wide Area Network,WAN)网络等有线或者无线传输网络。
图1中以数据中心1001为例,展示了本申请实施例中数据中心的示意图。数据中心1001 包括至少两个主机。图1中示例性地绘制出数据中心1001中的主机110、主机120和主机130。本申请实施例中,主机例如主机110、主机120和主机130,可用于运行虚拟机。可选地,数据中心也包括未部署虚拟机的主机,未部署虚拟机的主机未在图1中示出,不部署虚拟机的主机通常用于提供对安全性或者计算性能要求较高的服务。主机上可运行有至少一个虚拟机和虚拟交换机。如图1所示,主机110上部署有虚拟机111和虚拟交换机112,主机120上部署有虚拟机121和虚拟交换机122,主机130上部署有虚拟机131和虚拟交换机132。可选地,数据中心1001上部署有物理交换机160。
数据中心1001从数据源103获取数据,基于获取的数据提供服务。数据源103可以是任何数据生成设备,数据源103可通过数据传输线与数据中心1001,也可以通过外部网络101 或者其他有线或者无线传输网络连接至数据中心1001,数据传输线可以是各种数据传输线或者电力线等。除此之外,数据源103也可以位于数据中心1001,换句话说,数据中心1001 也可以基于数据中心1001内部产生的数据提供服务。另外,数据源103也可以为外部设备 102,也就是说,数据中心1001可以基于外部设备102产生的数据提供服务。本申请实施例中,数据源的个数可以是一个或者多个。
同样地,边缘站点1002包括至少两个主机。图1中示例性地绘制出边缘站点1002中的主机140和主机150。可选地,边缘站点也包括未部署虚拟机的主机,未部署虚拟机的主机未在图1中示出。如图1所示,主机140上部署有虚拟机141和虚拟交换机142,主机150 上部署有虚拟机151和虚拟交换机152。可选地,边缘站点1002上部署有物理交换机170。
边缘站点1002亦可从数据源103获取数据,基于获取的数据提供服务。同样地,数据源 103可通过数据传输线与边缘站点1002,也可以通过外部网络101或者其他有线或者无线传输网络连接至边缘站点1002,数据传输线可以是各种数据传输线或者电力线等。除此之外,数据源103也可以位于边缘站点1002,换句话说,边缘站点1002也可以基于边缘站点1002 内部产生的数据提供服务。另外,数据源103也可以为外部设备102,也就是说,边缘站点 1002可以基于外部设备102产生的数据提供服务。数据中心与边缘站点也可与不同的数据源连接,基于不同的数据源产生的数据提供服务。
可选地,数据中心1001和边缘站点1002通过外部网络101互通。数据源103也可以只连接至数据中心1001及边缘站点1002二者中的一个。
将不同的服务分别部署在数据中心和边缘站点可以提高服务的实时性,降低延迟。以进行视频的实时采集和分析的服务为例,此时,数据源103为摄像设备。边缘站点1002的地理位置离摄像设备较近,数据中心1001的地理位置离摄像设备较远。该服务通过对摄像设备所采集的视频进行处理和分析,识别出视频中包含的特定对象。该服务包括从摄像设备获取视频文件,对视频文件进行初步的处理以获取结构化的视频数据,再根据结构化的视频数据识别视频中包含的特定对象。如果将该服务部署在数据中心1001的设备中,将极大的视频文件从摄像设备处传输至距离较远的数据中心1001会带来极大的时延,严重影响识别特定对象的实时性。因此,可以将视频文件的初步处理过程部署在边缘站点1002,而将识别特定对象的过程部署在数据中心1001,在边缘站点1002中完成视频文件的初步处理,获取结构化的视频数据之后,将结构化的视频数据传输至数据中心1001,在数据中心1001中完成特定对象的识别。相较于未经处理的视频文件,初步处理所得的结构化的视频数据的数据量较小,在边缘站点1002和数据中心1001之间传输结构化的视频数据的时延因此而远小于传输未经处理的视频文件的时延,同时,还节省了网络资源例如网络带宽等。因此,可将服务跨数据中心与边缘站点部署,在节省资源的基础上提高服务的实时性。
下文中,以边缘站点1002中虚拟机141发送数据报文至虚拟机151的过程为例,介绍一种数据传送方法。
虚拟机141发送数据报文至主机140上的虚拟交换机142,数据报文携带目的地址,即虚拟机151的地址。虚拟交换机141根据数据报文携带的目的地址,识别出该数据报文的目的设备(即虚拟机151)位于另一主机,虚拟交换机141即将该数据报文转发至物理交换机170。物理交换机170接收数据报文后,根据目的地址,将该数据报文发送至主机150上的虚拟交换机152,由虚拟交换机152将数据报文转发至虚拟机151。
数据中心中不同主机上虚拟机的数据报文转发亦需要物理交换机的参与,边缘站点上的虚拟机与数据中心的虚拟机之间的数据报文转发同样也需要物理交换机的参与。物理交换机的弊端包括缺乏统一管理的能力。进一步地,在近数据源的现有机房部署边缘站点时,边缘站点中可能无法部署物理交换机。
基于此,本申请实施还提供一种数据传送方法,将网卡连接至数据中心和/或边缘站点中的各主机,不需要通过物理交换机,通过虚拟交换机即可根据数据报文中携带的目的地址将数据报文发送至对应主机上的网卡,进而将数据报文发送至目的地址所表征的目的设备。相较于难以统一管理和控制的物理交换机,虚拟交换机可以由控制器统一控制,使得网络配置灵活方法,且更适应数据中心和/或边缘站点的业务需求,即在有限的物理设备上实现便于统一管理的网络。数据中心和/或者边缘站点的网络在配置或者搭建过程中,不需要新增物理交换机,直接利用主机上的虚拟交换机即可实现灵活且便于统一管理的网络。
该数据传送的方法可用于边缘站点中的虚拟机之间的通信,也可以用于数据中心中的虚拟机之间的通信。此外,还可以用于边缘站点的虚拟机与数据中心的虚拟机之间的通信,以及边缘站点的虚拟机与外部设备的通信、数据中心的虚拟机与外部设备的通信。
数据中心1001中的设备架构如图2所示。示例性地,图2中仅绘制出主机110、主机120 和主机130。
在本发明实施例中的数据中心1001包括至少两个主机,该至少两个主机上中的每个主机均连接至至少一个网卡,且主机上运行有虚拟机。该至少两个主机中的各主机不经过物理交换机,利用数据传输线通过网卡直接互联,从而建立各主机上的虚拟交换机之间的通信链路。此外,虚拟交换机与外部网络101的通信链路不需经过出口路由设备。可选地,数据中心1001 的至少两个主机中还包括与外部网络101直接相连的主机,该主机利用数据传输线,通过网卡直接与外部网络101相连,从而使得数据中心1001中的虚拟机通过该主机与外部网络进行数据交换,打通各虚拟交换机与外部网络101之间的通信链路。进一步地,数据中心1001的网络控制器根据各主机上的网卡之间的互联关系和/或主机上的网卡与外部网络的连接关系,确定报文在各主机上的虚拟机之间和/或主机上的虚拟交换机与外部网络之间的转发路径,进而向各虚拟交换机下发转发流表;虚拟交换机根据接收自网络控制器的转发流表完成报文的转发,从而使得报文根据网络控制器确定的转发路径到达目的端。数据报文在两个主机上的虚拟机之间的转发和寻址不需要经过物理交换机,直接由主机上的虚拟交换机完成。数据报文在虚拟机之间与外部网络之间的转发和寻址不需要经过物理交换机及出口路由器,同样直接由主机上的虚拟交换机完成。
如图2所示,数据中心1001包括主机110、主机120和主机130,每个主机上均部署有至少一个虚拟机、虚拟交换机和网卡。每个虚拟交换机上均具有与网卡上物理端口一一对应的多个虚拟端口。各主机通过其上的网卡两两相连。具体地,虚拟交换机112具有虚拟端口 112a和虚拟端口112b,虚拟交换机122具有虚拟端口122a和虚拟端口122b,虚拟交换机132 具有虚拟端口132a、虚拟端口132b和虚拟端口132c;主机110上的网卡113具有端口113a 和端口113b,主机120上的网卡123具有端口123a和端口123b,主机130上的网卡133具有端口133a、端口133b和端口133c。虚拟交换机112上的两个虚拟端口与网卡113上的两个物理端口一一对应,虚拟交换机122上的两个虚拟端口与网卡123上的两个物理端口一一对应,虚拟交换机132上的三个虚拟端口与网卡133上的三个物理端口一一对应。用数据传输线将物理端口113a和物理端口133b相连,可将主机110与主机130相连,实现主机110 与主机130之间的数据互通。同样地,用数据传输线将物理端口113b和物理端口123a相连,可将主机110与主机120相连,实现主机110与主机120之间的数据互通;数据传输线将物理端口123b和物理端口133a相连,可将主机120与主机130相连,实现主机120与主机130 之间的数据互通。可选地,当数据中心1001中的虚拟机需要访问外部网络101,通过网卡133 的物理端口133c将主机130与外部网络相连,实现主机130与外部网络的数据互通。
网络控制器180通过转发流表可以实现对虚拟交换机112、虚拟交换机122、虚拟交换机 132的统一控制。虚拟交换机112、虚拟交换机122和虚拟交换机132根据网络控制器下发的转发流表确定报文的转发路径,实现各虚拟机之间以及虚拟机与外部网络101之间的通信。与外部网络101通信即通过外部网络101与外部设备102通信。
同样地,上述架构也可以用于边缘站点1002。类似地,边缘站点中的至少两个主机均有网卡,且均运行有虚拟机。该至少两个主机中的各主机不经过物理交换机,利用数据传输线通过网卡直接互联,从而建立各主机上的虚拟交换机之间的通信链路。可选地,边缘站点1002 的至少两个主机中还包括与外部网络101直接相连的主机,该主机利用数据传输线,通过网卡直接与外部网络101相连,从而使得数据中心1001中的虚拟机通过该主机与外部网络进行数据交换,打通各虚拟交换机与外部网络101之间的通信链路。
图2中,示例性地,数据中心1001中各主机上的网卡113、网卡123与网卡133两两直接相连,即,任一网卡上,均具有连接至其他各网卡的物理端口。本申请实施例对数据中心或者边缘站点中的网卡是否两两相连进行限定。例如,可选地,网卡113上的物理端口133a不与网卡133b相连,虚拟机111发往虚拟机131的数据报文经物理端口113b到达物理端口123a,进而到达虚拟交换机112,再由虚拟交换机112转发至物理端口123b,通过物理端口123b到达物理端口133a,进而最终被转发至虚拟机131。在本申请实施例中,数据中心1001中多个主机上的至少两个网卡之间通过数据传输线相连,使得数据报文能够从网卡i到达网卡j,其中,网卡i与网卡j均为所述至少两个网卡之间的任一网卡,且网卡i与网卡j为不同网卡。数据报文从网卡i到达网卡j包括:数据报文直接从网卡i到达相连的网卡j,和/或数据报文从网卡i,经至少一个其他网卡到达网卡j,其中,所述至少一个其他网卡为所述至少两个网卡中除网卡i和网卡j之外的网卡。
同样,边缘站点1002中多个主机上的至少两个网卡之间通过数据传输线相连,本申请实施例对边缘站点1002中的至少两个网卡是否是两两相连不做限定。
在介绍虚拟机之间的报文转发过程之前,首先介绍各虚拟交换机上的转发流表生成的过程。优选地,虚拟交换机的转发流表由网络控制器下发。虚拟交换机获取转发流表的过程如图3所示。
s301,网络控制器获取至少两个网卡的连接关系。
至少两个网卡的连接关系包括至少两个网卡的物理端口中,直接用数据传输线互联的物理端口,以及数据传输线互联的物理端口的连接关系。例如,网络控制器获取记录连接关系的网络架构表,该网络架构表的表项中记录有两个用数据传输线互联的物理端口的端口号。根据至少两个网卡的连接关系,网络控制器可以获知数据报文经过一个网卡到达另一网卡需要经过的转发路径。
在本发明实施例中,网络控制器获取至少两个网卡的连接关系可以为由用户或管理员手动输入或者通过其他方式获取。
s302,网络控制器根据至少两个网卡的连接关系为各虚拟交换机生成至少两个转发流表,转发流表中记录有数据报文携带的目的地址与转发数据报文的虚拟端口的对应关系。
s303,网络控制器将至少两个转发流表分别下发至各虚拟交换机。
在本申请实施例中,至少两个网卡可以是数据中心中的部分网卡,也可以是数据中心中的全部网卡,同样地,至少两个网卡可以是边缘中的部分网卡,也可以是边缘站点中的全部网卡。换句话说,网络控制器可以根据全部网卡的连接关系创建转发流表并下发至虚拟交换机,也可以分批次完成转发流表的创建和下发,例如,先获取部分网卡的连接关系创建转发流表并下发至部分虚拟交换机,再获取其他网卡的连接关系创建转发流表并下发。
基于虚拟交换机中的转发流表,以数据中心1001中虚拟机111向虚拟机131发送数据报文的过程为例,说明同一边缘站点或者数据中心内的虚拟机之间通信的方法。
虚拟机111向虚拟机131发送数据报文的过程包括,虚拟机111把数据报文发送至虚拟交换机112,虚拟交换机112把数据报文发送至网卡113,由网卡113将数据报文转发至虚拟机131所在主机130上的虚拟交换机132,由虚拟交换机132把数据转发最终转发至虚拟131。
在上述方法中,虚拟交换机112将接收到的数据报文1发送至网卡113,完成数据报文1 在网卡之间的传送的一种可选的方法如图4中的步骤s401-s405。
s401,虚拟机111发送数据报文1至虚拟交换机112,数据报文1携带目的地址1。目的地址即报文的目的设备的地址,此处,目的地址1为虚拟机131的地址。
s402,虚拟交换机112从虚拟机111接收数据报文1,根据数据报文1中的目的地址1,确定转发数据报文1的虚拟端口,即虚拟端口112a。
具体地,虚拟交换机112根据虚拟交换机112中的转发流表1确定虚拟端口112a。转发流表1由网络控制器180下发至虚拟交换机112。网络控制器180下发至各虚拟交换机的转发流表中记录有数据报文的转发规则。数据报文中包括源地址和目的地址,源地址和目的地址信息用于确定数据报文的源设备和目的设备。地址信息包括IP地址、MAC地址和端口号等。根据源地址和/或目的地址可以识别数据报文。针对从虚拟机111发往虚拟机131的数据报文 1,其源地址由虚拟机111的地址确定,其目的地址信息由虚拟机131的地址确定。转发流表中包含至少一条表项,至少一条表项表征具有不同目的地址的数据报文对应的不同转发规则,每条表项中记录有目的地址和该目的地址对应的虚拟端口。虚拟交换机通过虚拟端口转发数据报文,以使得数据报文最终到达目的设备。
表项中记录的端口可以是虚拟交换机的虚拟端口,也可以是该虚拟端口对应的物理端口。通常情况下,虚拟交换机包括至少一个虚拟端口。虚拟交换机上的虚拟端口与该虚拟交换机所在的主机上的网卡的物理端口一一对应。例如,图2中,网卡113包括端口113a和113b,对应地,虚拟交换机112上具有两个虚拟端口112a和112b,分别对应网卡113上的物理端口113a和物理端口113b。虚拟交换机在转发数据报文时,将数据报文从虚拟交换机的虚拟端口转发出去,进而把数据报文发送至该虚拟端口对应的网卡的物理端口。转发流表的表项中记录的目的地址对应的端口可以为虚拟交换机的虚拟端口或网卡的物理端口,表征虚拟交换机需将数据报文发往的虚拟端口。
虚拟交换机112获取来自虚拟机111的数据报文1中的目的地址1,根据数据报文1的目的地址1,查询转发流表1中的表项,进而确定数据报文1对应的虚拟端口。具体地,虚拟交换机112上的转发流表1中包括有针对数据报文1的表项,该表项中记录有数据报文1的目的地址1和目的地址1对应的虚拟端口113a,或者虚拟端口113a对应的物理端口。虚拟交换机112根据目的地址1,确定数据报文1对应的端口为物理端口113a或者虚拟端口112a。
可选地,在确定数据报文的发送端口之前,虚拟交换机112还对数据报文进行限速和安全检测。在本申请实施例中,数据报文可以是虚拟局域网(Virtual Local AreaNetwork, VLAN)报文,也可以是虚拟可拓展局域网(Virtual Extensible Local AreaNetwork,VXLAN) 报文。当数据报文是VXLAN报文,在确定数据报文的发送端口之前,虚拟交换机112还可对数据报文进行VXLAN封装。
s403,虚拟交换机112根据确定的虚拟端口将数据报文1转发至网卡113,即,从虚拟端口112a将数据报文1转发至网卡113。
s404,网卡113接收数据报文1,根据接收到数据报文1的端口确定转发数据报文1的端口,具体地,根据接收数据报文1的虚拟端口112a,查询网卡113的物理端口与虚拟端口的对应关系,确定转发数据报文1的物理端口,即物理端口113a。
s405,网卡113将数据报文1从物理端口113a发送至网卡133。
虚拟端口112a与网卡113的物理端口113a对应。网卡113从虚拟端口112a接收数据报文1,根据虚拟端口112a与物理端口113a的对应关系,从物理端口113a转发数据报文1。网卡113的物理端口113a与网卡133的物理端口133b相连,因此该数据报文通过物理端口113a与物理端口133b之间的数据传输线到达主机130的网卡133。
数据报文1到达网卡133后,由网卡133所在主机130上的虚拟交换机132继续完成数据报文1的转发,如图4中s406-s409。
s406,网卡133数据报文1,根据接收到数据报文1的端口确定转发数据报文1的端口,具体地,自物理端口133b接收数据报文1,根据接收数据报文1的物理端口133b,查询网卡 133的物理端口与虚拟端口的对应关系,确定转发数据报文1的虚拟端口,即虚拟端口132b。
s407,网卡133根据确定的端口转发数据报文1,具体地,将数据报文1从虚拟端口132b 转发至虚拟交换机132。
s408,虚拟交换机132接收数据报文1,根据数据报文1中携带的目的地址1,确定根据数据报文1中的目的地址1,确定转发数据报文1的端口,确定的端口为虚拟交换机132与虚拟机131之间的虚拟端口。
s409,虚拟交换机132根据确定的端口,将数据报文1转发至虚拟机132。
同样地,类似于虚拟交换机112,虚拟交换机132收到数据报文1后,也需要查询其上的转发流表2,转发流表2亦为网络控制器180下发。网络控制器180下发的转发流表2包括数据报文1相关的表项。该表项记录有数据报文1的目的地址1对应的转发地址,根据转发地址可以将数据报文1转发至虚拟机131。虚拟交换机132根据数据报文1的目的端地址信息查询转发流表2,在转发流表2中确定数据报文1相关的表项,并根据该表项中记录的转发地址转发数据报文1至虚拟机131。
可选地,数据报文1为VXLAN报文,则步骤s408中,虚拟交换机收到的数据报文1是具有vxlan封装的,那么,步骤s409中,在将数据报文转发至虚拟机131之前,虚拟交换机132还需要对接收到的具有VXLAN封装的数据报文1进行解封装。
图4提供了将虚拟机111的数据报文1转发至虚拟机131的过程。可选地,数据报文1也可经网卡123到达虚拟机131。此时,记录在虚拟交换机112上的转发流表1中的目的地址1对应的虚拟端口不再是虚拟端口112a,而是虚拟端口112b,或者说,记录在虚拟交换机 112上的转发流表1中的目的地址1对应的物理端口不再是物理端口113a,而是物理端口 113b。转发过程如s401’-s408’所示。
s401’,与s401相同,虚拟机111发送数据报文1至虚拟交换机112,数据报文1携带目的地址1。此处,目的地址1为虚拟机131的地址。
s402’,虚拟交换机112从虚拟机111接收数据报文1,根据数据报文1中的目的地址1,确定转发所述第一数据报文的虚拟端口112b。
s403’,虚拟交换机112将数据报文1从虚拟端口112b发送至网卡112。
s404’,网卡113将数据报文1从物理端口113b发送至网卡123。
虚拟端口112b与网卡113的物理端口113b对应。网卡113从虚拟端口112b接收数据报文1,根据虚拟端口112b与物理端口113b的对应关系,从物理端口113b转发数据报文1。网卡113的物理端口113b与网卡123的物理端口123a相连,因此该数据报文1通过物理端口113b与物理端口123a之间的数据传输线到达主机120的网卡123。
s405’,网卡123将接收自物理端口123a的数据报文1,通过物理端口123b对应的虚拟端口123a将数据报文1转发至主机130上的虚拟交换机122。
s406’,虚拟交换机122接收数据报文1,根据数据报文1中携带的目的地址1,确定转发数据报文1的虚拟端口。
虚拟交换机122接收到数据报文后,根据数据报文中携带的目的地址,查询虚拟交换机 122上的转发流表2。当根据转发流表2获取的目的地址对应的虚拟端口为连接至虚拟机121 的端口(未在图2中示出),虚拟交换机122根据该确定的虚拟端口,将数据报文转发至虚拟虚拟机121;当根据转发流表2获取的目的地址对应的虚拟端口为连接至网卡123的端口,如虚拟端口123a或虚拟端口123b,将数据报文由对应的虚拟端口转发至网卡123。
数据报文1的目的设备为虚拟机131,那么由网络控制器180下发的转发流表2中记录的端口应为虚拟端口122b或者物理端口123b。那么,确定的转发数据报文1的虚拟端口应为虚拟端口122b。
s407’,类似于s403’,虚拟交换机122将数据报文1从虚拟端口122b发送至网卡122。
s408’,网卡123将数据报文1从物理端口123b发送至网卡133。
虚拟端口122b与网卡123的物理端口123b对应。网卡123从虚拟端口122b接收数据报文1,根据虚拟端口122b与物理端口123b的对应关系,从物理端口123b转发数据报文1。网卡123的物理端口113b与网卡133的物理端口133b相连,因此数据报文1通过物理端口 123b与物理端口133b之间的数据传输线到达主机130的网卡133。
网卡133接收数据报文1的转发流程与步骤s406-s409相同,在此不再赘述。
在上述步骤s401’-s408’中,各网卡接收到数据报文后,还要根据接收数据报文的端口,确定转发数据报文的端口,包括还要根据接收数据报文的虚拟端口,确定转发数据报文的物理端口,或者根据接收数据报文的物理端口,确定转发数据报文的虚拟机端口。
优选地,网络控制器180生成的转发流表1中,目的地址1对应的虚拟端口为112a,或者,网络控制器180生成的转发流表1中,目的地址1对应的物理端口为113a,这样可以缩短数据报文1在两虚拟机之间的转发路径。当虚拟交换机112与虚拟交换机132之间的通信链路发生故障,网络根据网卡连接关系更新虚拟交换机上的转发流表,使得各虚拟交换机按照步骤s401’-s408’转发数据报文。
也就是说,可选地,在本申请实施例中,网络控制器接收故障消息,根据故障消息和网卡连接关系,更新虚拟交换机的转发流表,使得数据报文绕过发生故障的通信链路,根据新的转发路径实现转发。网卡连接关系即前文所述的至少两个网卡的连接关系。根据前文的介绍,至少两个网卡可以是数据中心中的部分网卡,也可以是数据中心中的全部网卡,也就是说,至少两个网卡的连接关系可以是部分网卡的连接关系,也可以是全部网卡的连接关系。
仍以数据报文1为例。网络控制器接收到故障消息,根据网卡113的物理端口113b与网卡123的物理端口123a的互联关系,以及网卡123的物理端口123b与网卡133的物理端口 133b的互联关系,更新虚拟交换机112、122的转发流表。更新后的转发流表1中,目的地址1对应的虚拟端口为112b,或者,更新后的转发流表1中,目的地址1对应的物理端口为113b。
可选地,故障消息由虚拟交换机上报至网络控制器。虚拟交换机可以通过发送探测报文来检测通信链路是否发生故障。探测报文可由虚拟交换机定期发送,也可以根据用户或管理员的指示发送。用户或管理员指示虚拟交换机发送探测报文时,可通过网络控制器向虚拟交换机发送指示消息。
上文以数据中心1001为例,介绍了数据中心1001中两虚拟机通信的过程。在边缘站点 1002中可采用同样的架构和方法来实现边缘站点1002的两虚拟机的通信,在此不再赘述。
本申请实施例还提供一种数据中心1001上的虚拟机访问外部网络101的方法。该方法可用于数据中心1001的虚拟机通过外部网络101与边缘站点1002上的虚拟机通信,也可用于数据中心1001的虚拟机通过外部网络101与外部设备102通信。
如图2所示,主机130的网卡133上的物理端口133c与外部网络相连,与外部网络101 相连即与外部网络101中的网络设备相连。目的设备在数据中心1001的数据报文,转发至网卡133,即可通过网卡133上的物理端口133c到达外部网络。
以虚拟机111的数据报文2为例。如图5数据传送的方法包括:
s501,虚拟机111发送数据报文2至虚拟交换机112,数据报文2携带目的地址2。目的地址2即数据报文的目的设备的地址,数据报文2目的设备位于数据中心1001外。
s502,虚拟交换机112从虚拟机111接收数据报文2,根据数据报文2中的目的地址2,确定转发数据报文2的虚拟端口。
可选地,确定的虚拟端口可以是虚拟端口121a,也可是是虚拟端口121b。
s503,虚拟交换机112根据确定的虚拟端口,将数据报文2转发至网卡133。
可选地,参考转发数据报文1的步骤s401-s405,虚拟交换机112根据确定的虚拟端口,将数据报文2转发至网卡133,包括,虚拟交换机112根据确定的虚拟端口,将数据报文2转发至网卡113,通过网卡113上的物理端口113a直接将数据报文2转发至网卡133。
可选地,参考转发数据报文1的步骤s401’-s408’,虚拟交换机112根据确定的虚拟端口,将数据报文2转发至网卡133,包括,虚拟交换机112根据确定的虚拟端口,将数据报文2转发至网卡113,网卡113通过网卡113上的物理端口113b将数据报文转发至网卡123,由网卡123将数据报文2转发至网卡133。
本申请实施例对数据报文2从网卡113到达网卡133的转发路径不做限制。但是,将数据报文2从网卡113转发至网卡133的过程中,数据报文2不会经物理端口133c。
s504,类似与s406,网卡133接收数据报文2,根据接收数据报文2的物理端口,查询网卡133的物理端口与虚拟端口的对应关系,确定转发数据报文2的虚拟端口。
s505,网卡133将数据报文2从确定的虚拟端口转发至虚拟交换机132。
s506,虚拟交换机132接收数据报文2,根据数据报文2中携带的目的地址2,根据虚拟交换机132的转发流表2确定目的地址2对应的虚拟端口。
目的地址2对应的虚拟端口为虚拟端口132c,转发流表2中记录的目的地址2对应的端口为虚拟端口132c或物理端口133c,则根据转发流表2确定的虚拟端口为虚拟端口132c。
s507,虚拟交换机132将数据报文2从虚拟端口132c发送至网卡133。
s508,网卡133从虚拟端口132c接收数据报文2,根据接收数据报文2的虚拟端口132c,查询虚拟端口132c对应的物理端口,确定转发数据报文2的物理端口133c。
s509,网卡133数据报文2从物理端口133c转发至外部网络101。
前文中提到,本申请实施例中转发的数据报文可以是VLAN报文或者VXLAN报文。当数据中心1001中虚拟交换机转发的报文是VXLAN报文,由于外部网络101中的设备通常无法处理 VXLAN报文,因此,本申请实施例还提供一种数据传送方法,用于在数据报文转发过程中,将数据中心1001内的VXLAN报文转换成外部网络101中的设备能够处理的VLAN报文。
以虚拟机111的数据报文3为例。
s601,虚拟机111发送数据报文3至虚拟交换机112,数据报文3携带目的地址3。
s602,虚拟交换机112从虚拟机111接收数据报文3,根据数据报文3中的目的地址3,获取目的地址3对应的目的地址4。
目的地址4用于对数据报文3进行封装。封装数据报文3之后,虚拟交换机112转发的是封装后的数据报文,确定转发端口也是根据封装后的数据报文携带的目的地址进行转发。若数据报文3的目的设备为数据中心1001中的设备,则目的地址4为目的设备所在主机的虚拟交换机的地址,例如,若数据报文3的目的设备为虚拟机121,则目的地址4为虚拟交换机122的地址;若数据报文3的目的设备为数据中心1001外的设备,则目的地址4为与外部网络101相连的网卡所在主机上的虚拟交换机的地址,即虚拟交换机132的地址。
s603,虚拟交换机112根据目的地址4对数据报文3进行封装,得到数据报文4。
根据VXLAN协议,数据报文4携带的目的地址4,且数据报文4包括数据报文3。
s604,虚拟交换机112根据数据报文4中携带的目的地址4,查询转发流表1,确定转发数据报文4的虚拟端口。
若目的地址4为虚拟交换机122的地址,执行步骤s605-s606。若目的地址4为虚拟交换机132的地址,执行步骤s607-s608。
s605,虚拟交换机112将数据报文4转发至网卡123,网卡123再将数据报文4转发至虚拟交换机122。具体过程参考上文中所述的具体实施方式。
s606,虚拟交换机122接收数据报文4,根据数据报文3携带的目的地址4,对数据报文 4解封装得到数据报文3,将数据报文3转发至虚拟机122,完成数据报文3的转发。
s607,虚拟交换机112将数据报文4转发至网卡133,网卡133再将数据报文4转发至虚拟交换机132。具体过程参考上文中所述的具体实施方式。
s608,虚拟交换机132接收数据报文4,根据数据报文4携带的目的地址4,对数据报文 4解封装得到数据报文3。
s609,虚拟交换机132解封装后获得的数据报文3,根据数据报文3携带的目的地址3,确定转发数据报文3的虚拟端口,确定的虚拟端口即虚拟端口132c。
s610,虚拟交换机132通过虚拟端口132c将数据报文3转发至网卡133。
s611,网卡133从虚拟端口132c接收数据报文3,根据虚拟端口132c与物理端口133c 的对应关系,将数据报文3从物理端口133c转出数据中心。
在上述步骤s601-s611中,各网卡接收到数据报文后,还要根据接收数据报文的端口,确定转发数据报文的端口,包括还要根据接收数据报文的虚拟端口,确定转发数据报文的物理端口,或者根据接收数据报文的物理端口,确定转发数据报文的虚拟机端口。
根据s601-s611中所述的方法,对发往外部网络101的数据报文进行VXLAN封装时,发往外部网络101的数据报文均根据出口虚拟交换机的地址进行封装,出口虚拟交换机指的是与外部网络相连的网卡所在主机上的虚拟交换机,也可以叫做入口虚拟交换机、三层虚拟交换机等,本申请实施例对其名称不做限制。
数据中心1001中的出口虚拟交换机可以是一个或多个,本申请实施例对此不做限制。
在本申请实施例提供的方法中,可选地,携带不同目的地址不同的数据报文封装后得到的各封装后的数据报文携带有相同的目的地址。
举例说明,来自虚拟机111的数据报文2与数据报文5的目的设备为数据中心1001外的不同设备,即,数据报文2携带的目的地址2与数据报文5携带的目的地址5不同。虚拟交换机112从虚拟机111分别接收数据报文2和数据报文5,分别根据出口虚拟交换机的地址对数据报文2和数据报文5进行封装。当数据中心1001中仅有一个出口虚拟交换机,封装数据报文2得到的数据报文6和封装数据报文5得到的数据报文7均携带该出口虚拟交换机的地址;当数据中心1001中有多个出口虚拟交换机,可根据同一出口虚拟交换机的地址对数据报文2和数据报文5进行封装,也可分别根据不同的出口虚拟交换机的地址对数据报文2和数据报文5进行封装。
本发明实施例还提供一种数据中心1001上的虚拟机访问外部网络101的方法。仍以虚拟机111的数据报文3为例。
s701,虚拟机111发送数据报文3至虚拟交换机112,数据报文3携带目的地址3。
s702,虚拟交换机112从虚拟机111接收数据报文3,根据数据报文3中的目的地址3,确定数据报文3的目的设备是否位于数据中心1001内。
若否,执行步骤s703。若是,执行步骤s704。
s703,虚拟交换机112根据数据报文3携带的目的地址3,转发数据报文3。
当虚拟交换机112根据数据报文3携带的目的地址3确定数据报文3的目的设备位于数据中心外,虚拟交换机112不对数据报文3进行VXLAN封装,直接转发数据报文3,以避免外部网络101的设备无法转发产生自数据中心1001的VXLAN报文。数据报文3的后续转发流程可参见前文介绍,在此不再赘述。
s704,虚拟交换机112根据数据报文3中的目的地址3,确定目的地址3对应的目的地址 4,目的地址4用于对数据报文3进行封装。目的地址4为目的设备所在主机的虚拟交换机的地址,例如,若数据报文3的目的设备为虚拟机121,则目的地址4为虚拟交换机122的地址。
换句话说,虚拟交换机112仅对发往数据中心1001内的数据报文进行VXLAN封装。数据报文3的后续转发流程可参见前文介绍,在此不再赘述。
网卡133接收数据报文1的转发流程与步骤s406-s409相同,在此不再赘述。
在上述步骤中,各网卡接收到数据报文后,还要根据接收数据报文的端口,确定转发数据报文的端口,包括还要根据接收数据报文的虚拟端口,确定转发数据报文的物理端口,或者根据接收数据报文的物理端口,确定转发数据报文的虚拟机端口。
上述方法也可用于边缘站点1002的虚拟机通过外部网络101与数据中心1001上的虚拟机通信,也可用于边缘站点1001的虚拟机通过外部网络101与外部设备102通信。
本申请实施例还提供一种计算设备600如图6所示。计算设备600包括主机610和连接至主机610的网卡620。主机610用于实现数据中心1001或者边缘站中的主机,以实现上述实施例中任一虚拟交换机的功能;网卡620用于实现上述实施例中任一虚拟交换机所在主机上的网卡的功能,即主机610实现的上述实施例中的虚拟交换机所在主机上的网卡的功能。例如,主机610用于实现虚拟交换机112的功能,网卡620用于实现网卡113的功能;或者,主机610用于实现虚拟交换机122的功能,网卡620用于实现网卡123的功能;或者,主机 610用于实现虚拟交换机132的功能,网卡620用于实现网卡133的功能。主机610与网卡 620通过实现上述实施例中各模块的功能,协同执行上述实施例中的各种方法。
主机610通常近用于实现一个虚拟交换机的功能,对应地,网卡620通常也只用于实现一个网卡的功能。主机610还用于实现虚拟机的功能。数据中心1001中的至少两个主机可由实现不同虚拟交换机功能的至少两个主机610实现,数据中心1001中的至少两个主机上的至少两个网卡可由实现不同网卡功能的至少两个网卡620实现。类似地,边缘站点1002中的至少两个主机可由实现不同虚拟交换机功能的至少两个主机610实现,边缘站点1002中的至少两个主机上的至少两个网卡可由实现不同网卡功能的至少两个网卡620实现。
本申请实施例还提供一种主机610与网卡620如图7所示。主机610上连接有网卡620。主机610包括处理单元6110和通信接口6120。网卡620包括处理单元6210和通信接口6220。
主机610的处理单元6110用于执行主机610上运行的操作系统以及各种软件程序所定义的功能,例如,上述图1、或者图2中所示出的虚拟交换机和/或虚拟机功能,具体地,例如,处理单元6110用于实现虚拟交换机113和虚拟虚拟机111的功能,或者用于实现虚拟交换机 123和虚拟虚拟机121的功能,或者用于实现虚拟交换机133和虚拟虚拟机131的功能。
网卡620的处理单元6210用于执行网卡610上运行的各种软件程序所定义的功能。例如,上述图2中所示出的网卡功能,具体地,例如,当处理单元6110用于实现虚拟交换机113和虚拟虚拟机111的功能,则处理单元6210用于实现网卡113的功能;当处理单元6110用于实现虚拟交换机123和虚拟虚拟机121的功能,则处理单元6210用于实现网卡123的功能;当处理单元6110用于实现虚拟交换机133和虚拟虚拟机131的功能,则处理单元6210用于实现网卡133的功能。
通信接口6120用于主机610与其他设备进行通信交互的接口,包括前述虚拟交换机上的各虚拟端口,其他设备可以是网卡620或者其它主机。通信接口6220用于网卡620与其他设备进行通信交互的接口,包括前述网卡上的各物理端口,其他设备可以是主机610或者其它网卡。通信接口6220中与主机610通信交互的接口可以是高速串行计算机总线(Peripheral Component Interconnect Express,PCIE)接口。
可选地,主机610还可以包括输入/输出接口6130,输入/输出接口6130连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出接口6130可以为鼠标、键盘、显示器、或者光驱等。可选地,主机610还可以包括辅助存储器6140,一般也称为外存。辅助存储器6140的存储介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。
处理单元6120可以有多种具体实现形式,例如处理单元6120可以包括至少一个处理器 6121和存储单元6122,存储单元6122可以是内存。至少一个处理器6121根据存储单元6122 中存储的执行相关的操作,至少一个处理器6121执行指令时,指令使得处理器6121实现上述虚拟交换机以及虚拟机的功能。处理器6121可以为中央处理器(CentralProcessing Unit, CPU)或图像处理器(graphics processing unit,GPU),处理器6121可以是单核处理器或多核处理器。处理单元6120也可以单独采用内置处理逻辑的逻辑器件来实现,例如现场可编程门阵列(field programmable gate array,FPGA)或数字信号处理器(digital signal processor,DSP)等。此外,主机610可能包含相比于图7展示的更多或者更少的组件,或者有不同的组件配置方式。
处理单元6220可以有多种具体实现形式,例如处理单元6220可以包括至少一个处理器 6221和存储单元6222,存储单元6122可以是内存,。至少一个处理器6221根据存储单元6222 中存储的执行相关的操作,至少一个处理器6221执行指令时,指令使得处理器6221实现上述网卡的功能。处理器6221可以为CPU或GPU,处理器6221可以是单核处理器或多核处理器。处理单元6220也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或DSP等。此外,网卡620可能包含相比于图7展示的更多或者更少的组件,或者有不同的组件配置方式。
处理单元6110、通信接口6130、处理单元6210以及通信接口6230通过实现上述实施例中各模块的功能,协同执行上述实施例中的各种方法。当处理单元6110包括至少一个处理器 6111和存储单元6112,至少一个处理器6111执行存储单元6112中的指令时,该指令使得至少一个处理器6111通过通信接口6130协同网卡620执行上述实施例中的各种方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,本领域技术人员应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

Claims (19)

1.一种数据传送的方法,其特征在于,所述方法包括:
第一虚拟交换机接收第一数据报文,所述第一数据报文携带第一目的地址;
所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,所述第一虚拟交换机与第一网卡通过多个虚拟端口连接,所述多个虚拟端口与所述第一网卡的多个物理端口一一对应;
所述第一虚拟交换机将所述第一数据报文从所述第一虚拟端口发送至所述第一网卡;
所述第一网卡将所述第一数据报文从所述第一虚拟端口对应的第一物理端口发送至第二网卡。
2.根据权利要求1中所述的方法,其特征在于,
所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,包括:
所述第一虚拟交换机根据所述第一目的地址查询转发流表,确定转发所述第一数据报文的所述第一虚拟端口,其中,所述转发流表由网络控制器下发至所述第一虚拟交换机。
3.根据权利要求2中所述的方法,其特征在于,所述转发流表由所述网络控制器根据所述第一物理网卡和所述第二物理网卡的连接关系生成。
4.根据权利要求1-3中所述的任一方法,其特征在于,所述第一虚拟交换机将所述第一数据报文从所述第一虚拟端口发送至所述第一网卡之后,所述方法还包括:
所述第一网卡从所述第一虚拟端口接收所述第一数据报文,查询所述多个虚拟端口与所述多个物理端口的对应关系,确定所述第一虚拟端口对应的所述第一物理端口。
5.根据权利要求1-4中所述的任一方法,其特征在于,具有所述第一目的地址的设备为所述第一数据报文的目的虚拟机;
所述第一虚拟交换机从接收第一数据报文之后,所述方法还包括:
所述第一虚拟交换机根据所述第一目的地址确定第二目的地址,其中,具有所述第二目的地址的设备为第二虚拟交换机,所述第二虚拟交换机连接至所述目的虚拟机;
所述第一虚拟交换机根据所述第二目的地址对所述第一数据报文进行封装得到第二数据报文,其中,所述第二数据报文携带所述第二目的地址;
所述第一虚拟交换机根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,具体包括:
所述第一虚拟交换机根据所述第二目的地址,确定所述第一虚拟端口。
6.根据权利要求5所述的方法,其特征在于目的设备:
所述方法还包括:
所述第一虚拟交换机接收第三数据报文,所述第三数据报文携带第三目的地址,所述第三目的地址与所述第一目的地址不同;
所述第一虚拟交换机根据所述第三目的地址对所述第三数据报文进行封装得到第四数据报文,所述第四数据报文包含所述第三数据报文,以使得当所述第二虚拟机接收所述第二数据报文后,根据所述第一数据报文携带的所述第一目的地址将所述第一数据报文转发至所述目的设备,以及当所述第二虚拟机接收所述第四数据报文后,根据所述第三数据报文携带的所述第三目的地址转发所述第三数据报文。
7.根据权利要求5中所述的方法,其特征在于,所述方法用于站点和/或数据中心;
所述第一虚拟交换机根据所述第一目的地址确定第二目的地址之前,所述方法还包括:
所述第一虚拟交换机根据所述第一目的地址确定所述目的设备位于所述站点或数据中心内。
8.根据权利要求2-3中所述的方法,其特征在于,所述方法还包括:
所述第一虚拟交换机检测到所述第一虚拟交换机与第二虚拟交换机之间的转发路径发生故障,将故障消息上报至所述网络控制器;
所述网络控制器接收上报的所述故障消息,获取网卡连接关系,根据所述网卡连接关系更新所述第一虚拟交换机上的所述转发流表;
所述第一虚拟交换机从所述虚拟机接收第五数据报文,所述第五数据报文携带所述第一目的地址;
所述第一虚拟交换机根据所述第一目的地址查询更新后的所述转发流表,在所述多个虚拟端口中确定转发所述第五数据报文的虚拟端口,确定出的虚拟端口不为所述第一虚拟端口;
所述第一虚拟交换机将所述第五数据报文从所述确定出的虚拟端口发送至对应物理端口所在的网卡;
所述对应物理端口所在的网卡将所述第二数据报文从所述对应物理端口发送至与所述对应物理端口所在的网卡相连的网卡。
9.根据权利要求1-8中任一所述的方法,其特征在于,所述方法还包括:
所述第一虚拟交换机通过所述第一虚拟端口从所述第一网卡接收第六数据报文,所述第六数据报文携带第五目的地址目的设备;
所述第一虚拟交换机根据所述第五目的地址,确定转发所述第一数据报文的第二虚拟端口;
所述第一虚拟交换机将所述第六数据报文从所述第二虚拟端口发送至所述第一网卡;
所述第一网卡将所述第六数据报文从所述第二虚拟端口对应的第二物理端口发送至第三网卡。
10.一种计算设备,其特征在于,所述计算设备包括主机和连接至所述主机的第一网卡,所述主机上运行的第一虚拟交换机用于:
接收第一数据报文,所述第一数据报文携带第一目的地址;
根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,所述第一虚拟交换机与第一网卡通过多个虚拟端口连接,所述多个虚拟端口与所述第一网卡的多个物理端口一一对应;
将所述第一数据报文从所述第一虚拟端口发送至所述第一网卡;
所述第一网卡用于:将所述第一数据报文从所述第一虚拟端口对应的第一物理端口发送至第二网卡。
11.根据权利要求10中所述的计算设备,其特征在于,
所述第一虚拟交换机具体用于:根据所述第一目的地址查询转发流表,确定转发所述第一数据报文的所述第一虚拟端口,其中,所述转发流表由网络控制器下发至所述第一虚拟交换机。
12.根据权利要求11中所述的计算设备,其特征在于,所述转发流表由所述网络控制器根据所述第一物理网卡和所述第二物理网卡的连接关系生成。
13.根据权利要求10-12中所述的任一计算设备,其特征在于,所述第一网卡还用于:
从所述第一虚拟端口接收所述第一数据报文,查询所述多个虚拟端口与所述多个物理端口的对应关系,确定所述第一虚拟端口对应的所述第一物理端口。
14.根据权利要求10-13中所述的任一计算设备,其特征在于,具有所述第一目的地址的设备为所述第一数据报文的目的虚拟机;
从接收第一数据报文之后,所述第一虚拟交换机还用于:
根据所述第一目的地址确定第二目的地址,其中,具有所述第二目的地址的设备为第二虚拟交换机,所述第二虚拟交换机连接至所述目的虚拟机;
根据所述第二目的地址对所述第一数据报文进行封装得到第二数据报文,其中,所述第二数据报文携带所述第二目的地址;
根据所述第一目的地址,确定转发所述第一数据报文的第一虚拟端口,具体包括:
根据所述第二目的地址,确定所述第一虚拟端口。
15.根据权利要求14所述的计算设备,其特征在于:
所述第一虚拟交换机还用于:
接收第三数据报文,所述第三数据报文携带第三目的地址,所述第三目的地址与所述第一目的地址不同;
根据所述第三目的地址对所述第三数据报文进行封装得到第四数据报文,所述第四数据报文包含所述第三数据报文,以使得当所述第二虚拟机接收所述第二数据报文后,根据所述第一数据报文携带的所述第一目的地址将所述第一数据报文转发至所述目的设备,以及当所述第二虚拟机接收所述第四数据报文后,根据所述第三数据报文携带的所述第三目的地址转发所述第三数据报文。
16.根据权利要求14中所述的计算设备,其特征在于,所述计算设备用于站点和/或数据中心中;
根据所述第一目的地址确定第二目的地址之前,所述第一虚拟交换机还用于:
根据所述第一目的地址确定所述目的设备位于所述站点或数据中心内。
17.根据权利要求11-12中所述的计算设备,其特征在于,
所述第一虚拟交换机还用于:检测到所述第一虚拟交换机与第二虚拟交换机之间的转发路径发生故障,将故障消息上报至所述网络控制器;
所述网络控制器还用于:接收上报的所述故障消息,获取网卡连接关系,根据所述网卡连接关系更新所述第一虚拟交换机上的所述转发流表;
所述第一虚拟交换机还用于:
从所述虚拟机接收第五数据报文,所述第五数据报文携带所述第一目的地址;
根据所述第一目的地址查询更新后的所述转发流表,在所述多个虚拟端口中确定转发所述第五数据报文的虚拟端口,确定出的虚拟端口不为所述第一虚拟端口;
将所述第五数据报文从所述确定出的虚拟端口发送至对应物理端口所在的网卡;
所述对应物理端口所在的网卡还用于:将所述第二数据报文从所述对应物理端口发送至与所述对应物理端口所在的网卡相连的网卡。
18.根据权利要求10-17中任一所述的计算设备,其特征在于;
所述第一虚拟交换机还用于:
通过所述第一虚拟端口从所述第一网卡接收第六数据报文,所述第六数据报文携带第五目的地址;
根据所述第五目的地址,确定转发所述第一数据报文的第二虚拟端口;
将所述第六数据报文从所述第二虚拟端口发送至所述第一网卡;
所述第一网卡还用于:将所述第六数据报文从所述第二虚拟端口对应的第二物理端口发送至第三网卡。
19.一种主机,其特征在于,所述主机上连接有第一网卡,所述主机包括至少一个处理器、存储单元和通信接口,所述存储单元用于存储指令,所述至少一个处理器执行所述指令时,所述指令使得所述处理器通过所述通信接口协同所述第一网卡执行权利要求1-9任一项所述的方法。
CN201910419008.4A 2019-05-20 2019-05-20 一种数据传送的方法及系统 Pending CN110417573A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910419008.4A CN110417573A (zh) 2019-05-20 2019-05-20 一种数据传送的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910419008.4A CN110417573A (zh) 2019-05-20 2019-05-20 一种数据传送的方法及系统

Publications (1)

Publication Number Publication Date
CN110417573A true CN110417573A (zh) 2019-11-05

Family

ID=68357801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910419008.4A Pending CN110417573A (zh) 2019-05-20 2019-05-20 一种数据传送的方法及系统

Country Status (1)

Country Link
CN (1) CN110417573A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092876A (zh) * 2019-12-12 2020-05-01 北京首都在线科技股份有限公司 多主机系统、用于多主机系统的信息处理方法及装置
CN116233038A (zh) * 2022-12-29 2023-06-06 天翼云科技有限公司 一种虚拟交换机热升级的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595772A (zh) * 2013-11-01 2014-02-19 浪潮电子信息产业股份有限公司 一种基于虚拟路由器的云数据中心网络部署方案
CN104506408A (zh) * 2014-12-31 2015-04-08 杭州华三通信技术有限公司 基于sdn的数据传输的方法及装置
WO2018023498A1 (zh) * 2016-08-03 2018-02-08 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595772A (zh) * 2013-11-01 2014-02-19 浪潮电子信息产业股份有限公司 一种基于虚拟路由器的云数据中心网络部署方案
CN104506408A (zh) * 2014-12-31 2015-04-08 杭州华三通信技术有限公司 基于sdn的数据传输的方法及装置
WO2018023498A1 (zh) * 2016-08-03 2018-02-08 华为技术有限公司 网络接口卡、计算设备以及数据包处理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092876A (zh) * 2019-12-12 2020-05-01 北京首都在线科技股份有限公司 多主机系统、用于多主机系统的信息处理方法及装置
CN116233038A (zh) * 2022-12-29 2023-06-06 天翼云科技有限公司 一种虚拟交换机热升级的方法和装置

Similar Documents

Publication Publication Date Title
US11831551B2 (en) Cloud computing data center system, gateway, server, and packet processing method
CN104243265B (zh) 一种基于虚拟机迁移的网关控制方法、装置及系统
CN102017544B (zh) 卸载网络处理的方法和系统
US8571408B2 (en) Hardware accelerated data frame forwarding
US8718061B2 (en) Data center network system and packet forwarding method thereof
US8619796B2 (en) Forwarding data frames with a distributed fiber channel forwarder
JP5792894B2 (ja) ポート拡張トポロジ情報の取得用方法、システム及び制御ブリッジ並びにアップリンクポートの処理方法及びシステム
US10129182B2 (en) Methods and apparatus for providing services in distributed switch
US8645567B2 (en) Method and system for packet filtering for local host-management controller pass-through communication via network controller
CN106502335B (zh) 用于配置一或多个伺服器的机架系统与其配置方法
CN107070691A (zh) Docker容器的跨主机通信方法和系统
US8489763B2 (en) Distributed virtual bridge management
EP3116177A1 (en) Service implementation method for nfv system, and communications unit
CN107078969A (zh) 实现负载均衡的计算机设备、系统和方法
CN102334112A (zh) 用于虚拟机网络的方法和系统
CN103916314A (zh) 报文转发控制方法和相关装置及物理主机
JP2005006303A (ja) 仮想ネットワーク・アドレス
JP2013537740A (ja) 分散仮想ブリッジ環境におけるレジスタ・アクセス
US20170163533A1 (en) Forwarding Packet In Stacking System
EP2680536A1 (en) Methods and apparatus for providing services in a distributed switch
US9008098B2 (en) Network communication system and network communication method
CN105190530A (zh) 传输硬件渲染的图形数据
CN110417573A (zh) 一种数据传送的方法及系统
CN108650337B (zh) 一种服务器探测方法、系统及存储介质
CN113518045B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191105

WD01 Invention patent application deemed withdrawn after publication