CN111865626B - 一种基于聚合端口的数据收发方法和装置 - Google Patents

一种基于聚合端口的数据收发方法和装置 Download PDF

Info

Publication number
CN111865626B
CN111865626B CN201910334747.3A CN201910334747A CN111865626B CN 111865626 B CN111865626 B CN 111865626B CN 201910334747 A CN201910334747 A CN 201910334747A CN 111865626 B CN111865626 B CN 111865626B
Authority
CN
China
Prior art keywords
port
target
sub
vhost
ovs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910334747.3A
Other languages
English (en)
Other versions
CN111865626A (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.)
Xiamen Wangsu Co Ltd
Original Assignee
Xiamen Wangsu 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 Xiamen Wangsu Co Ltd filed Critical Xiamen Wangsu Co Ltd
Priority to CN201910334747.3A priority Critical patent/CN111865626B/zh
Publication of CN111865626A publication Critical patent/CN111865626A/zh
Application granted granted Critical
Publication of CN111865626B publication Critical patent/CN111865626B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明公开了一种基于聚合端口的数据收发方法和装置,属于虚拟化技术领域。所述方法包括:当接收到目标后端虚拟部件对应的Vhost端口新增指令时,OVS创建聚合端口类型的Vhost子端口;所述OVS为所述Vhost子端口配置唯一的目标端口标识,并将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定;所述OVS基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发。采用本发明,可以在保证数据报文的收发的同时,节省大量的设备资源。

Description

