CN110417683A - 报文处理方法、装置及服务器 - Google Patents
报文处理方法、装置及服务器 Download PDFInfo
- Publication number
- CN110417683A CN110417683A CN201910673692.9A CN201910673692A CN110417683A CN 110417683 A CN110417683 A CN 110417683A CN 201910673692 A CN201910673692 A CN 201910673692A CN 110417683 A CN110417683 A CN 110417683A
- Authority
- CN
- China
- Prior art keywords
- message
- priority
- virtual machine
- sequence
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文处理方法、装置及服务器。服务器包括的网卡,网卡包括目标物理端口,服务器还包括多个虚拟机。多个虚拟机通过目标物理端口与外部网络设备交互。若目标物理端口的已使用带宽大于预设的带宽阈值,获取外部网络设备发送的一个第一报文包括的虚拟机的标识以及协议类型;根据一个第一报文包括的虚拟机的标识以及协议类型,从本地记录的虚拟机的标识、协议类型以及报文优先级的对应关系中,查找一个第一报文的报文优先级;将一个第一报文的报文优先级添加到一个第一报文中,得到对应的第二报文;按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文。从而实现对流量的精细化控制。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文处理方法、装置及服务器。
背景技术
利用虚拟化技术可在一台服务器上虚拟出多台虚拟机。虚拟机与服务器外部网络设备之间的信息交互,需要通过服务器的物理端口转发。当多台虚拟机与外部网络设备交互时,会有大量报文聚集于服务器的物理端口,容易导致物理端口拥塞。
此时,服务器通常基于报文优先级确定报文转发顺序。现有报文优先级仅能区分不同业务类型的流量,无法区分不同虚拟机的流量,因此,无法对流量进行精细化控制。
发明内容
有鉴于此,本发明为了解决现有物理端口拥塞时无法对流量精细化控制的问题,提出一种报文处理方法、装置及服务器,用以在物理端口拥塞时实现对流量的精细化控制。
为实现上述发明目的,本发明提供了如下技术方案:
第一方面,本发明提供一种报文处理方法,应用于服务器包括的网卡,所述网卡包括目标物理端口,所述服务器还包括多个虚拟机,所述多个虚拟机通过所述目标物理端口与外部网络设备交互,所述方法包括:
若所述目标物理端口的已使用带宽大于预设的带宽阈值,则对接收到的所述外部网络设备发送的每一个第一报文执行如下处理:
获取一个第一报文包括的虚拟机的标识以及协议类型;
根据所述一个第一报文包括的虚拟机的标识以及协议类型,从本地记录的虚拟机的标识、协议类型以及报文优先级的对应关系中,查找所述一个第一报文的报文优先级;
将所述一个第一报文的报文优先级添加到所述一个第一报文中,得到对应的第二报文;
按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文。
可选的,所述方法还包括:
在接收到所述一个第一报文时,记录所述一个第一报文的元组信息与所述一个第一报文的服务类型(Type of Service,缩写ToS)字段的值的对应关系;
所述将所述一个第一报文的报文优先级添加到所述一个第一报文中,包括:
将所述一个第一报文的报文优先级添加到所述一个第一报文的ToS字段。
可选的,所述报文优先级包括综合优先级、虚拟机优先级、协议优先级,所述按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文,包括:
按照各第二报文的综合优先级从高到低的顺序,转发各第二报文;
若所述各第二报文中存在多个综合优先级相同的第三报文,则按照各第三报文的虚拟机优先级从高到低的顺序,转发各第三报文;
若所述各第三报文中存在多个虚拟机优先级相同的第四报文,则按照各第四报文的协议优先级从高到低的顺序,转发各第四报文。
可选的,所述方法还包括:
接收所述多个虚拟机基于所述各第二报文回应的各第五报文,所述第五报文包括所述第二报文的报文优先级;
按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文。
可选的,所述按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文,包括:
按照各第五报文包括的综合优先级、虚拟机优先级、协议优先级,依次确定各第五报文的转发优先级;
根据当前选择的第五报文的元组信息,从本地记录的元组信息与ToS字段的值的对应关系中,查找目标值;
利用所述目标值更新当前第五报文的ToS字段并转发。
第二方面,本发明提供一种报文处理装置,应用于服务器包括的网卡,所述网卡包括目标物理端口,所述服务器还包括多个虚拟机,所述多个虚拟机通过所述目标物理端口与外部网络设备交互,所述装置包括:
信息获取单元,用于若所述目标物理端口的已使用带宽大于预设的带宽阈值,则获取一个第一报文包括的虚拟机的标识以及协议类型,所述第一报文为所述外部网络设备发送给虚拟机的报文;
优先级查找单元,用于根据所述一个第一报文包括的虚拟机的标识以及协议类型,从本地记录的虚拟机的标识、协议类型以及报文优先级的对应关系中,查找所述一个第一报文的报文优先级;
优先级添加单元,用于将所述一个第一报文的报文优先级添加到所述一个第一报文中,得到对应的第二报文;
报文转发单元,用于按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文。
可选的,所述装置还包括:
关系记录单元,用于在接收到所述一个第一报文时,记录所述一个第一报文的元组信息与所述一个第一报文的ToS字段的值的对应关系;
所述优先级添加单元,具体用于将所述一个第一报文的报文优先级添加到所述一个第一报文的ToS字段。
可选的,所述报文优先级包括综合优先级、虚拟机优先级、协议优先级;
所述报文转发单元,具体用于按照各第二报文的综合优先级从高到低的顺序,转发各第二报文;若所述各第二报文中存在多个综合优先级相同的第三报文,则按照各第三报文的虚拟机优先级从高到低的顺序,转发各第三报文;若所述各第三报文中存在多个虚拟机优先级相同的第四报文,则按照各第四报文的协议优先级从高到低的顺序,转发各第四报文。
可选的,所述装置还包括:
报文接收单元,用于接收所述多个虚拟机基于所述各第二报文回应的各第五报文,所述第五报文包括所述第二报文的报文优先级;
所述报文转发单元,还用于按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文。
可选的,所述报文转发单元,具体用于按照各第五报文包括的综合优先级、虚拟机优先级、协议优先级,依次确定各第五报文的转发优先级;根据当前选择的第五报文的元组信息,从本地记录的元组信息与ToS字段的值的对应关系中,查找目标值;利用所述目标值更新当前第五报文的ToS字段并转发。
第三方面,本发明提供一种服务器,所述服务器包括网卡、多个虚拟机,所述网卡包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述报文处理方法。
第四方面,本发明提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上述报文处理方法。
由以上描述可以看出,本发明综合考虑虚拟机以及报文协议的重要程度,为不同虚拟机的不同协议类型的报文,设置不同的优先级,从而在物理端口拥塞时,实现更加精细化的流量控制。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例示出的一种报文处理方法流程图;
图2是本发明实施例示出的一个第一报文的处理流程;
图3是本发明实施例示出的步骤102的实现流程;
图4是本发明实施例示出的另一种报文处理方法流程图;
图5是本发明实施例示出的步骤402的实现流程;
图6是本发明实施例示出的一种服务器的结构示意图;
图7是本发明实施例示出的一种记录优先级的ToS字段示意图;
图8是本发明实施例示出的一种报文处理装置的结构示意图;
图9是本发明实施例示出的一种服务器包括的网卡的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明实施例。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例提供一种报文处理方法。该方法综合考虑虚拟机以及报文协议的重要程度,为不同虚拟机的不同协议类型的报文,设置不同的优先级,从而在物理端口拥塞时,实现更加精细化的流量控制。
为了使本发明实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明实施例执行详细描述:
参见图1,为本发明实施例提供的报文处理方法流程图。该流程应用于服务器包括的网卡。
该网卡通常为智能网卡,有自己独立的处理器。且网卡包括一个或多个物理端口,用于连接外部网络设备。
服务器利用虚拟化技术虚拟多个虚拟机。虚拟机与外部网络设备的信息交互必然经过物理端口。
如图1所示,该流程可包括以下步骤:
步骤101,若目标物理端口的已使用带宽大于预设的带宽阈值,网卡对外部网络设备发送的每一个第一报文确定对应的报文优先级,并将报文优先级添加到对应的第一报文中,得到各第一报文对应的第二报文。
这里,第一报文、第二报文只是为便于区分而进行的命名,并非用于限定。
本发明实施例中,网卡监测每一个物理端口的运行状态。
当目标物理端口的已使用带宽大于预设的带宽阈值时,说明目标物理端口拥塞或存在拥塞风险。可以理解的是,之所以称为目标物理端口,只是为了便于区分而进行的命名,并非用于限定。
实际应用中,若确认目标物理端口拥塞,即说明该目标物理端口接收到的报文(外部网络设备发送至各虚拟机的报文,各虚拟机发送至外部网络设备的报文)不能得到及时的转发处理,此时,就可能导致丢包情况的发生。
本发明实施例中,在确定目标物理端口拥塞后,网卡对接收到的外部网络设备发送的每一个第一报文执行如下处理:
参见图2,为本发明实施例示出的一个第一报文的处理流程。如图2所示,该流程可包括以下步骤:
步骤201,网卡获取一个第一报文包括的虚拟机的标识以及协议类型。
步骤202,网卡根据一个第一报文包括的虚拟机的标识以及协议类型,从本地记录的虚拟机的标识、协议类型以及报文优先级的对应关系中,查找该一个第一报文的报文优先级。
本发明实施例中,网卡可预先配置虚拟机的标识、协议类型以及报文优先级的对应关系。即,综合考虑虚拟机的重要程度、协议的重要程度,为不同虚拟机的不同协议类型的报文设置对应的报文优先级。
步骤203,网卡将一个第一报文的报文优先级添加到该一个第一报文中,得到对应的第二报文。
可选的,作为一个实施例,网卡可在接收到该一个第一报文时,记录该一个第一报文的元组信息(比如,源IP地址、源端口号、目的IP地址、目的端口号、协议类型)与该一个第一报文的ToS字段的值的对应关系。
网卡通过步骤202确定该一个第一报文的报文优先级后,可将该一个第一报文的报文优先级添加到该一个第一报文的ToS字段,得到对应的第二报文。
即,通过更新第一报文的ToS字段,得到携带报文优先级的第二报文。
也就是说,本发明实施例中,在确定任一物理端口拥塞之后,首先,需要确定该任一物理端口接收到的待处理的各报文的报文优先级;然后,再根据各报文的报文优先级,转发各待处理报文。
步骤102,网卡按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文。
网卡按照各第二报文的报文优先级,依次转发各第二报文的过程,在下文中描述,这里暂不赘述。
至此,完成图1所示流程。
通过图1所示流程可以看出,本发明实施例中,综合考虑虚拟机以及报文协议的重要程度,为不同虚拟机的不同协议类型的报文,设置对应的报文优先级,从而实现对流量的精细化控制。
下面对步骤102中网卡按照各第二报文的报文优先级,依次转发各第二报文的过程进行描述。
作为一个实施例,该报文优先级可包括:综合优先级、虚拟机优先级以及协议优先级。其中,虚拟机优先级为根据虚拟机的重要程度设置的优先级;协议优先级为根据协议的重要程度设置的优先级;综合优先级为综合考虑虚拟机及协议的重要程度设置的优先级。比如,在一些应用场景下,可为虚拟机优先级不高、协议优先级不高的报文,设置较高的综合优先级,以保证该报文的优先处理。
参见图3,为本发明实施例示出的步骤102的实现流程。如图3所示,该流程可包括以下步骤:
步骤301,网卡按照各第二报文的综合优先级从高到低的顺序,转发各第二报文。
即,优先处理综合优先级高的报文。
步骤302,若各第二报文中存在多个综合优先级相同的第三报文,网卡按照各第三报文的虚拟机优先级从高到低的顺序,转发各第三报文。
即,在综合优先级相同的情况下,按照虚拟机优先级从高到低的顺序转发报文。
这里,第三报文只是为便于描述而进行的命名,并非用于限定。
步骤303,若各第三报文中存在多个虚拟机优先级相同的第四报文,网卡按照各第四报文的协议优先级从高到低的顺序,转发各第四报文。
即,在综合优先级相同、虚拟机优先级相同的情况下,按照协议优先级从高到低的顺序转发报文。
这里,第四报文只是为便于描述而进行的命名,并非用于限定。
至此,完成图3所示流程。
当然,本发明实施例中,在存在多个报文的综合优先级相同的情况下,可以先按照协议优先级从高到低的顺序转发该多个综合优先级相同的报文,进一步的,在存在多个报文的综合优先级和协议优先级均相同的情况下,可以再按照虚拟机优先级转发该多个综合优先级和协议优先级均相同的报文。
通过图3所示流程,本发明实施例实现对外部网络设备发往虚拟机的流量的精细化控制。
下面对虚拟机发往外部网络设备的报文的处理过程进行描述。参见图4,为本发明实施例示出的另一种报文处理方法流程图。
如图4所示,该流程可包括以下步骤:
步骤401,网卡接收多个虚拟机基于各第二报文回应的各第五报文。
如前所述,虚拟机接收到的第二报文包括报文优先级。虚拟机基于第二报文回应第五报文时,同样携带该报文优先级。即,第五报文包括第二报文的报文优先级。
步骤402,网卡按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文。
网卡对虚拟机发往外部网络设备的报文同样基于报文优先级转发。
网络按照报文优先级转发各第五报文的过程,在下文中描述,这里暂不赘述。
至此,完成图4所示流程。
通过图4所示流程可以看出,本发明实施例对虚拟机发往外部网络设备的报文同样基于报文优先级转发,进一步实现对流量的精细化控制。
下面对步骤402中网卡按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文的过程进行描述。参见图5,为本发明实施例示出的步骤402的实现流程。
如图5所示,该流程可包括以下步骤:
步骤501,网卡按照各第五报文包括的综合优先级、虚拟机优先级、协议优先级,依次确定各第五报文的转发优先级。
如前所述,报文优先级包括综合优先级、虚拟机优先级、协议优先级。网卡对虚拟机发往外部网络设备的报文同样可基于各优先级进行转发。具体可参考前述网卡基于优先级对第二报文的处理过程,这里不再赘述。
步骤502,网卡根据当前选择的第五报文的元组信息,从本地记录的元组信息与ToS字段的值的对应关系中,查找目标值。
网卡通过步骤501确定各第五报文的转发顺序后,对每一个第五报文执行如下操作:获取当前待转发的第五报文的元组信息。根据该第五报文的元组信息,从本地记录的元组信息与ToS字段的值的对应关系中,查找与第五报文的元组信息对应的目标值。
这里,目标值只是为便于描述而进行的命名,并非用于限定。
需要说明的是,网卡接收到外部网络设备发送给虚拟机的第一报文时,已记录第一报文的元组信息与第一报文的ToS字段的值的对应关系。
本步骤中,网卡接收到虚拟机返回给外部网络设备的第五报文时,可查询已记录的对应关系,恢复报文的ToS字段的值,从而避免对外部网络设备的影响。
步骤503,网卡利用目标值更新当前第五报文的ToS字段并转发。
至此,完成图5所示流程。
通过图5所示流程,网卡实现对虚拟机发往外部网络设备的报文的转发,该转发过程不会对外部网络设备造成影响。
下面通过具体实施例对本发明实施例提供的方法进行描述:
参见图6,为本发明实施例示出的一种服务器的结构示意图。服务器600包括网卡610、虚拟机621~虚拟机623。网卡610包括物理端口611。
网卡610配置有虚拟机标识与虚拟机优先级的对应关系,如表1所示。
表1
网卡610还配置有协议类型与协议优先级的对应关系,如表2所示。
协议类型 | 协议优先级 |
DHCP | 15 |
FTP | 1 |
SNMP | 0 |
…… | …… |
表2
网卡610还配置有虚拟机标识、协议类型与综合优先级的对应关系,如表3所示。
虚拟机标识 | 协议类型 | 综合优先级 |
虚拟机621 | SNMP | 3 |
虚拟机622 | FTP | 1 |
虚拟机623 | SNMP | 1 |
表3
其中,表3中未示出的对应关系,默认综合优先级为0。
表1、表2、表3中,优先级数值越大,代表对应优先级越高。
虚拟机621~虚拟机623通过物理端口611与外部网络设备交互。
网卡610监测物理端口611的已使用带宽,若已使用带宽大于预设的带宽阈值,则对通过物理端口611转发的报文进行如下处理:
网卡610接收外部网络设备发往虚拟机621的报文,记为Packet11。网卡610记录Packet11的五元组信息(记为五元组11)与Packet11的ToS字段的值(ToS11)的对应关系,如表4所示。
五元组信息 | ToS字段的值 |
五元组11 | ToS11 |
表4
网卡610获取Packet11包括的虚拟机标识(虚拟机621)以及协议类型(SNMP)。根据虚拟机621、SNMP分别查询表1~表3,可知,Packet11对应的虚拟机优先级为1、协议优先级为0、综合优先级为3。
网卡610利用得到的虚拟机优先级、协议优先级、综合优先级更新Packet11的ToS字段。比如,利用ToS字段的高2位记录虚拟机优先级,中间4位记录协议优先级,低2位记录综合优先级,如图7所示。
更新后的Packet11,记为Packet110,添加到缓存中。
同理,网卡610可对外部网络设备发往虚拟机621~虚拟机623的所有报文执行上述处理。
若当前缓存中已缓存的报文包括:Packet110、Packet210、Packet310、Packet120、Packet220,各报文中ToS字段的优先级,如表5所示。
表5
网卡610已记录的五元组信息与ToS字段的值的对应关系,如表6所示。
五元组信息 | ToS字段的值 |
五元组11 | ToS11 |
五元组21 | ToS21 |
五元组31 | ToS31 |
五元组12 | ToS12 |
五元组22 | ToS22 |
表6
网卡610按照综合优先级从高到低的顺序查询表5。网卡610首先选择综合优先级为3的Packet110转发。然后,选择综合优先级为1的Packet210和Packet310,由于Packet210和Packet310的综合优先级相同,进一步比较两者的虚拟机优先级,Packet310的虚拟机优先级(2)高于Packet210的虚拟机优先级(1),因此,先转发Packet310,再转发Packet210。最后,选择综合优先级为0的Packet120和Packet220,由于Packet120和Packet220的综合优先级相同、虚拟机优先级相同,进一步比较两者的协议优先级,Packet220的协议优先级(15)高于Packet120的协议优先级(1),因此,先转发Packet220,再转发Packet120。
至此,完成对外部网络设备发往虚拟机的报文的转发。
虚拟机621接收到Packet110后,向外部网络设备发送应答报文,记为Packet130。Packet130的ToS字段的值与Packet110的ToS字段的值相同。即Packet130的ToS字段携带虚拟机优先级、协议优先级、综合优先级。
同理,各虚拟机接收到外部网络设备的报文(Packet210、Packet310、Packet120、Packet220)后,分别进行应答,对应应答报文分别记为Packet230、Packet330、Packet140、Packet240。各报文中ToS字段的优先级,如表7所示。
表7
网卡610按照综合优先级从高到低的顺序查询表7。首先选择综合优先级为3的Packet130,根据Packet130的五元组信息(五元组11)查找表6,获取与五元组11对应的ToS11。利用ToS11更新Packet130的ToS字段,更新后的报文记为Packet13。通过物理端口611转发给外部网络设备。
网卡610选择综合优先级为1的Packet230和Packet330。由于Packet230和Packet330的综合优先级相同,进一步比较两者的虚拟机优先级,Packet330的虚拟机优先级(2)高于Packet230的虚拟机优先级(1),因此,优先选择Packet330。网卡610根据Packet330的五元组信息(五元组31)查找表6,获取与五元组31对应的ToS31。利用ToS31更新Packet330的ToS字段,更新后的报文记为Packet33。通过物理端口611转发给外部网络设备。网卡610获取Packet230的五元组信息(五元组21),根据五元组21查找表6,获取与五元组21对应的ToS21。利用ToS21更新Packet230的ToS字段,更新后的报文记为Packet23。通过物理端口611转发给外部网络设备。
网卡610选择综合优先级为0的Packet140和Packet240。由于Packet140和Packet240的综合优先级相同、虚拟机优先级相同,进一步比较两者的协议优先级,Packet240的协议优先级(15)高于Packet140的协议优先级(1),因此,优先选择Packet240。网卡610根据Packet240的五元组信息(五元组22)查找表6,获取与五元组22对应的ToS22。利用ToS22更新Packet240的ToS字段,更新后的报文记为Packet24。通过物理端口611转发给外部网络设备。网卡610获取Packet140的五元组信息(五元组12),根据五元组12查找表6,获取与五元组12对应的ToS12。利用ToS12更新Packet140的ToS字段,更新后的报文记为Packet14。通过物理端口611转发给外部网络设备。
至此,完成对虚拟机发往外部网络设备的报文的转发。
以上对本发明实施例提供的方法进行了描述,下面对本发明实施例提供的装置进行描述:
参见图8,为本发明实施例提供的装置的结构示意图。该装置包括信息获取单元801、优先级查找单元802、优先级添加单元803以及报文转发单元804,其中:
信息获取单元801,用于若所述目标物理端口的已使用带宽大于预设的带宽阈值,则获取一个第一报文包括的虚拟机的标识以及协议类型,所述第一报文为所述外部网络设备发送给虚拟机的报文;
优先级查找单元802,用于根据所述一个第一报文包括的虚拟机的标识以及协议类型,从本地记录的虚拟机的标识、协议类型以及报文优先级的对应关系中,查找所述一个第一报文的报文优先级;
优先级添加单元803,用于将所述一个第一报文的报文优先级添加到所述一个第一报文中,得到对应的第二报文;
报文转发单元804,用于按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文。
作为一个实施例,所述装置还包括:
关系记录单元,用于在接收到所述一个第一报文时,记录所述一个第一报文的元组信息与所述一个第一报文的ToS字段的值的对应关系;
所述优先级添加单元803,具体用于将所述一个第一报文的报文优先级添加到所述一个第一报文的ToS字段。
作为一个实施例,所述报文优先级包括综合优先级、虚拟机优先级、协议优先级;
所述报文转发单元804,具体用于按照各第二报文的综合优先级从高到低的顺序,转发各第二报文;若所述各第二报文中存在多个综合优先级相同的第三报文,则按照各第三报文的虚拟机优先级从高到低的顺序,转发各第三报文;若所述各第三报文中存在多个虚拟机优先级相同的第四报文,则按照各第四报文的协议优先级从高到低的顺序,转发各第四报文。
作为一个实施例,所述装置还包括:
报文接收单元,用于接收所述多个虚拟机基于所述各第二报文回应的各第五报文,所述第五报文包括所述第二报文的报文优先级;
所述报文转发单元804,还用于按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文。
作为一个实施例,所述报文转发单元804,具体用于按照各第五报文包括的综合优先级、虚拟机优先级、协议优先级,依次确定各第五报文的转发优先级;根据当前选择的第五报文的元组信息,从本地记录的元组信息与ToS字段的值的对应关系中,查找目标值;利用所述目标值更新当前第五报文的ToS字段并转发。
至此,完成图8所示装置的描述。本发明实施例中,综合考虑了虚拟机以及报文协议的重要程度,为不同虚拟机的不同协议类型的报文,设置对应的优先级,从而实现对流量的精细化控制。
下面对本发明实施例提供的服务器进行描述,该服务器包括网卡。
参见图9,为本发明实施例提供的一种服务器包括的网卡的硬件结构示意图。该网卡可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,通过读取并执行机器可读存储介质902中与报文处理逻辑对应的机器可执行指令,处理器901可执行上文描述的报文处理方法。
本文提到的机器可读存储介质902可以是任何电子、磁性、光学或其他物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,所述机器可读存储介质902可以包括如下至少一个种存储介质:易失存储器、非易失性存储器、其它类型存储介质。其中,易失性存储器可为RAM(Random Access Memory,随机存取存储器),非易失性存储器可为闪存、存储驱动器(如硬盘驱动器)、固态硬盘、存储盘(如光盘、DVD等)。
本发明实施例还提供一种包括机器可执行指令的机器可读存储介质,例如图8中的机器可读存储介质902,所述机器可执行指令可由网卡中的处理器901执行,以实现以上描述的报文处理方法。
至此,完成图9所示网卡的描述。
以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种报文处理方法,其特征在于,应用于服务器包括的网卡,所述网卡包括目标物理端口,所述服务器还包括多个虚拟机,所述多个虚拟机通过所述目标物理端口与外部网络设备交互,所述方法包括:
若所述目标物理端口的已使用带宽大于预设的带宽阈值,则对接收到的所述外部网络设备发送的每一个第一报文执行如下处理:
获取一个第一报文包括的虚拟机的标识以及协议类型;
根据所述一个第一报文包括的虚拟机的标识以及协议类型,从本地记录的虚拟机的标识、协议类型以及报文优先级的对应关系中,查找所述一个第一报文的报文优先级;
将所述一个第一报文的报文优先级添加到所述一个第一报文中,得到对应的第二报文;
按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述一个第一报文时,记录所述一个第一报文的元组信息与所述一个第一报文的服务类型ToS字段的值的对应关系;
所述将所述一个第一报文的报文优先级添加到所述一个第一报文中,包括:
将所述一个第一报文的报文优先级添加到所述一个第一报文的ToS字段。
3.如权利要求1或2所述的方法,其特征在于,所述报文优先级包括综合优先级、虚拟机优先级、协议优先级,所述按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文,包括:
按照各第二报文的综合优先级从高到低的顺序,转发各第二报文;
若所述各第二报文中存在多个综合优先级相同的第三报文,则按照各第三报文的虚拟机优先级从高到低的顺序,转发各第三报文;
若所述各第三报文中存在多个虚拟机优先级相同的第四报文,则按照各第四报文的协议优先级从高到低的顺序,转发各第四报文。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述多个虚拟机基于所述各第二报文回应的各第五报文,所述第五报文包括所述第二报文的报文优先级;
按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文。
5.如权利要求4所述的方法,其特征在于,所述按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文,包括:
按照各第五报文包括的综合优先级、虚拟机优先级、协议优先级,依次确定各第五报文的转发优先级;
根据当前选择的第五报文的元组信息,从本地记录的元组信息与ToS字段的值的对应关系中,查找目标值;
利用所述目标值更新当前第五报文的ToS字段并转发。
6.一种报文处理装置,其特征在于,应用于服务器包括的网卡,所述网卡包括目标物理端口,所述服务器还包括多个虚拟机,所述多个虚拟机通过所述目标物理端口与外部网络设备交互,所述装置包括:
信息获取单元,用于若所述目标物理端口的已使用带宽大于预设的带宽阈值,则获取一个第一报文包括的虚拟机的标识以及协议类型,所述第一报文为所述外部网络设备发送给虚拟机的报文;
优先级查找单元,用于根据所述一个第一报文包括的虚拟机的标识以及协议类型,从本地记录的虚拟机的标识、协议类型以及报文优先级的对应关系中,查找所述一个第一报文的报文优先级;
优先级添加单元,用于将所述一个第一报文的报文优先级添加到所述一个第一报文中,得到对应的第二报文;
报文转发单元,用于按照各第二报文的报文优先级从高到低的顺序,依次转发各第二报文。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
关系记录单元,用于在接收到所述一个第一报文时,记录所述一个第一报文的元组信息与所述一个第一报文的服务类型ToS字段的值的对应关系;
所述优先级添加单元,具体用于将所述一个第一报文的报文优先级添加到所述一个第一报文的ToS字段。
8.如权利要求6或7所述的装置,其特征在于,所述报文优先级包括综合优先级、虚拟机优先级、协议优先级;
所述报文转发单元,具体用于按照各第二报文的综合优先级从高到低的顺序,转发各第二报文;若所述各第二报文中存在多个综合优先级相同的第三报文,则按照各第三报文的虚拟机优先级从高到低的顺序,转发各第三报文;若所述各第三报文中存在多个虚拟机优先级相同的第四报文,则按照各第四报文的协议优先级从高到低的顺序,转发各第四报文。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
报文接收单元,用于接收所述多个虚拟机基于所述各第二报文回应的各第五报文,所述第五报文包括所述第二报文的报文优先级;
所述报文转发单元,还用于按照各第五报文的报文优先级从高到低的顺序,依次转发各第五报文。
10.如权利要求9所述的装置,其特征在于:
所述报文转发单元,具体用于按照各第五报文包括的综合优先级、虚拟机优先级、协议优先级,依次确定各第五报文的转发优先级;根据当前选择的第五报文的元组信息,从本地记录的元组信息与ToS字段的值的对应关系中,查找目标值;利用所述目标值更新当前第五报文的ToS字段并转发。
11.一种服务器,其特征在于,所述服务器包括网卡、多个虚拟机,所述网卡包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法步骤。
12.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910673692.9A CN110417683B (zh) | 2019-07-24 | 2019-07-24 | 报文处理方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910673692.9A CN110417683B (zh) | 2019-07-24 | 2019-07-24 | 报文处理方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417683A true CN110417683A (zh) | 2019-11-05 |
CN110417683B CN110417683B (zh) | 2022-07-29 |
Family
ID=68362982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910673692.9A Active CN110417683B (zh) | 2019-07-24 | 2019-07-24 | 报文处理方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417683B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691465A (zh) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | 一种数据的传输方法、智能网卡、计算设备及存储介质 |
CN113691466A (zh) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | 一种数据的传输方法、智能网卡、计算设备及存储介质 |
CN114189477A (zh) * | 2021-10-22 | 2022-03-15 | 新华三大数据技术有限公司 | 一种报文拥塞控制方法及装置 |
CN115801897A (zh) * | 2022-12-20 | 2023-03-14 | 南京工程学院 | 一种边缘代理的报文动态处理方法 |
CN115801897B (zh) * | 2022-12-20 | 2024-05-24 | 南京工程学院 | 一种边缘代理的报文动态处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2259509A1 (en) * | 2009-06-04 | 2010-12-08 | NTT DoCoMo, Inc. | Method and apparatus for traffic flow differentiation |
CN103414656A (zh) * | 2013-07-31 | 2013-11-27 | 中国联合网络通信集团有限公司 | 报文发送控制方法和网卡 |
CN103501282A (zh) * | 2013-10-09 | 2014-01-08 | 中国联合网络通信集团有限公司 | 网络报文发送控制方法、虚拟交换机和物理机 |
CN103634228A (zh) * | 2013-11-25 | 2014-03-12 | 华为技术有限公司 | 一种网络报文的传送方法和设备 |
WO2017024783A1 (zh) * | 2015-08-11 | 2017-02-16 | 华为技术有限公司 | 一种虚拟化方法、装置和系统 |
CN107733799A (zh) * | 2016-08-11 | 2018-02-23 | 新华三技术有限公司 | 一种报文传输方法和装置 |
CN109286582A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种在虚拟化交换机中实现网络带宽优先级的方法及装置 |
-
2019
- 2019-07-24 CN CN201910673692.9A patent/CN110417683B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2259509A1 (en) * | 2009-06-04 | 2010-12-08 | NTT DoCoMo, Inc. | Method and apparatus for traffic flow differentiation |
CN103414656A (zh) * | 2013-07-31 | 2013-11-27 | 中国联合网络通信集团有限公司 | 报文发送控制方法和网卡 |
CN103501282A (zh) * | 2013-10-09 | 2014-01-08 | 中国联合网络通信集团有限公司 | 网络报文发送控制方法、虚拟交换机和物理机 |
CN103634228A (zh) * | 2013-11-25 | 2014-03-12 | 华为技术有限公司 | 一种网络报文的传送方法和设备 |
WO2017024783A1 (zh) * | 2015-08-11 | 2017-02-16 | 华为技术有限公司 | 一种虚拟化方法、装置和系统 |
CN107733799A (zh) * | 2016-08-11 | 2018-02-23 | 新华三技术有限公司 | 一种报文传输方法和装置 |
CN109286582A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种在虚拟化交换机中实现网络带宽优先级的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691465A (zh) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | 一种数据的传输方法、智能网卡、计算设备及存储介质 |
CN113691466A (zh) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | 一种数据的传输方法、智能网卡、计算设备及存储介质 |
CN113691466B (zh) * | 2020-05-19 | 2023-08-18 | 阿里巴巴集团控股有限公司 | 一种数据的传输方法、智能网卡、计算设备及存储介质 |
CN114189477A (zh) * | 2021-10-22 | 2022-03-15 | 新华三大数据技术有限公司 | 一种报文拥塞控制方法及装置 |
CN114189477B (zh) * | 2021-10-22 | 2023-12-26 | 新华三大数据技术有限公司 | 一种报文拥塞控制方法及装置 |
CN115801897A (zh) * | 2022-12-20 | 2023-03-14 | 南京工程学院 | 一种边缘代理的报文动态处理方法 |
CN115801897B (zh) * | 2022-12-20 | 2024-05-24 | 南京工程学院 | 一种边缘代理的报文动态处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110417683B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240113998A1 (en) | Domain name system operations implemented using scalable virtual traffic hub | |
US11316946B2 (en) | Processing and caching in an information-centric network | |
US11606300B2 (en) | Network flow management for isolated virtual networks | |
CN110417683A (zh) | 报文处理方法、装置及服务器 | |
US10574574B2 (en) | System and method for BGP sFlow export | |
US8837483B2 (en) | Mapping private and public addresses | |
CN104115472B (zh) | 用于内容导向网络中可扩展路由的方法 | |
EP2652924B1 (en) | Synchronizing state among load balancer components | |
US8391289B1 (en) | Managing a forwarding table in a switch | |
US10587513B2 (en) | Method, apparatus and system for determining content acquisition path and processing request | |
CN103259726B (zh) | 存储和发送mac地址表项的方法、设备及系统 | |
CN100442766C (zh) | 数据通信设备转发业务的实现方法 | |
CN102438020A (zh) | 内容分发网络中内容分发的方法、设备和网络系统 | |
CN110505621B (zh) | 一种终端迁移的处理方法及装置 | |
US20220321469A1 (en) | Dynamic routing for peered virtual routers | |
CN104486229A (zh) | 一种实现vpn网络报文转发的方法及设备 | |
CN106302638A (zh) | 一种数据管理方法、转发设备及系统 | |
CN101808107A (zh) | 一种存储设备与用户二层互通的方法、装置及系统 | |
US9049140B2 (en) | Backbone network with policy driven routing | |
CN101436965A (zh) | 一种共享接入客户端数量的检测方法、装置以及系统 | |
US10841204B2 (en) | Fast lookup and update of current hop limit | |
US9210103B1 (en) | Policy control list keys for network devices | |
EP3481014B1 (en) | Forwarding table entry access | |
CN107566302A (zh) | 报文转发方法和装置 | |
JP7289303B2 (ja) | ネットワーク通信方法および装置 |
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 |