CN112511438A - 一种利用流表转发报文的方法、装置及计算机设备 - Google Patents

一种利用流表转发报文的方法、装置及计算机设备 Download PDF

Info

Publication number
CN112511438A
CN112511438A CN202011304698.8A CN202011304698A CN112511438A CN 112511438 A CN112511438 A CN 112511438A CN 202011304698 A CN202011304698 A CN 202011304698A CN 112511438 A CN112511438 A CN 112511438A
Authority
CN
China
Prior art keywords
flow table
forwarded
message
reserved
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011304698.8A
Other languages
English (en)
Other versions
CN112511438B (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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN202011304698.8A priority Critical patent/CN112511438B/zh
Publication of CN112511438A publication Critical patent/CN112511438A/zh
Application granted granted Critical
Publication of CN112511438B publication Critical patent/CN112511438B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types

Landscapes

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

Abstract

本发明公开了一种利用流表转发报文的方法、装置及计算机设备,用于解决现有技术中流平台流表爆表影响数据流的网络使用的问题。该方法包括:接收待转发报文;在总流表中查找所述待转发报文的五元组信息;若在所述总流表中未查找到所述待转发报文的五元组信息,则基于所述待转发报文的服务质量QoS确定所述待转发报文的优先级信息;基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,并基于所述流表项转发所述待转发报文,所述预留流表和所述非预留流表组成所述总流表。

Description

一种利用流表转发报文的方法、装置及计算机设备
技术领域
本发明涉及通信技术领域,尤其涉及一种利用流表转发报文的方法、装置及计算机设备。
背景技术
随着科技的不断发展,用户使用智能手机或者其他智能终端办理的业务也越来越多,例如购物、咨询金融业务、分享链接信息等等,因此导致数据业务流的流条目也越来越多,从而造成流平台利用流表转发报文时,可能出现流表达到容量的情况,即流平台中无多余的流表项可以创建。
具体的,在实际实施过程中,可能出现单次大量迸发的流转发场景,在这样的场景中,由于流平台是直接对所有的扫描报文进行响应转发,因而可能会造成流平台中流表达到容量,导致后续无法新建流表项,无法转发对后续数据,从而造成数据丢包,进而影响正常处理后续数据对应的业务。
可见,现有技术中存在流平台流表爆表影响数据流的网络使用的问题。
发明内容
本发明公开了一种利用流表转发报文的方法、装置及计算机设备,用于解决现有技术中流平台存在流表爆表影响数据流的网络使用问题。本发明的技术方案如下:
第一方面,提供一种利用流表转发报文的方法,所述方法包括:
接收待转发报文;
在总流表中查找所述待转发报文的五元组信息;
若在所述总流表中未查找到所述待转发报文的五元组信息,则基于所述待转发报文的服务质量QoS确定所述待转发报文的优先级信息;
基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,并基于所述流表项转发所述待转发报文,所述预留流表和所述非预留流表组成所述总流表。
在一种可能的实施方式中,基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,包括:
确定所述优先级信息是否包括高优先级标识;
若确定所述优先级信息包括高优先级标识,则在所述预留流表中新建与所述待转发报文对应的流表项;
若所述优先级信息包括低优先级标识,则确定所述待转发报文的类型是否是选定类型,若确定所述待转发报文的类型是所述选定类型,则在所述预留流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,还包括:
若确定所述待转发报文的类型不是所述选定类型,则在所述非预留流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,在所述预留流表中新建与所述待转发报文对应的流表项,包括:
确定所述预留流表的普通子流表是否存在可用表项;
若确定所述普通子流表存在可用表项,则在所述可用表项中新建与所述待转发报文对应的流表项;
若确定所述普通子流表不存在可用表项,且所述优先级信息包括高优先级标识,则在所述预留流表的特殊子流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,还包括:
若所述普通子流表不存在可用表项、所述优先级信息包括低优先级标识且所述待转发报文的类型是所述选定类型,则释放所述普通子流表中业务优先级最低的流表项。
在一种可能的实施方式中,所述方法还包括:
若确定所述预留流表不存在可用表项或可用表项的数量小于预设阈值,则释放所述普通流表中业务优先级最低的流表项。
第二方面,提供一种利用流表转发报文的装置,所述装置包括:
接收单元,用于接收待转发报文;
查找单元,用于在总流表中查找所述待转发报文的五元组信息;
确定单元,用于若在所述总流表中未查找到所述待转发报文的五元组信息,则基于所述待转发报文的服务质量QoS确定所述待转发报文的优先级信息;
处理单元,用于基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,并基于所述流表项转发所述待转发报文,所述预留流表和所述非预留流表组成所述总流表。
在一种可能的实施方式中,所述处理单元,还用于:
确定所述优先级信息是否包括高优先级标识;
若确定所述优先级信息包括高优先级标识,则在所述预留流表中新建与所述待转发报文对应的流表项;
若所述优先级信息包括低优先级标识,则确定所述待转发报文的类型是否是选定类型,若确定所述待转发报文的类型是所述选定类型,则在所述预留流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,所述处理单元,还用于:
若确定所述待转发报文的类型不是所述选定类型,则在所述非预留流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,所述处理单元,还用于:
确定所述预留流表的普通子流表是否存在可用表项;
若确定所述普通子流表存在可用表项,则在所述可用表项中新建与所述待转发报文对应的流表项;
若确定所述普通子流表不存在可用表项,且所述优先级信息包括高优先级标识,则在所述预留流表的特殊子流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,所述处理单元,还用于:
若所述普通子流表不存在可用表项、所述优先级信息包括低优先级标识且所述待转发报文的类型是所述选定类型,则释放所述普通子流表中业务优先级最低的流表项。
在一种可能的实施方式中,所述处理单元,还用于:
若确定所述预留流表不存在可用表项或可用表项的数量小于预设阈值,则释放所述普通流表中业务优先级最低的流表项。
第三方面,提供一种计算机设备,所述计算机设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现本发明实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
第四方面,提供一种存储介质,当存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行本发明实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
本发明的实施例提供的技术方案至少带来以下有益效果:
在本发明实施例中,可以接收待转发报文,然后在总流表中查找待转发报文的五元组信息,若在总流表中未查找到待转发报文的五元组信息,则基于待转发报文的服务质量QoS确定待转发报文的优先级信息,然后基于优先级信息在预留流表或非预留流表中新建与待转发报文对应的流表项,并基于流表项转发待转发报文,其中,预留流表和非预留流表组成总流表。
可见,在本发明实施例中,预先对总流表进行了划分,划分为预留流表和非预留流表,且当未在总流表查找到待转发报文的五元组信息时,可以基于划分后的总流表和待转发报文的优先级信息,对应确定基于哪一部分流表(即预留流表或非预留流表)新建流表项,从而有序的对待转发报文进行转发,避免了流平台流表爆表的情况出现,尽量保证了待转发报文的稳定转发,减少待转发报文的丢包,增强了报文对应的网络使用的稳定性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或通过实施本而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限定本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
图1是本发明实施例中的报文转发过程的示意图;
图2是本发明实施例提供的利用流表转发报文的方法的流程示意图;
图3是本发明实施例提供的混合流转发过程的示意图;
图4是本发明实施例提供的利用流表转发报文的装置的示意图;
图5为本发明实施例提供的计算机设备的结构示意图;
图6为本发明实施例提供的计算机设备的另一结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明的说明书和权利要求书中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解本发明实施例提供的技术方案,这里先对本发明实施例使用的一些关键名词进行解释:
流平台:流平台作为系统中一个平台性质的基础业务,是一种通用的工作在三层的一种转发平台,流平台的核心功能是建立和维护流表。
报文:一个数据包可以根据其五元组或六元组的信息来抽象为一个报文,具体的,五元组为源地址、源端口、目的地址、目的端口以及协议号,六元组包括源地址、源端口、目的地址、目的端口、协议号以及VPN(Virtual Private Network,虚拟专用网络)路由转发表。也就是说,两个报文的五元组或六元组信息不完全相同,则可以理解为不同的报文。
流识别:按接收的报文的五元组或六元组的信息对报文进行识别。
流匹配:对接收的报文进行流识别后,判断报文的五元组或六元组信息是否与流表中存在的五元组信息相同,若是则确定该报文对应的流表项为已建立的流表项。
如前所述,现有技术中流平台利用流表转发报文时,可能出现流表爆表的情况,即流平台中无多余的流表项可以创建,进而出现多用户无法上网且网速延迟大的问题。
鉴于此,本发明实施例提供一种利用流表转发报文的方法,通过该方法,可以基于待转发报文服务质量确定报文的优先级信息,然后基于优先级信息在流表中新建流表项。这样的方式,可以避免流平台爆表。
为了更好的理解本发明实施例提供的技术方案,下面对本发明实施例中涉及的报文转发的转发过程和流表项创建的过程进行说明。
首先,请参见图1,图1为报文转发过程的示意图,具体的:接收输入的待转发报文即流数据,并基于属于同一条流的所有报文的源、目的IP(Internet Protocol,互联网控制协议)地址相同,且同一条流可以沿着相同的路径转发的判断依据,即进行流识别或流分类处理。然后对该流数据进入业务处理,进行转发,再进行输出业务处理以及链路封装的处理流程。可见,在进行报文的转发时,对同一条流的处理仅需要对首个报文进行路由,并将路由的结果记录在流平台的流表中,后续与该报文的五元组信息相同可以直接根据该报文的处理记录进行转发。
具体的,对于业务对应的数据的处理也是一样,属于同一条流的所有报文,业务处理的结果也是一样的。各种IP转发业务也只需要对同一条流的首个报文进行处理,处理后的结果记录在流表中,后续报文直接根据流表中记录的结果进行处理。这一过程可以理解为业务的流转发或流加速处理。
其次,流表项新建过程为:当接收的报文的数据包经过FPM Ingress(注册快转输入业务)处理时,可以根据五元组或六元组提取流信息,然后构造流表项,同时在索引流HASH表中添加正向流。进一步地,可以利用业务模块注册接口提供的挂接函数,在添加正向流前后执行相应的动作,利用流私有空间,分配业务与报文对象相关的资源。在一些实施例中,有些业务对应的报文在路由后,存在对报文的数据进行修改的情况,例如SNAT业务会在路由后,会被对该业务对应的报文的源地址进行修改,因此FPM Egress(输出业务)负责提取反向报文,添加反向流,从而完成流创建流程即流表项的建立。
在介绍完本发明实施例转发报文的过程之后,下面对本发明实施例中的流平台中流表包括的内容进行介绍,需要说明的是,本发明实施例描述的流程是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新转发或创建流程的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
在本发明实施例中,可以将流平台对应的总流表划分为预留流表和非预留流表,其中,非预留流表为进行逐包转发的报文对应的流表,预留流表和非预留流表组成所述总流表。需要说明的是,预留流表中还包括普通子流表和特殊子流表,特殊子流表用于为优先级信息包括高优先级标识的报文所预留的流表,具体的,普通子流表和特殊子流表可以根据实际情况对应确定,例如将预留流表的百分之九十确定为普通子流表,将预留流表对应的百分之十确定为特殊子流表。
为进一步说明本发明实施例提供的利用流表转发报文的方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本发明实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本发明实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的应用环境)。
以下结合图2所示的方法流程图对本发明实施例中基于利用流表转发报文的方法进行说明,图2所示的各步骤可以由计算机设备执行。在具体实施过程中,该计算机设备可以是服务器,例如是个人计算机、大中型计算机、计算机集群,等等。
步骤201:接收待转发报文。
步骤202:在总流表中查找待转发报文的五元组信息。
在本发明实施例中,当接收待转发报文后,可以先判断待转发报文是否为有效报文,具体的,可以通过将待转发报文中的信息与预设信息进行比对,以确定待转发报文是否为有效报文。其中,预设信息至少包括IP报文头的版本号信息、报文头的长度信息、报文整体长度信息、TTL(Time To Live,生存时间)以及分片标记信息。当待转发报文中的信息与预设信息相同时,则确定待转发报文为有效报文。
在本发明实施例中,当确定待转发报文为有效报文之后,可以提取待转发报文中的五元组进行流匹配,即在总流表中查找待转发报文的五元组信息。在具体的实施过程中,可以将五元组信息进行哈希处理,并将处理后的哈希信息与对应的哈希信息进行比对,以确定是否查找到对应的五元组信息,若处理后的哈希信息与对应的哈希信息相同,则可以认为待转发报文已存在对应的流表项,无需新建流表项。
可见,在本发明实施例中,当在总流表中查找到五元组信息时,无需新建表项,即可以直接基于原有的表项对待转发报文进行转发。进一步地,若未查找到待转发报文的五元组信息,则需要进行新建表项处理。即执行步骤203:若在总流表中未查找到待转发报文的五元组信息,则基于待转发报文的QoS(Quality of Service,服务质量)确定待转发报文的优先级信息。
在本发明实施例中,若未查找到待转发报文的五元组信息,则基于待转发报文的QoS确定待转发报文的优先级信息。
在具体的实施过程中,基于待转发报文的QoS确定对应的优先级信息时,可以利用DS(DiffServ,区分服务)域来管理和记录QoS优先级与服务等级之间的映射关系,且以服务等级即服务质量确定待转发报文对应的优先级信息。具体的,可以是基于VLAN(VirtualLocal Area Network,虚拟局域网)帧头中的CoS(Class of Service,服务等级)字段,也可以是基于IP报文头中的IP Precedence(Internet Protocol Precedence,互联网协议优先级)字段和DSCP字段对待转发报文进行优先级信息的标识,从而使得可以基于该标识确定待转发报文的优先级信息。
具体的,还可以基于ACL(Access Control List,访问控制列表)策略确定优先级的方式确定优先级信息,例如配置标记A类即优先级最高优先级的业务为:Permit ip host20.1.1.1 host 10.1.1.1,且该业务源IP地址为:20.1.1.1,以及目的IP地址为10.1.1.1。当检测到待转发报文的源IP地址和目的IP地址为前述的IP地址,则确定待转发报文为优先级最高。
步骤204:基于优先级信息在预留流表或非预留流表中新建与待转发报文对应的流表项,并基于流表项转发待转发报文,预留流表和非预留流表组成总流表。
在本发明实施例中,基于优先级信息在预留流表或非预留流表中新建与待转发报文对应的流表项,并基于流表项转发待转发报文的过程为:若报文对应的优先级信息包括低优先级标识且非选定类型的报文,则将待转发报文通过无流模式转发路径进行转发,即对报文进行逐包转发;若优先级信息包括高优先级标识,则将待转发报文通过流加速转发路径进行转发。例如,请参见图3,图3为本发明实施例提供的混合流转发过程的示意图。
下面具体介绍本发明实施例中,对待转发报文进行新建流表项处理时,可以基于待转发报文的优先级信息确定新建流表项的方式。具体的,在本发明实施例中,可以依据待转发报文的优先级信息中包括高优先级标识或低优先级标识,将新建流表项的方式划分为方式一和方式二。
方式一:
在本发明实施例中,可以确定优先级信息是否包括高优先级标识,若确定优先级信息包括高优先级标识,则在预留流表中新建与待转发报文对应的流表项。
具体为:确定预留流表的普通子流表是否存在可用表项,若确定普通子流表存在可用表项,则在可用表项中新建与待转发报文对应的流表项,若确定普通子流表不存在可用表项,且优先级信息包括高优先级标识,则在预留流表的特殊子流表中新建与待转发报文对应的流表项。
可见,在本发明实施例中,首先对总流表进行了划分,即划分为预留流表和非预留流表,且对预留流表也进行了划分,即将预留流表划分为普通子流表和特殊子流表,这样的方式,当预留流表中的普通子流表不存在可用表项时,即超出容量时,不会直接将待转发报文作丢弃处理,而是从特殊子流表中新建与待转发报文对应的流表项,以对待转发报文进行转发,从而可以尽可能的保证包含高优先级标识的报文的有效转发,保证报文的网络的稳定使用。
进一步,若特殊子流表中不存在可用表项时,则可以释放普通子流表中的表项,用于后续新建流表项以及进行报文转发。
方式二:
在本发明实施例中,考虑到网关类业务或者是基于状态的防火墙业务在实际处理时,由于是有状态的业务,必须依赖流处理。因此,若待转发报文的优先级信息包括低优先级标识时,可以先判断是否为必须依赖流处理的业务对应的报文,然后进行报文的转发。
在本发明实施例中,若待转发报文的优先级信息包括低优先级标识,则判断待转发报文的类型是否是选定类型,并根据判断结果即待转发报文的类型是选定类型或者不是选定类型,确定采用哪一种新建流表项的方式新建流表项。
在一种可能的实施方式中,若确定待转发报文的类型是选定类型,则在预留流表中新建与待转发报文对应的流表项。需要说明的是,在本发明实施例中,选定类型可以是前述的为网关类业务对应的报文的类型或基于状态的防火墙业务对应的报文的类型,还可以是其它基于有流转发的报文类型,本发明实施例中不做限定。
在本发明实施例中,当确定待转发报文的类型是选定类型,则可以确定预留流表的普通子流表是否存在可用表项,若确定普通子流表存在可用表项,则可以在普通子流表中新建与待转发报文对应的流表项,若普通子流表不存在可用表项、优先级信息包括低优先级标识且待转发报文的类型是选定类型,则释放普通子流表中业务优先级最低的流表项,用于后续新建流表项以及进行报文转发。
这样的方式,可以尽量保证选定类型的待转发报文对应的业务是基于有流转发的模式进行数据转发,保证选定类型的报文对应的业务的正常转发。需要说明的是,在本发明实施例中,若业务优先级最低的表项为多个,则可以任意释放其中一个流表项,并基于该表项对应的资源进行新建流表项。
在一种可能的实施方式中,当确定待转发报文的优先级信息包括低优先级标识,且待转发报文的类型不是选定类型时,则可以基于非预留流表新建流表项,对待转发报文进行逐包转发。
可见,在本发明实施例中,预先对总流表进行了划分,且基于划分后的总流表和待转发报文的优先级信息,对应确定基于哪一部分流表新建流表项,从而有序的对待转发报文进行转发,避免了流平台流表爆表的情况出现,尽量保证了待转发报文的稳定转发,尽量减少待转发报文的丢包,且保证当前业务的网络的稳定性。
为了有效的利用预留流表,在本发明实施例中,若确定预留流表中可用表项的数量小于预设阈值,则释放普通流表中业务优先级最低的流表项。
在具体的实施过程中,在流平台FPM模块老化逻辑处理时,可以先判断流平台的流表模式是否是超流表模式,即预留流表中可用表项的数量是否小于预设阈值,也就是说,判断预留流表的容量是否小于预设阈值,例如预设阈值为5%,或者预设阈值为10%,具体可以根据实际情况确定。具体的,当确定是超流表模式,则可以对标记为低优先级转发标识的报文流即低优先级业务对应的表项,进行加速老化处理,即释放流表项,以供后续新建流表项,以及进行报文的转发。这样的方式,可以尽量保证标记有高优先级标识的报文的转发,且不浪费表项对应的资源。
基于同一发明构思,本发明实施例提供了一种利用流表转发报文的装置,该利用流表转发报文的装置能够实现前述的利用流表转发报文的方法对应的功能。该利用流表转发报文的装置可以是硬件结构、软件模块、或硬件结构加软件模块。该利用流表转发报文的装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图4所示,该利用流表转发报文的装置包括接收单元401、查找单元402、确定单元403以及处理单元404。其中:
接收单元401,用于接收待转发报文;
查找单元402,用于在总流表中查找所述待转发报文的五元组信息;
确定单元403,用于若在所述总流表中未查找到所述待转发报文的五元组信息,则基于所述待转发报文的服务质量QoS确定所述待转发报文的优先级信息;
处理单元404,用于基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,并基于所述流表项转发所述待转发报文,所述预留流表和所述非预留流表组成所述总流表。
在一种可能的实施方式中,所述处理单元404,还用于:
确定所述优先级信息是否包括高优先级标识;
若确定所述优先级信息包括高优先级标识,则在所述预留流表中新建与所述待转发报文对应的流表项;
若所述优先级信息包括低优先级标识,则确定所述待转发报文的类型是否是选定类型,若确定所述待转发报文的类型是所述选定类型,则在所述预留流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,所述处理单元404,还用于:
若确定所述待转发报文的类型不是所述选定类型,则在所述非预留流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,所述处理单元404,还用于:
确定所述预留流表的普通子流表是否存在可用表项;
若确定所述普通子流表存在可用表项,则在所述可用表项中新建与所述待转发报文对应的流表项;
若确定所述普通子流表不存在可用表项,且所述优先级信息包括高优先级标识,则在所述预留流表的特殊子流表中新建与所述待转发报文对应的流表项。
在一种可能的实施方式中,所述处理单元404,还用于:
若所述普通子流表不存在可用表项、所述优先级信息包括低优先级标识且所述待转发报文的类型是所述选定类型,则释放所述普通子流表中业务优先级最低的流表项。
在一种可能的实施方式中,所述装置还包括释放单元,用于:
若确定所述预留流表中可用表项的数量小于预设阈值,则释放所述普通流表中业务优先级最低的流表项。
前述的如图2所示利用流表转发报文的方法的实施例涉及的各步骤的所有相关内容均可以援引到本发明实施例中的利用流表转发报文的装置所对应的功能模块的功能描述,在此不再赘述。
本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
基于同一发明构思,本发明实施例还提供一种计算机设备,如图5所示,本发明实施例中的计算机设备包括至少一个处理器501,以及与至少一个处理器501连接的存储器502和通信接口503,本发明实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例,总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本发明实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的利用流表转发报文的方法中所包括的步骤。
其中,处理器501是计算机设备的控制中心,可以利用各种接口和线路连接整个故障检测设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,计算设备的各种功能和处理数据,从而对计算设备进行整体监控。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,处理器501主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中申请的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。通信接口503是能够用于进行通信的传输接口,可以通过通信接口503接收数据或者发送数据。
参见图6所示的计算机设备的进一步地的结构示意图,该计算机设备还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(I/O系统)601、用于存储操作系统602、应用程序603和其他程序模块604的大容量存储设备605。
基本输入/输出系统601包括有用于显示信息的显示器606和用于用户输入信息的诸如鼠标、键盘之类的输入设备607。其中显示器606和输入设备607都通过连接到系统总线500的基本输入/输出系统601连接到处理器501。所述基本输入/输出系统601还可以包括输入输出控制器以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备605通过连接到系统总线500的大容量存储控制器(未示出)连接到处理器501。所述大容量存储设备605及其相关联的计算机可读介质为该服务器包提供非易失性存储。也就是说,大容量存储设备605可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
根据本发明的各种实施例,该计算机设备还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即该计算机设备可以通过连接在所述系统总线500上的通信接口503连接到网络608,或者说,也可以使用通信接口503来连接到其他类型的网络或远程计算机系统(未示出)。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器502,上述指令可由装置的处理器501执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一些可能的实施方式中,本发明提供的利用流表转发报文的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使该计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的利用流表转发报文的方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种利用流表转发报文的方法,其特征在于,所述方法包括:
接收待转发报文;
在总流表中查找所述待转发报文的五元组信息;
若在所述总流表中未查找到所述待转发报文的五元组信息,则基于所述待转发报文的服务质量QoS确定所述待转发报文的优先级信息;
基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,并基于所述流表项转发所述待转发报文,所述预留流表和所述非预留流表组成所述总流表。
2.如权利要求1所述的方法,其特征在于,基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,包括:
确定所述优先级信息是否包括高优先级标识;
若确定所述优先级信息包括高优先级标识,则在所述预留流表中新建与所述待转发报文对应的流表项;
若所述优先级信息包括低优先级标识,则确定所述待转发报文的类型是否是选定类型,若确定所述待转发报文的类型是所述选定类型,则在所述预留流表中新建与所述待转发报文对应的流表项。
3.如权利要求2所述的方法,其特征在于,还包括:
若确定所述待转发报文的类型不是所述选定类型,则在所述非预留流表中新建与所述待转发报文对应的流表项。
4.如权利要求2所述的方法,其特征在于,在所述预留流表中新建与所述待转发报文对应的流表项,包括:
确定所述预留流表的普通子流表是否存在可用表项;
若确定所述普通子流表存在可用表项,则在所述可用表项中新建与所述待转发报文对应的流表项;
若确定所述普通子流表不存在可用表项,且所述优先级信息包括高优先级标识,则在所述预留流表的特殊子流表中新建与所述待转发报文对应的流表项。
5.如权利要求4所述的方法,其特征在于,还包括:
若所述普通子流表不存在可用表项、所述优先级信息包括低优先级标识且所述待转发报文的类型是所述选定类型,则释放所述普通子流表中业务优先级最低的流表项。
6.如权利要求4或5所述的方法,其特征在于,所述方法还包括:
若确定所述预留流表中可用表项的数量小于预设阈值,则释放所述普通流表中业务优先级最低的流表项。
7.一种利用流表转发报文的装置,其特征在于,所述装置包括:
接收单元,用于接收待转发报文;
查找单元,用于在总流表中查找所述待转发报文的五元组信息;
确定单元,用于若在所述总流表中未查找到所述待转发报文的五元组信息,则基于所述待转发报文的服务质量QoS确定所述待转发报文的优先级信息;
处理单元,用于基于所述优先级信息在预留流表或非预留流表中新建与所述待转发报文对应的流表项,并基于所述流表项转发所述待转发报文,所述预留流表和所述非预留流表组成所述总流表。
8.如权利要求7所述的装置,其特征在于,所述处理单元,还用于:
确定所述优先级信息是否包括高优先级标识;
若确定所述优先级信息包括高优先级标识,则在所述预留流表中新建与所述待转发报文对应的流表项;
若所述优先级信息包括低优先级标识,则确定所述待转发报文的类型是否是选定类型,若确定所述待转发报文的类型是所述选定类型,则在所述预留流表中新建与所述待转发报文对应的流表项。
9.如权利要求8所述的装置,其特征在于,所述处理单元,还用于:
若确定所述待转发报文的类型不是所述选定类型,则在所述非预留流表中新建与所述待转发报文对应的流表项。
10.如权利要求8所述的装置,其特征在于,所述处理单元,还用于:
确定所述预留流表的普通子流表是否存在可用表项;
若确定所述普通子流表存在可用表项,则在所述可用表项中新建与所述待转发报文对应的流表项;
若确定所述普通子流表不存在可用表项,且所述优先级信息包括高优先级标识,则在所述预留流表的特殊子流表中新建与所述待转发报文对应的流表项。
11.如权利要求10所述的装置,其特征在于,所述处理单元,还用于:
若所述普通子流表不存在可用表项、所述优先级信息包括低优先级标识且所述待转发报文的类型是所述选定类型,则释放所述普通子流表中业务优先级最低的流表项。
12.如权利要求10或11所述的装置,其特征在于,所述处理单元,还用于:
若确定所述预留流表中可用表项的数量小于预设阈值,则释放所述普通流表中业务优先级最低的流表项。
13.一种计算机设备,其特征在于,所述计算机设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-6任一所述的方法包括的步骤。
14.一种存储介质,其特征在于,所述存储介质存储有电子可执行指令,所述电子可执行指令用于使电子执行权利要求1-6任一所述的方法包括的步骤。
CN202011304698.8A 2020-11-19 2020-11-19 一种利用流表转发报文的方法、装置及计算机设备 Active CN112511438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011304698.8A CN112511438B (zh) 2020-11-19 2020-11-19 一种利用流表转发报文的方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011304698.8A CN112511438B (zh) 2020-11-19 2020-11-19 一种利用流表转发报文的方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN112511438A true CN112511438A (zh) 2021-03-16
CN112511438B CN112511438B (zh) 2022-12-13