一种基于聚合端口的数据收发方法和装置
技术领域
本发明涉及虚拟化技术领域,特别涉及一种基于聚合端口的数据收发方法和装置。
背景技术
OVS(OpenvSwitch)是一个利用软件的方式形成的虚拟交换机,其可以与后端虚拟部件(如虚拟机)进行交互,从而搭建虚拟网络。Vhost/Virtio技术是一种半虚拟化的设备抽象接口规范,OVS与后端虚拟部件之间大多利用Vhost/Virtio端口来实现数据报文的收发。
OVS上可以设置有多个Vhost端口,每个Vhost端口对应一个部署在后端虚拟部件上的Virtio端口,每个Vhost端口和其对应的Virtio端口间可以搭建有vdev数据通道。在物理网卡接收到数据报文后,可以将数据报文发送给OVS,OVS可以先识别数据报文对应的Vhost端口,然后通过该Vhost端口向后端虚拟部件发送该数据报文。这样,数据报文可以通过相应的vdev数据通道,到达后端虚拟部件的Virtio端口,从而完成数据报文的接收处理。同样,数据报文的发送过程中,后端虚拟部件可以通过Virtio端口向OVS发送数据报文,数据报文经对应的vdev数据通道到达OVS的Vhost端口,之后,OVS可以将数据报文交由物理网卡发出。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当一个后端虚拟部件存在多个用户的处理逻辑,或者提供多种类型的处理逻辑时,其上可以设置有多个Virtio端口,每个Virtio端口对应一个处理逻辑,相应的,OVS上需要对应设置多个Vhost端口,并且在每个Virtio端口和Vhost端口间均搭建一个vdev数据通道,并持续对每个vdev数据通道进行维护,这样,当后端虚拟部件上存在大量的处理逻辑时,需要耗费大量的设备资源搭建并维护vdev数据通道,进而会对数据报文的收发造成较大影响。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于聚合端口的数据收发方法和装置。所述技术方案如下:
第一方面,提供了一种基于聚合端口的数据收发方法,所述方法包括:
当接收到目标后端虚拟部件对应的Vhost端口新增指令时,OVS创建聚合端口类型的Vhost子端口;
所述OVS为所述Vhost子端口配置唯一的目标端口标识,并将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定;
所述OVS基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发。
可选的,所述OVS基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发,包括:
当接收到物理网卡发送的指向所述Vhost子端口的数据报文时,所述OVS在所述数据报文中添加所述目标端口标识;
所述OVS通过所述目标数据通道将添加有所述目标端口标识的数据报文传输至所述目标后端虚拟部件。
可选的,所述OVS通过所述目标数据通道将添加有所述目标端口标识的数据报文传输至所述目标后端虚拟部件之后,还包括:
如果接收到所述目标后端虚拟部件的报文拒收通知,所述OVS则向所述目标后端虚拟部件发送携带有所述目标端口标识和目标数据通道的通道标识的Virtio端口新增指令。
可选的,所述OVS将在所述数据报文中添加所述目标端口标识之前,还包括:
所述OVS接收物理网卡发送的数据报文,并根据所述数据报文中携带的虚拟网络标识,确定所述数据报文指向的所述Vhost子端口。
可选的,所述OVS基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发,包括:
当通过所述目标数据通道接收到所述目标后端虚拟部件发送的数据报文时,所述OVS读取所述数据报文中添加的目标端口标识;
所述OVS基于所述目标端口标识确定目标虚拟网络标识,并向所述物理网卡发送携带有所述目标虚拟网络标识的所述数据报文。
可选的,所述OVS读取所述数据报文中添加的目标端口标识之后,还包括:
如果所述OVS上不存在所述目标端口标识对应的Vhost子端口,所述OVS则创建聚合端口类型的目标Vhost子端口;
所述OVS为所述目标Vhost子端口配置所述目标端口标识,并将所述目标数据通道与所述目标Vhost子端口进行绑定。
可选的,所述将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定之前,还包括:
所述OVS计算与所述目标后端虚拟部件之间的目标数据通道的平均负载率;
如果所述平均负载率大于预设过载阈值,所述OVS则对所述目标数据通道进行扩容处理。
第二方面,提供了一种基于聚合端口的数据收发装置,所述装置包括:
端口创建模块,用于当接收到目标后端虚拟部件对应的Vhost端口新增指令时,创建聚合端口类型的Vhost子端口;
端口配置模块,用于为所述Vhost子端口配置唯一的目标端口标识,并将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定;
报文收发模块,用于基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发。
可选的,所述报文收发模块,具体用于:
当接收到物理网卡发送的指向所述Vhost子端口的数据报文时,在所述数据报文中添加所述目标端口标识;
通过所述目标数据通道将添加有所述目标端口标识的数据报文传输至所述目标后端虚拟部件。
可选的,所述装置还包括:
指令发送模块,用于如果接收到所述目标后端虚拟部件的报文拒收通知,则向所述目标后端虚拟部件发送携带有所述目标端口标识和目标数据通道的通道标识的Virtio端口新增指令。
可选的,所述报文收发模块,还用于:
接收物理网卡发送的数据报文,并根据所述数据报文中携带的虚拟网络标识,确定所述数据报文指向的所述Vhost子端口。
可选的,所述报文收发模块,具体用于:
当通过所述目标数据通道接收到所述目标后端虚拟部件发送的数据报文时,读取所述数据报文中添加的目标端口标识;
基于所述目标端口标识确定目标虚拟网络标识,并向所述物理网卡发送携带有所述目标虚拟网络标识的所述数据报文。
可选的,所述端口创建模块,还用于:
如果所述OVS上不存在所述目标端口标识对应的Vhost子端口,则创建聚合端口类型的目标Vhost子端口;
所述端口配置模块,还用于:
为所述目标Vhost子端口配置所述目标端口标识,并将所述目标数据通道与所述目标Vhost子端口进行绑定。
可选的,所述装置还包括通道扩容模块,用于:
计算与所述目标后端虚拟部件之间的目标数据通道的平均负载率;
如果所述平均负载率大于预设过载阈值,则对所述目标数据通道进行扩容处理。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,当接收到目标后端虚拟部件对应的Vhost端口新增指令时,OVS创建聚合端口类型的Vhost子端口;OVS为Vhost子端口配置唯一的目标端口标识,并将与目标后端虚拟部件之间的目标数据通道与Vhost子端口进行绑定;OVS基于目标端口标识和目标数据通道,对所述Vhost子端口的数据报文进行收发。这样,采用端口聚合的方式,针对每个处理逻辑创建一个子端口,并通过同一个vdev数据通道实现多个子端口的数据报文的收发,无需针对每个处理逻辑搭建并维护一个vdev数据通道,故而可以在保证数据报文的收发的同时,节省大量的设备资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于聚合端口的数据收发场景框架示意图;
图2是本发明实施例提供的一种基于聚合端口的数据收发方法流程图;
图3是本发明实施例提供的一种基于聚合端口的数据收发装置结构示意图;
图4是本发明实施例提供的一种基于聚合端口的数据收发装置结构示意图;
图5是本发明实施例提供的一种基于聚合端口的数据收发装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种基于聚合端口的数据收发方法,该方法的执行主体可以是OVS,OVS可以是依托于具备传输功能的网络设备构建的虚拟交换机,主要用于实现后端虚拟部件和外部之间的数据报文的收发处理。后端虚拟部件可以是基于网络设备搭建的虚拟设备,后端虚拟部件中可以执行有多个业务处理线程,每个业务处理线程可以对应一个处理逻辑。上述OVS和后端虚拟部件可以采用DPDK框架,OVS一端可以与网络设备的物理网卡连接,一端可以通过Vhost/Virtio端口与后端虚拟部件进行数据交互,DPDK框架下Vhost/Virtio端口具有很高数据吞吐性能,相互对应的Vhost端口和Virtio端口通过vdev数据通道传输数据,进一步的,每个Vhost/Virtio端口可以包含多个聚合端口类型的子端口(即Vhost子端口或Virtio子端口),Vhost子端口和Virtio子端口可以一一对应,并通过Vhost/Virtio端口间的vdev数据通道进行数据传输,具体场景框架可以参考图1,其中,“sub端口”即为“Vhost子端口”或“Virtio子端口”。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,当接收到目标后端虚拟部件对应的Vhost端口新增指令时,OVS创建聚合端口类型的Vhost子端口。
在实施中,在基于网络设备创建OVS和后端虚拟部件之后,可以在每个后端虚拟部件上配置Virtio端口,并在OVS上配置对应的Vhost端口,然后在每对Vhost端口和Virtio端口间搭建vdev数据通道。进一步的,对于每个后端虚拟部件,可以按照其上的业务处理线程的数量,基于Vhost端口和Virtio端口分别设置多对子端口,并将多对子端口与同一个vdev数据通道绑定,从而可以实现数据报文的收发。而当需要在后端虚拟部件上新增业务处理线程时,技术人员可以先在OVS上创建相应的子端口,即Vhost子端口。具体的,OVS接收到技术人员输入的Vhost端口新增指令后,可以确定该Vhost端口新增指令对应的目标后端虚拟部件,同时OVS可以使用ovs-vsctl命令在本地创建聚合端口类型的Vhost子端口。
步骤202,OVS为Vhost子端口配置唯一的目标端口标识,并将与目标后端虚拟部件之间的目标数据通道与Vhost子端口进行绑定。
在实施中,OVS在创建了Vhost子端口之后,可以为该Vhost子端口配置唯一的目标端口标识,该目标端口标识用于唯一标记该Vhost子端口。之后,OVS可以确定其与目标后端虚拟部件之间的目标数据通道,然后将Vhost子端口与目标数据通道进行绑定。具体的,Vhost子端口可以包含“ptag”和“vdev”两个配置字段,其中,“ptag”配置字段可以设置为Vhost子端口的目标端口标识,“vdev”配置字段可以设置为目标数据通道的通道标识。
可选的,在将数据通道与Vhost子端口进行绑定前,需要先保证数据通道不会处于过载状态,相应的处理可以如下:OVS计算与目标后端虚拟部件之间的目标数据通道的平均负载率;如果平均负载率大于预设过载阈值,OVS则对目标数据通道进行扩容处理。
在实施中,OVS在创建了Vhost子端口之后,可以先计算其与目标后端虚拟部件之间的目标数据通道的平均负载率。具体的,平均负载率可以由单位时长内数据通道的实际数据传输量和数据通道的额定最大数据传输量的比值计算得到。如果目标数据通道的平均负载率大于预设过载阈值,表示目标数据通道已处于或近似处于过载状态,OVS则可以对目标数据通道进行扩容处理,即扩大目标数据通道的额定最大数据传输量。可以理解,除了平均负载率,还可以通过其它适合用于体现数据通道的负载状态的参数及相关阈值,来判断是否需要对目标数据通道进行扩容。
步骤203,OVS基于目标端口标识和目标数据通道,对Vhost子端口的数据报文进行收发。
在实施中,OVS在将Vhost子端口与目标数据通道进行绑定之后,可以基于目标端口标识和目标数据通道,对到达Vhost子端口的数据报文进行收发处理。值得一提的是,收发处理需要通过OVS上的Vhost子端口与后端虚拟部件上的Virtio子端口协同实现,故而,OVS侧创建Vhost子端口时,需要后端虚拟部件侧同步创建Virtio子端口,并且将Virtio子端口与目标数据通道进行绑定,同时为Virtio子端口配置目标端口标识。
可选的,步骤203的处理可以分为数据报文从物理网卡到OVS再到后端虚拟部件的接收过程,和数据报文从后端虚拟部件到OVS再到物理网卡的发送过程,具体处理可以分别如下:
其一,数据报文的接收过程:当接收到物理网卡发送的指向Vhost子端口的数据报文时,OVS将在数据报文中添加目标端口标识;OVS通过目标数据通道将添加有目标端口标识的数据报文传输至目标后端虚拟部件。
在实施中,网络设备的物理网卡可以接收发往后端虚拟部件的数据报文,然后可以将数据报文发送至OVS。OVS接收到数据报文后,可以确定该数据报文指向的Vhost子端口,再在数据报文的末尾添加目标端口标识。进一步的,OVS可以通过与Vhost子端口绑定的目标数据通道将添加有目标端口标识的数据报文传输至目标后端虚拟部件。相应的,目标后端虚拟部件接收到经目标数据通道传输的数据报文后,可以获取数据报文末尾的“ptag”配置字段(即目标端口标识),然后确定Vhost子端口对应的Virtio子端口,进而可以将数据报文交由后续的业务处理线程进行处理。值得一提的是,OVS设有计数器,该计数器可以是用于端口收/发包统计,包括接收/发送的报文数量,接收/发送的报文字节数、丢包数、发送错误的数据报数量等;OVS还可以更新Vhost子端口的报文接收的计数器状态,如更新已接收到的数据报文的总数据量,后端虚拟部件也设有计数器,其功能与OVS计数器相同;也可以相应的更新Virtio子端口的报文接收的计数器状态,这样,运维人员可以通过计数器状态检测数据报文的是否接收正常。
可选的,如果后端虚拟部件拒收了数据报文,则有可能后端虚拟部件上不存在Vhost子端口的对端端口,相应的,OVS向目标后端虚拟部件发送数据报文之后,可以存在如下处理:如果接收到目标后端虚拟部件的报文拒收通知,OVS则向目标后端虚拟部件发送携带有目标端口标识和目标数据通道的通道标识的Virtio端口新增指令。
在实施中,目标后端虚拟部件读取了OVS发送的数据报文中添加的目标端口标识之后,如果发现本地不存在该目标端口标识对应的Virtio子端口,则可以拒收该数据报文。这样,OVS在接收到目标后端虚拟部件的报文拒收通知后,可以向目标后端虚拟部件发送携带有目标端口标识和目标数据通道的通道标识的virtio端口新增指令,以使目标后端虚拟部件创建Vhost子端口对应的Virtio子端口。
可选的,在数据报文的接收过程中,不同Vhost子端口的数据报文可以携带不同的虚拟网络标识,相应的,OVS在数据报文中添加目标端口标识之前,可以存在如下处理:OVS接收物理网卡发送的数据报文,并根据数据报文中携带的虚拟网络标识,确定数据报文指向的Vhost子端口。
在实施中,网络设备的物理网卡接收到的数据报文中可以携带有虚拟网络标识,不同虚拟网络标识可以指向不同的业务服务。故而,OVS接收到物理网卡发送的数据报文之后,可以获取数据报文中携带的虚拟网络标识,然后确定提供该虚拟网络标识指向的业务服务的业务处理线程。这样,OVS可以根据确定出的业务处理线程进一步确定数据报文指向的Vhost子端口,并基于Vhost子端口执行后续处理。
其二,数据报文的发送过程:当通过目标数据通道接收目标后端虚拟部件发送的数据报文时,OVS读取数据报文中添加的目标端口标识;OVS基于目标端口标识确定目标虚拟网络标识,并向物理网卡发送携带有目标虚拟网络标识的数据报文。
在实施中,目标后端虚拟部件在生成待发送的数据报文之后,可以先确定该数据报文所属的业务处理线程对应的Virtio子端口,然后将Virtio子端口的目标端口标识添加在数据报文的末尾。继而,目标后端虚拟部件可以通过相应的Virtio子端口经目标数据通道向OVS发送该数据报文。这样,当通过目标数据通道接收到目标后端虚拟部件发送的数据报文时,OVS可以读取并删除数据报文中添加的目标端口标识,然后根据目标端口标识确定目标虚拟网络标识,即先确定目标端口标识指向的目标业务处理线程,再将目标业务处理线程对应的虚拟网络标识确定为目标虚拟网络标识。进而,OVS可以向物理网卡发送携带有目标虚拟网络标识的数据报文,以使物理网卡基于目标虚拟网络标识对外发送上述数据报文。值得一提的是,后端虚拟部件还可以更新Virtio子端口的报文发送的计数器状态,如更新已发送的数据报文的总数据量,OVS也可以相应的更新Vhost子端口的报文发送的计数器状态,这样,运维人员可以通过计数器状态检测数据报文的是否发送正常。
可选的,OVS读取了后端虚拟部件发来的数据报文中的端口标识后,如果发现本地不存在对应的Vhost子端口,可以实时创建Vhost子端口,故而,相应的处理可以如下:如果OVS上不存在目标端口标识对应的Vhost子端口,OVS则创建聚合端口类型的目标Vhost子端口;OVS为目标Vhost子端口配置目标端口标识,并将目标数据通道与目标Vhost子端口进行绑定。
在实施中,OVS接收后端虚拟部件发送的数据报文,并读取其中添加的目标端口标识之后,如果无法在本地检测到已创建的与该目标端口标识对应的Vhost子端口,OVS则可以实时创建聚合端口类型的目标Vhost子端口,然后为该目标Vhost子端口配置目标端口标识,同时可以将目标数据通道与目标Vhost子端口进行绑定。
本发明实施例中,当接收到目标后端虚拟部件对应的Vhost端口新增指令时,OVS创建聚合端口类型的Vhost子端口;OVS为Vhost子端口配置唯一的目标端口标识,并将与目标后端虚拟部件之间的目标数据通道与Vhost子端口进行绑定;OVS基于目标端口标识和目标数据通道,对所述Vhost子端口的数据报文进行收发。这样,采用端口聚合的方式,针对每个处理逻辑创建一个子端口,并通过同一个vdev数据通道实现多个子端口的数据报文的收发,无需针对每个处理逻辑搭建并维护一个vdev数据通道,故而可以在保证数据报文的收发的同时,节省大量的设备资源。
基于相同的技术构思,本发明实施例还提供了一种基于聚合端口的数据收发装置,如图3所示,所述装置包括:
端口创建模块301,用于当接收到目标后端虚拟部件对应的Vhost端口新增指令时,创建聚合端口类型的Vhost子端口;
端口配置模块302,用于为所述Vhost子端口配置唯一的目标端口标识,并将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定;
报文收发模块303,用于基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发。
可选的,所述报文收发模块303,具体用于:
当接收到物理网卡发送的指向所述Vhost子端口的数据报文时,在所述数据报文中添加所述目标端口标识;
通过所述目标数据通道将添加有所述目标端口标识的数据报文传输至所述目标后端虚拟部件。
可选的,如图4所示,所述装置还包括:
指令发送模块304,用于如果接收到所述目标后端虚拟部件的报文拒收通知,则向所述目标后端虚拟部件发送携带有所述目标端口标识和目标数据通道的通道标识的Virtio端口新增指令。
可选的,所述报文收发模块303,还用于:
接收物理网卡发送的数据报文,并根据所述数据报文中携带的虚拟网络标识,确定所述数据报文指向的所述Vhost子端口。
可选的,所述报文收发模块303,具体用于:
当通过所述目标数据通道接收到所述目标后端虚拟部件发送的数据报文时,读取所述数据报文中添加的目标端口标识;
基于所述目标端口标识确定目标虚拟网络标识,并向所述物理网卡发送携带有所述目标虚拟网络标识的所述数据报文。
可选的,所述端口创建模块301,还用于:
如果所述OVS上不存在所述目标端口标识对应的Vhost子端口,则创建聚合端口类型的目标Vhost子端口;
所述端口配置模块302,还用于:
为所述目标Vhost子端口配置所述目标端口标识,并将所述目标数据通道与所述目标Vhost子端口进行绑定。
可选的,如图5所示,所述装置还包括通道扩容模块305,用于:
计算与所述目标后端虚拟部件之间的目标数据通道的平均负载率;
如果所述平均负载率大于预设过载阈值,则对所述目标数据通道进行扩容处理。
本发明实施例中,当接收到目标后端虚拟部件对应的Vhost端口新增指令时,OVS创建聚合端口类型的Vhost子端口;OVS为Vhost子端口配置唯一的目标端口标识,并将与目标后端虚拟部件之间的目标数据通道与Vhost子端口进行绑定;OVS基于目标端口标识和目标数据通道,对所述Vhost子端口的数据报文进行收发。这样,采用端口聚合的方式,针对每个处理逻辑创建一个子端口,并通过同一个vdev数据通道实现多个子端口的数据报文的收发,无需针对每个处理逻辑搭建并维护一个vdev数据通道,故而可以在保证数据报文的收发的同时,节省大量的设备资源。
需要说明的是:上述实施例提供的基于聚合端口的数据收发装置在进行数据收发时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于聚合端口的数据收发装置与基于聚合端口的数据收发方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种基于聚合端口的数据收发方法,其特征在于,所述方法包括:
当接收到目标后端虚拟部件对应的Vhost端口新增指令时,OVS创建聚合端口类型的Vhost子端口;所述OVS为所述Vhost子端口配置唯一的目标端口标识,并将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定;
其中,所述后端虚拟部件包括Virtio子端口,所述Virtio子端口配置有目标端口标识,并与所述目标数据通道进行绑定;
所述OVS基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发。
2.根据权利要求1所述的方法,其特征在于,所述OVS基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发,包括:
当接收到物理网卡发送的指向所述Vhost子端口的数据报文时,所述OVS在所述数据报文中添加所述目标端口标识;
所述OVS通过所述目标数据通道将添加有所述目标端口标识的数据报文传输至所述目标后端虚拟部件。
3.根据权利要求2所述的方法,其特征在于,所述OVS通过所述目标数据通道将添加有所述目标端口标识的数据报文传输至所述目标后端虚拟部件之后,还包括:
如果接收到所述目标后端虚拟部件的报文拒收通知,所述OVS则向所述目标后端虚拟部件发送携带有所述目标端口标识和目标数据通道的通道标识的Virtio端口新增指令。
4.根据权利要求2所述的方法,其特征在于,所述OVS在所述数据报文中添加所述目标端口标识之前,还包括:
所述OVS接收物理网卡发送的数据报文,并根据所述数据报文中携带的虚拟网络标识,确定所述数据报文指向的所述Vhost子端口。
5.根据权利要求1所述的方法,其特征在于,所述OVS基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发,包括:
当通过所述目标数据通道接收到所述目标后端虚拟部件发送的数据报文时,所述OVS读取所述数据报文中添加的目标端口标识;
所述OVS基于所述目标端口标识确定目标虚拟网络标识,并向所述物理网卡发送携带有所述目标虚拟网络标识的所述数据报文。
6.根据权利要求5所述的方法,其特征在于,所述OVS读取所述数据报文中添加的目标端口标识之后,还包括:
如果所述OVS上不存在所述目标端口标识对应的Vhost子端口,则所述OVS创建聚合端口类型的目标Vhost子端口;
所述OVS为所述目标Vhost子端口配置所述目标端口标识,并将所述目标数据通道与所述目标Vhost子端口进行绑定。
7.根据权利要求1所述的方法,其特征在于,所述将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定之前,还包括:
所述OVS计算与所述目标后端虚拟部件之间的目标数据通道的平均负载率;
如果所述平均负载率大于预设过载阈值,所述OVS则对所述目标数据通道进行扩容处理。
8.一种基于聚合端口的数据收发装置,其特征在于,所述装置包括:
端口创建模块,用于当接收到目标后端虚拟部件对应的Vhost端口新增指令时,创建聚合端口类型的Vhost子端口;
端口配置模块,用于为所述Vhost子端口配置唯一的目标端口标识,并将与所述目标后端虚拟部件之间的目标数据通道与所述Vhost子端口进行绑定;
报文收发模块,用于基于所述目标端口标识和所述目标数据通道,对所述Vhost子端口的数据报文进行收发;
其中,所述后端虚拟部件包括Virtio子端口,所述Virtio子端口配置有目标端口标识,并与所述目标数据通道进行绑定。
9.根据权利要求8所述的装置,其特征在于,所述报文收发模块,具体用于:
当接收到物理网卡发送的指向所述Vhost子端口的数据报文时,在所述数据报文中添加所述目标端口标识;
通过所述目标数据通道将添加有所述目标端口标识的数据报文传输至所述目标后端虚拟部件。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
指令发送模块,用于如果接收到所述目标后端虚拟部件的报文拒收通知,则向所述目标后端虚拟部件发送携带有所述目标端口标识和目标数据通道的通道标识的Virtio端口新增指令。
11.根据权利要求9所述的装置,其特征在于,所述报文收发模块,还用于:
接收物理网卡发送的数据报文,并根据所述数据报文中携带的虚拟网络标识,确定所述数据报文指向的所述Vhost子端口。
12.根据权利要求11所述的装置,其特征在于,所述报文收发模块,具体用于:
当通过所述目标数据通道接收到所述目标后端虚拟部件发送的数据报文时,读取所述数据报文中添加的目标端口标识;
基于所述目标端口标识确定目标虚拟网络标识,并向所述物理网卡发送携带有所述目标虚拟网络标识的所述数据报文。
13.根据权利要求12所述的装置,其特征在于,所述端口创建模块,还用于:
如果所述OVS上不存在所述目标端口标识对应的Vhost子端口,则创建聚合端口类型的目标Vhost子端口;
所述端口配置模块,还用于:
为所述目标Vhost子端口配置所述目标端口标识,并将所述目标数据通道与所述目标Vhost子端口进行绑定。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括通道扩容模块,用于:
计算与所述目标后端虚拟部件之间的目标数据通道的平均负载率;
如果所述平均负载率大于预设过载阈值,则对所述目标数据通道进行扩容处理。
CN201910334747.3A 2019-04-24 2019-04-24 一种基于聚合端口的数据收发方法和装置 Active CN111865626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910334747.3A CN111865626B (zh) 2019-04-24 2019-04-24 一种基于聚合端口的数据收发方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910334747.3A CN111865626B (zh) 2019-04-24 2019-04-24 一种基于聚合端口的数据收发方法和装置

