CN105471756B - 一种数据包处理方法及装置 - Google Patents

一种数据包处理方法及装置 Download PDF

Info

Publication number
CN105471756B
CN105471756B CN201510789319.1A CN201510789319A CN105471756B CN 105471756 B CN105471756 B CN 105471756B CN 201510789319 A CN201510789319 A CN 201510789319A CN 105471756 B CN105471756 B CN 105471756B
Authority
CN
China
Prior art keywords
data packet
flow
virtual machine
flow entry
flow table
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
CN201510789319.1A
Other languages
English (en)
Other versions
CN105471756A (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510789319.1A priority Critical patent/CN105471756B/zh
Publication of CN105471756A publication Critical patent/CN105471756A/zh
Application granted granted Critical
Publication of CN105471756B publication Critical patent/CN105471756B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

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

Abstract

本发明公开了一种数据包处理方法及装置,该方法包括:接收数据包;如果所述数据包是与特定虚拟机对应的数据包,则将所述数据包同时与M个第一流表中的流表项进行匹配,如果所述M个第一流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,并将处理完成的数据包进行输出。与现有技术相比,本申请中对于特定虚拟机对应的数据包,将其同时与M个第一流表中的流表项进行匹配,并直接按照匹配成功的流表项对数据包进行处理后输出,从而避免了背景技术中提到的需要对数据包进行多级跳转处理的情况发生,从而大大减少了对于与特定虚拟机对应的数据包的处理时间,减小了数据包的处理时延。

Description

一种数据包处理方法及装置
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种数据包处理方法及装置。
背景技术
近些年,随着云计算技术在人们的生活和工作中应用越来越广,计算机网络的发展也正朝着更有利于云计算以及更有利于大数据时代信息传播的方向发展。近几年提出的软件定义网络(Software-Defined Network,SDN)技术成为广受业界关注的网络技术。其核心技术是OpenFlow,OpenFlow将网络设备的控制与数据分离开来,以实现对整个网络流量的灵活控制。
其中,每台OpenFlow交换机中的处理模块都是由多级流表构成的,不同的流表中存储有不同的规则,以对数据包进行不同的处理,每个进入到OpenFlow交换机中的数据包,都需要首先与多级流表中的第一个流表中包含的流表项进行匹配,并将按照与数据包匹配的流表项进行处理后转发至下一个流表项中,同样,数据包通过上述方式在下一个流表项中被处理,直至输出。另外,如果在任一流表中与数据包匹配的流表项中未指明数据包需被转发至下一个数据包,则对数据包进行处理后直接对数据包进行输出。但是,通常情况下,数据包在OpenFlow交换机中的处理模块中是需要跳转多个流表后完成处理被输出的,这样就会增加对于数据包的处理时间,增大数据包的处理时延,从而无法满足对时延要求较为严苛的数据包对应的虚拟机。
综上所述,现有技术对于数据包的处理中存在时延较大的问题。
发明内容
本发明的目的是提供一种数据包处理方法及装置,以解决现有技术对于数据包的处理中存在的时延较大的问题。
为了实现上述目的,本发明提供如下技术方案:
一种数据包处理方法,包括:
接收数据包;
如果所述数据包是与特定虚拟机对应的数据包,则将所述数据包同时与M个第一流表中的流表项进行匹配,如果所述M个第一流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,并将处理完成的数据包进行输出。
优选的,在接收数据包之后,还包括:
步骤1:如果所述数据包不是与所述特定虚拟机对应的数据包,则确定N个第二流表中的第一个流表为当前流表;
步骤2:将所述数据包与当前流表中的流表项进行匹配,如果当前流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,如果所述目标流表项中包含有需对所述数据包进行处理的下一第二流表的流表信息,则确定该流表信息对应的第二流表为当前流表;
步骤3:返回执行步骤2,直至所述目标流表项中未包含有需对所述数据包进行处理的下一第二流表的流表信息为止,将处理完成的数据包进行输出。
优选的,还包括:
如果同时接收到多个数据包,所述多个数据包均是与所述特定虚拟机对应的数据包或者所述多个数据包均不是与所述特定虚拟机对应的数据包,则按照所述多个数据包中每个数据包对应的虚拟机的优先级对所述多个数据包进行处理。
优选的,在接收到多个数据包之后,还包括:
确定与所述多个数据包对应的虚拟机的优先级,依据所述优先级计算所述多个数据包中每个数据包需等待被处理的等待时间,并将所述等待时间发送至对应的虚拟机。
优选的,确定所述数据包是否为与所述特定虚拟机对应的数据包,包括:
获取所述数据包中携带的源IP或者目的IP,并判断与所述源IP或者目的IP对应的虚拟机是否为特定虚拟机。
优选的,将所述数据包与任一流表中的流表项进行匹配,包括:
如果任一流表中包含多个流表项,则按照该流表中多个流表项的优先级将所述多个流表项依次与所述数据包进行匹配。
优选的,还包括:
如果所述M个第一流表中或者所述N个第二流表中不存在与所述数据包匹配的流表项,则将所述数据包发送至控制器。
优选的,预先设置所述M个第一流表项的过程包括:
获取历史上与所述特定虚拟机对应的数据需被进行的处理内容,并依据该处理内容确定M个第一流表。
一种数据包处理装置,包括:
接收模块,用于接收数据包;
匹配模块,用于如果所述数据包是与特定虚拟机对应的数据包,则将所述数据包同时与M个第一流表中的流表项进行匹配;
处理模块,用于如果所述M个第一流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,并将处理完成的数据包进行输出。
优选的,还包括:
设置模块,用于获取历史上与所述特定虚拟机对应的数据需被进行的处理内容,并依据该处理内容确定M个第一流表。
本发明提供的一种数据包处理方法及装置,该方法包括:接收数据包;如果所述数据包是与特定虚拟机对应的数据包,则将所述数据包同时与M个第一流表中的流表项进行匹配,如果所述M个第一流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,并将处理完成的数据包进行输出。与现有技术相比,本申请中对于特定虚拟机对应的数据包,将其同时与M个第一流表中的流表项进行匹配,并直接按照匹配成功的流表项对数据包进行处理后输出,从而避免了背景技术中提到的需要对数据包进行多级跳转处理的情况发生,从而大大减少了对于与特定虚拟机对应的数据包的处理时间,减小了数据包的处理时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据包处理方法的第一种流程图;
图2为本发明实施例提供的一种数据包处理方法接收数据包之后的第二种流程图;
图3为本发明实施例提供的一种数据包处理方法的处理流程示意图;
图4为本发明实施例提供的一种数据包处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种数据包处理方法的流程图,可以包括以下步骤:
S11:接收数据包。
需要说明的是,本发明实施例提供的一种数据包处理方法中每个步骤的主语均可以是OpenFlow交换机。其中,数据包是一种数据单位,其携带有数据。
S12:如果数据包是与特定虚拟机对应的数据包,则将数据包同时与M个第一流表中的流表项进行匹配。
其中,本实施例中的特定虚拟机可以是对时延要求较为严苛的虚拟机,对于特定虚拟机,其需要在时延较小的情况下完成对数据包的处理。与特定虚拟机对应的数据包可以是其他设备需要传送至特定虚拟机的数据包,也可以是特定虚拟机需要传送至其他虚拟机的数据包。
M的具体取值可以根据实际需要进行确定,而对于流表项与数据包的匹配,具体可以是:数据包通常包括包头,而流表项通常包括包头域,包头及包头域均可以包括入端口、源MAC地址、目的MAC地址、以太网类型、VLAN ID、VLAN优先级、源IP地址、目的IP地址、IP协议、IP TOS位、TCP/UDP源端口及TCP/UDP目的端口等,流表项的包头域及数据包的包头包含的上述一种或者多种参数的具体值相同时,则说明流表项与数据包匹配。
如果数据包不是与特定虚拟机对应的数据包,则不将数据包与M个第一流表中的流表项进行匹配,而是对其进行其他处理。
S13:如果M个第一流表中存在与数据包匹配的任一流表项,则确定该流表项为目标流表项。
如果M个第一流表中不存在与数据包匹配的任一流表项,则直接将该数据包进行丢弃。
S14:依据目标流表项对数据包进行处理,并将处理完成的数据包进行输出。
流表项中包含有对数据包进行处理的指令集,依据目标流表项中的指令集对数据包进行处理之后将数据包直接进行输出。而对数据包进行输出具体可以是将数据包发送至特定虚拟机对应的端口。
本申请中对于特定虚拟机对应的数据包,将其同时与M个第一流表中的流表项进行匹配,并直接按照匹配成功的流表项对数据包进行处理后输出,从而避免了背景技术中提到的需要对数据包进行多级跳转处理的情况发生,即,通过上述步骤完成对特定虚拟机对应的数据包的优先处理,从而大大减少了对于与特定虚拟机对应的数据包的处理时间,减小了数据包的处理时延,进而增强了特定虚拟机对应的数据包的转发处理速度。
上述实施例提供的一种数据包处理方法,如图2所示,在接收数据包之后,还可以包括:
S21:如果数据包不是与特定虚拟机对应的数据包,则确定N个第二流表中的第一个流表为当前流表。
其中,数据包不是与特定虚拟机对应的数据包,说明数据包为与普通虚拟机对应的数据包,普通虚拟机可以是对时延要求并不严苛的虚拟机。
N的具体取值可以根据实际需要进行确定。
S22:将数据包与当前流表中的流表项进行匹配,如果当前流表中存在与数据包匹配的任一流表项,则确定该流表项为目标流表项。
数据包与流表项匹配的具体介绍请参见上述实施例中对应内容。
如果当前流表中不存在与数据包匹配的任一流表项,则直接将数据包进行丢弃。
S23:依据目标流表项对数据包进行处理,如果目标流表项中包含有需对数据包进行处理的下一第二流表的流表信息,则确定该流表信息对应的第二流表为当前流表。
当数据包需要跳转至下一第二流表时,目标流表项中通常存储有数据包需跳转至的下一第二流表的流表信息,进而根据流表信息将数据包跳转至第一第二流表。依据目标流表项对数据包进行处理的具体介绍请参见上述实施例中对应的内容。
如果目标流表项中不包含需对数据包进行处理的下一第二流表的流表信息,则按照目标流表项对数据包进行处理后直接输出。输出可以是输出至与数据包对应的虚拟机的对应端口。
S24:返回执行步骤S22,直至目标流表项中未包含有需对数据包进行处理的下一第二流表的流表信息为止,将处理完成的数据包进行输出。
如图3,为本发明实施例提供的一种数据包处理方法对应的处理流程示意图,其中,Table 0至Table N代表实施例中的N个第二流表,Table a至Table M代表本实施例中的M个第一流表。数据包进入OpenFlow交换机后,先对数据包所属的虚拟机进行判断,如果数据包是与特定虚拟机对应的数据包,则利用多个线程将数据包同时与Table a至Table M中每个流表中的流表项进行匹配,如果数据包不是与特定虚拟机对应的数据包,则将数据包与Table 0中的流表项进行匹配,并在上述任一一种匹配成功后,利用匹配的流表项中的指令集对其进行处理(action)。其中,指令集如如通过goto语句转到下一流表,或者对数据包进行丢弃等。
由此,通过第一流表对对时延要求严苛的特定虚拟机对应的数据包进行处理,通过第二流表对对时延要求不严苛的普通虚拟机对应的数据包进行处理,从而能够在大大减小对特定虚拟机对应的数据包的处理时延的同时,基本不影响对于普通虚拟机对应的数据包的处理,且,也能避免普通虚拟机对应的数据包对于第一流表的占用,保证了对于数据包的处理效率。
上述实施例提供的一种数据包处理方法,还可以包括:
如果同时接收到多个数据包,多个数据包均是与特定虚拟机对应的数据包或者多个数据包均不是与特定虚拟机对应的数据包,则按照多个数据包中每个数据包对应的虚拟机的优先级对多个数据包进行处理。
其中,特定虚拟机的数量可以为1个或者多个,对时延要求不严苛的普通虚拟机也是如此。当同时接收到多个数据包时,如果数据包包括为与特定虚拟机对应的数据包和与普通虚拟机对应的数据包,可以优先对于特定虚拟机对应的数据包进行处理;而对多个同属于同一种虚拟机(普通虚拟机或者特定虚拟机)的数据包进行处理时,需要确定与每个数据包对应的虚拟机的优先级,然后按照虚拟机的优先级由高到低依次对相应的数据包进行处理。当然,上述处理方式仅仅是一种具体实施方式,也可以对多个数据包进行随机处理或者按照其他方式进行处理,均在本发明的保护范围之内。
上述实施例提供的一种数据包处理方法,在接收到多个数据包之后,还可以包括:
确定与多个数据包对应的虚拟机的优先级,依据优先级计算多个数据包中每个数据包需等待被处理的等待时间,并将等待时间发送至对应的虚拟机。
当按照数据包对应的虚拟机的优先级对同属于一种虚拟机的多个数据包进行处理时,在确定与每个数据包对应的虚拟机的优先级之后,可以按照对应虚拟机的优先级由高到低的顺序为数据包进行排序,通过每个数据包的序列编号及每个数据包的处理大概所需时间可以计算出数据包需要等待被处理的等待时间,并将等待时间发送至对应的虚拟机,以方便虚拟机及时或者与之对应的数据包的处理状态。当然,上述对数据包的等待时间的计算仅仅是一种具体实施方式,也可以为每个数据包指定同样的预设处理时间,进而计算等待时间,或者按照其他方式进行计算,均在本发明的保护范围之内。
上述实施例提供的一种数据包处理方法,确定数据包是否为与特定虚拟机对应的数据包,可以包括:
获取数据包中携带的源IP或者目的IP,并判断与源IP或者目的IP对应的虚拟机是否为特定虚拟机。
其中,源IP为数据包为由虚拟机发送至其他设备时虚拟机的IP,目的IP为数据包为由其他设备发送至虚拟机时虚拟机的IP。通过虚拟机的IP可以确定对应的虚拟机是否为特定虚拟机。当谈,上述确定虚拟机是否为特定虚拟机的方式仅仅为一种具体实施方式,也可以按照数据包中携带的与虚拟机对应的MAC地址进行确定,或者按照其他方式进行确定,均在本发明的保护范围之内。
上述实施例提供的一种数据包处理方法,将数据包与任一流表中的流表项进行匹配,可以包括:
如果任一流表中包含多个流表项,则按照该流表中多个流表项的优先级将多个流表项依次与数据包进行匹配。
具体在将数据包与任一流表中的流表项进行匹配时,可以通过按照多个流表项的优先级由高至低的顺序依次与数据包进行匹配,从而,通过流表项的优先级及流表项与数据包的匹配能够唯一的确定出与数据包对应的流表项,保证了对于数据包处理的效率及准确性。
上述实施例提供的一种数据包处理方法,还可以包括:
如果M个第一流表中或者N个第二流表中不存在与数据包匹配的流表项,则将数据包发送至控制器。
如果不存在与数据包匹配的流表项,则将数据包发送至控制器,由控制器对数据包进行相应的处理及转发,保证了对于数据包的有效转发,避免由于不存在与数据包匹配的流表项而导致数据包不能被及时处理的情况发生。
上述实施例提供的一种数据包处理方法,预先设置M个第一流表项的过程可以包括:
获取历史上与特定虚拟机对应的数据需被进行的处理内容,并依据该处理内容确定M个第一流表。
需要说明的是,第一流表的流表项对应是对特定虚拟机可能产生的数据进行的处理内容,因此,针对历史上对特定虚拟机对应的数据需被处理的处理内容设置每个第一流表中流表项需对应的指令集,即,第一流表及第一流表的个数与特定虚拟机需对发送或者接收的数据进行的处理内容保持一致,从而可以保证对于流表资源的充分利用的同时,在一定程度上避免了无法对特定虚拟机对应的数据包进行相应处理的情况的发生。当然,上述对于第一流表的确定仅仅是一种具体实施方式,也可以将第二流表的流表项进行整合后作为确定第一流表项的依据,或者按照其他方式确定第一流表均在本发明的保护范围之内。
另外,第一流表中不同的流表及第二流表中不同的流表一般均包括有各自不同的流表项。
与上述方法实施例相对应,本发明实施例还提供了一种数据包处理装置,如图4所示,可以包括:
接收模块41,用于接收数据包;
匹配模块42,用于如果数据包是与特定虚拟机对应的数据包,则将数据包同时与M个第一流表中的流表项进行匹配;
处理模块43,用于如果M个第一流表中存在与数据包匹配的任一流表项,则确定该流表项为目标流表项,依据目标流表项对数据包进行处理,并将处理完成的数据包进行输出。
本申请中对于特定虚拟机对应的数据包,将其同时与M个第一流表中的流表项进行匹配,并直接按照匹配成功的流表项对数据包进行处理后输出,从而避免了背景技术中提到的需要对数据包进行多级跳转处理的情况发生,即,通过上述装置完成对特定虚拟机对应的数据包的优先处理,从而大大减少了对于与特定虚拟机对应的数据包的处理时间,减小了数据包的处理时延,进而增强了特定虚拟机对应的数据包的转发处理速度。
上述实施例提供的一种数据包处理装置,还可以包括:
循环处理模块,用于实现以下操作:步骤1:如果数据包不是与特定虚拟机对应的数据包,则确定N个第二流表中的第一个流表为当前流表;步骤2:将数据包与当前流表中的流表项进行匹配,如果当前流表中存在与数据包匹配的任一流表项,则确定该流表项为目标流表项,依据目标流表项对数据包进行处理,如果目标流表项中包含有需对数据包进行处理的下一第二流表的流表信息,则确定该流表信息对应的第二流表为当前流表;步骤3:返回执行步骤2,直至目标流表项中未包含有需对数据包进行处理的下一第二流表的流表信息为止,将处理完成的数据包进行输出。
上述实施例提供的一种数据包处理装置,还可以包括:
优先处理模块,用于:如果同时接收到多个数据包,多个数据包均是与特定虚拟机对应的数据包或者多个数据包均不是与特定虚拟机对应的数据包,则按照多个数据包中每个数据包对应的虚拟机的优先级对多个数据包进行处理。
上述实施例提供的一种数据包处理装置,还可以包括:
等待时间计算模块,用于:确定与多个数据包对应的虚拟机的优先级,依据优先级计算多个数据包中每个数据包需等待被处理的等待时间,并将等待时间发送至对应的虚拟机。
上述实施例提供的一种数据包处理装置,接收模块可以包括:
确定单元,用于:获取数据包中携带的源IP或者目的IP,并判断与源IP或者目的IP对应的虚拟机是否为特定虚拟机。
上述实施例提供的一种数据包处理装置,处理模块或循环处理模块可以包括:
匹配单元,用于如果任一流表中包含多个流表项,则按照该流表中多个流表项的优先级将多个流表项依次与数据包进行匹配。
上述实施例提供的一种数据包处理装置,还可以包括:
发送模块,用于如果M个第一流表中或者N个第二流表中不存在与数据包匹配的流表项,则将数据包发送至控制器。
上述实施例提供的一种数据包处理装置,还可以包括:
设置模块,用于获取历史上与特定虚拟机对应的数据需被进行的处理内容,并依据该处理内容确定M个第一流表。
对于一种数据包处理装置中相关模块或者单元所实现的功能及具体介绍均可参见上述实施例提供的一种数据包处理方法的对应内容,在此不再赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种数据包处理方法,其特征在于,包括:
接收数据包;
如果所述数据包是与特定虚拟机对应的数据包,则将所述数据包同时与M个第一流表中的流表项进行匹配,如果所述M个第一流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,并将处理完成的数据包进行输出;
在接收数据包之后,还包括:
步骤1:如果所述数据包不是与所述特定虚拟机对应的数据包,则确定N个第二流表中的第一个流表为当前流表;
步骤2:将所述数据包与当前流表中的流表项进行匹配,如果当前流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,如果所述目标流表项中包含有需对所述数据包进行处理的下一第二流表的流表信息,则确定该流表信息对应的第二流表为当前流表;
步骤3:返回执行步骤2,直至所述目标流表项中未包含有需对所述数据包进行处理的下一第二流表的流表信息为止,将处理完成的数据包进行输出。
2.根据权利要求1所述的方法,其特征在于,还包括:
如果同时接收到多个数据包,所述多个数据包均是与所述特定虚拟机对应的数据包或者所述多个数据包均不是与所述特定虚拟机对应的数据包,则按照所述多个数据包中每个数据包对应的虚拟机的优先级对所述多个数据包进行处理。
3.根据权利要求2所述的方法,其特征在于,在接收到多个数据包之后,还包括:
确定与所述多个数据包对应的虚拟机的优先级,依据所述优先级计算所述多个数据包中每个数据包需等待被处理的等待时间,并将所述等待时间发送至对应的虚拟机。
4.根据权利要求1所述的方法,其特征在于,确定所述数据包是否为与所述特定虚拟机对应的数据包,包括:
获取所述数据包中携带的源IP或者目的IP,并判断与所述源IP或者目的IP对应的虚拟机是否为特定虚拟机。
5.根据权利要求1所述的方法,其特征在于,将所述数据包与任一流表中的流表项进行匹配,包括:
如果任一流表中包含多个流表项,则按照该流表中多个流表项的优先级将所述多个流表项依次与所述数据包进行匹配。
6.根据权利要求1所述的方法,其特征在于,还包括:
如果所述M个第一流表中或者所述N个第二流表中不存在与所述数据包匹配的流表项,则将所述数据包发送至控制器。
7.根据权利要求1至6任一项所述的方法,其特征在于,预先设置所述M个第一流表项的过程包括:
获取历史上与所述特定虚拟机对应的数据需被进行的处理内容,并依据该处理内容确定M个第一流表。
8.一种数据包处理装置,其特征在于,包括:
接收模块,用于接收数据包;
匹配模块,用于如果所述数据包是与特定虚拟机对应的数据包,则将所述数据包同时与M个第一流表中的流表项进行匹配;
处理模块,用于如果所述M个第一流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,并将处理完成的数据包进行输出;
所述装置还包括:
循环处理模块,用于实现以下操作:步骤1:如果所述数据包不是与所述特定虚拟机对应的数据包,则确定N个第二流表中的第一个流表为当前流表;步骤2:将所述数据包与当前流表中的流表项进行匹配,如果当前流表中存在与所述数据包匹配的任一流表项,则确定该流表项为目标流表项,依据所述目标流表项对所述数据包进行处理,如果所述目标流表项中包含有需对所述数据包进行处理的下一第二流表的流表信息,则确定该流表信息对应的第二流表为当前流表;步骤3:返回执行步骤2,直至所述目标流表项中未包含有需对所述数据包进行处理的下一第二流表的流表信息为止,将处理完成的数据包进行输出。
9.根据权利要求8所述的装置,其特征在于,还包括:
设置模块,用于获取历史上与所述特定虚拟机对应的数据需被进行的处理内容,并依据该处理内容确定M个第一流表。
CN201510789319.1A 2015-11-17 2015-11-17 一种数据包处理方法及装置 Active CN105471756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510789319.1A CN105471756B (zh) 2015-11-17 2015-11-17 一种数据包处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510789319.1A CN105471756B (zh) 2015-11-17 2015-11-17 一种数据包处理方法及装置

Publications (2)

Publication Number Publication Date
CN105471756A CN105471756A (zh) 2016-04-06
CN105471756B true CN105471756B (zh) 2018-11-16

Family

ID=55609047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510789319.1A Active CN105471756B (zh) 2015-11-17 2015-11-17 一种数据包处理方法及装置

Country Status (1)

Country Link
CN (1) CN105471756B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106572032A (zh) * 2016-09-28 2017-04-19 浪潮电子信息产业股份有限公司 一种虚拟化网络优先级实现方法
CN111726305B (zh) * 2020-06-18 2021-03-16 广州市品高软件股份有限公司 一种面向虚拟机的多级流表管控方法及系统
CN113347100B (zh) * 2021-05-31 2022-06-17 平安科技(深圳)有限公司 数据流传输方法、装置、计算机设备及存储介质
CN113312150A (zh) * 2021-06-21 2021-08-27 中国电信股份有限公司 边缘云的带宽保障方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095583A (zh) * 2012-11-09 2013-05-08 盛科网络(苏州)有限公司 通过芯片环回实现Openflow两级流表的方法及系统
CN103888386A (zh) * 2012-12-24 2014-06-25 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095583A (zh) * 2012-11-09 2013-05-08 盛科网络(苏州)有限公司 通过芯片环回实现Openflow两级流表的方法及系统
CN103888386A (zh) * 2012-12-24 2014-06-25 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备

Also Published As

Publication number Publication date
CN105471756A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN105471756B (zh) 一种数据包处理方法及装置
US10015090B2 (en) Packet steering
US20160234097A1 (en) Packet forwarding in software defined networking
US7924860B1 (en) Maintaining data unit order in a network switching device
WO2015074324A1 (zh) 一种数据包快速转发方法及装置
EP3528439A1 (en) Service routing method and system
CN104601467B (zh) 一种发送报文的方法和装置
CN106685826B (zh) 交换机堆叠系统、从设备、交换芯片及处理协议报文方法
CN105471907B (zh) 一种基于Openflow的虚拟防火墙传输控制方法及系统
CN104811384B (zh) 一种多级流表优先级调整方法
CN101217493A (zh) 一种tcp数据包的传输方法
CN106713182A (zh) 一种处理流表的方法及装置
WO2018001373A1 (zh) 报文限速的方法及装置
CN102104544A (zh) 硬件加速的多核处理器ip隧道分片报文流保序方法
CN109413069A (zh) 基于区块链的虚拟网站防火墙的应用方法及装置
CN104394083A (zh) 转发表项处理的方法、报文转发的方法及其装置和系统
CN107948087A (zh) 一种负载均衡的方法及设备
JP2015533045A (ja) 通信システム、通信方法、情報処理装置、通信制御方法及びプログラム
CN104618253A (zh) 一种动态变更的传输报文处理方法和装置
CN103685321B (zh) 数据包转发和安全防护检测系统、负载均衡方法及装置
CN105245365B (zh) 一种虚拟网络的参数配置方法、设备和系统
CN106209554B (zh) 跨虚拟可扩展局域网的报文转发方法和设备
CN102739537B (zh) 以太网数据包的转发方法及装置
CN108989233A (zh) 拥塞管理方法及装置
CN101631074B (zh) 一种多链路报文发送方法、装置和网络设备

Legal Events

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