Family

ID=74958827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011304698.8A Active CN112511438B (zh) 2020-11-19 2020-11-19 一种利用流表转发报文的方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112511438B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124785A (zh) * 2022-01-28 2022-03-01 珠海星云智联科技有限公司 一种流表处理的方法、装置及电子设备
CN115150203A (zh) * 2022-09-02 2022-10-04 珠海星云智联科技有限公司 数据处理的方法、装置、计算机设备和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834783A (zh) * 2010-03-29 2010-09-15 北京星网锐捷网络技术有限公司 一种报文转发方法、装置及网络设备
CN102843298A (zh) * 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 实现交换机芯片Openflow流表优先级的方法及系统
US20140254605A1 (en) * 2013-03-11 2014-09-11 Dell Products L.P. System and method for storing flow entries in hardware tables
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备
CN104348716A (zh) * 2013-07-23 2015-02-11 杭州华三通信技术有限公司 一种报文处理方法及设备
CN105227495A (zh) * 2015-10-29 2016-01-06 北京邮电大学 用于软件定义网络的转发规则配置方法及装置
WO2016070332A1 (zh) * 2014-11-04 2016-05-12 华为技术有限公司 流表项处理方法和装置
CN107124362A (zh) * 2016-02-24 2017-09-01 中移(苏州)软件技术有限公司 一种基于子流表分割的流表存储优化方法及装置
US20170264497A1 (en) * 2016-03-08 2017-09-14 Nicira, Inc. Method to reduce packet statistics churn
CN107395510A (zh) * 2017-08-29 2017-11-24 迈普通信技术股份有限公司 提高流转发性能的方法、装置及网络设备
CN110808910A (zh) * 2019-10-29 2020-02-18 长沙理工大学 一种支持QoS的OpenFlow流表节能存储架构及其应用

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834783A (zh) * 2010-03-29 2010-09-15 北京星网锐捷网络技术有限公司 一种报文转发方法、装置及网络设备
CN102843298A (zh) * 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 实现交换机芯片Openflow流表优先级的方法及系统
US20140254605A1 (en) * 2013-03-11 2014-09-11 Dell Products L.P. System and method for storing flow entries in hardware tables
CN104348716A (zh) * 2013-07-23 2015-02-11 杭州华三通信技术有限公司 一种报文处理方法及设备
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备
WO2016070332A1 (zh) * 2014-11-04 2016-05-12 华为技术有限公司 流表项处理方法和装置
CN105227495A (zh) * 2015-10-29 2016-01-06 北京邮电大学 用于软件定义网络的转发规则配置方法及装置
CN107124362A (zh) * 2016-02-24 2017-09-01 中移(苏州)软件技术有限公司 一种基于子流表分割的流表存储优化方法及装置
US20170264497A1 (en) * 2016-03-08 2017-09-14 Nicira, Inc. Method to reduce packet statistics churn
CN107395510A (zh) * 2017-08-29 2017-11-24 迈普通信技术股份有限公司 提高流转发性能的方法、装置及网络设备
CN110808910A (zh) * 2019-10-29 2020-02-18 长沙理工大学 一种支持QoS的OpenFlow流表节能存储架构及其应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李鹤飞等: "基于软件定义网络的流量管理应用的研究和实现", 《计算机应用与软件》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124785A (zh) * 2022-01-28 2022-03-01 珠海星云智联科技有限公司 一种流表处理的方法、装置及电子设备
CN114124785B (zh) * 2022-01-28 2022-04-26 珠海星云智联科技有限公司 一种流表处理的方法、装置及电子设备
CN115150203A (zh) * 2022-09-02 2022-10-04 珠海星云智联科技有限公司 数据处理的方法、装置、计算机设备和存储介质
CN115150203B (zh) * 2022-09-02 2022-11-15 珠海星云智联科技有限公司 数据处理的方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112511438B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
US12095882B2 (en) Accelerated network packet processing
CN111164939B (zh) 通过网络指定和利用路径
US11265187B2 (en) Specifying and utilizing paths through a network
US10659252B2 (en) Specifying and utilizing paths through a network
US10754707B2 (en) Extending berkeley packet filter semantics for hardware offloads
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
US9077658B2 (en) Flow-based network switching system
EP3322135A1 (en) Packet transmission method and device
CN112511438B (zh) 一种利用流表转发报文的方法、装置及计算机设备
CN110311860B (zh) Vxlan下多链路负载均衡方法及装置
US10069734B1 (en) Congestion avoidance in multipath routed flows using virtual output queue statistics
EP3968733A1 (en) Priority channels for distributed broadband network gateway control packets
WO2019108102A1 (en) Packet value based packet processing
US10284426B2 (en) Method and apparatus for processing service node ability, service classifier and service controller
US11706133B2 (en) Inband group-based network policy using SRV6
US20190044873A1 (en) Method of packet processing using packet filter rules
US11115337B2 (en) Network traffic segregation on an application basis in a virtual computing environment
US20120303744A1 (en) Information processing apparatus, system, and storage medium
CN114172852B (zh) 分布式宽带网络网关控制分组的优先级信道
EP4395270A1 (en) Packet processing method, flow specification transmission method, and device, system and storage medium
TWI789169B (zh) 向量包處理轉發方法
CN117596205A (zh) 报文处理方法、装置、电子设备及可读介质
CN118301055A (zh) 一种报文转发方法、装置、电子设备及存储介质
CN115941298A (zh) 一种基于vpp&dpdk的防火墙安全域隔离方法
CN118433102A (zh) Bierv6切片管理方法、装置、设备及可读存储介质

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