Publications (2)

Publication Number Publication Date
CN111865626A CN111865626A (zh) 2020-10-30
CN111865626B true CN111865626B (zh) 2023-05-23

Family

ID=72952144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910334747.3A Active CN111865626B (zh) 2019-04-24 2019-04-24 一种基于聚合端口的数据收发方法和装置

Country Status (1)

Country Link
CN (1) CN111865626B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196117A (ja) * 1997-12-26 1999-07-21 Toshiba Corp 仮想lan間のデータ転送装置
CN104468358A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 分布式虚拟交换机系统的报文转发方法及设备
WO2016000186A1 (zh) * 2014-06-30 2016-01-07 华为技术有限公司 一种链路聚合方法及设备
CN105264837A (zh) * 2013-12-05 2016-01-20 华为技术有限公司 一种数据报文的传输系统、传输方法和设备
CN105790991A (zh) * 2014-12-24 2016-07-20 中兴通讯股份有限公司 虚拟化服务器的链路聚合方法、系统及其智能网络适配器
CN106878480A (zh) * 2016-12-29 2017-06-20 新华三技术有限公司 一种dhcp服务进程共享方法及装置
CN109088820A (zh) * 2018-09-21 2018-12-25 锐捷网络股份有限公司 一种跨设备链路聚合方法、装置、计算装置和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120158923A1 (en) * 2009-05-29 2012-06-21 Ansari Mohamed System and method for allocating resources of a server to a virtual machine
WO2011113381A2 (zh) * 2011-04-26 2011-09-22 华为技术有限公司 业务实例映射方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196117A (ja) * 1997-12-26 1999-07-21 Toshiba Corp 仮想lan間のデータ転送装置
CN104468358A (zh) * 2013-09-25 2015-03-25 杭州华三通信技术有限公司 分布式虚拟交换机系统的报文转发方法及设备
CN105264837A (zh) * 2013-12-05 2016-01-20 华为技术有限公司 一种数据报文的传输系统、传输方法和设备
WO2016000186A1 (zh) * 2014-06-30 2016-01-07 华为技术有限公司 一种链路聚合方法及设备
CN105790991A (zh) * 2014-12-24 2016-07-20 中兴通讯股份有限公司 虚拟化服务器的链路聚合方法、系统及其智能网络适配器
CN106878480A (zh) * 2016-12-29 2017-06-20 新华三技术有限公司 一种dhcp服务进程共享方法及装置
CN109088820A (zh) * 2018-09-21 2018-12-25 锐捷网络股份有限公司 一种跨设备链路聚合方法、装置、计算装置和存储介质

Also Published As

Publication number Publication date
CN111865626A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
US11218423B2 (en) Method for service implementation in network function virtualization (NFV) system and communications unit
US10484206B2 (en) Path detection method in VxLAN, controller, and network device
CN105684382A (zh) 报文的控制方法、交换机及控制器
CN103401797A (zh) 一种报文处理方法和设备
CN104253767A (zh) 一种虚拟分片网络的实现方法及一种交换机
CN112468338A (zh) 通信方法、装置和系统
CN107465632B (zh) 一种切换聚合成员端口的流量的方法及装置
US20170289004A1 (en) Flow table ageing method, device and system and computer-readable medium
WO2019141089A1 (zh) 网络告警方法、装置、系统及终端
CN102984035A (zh) 网络数据丢包率的环回测试方法及系统
CN102984082B (zh) 一种网络服务质量控制方法及装置
CN108092922B (zh) 一种接口板传输报文的方法和装置
CN110417687B (zh) 一种报文发送与接收方法及装置
CN105323847A (zh) 基于虚拟化演进分组核心网的通信方法、控制器及虚拟机
CN111865626B (zh) 一种基于聚合端口的数据收发方法和装置
CN106790411B (zh) 虚拟交换机与物理交换机的非聚合端口级联系统及方法
CN105376118B (zh) 一种afdx交换机发送性能的测试方法
CN109714124B (zh) 用于测试系统的时间同步系统及方法
CN108123865B (zh) 报文处理方法及装置
CN115866544A (zh) 分流方法、代理网关和分流系统
CN103200620B (zh) 一种lte系统中接入核心网的方法及装置
US8531965B2 (en) Message processing method and system
CN107147694B (zh) 一种信息处理方法和装置
CN110784365A (zh) 变电站的站控层、实体装置的备用装置及其自动上线方法
CN113038604B (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