CN110808854B - 报文调度方法、装置及交换机 - Google Patents
报文调度方法、装置及交换机 Download PDFInfo
- Publication number
- CN110808854B CN110808854B CN201911021994.4A CN201911021994A CN110808854B CN 110808854 B CN110808854 B CN 110808854B CN 201911021994 A CN201911021994 A CN 201911021994A CN 110808854 B CN110808854 B CN 110808854B
- Authority
- CN
- China
- Prior art keywords
- message
- flow
- processor
- acl
- identifier
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文调度方法、装置及交换机,涉及网络通信技术领域。该方法包括:通过处理器接收交换芯片上送的报文,根据报文收发信息,处理器查询流表,并从流表中确定报文所属数据流的计数标识;根据计数标识,处理器从访问控制列表ACL中获取计数标识对应的报文统计信息;根据报文统计信息,处理器确定数据流是否为大象流;若数据流为大象流,则处理器修改ACL中报文收发信息对应的流标记为大象流标记。通过处理器修改ACL中对应的流标记为大象流标记,使得交换芯片可对ACL表项进行查询,当待转发报文为大象流,调低其所在VOQ的优先级,完成对于报文的调度,降低了交换机报文调度时的局限性。
Description
技术领域
本发明涉及网络通信技术领域,具体而言,涉及一种报文调度方法、装置及交换机。
背景技术
交换机是一种用于电信号转发的网络设备,可以为接入交换机的任意两个网络节点提供独享的电信号通路,交换机对数据流进行发送时,为了避免转发队列拥塞的情况,需要对数据流进行调度。
相关技术中,交换机将要转发的数据流的信息记录在流表中,通过流表对将要转发的数据流进行统计和标记,实现对于将要转发的数据流的调度,从而避免转发队列的堵塞。
但是,相关技术中,需要交换机设备具备支持流表统计以及标记功能的硬件条件,但是对于不具备该硬件条件的交换机,无法实现数据的调度。
发明内容
针对上述现有技术中的不足,本发明提供一种报文调度方法、装置及交换机,以便解决相关技术中,对于不具备该硬件条件的交换机,无法实现数据的调度。
为实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供了一种报文调度方法,所述方法应用于交换机,所述交换机包括:处理器和交换芯片,所述方法包括:
所述处理器接收所述交换芯片上送的报文,所述报文包括报文收发信息;
根据所述报文收发信息,所述处理器查询流表,并从所述流表中确定所述报文所属数据流的计数标识;
根据所述计数标识,所述处理器从访问控制列表ACL中获取所述计数标识对应的报文统计信息,所述报文统计信息为所述数据流的报文统计信息;
根据所述报文统计信息,所述处理器确定所述数据流是否为大象流;
若所述数据流为大象流,则所述处理器修改所述ACL中所述报文收发信息对应的流标记为大象流标记;所述ACL用于使得所述交换芯片在接收到同属于所述数据流的待转发报文且查询到所述待转发报文对应的流标记为大象流标记时,降低所述待转发报文所在虚拟输出队列VOQ的优先级。
可选的,所述方法还包括:
若所述数据流为大象流,则所述处理器修改所述流表中所述报文收发信息对应的流标记为所述大象流标记。
可选的,所述根据所述报文收发信息,所述处理器查询流表,并从所述流表中确定所述报文所属数据流的计数标识之前,所述方法还包括:
所述处理器确定所述报文是否携带匹配规则标识;所述匹配规则标识用于指示所述报文为所述交换芯片采用ACL规则匹配并上送的报文;
若携带,则所述处理器建立所述数据流的流表表项,所述数据流的流表表项包括计数标识,并将所述数据流的流表表项写入所述流表中;
所述处理器建立所述数据流的ACL表项,所述数据流的ACL表项包括所述报文收发信息、所述报文收发信息对应的流标记、所述计数标识和所述报文统计信息。
可选的,所述处理器确定所述报文是否携带匹配标识之前,所述方法还包括:
所述处理器确定所述报文是否携带未命中标识;所述未命中标识用于指示未存储所述报文所属数据流的ACL表项;
若携带,则所述处理器确定所述报文是否携带匹配规则标识。
可选的,所述方法还包括:
在预设时间段内,所述处理器确定所述报文统计信息是否发生变化;
若所述报文统计信息未发生变化,则所述处理器删除所述报文统计信息所在的ACL表项,以及所述报文统计信息对应的计数标识所在的流表表项。
可选的,所述数据流的ACL表项存储于三态内容寻址存储器中。
第二方面,本发明还提供了一种报文调度装置,所述装置应用于交换机的处理器,所述装置包括:
接收模块,用于接收交换芯片上送的报文,所述报文包括报文收发信息;
查询模块,用于根据所述报文收发信息,查询流表,并从所述流表中确定所述报文所属数据流的计数标识;
获取模块,用于根据所述计数标识,从访问控制列表ACL中获取所述计数标识对应的报文统计信息,所述报文统计信息为所述数据流的报文统计信息;
第一确定模块,用于根据所述报文统计信息,确定所述数据流是否为大象流;
修改模块,用于若所述数据流为大象流,则修改所述ACL中所述报文收发信息对应的流标记为大象流标记;所述ACL用于使得所述交换芯片在接收到同属于所述数据流的待转发报文且查询到所述待转发报文对应的流标记为大象流标记时,降低所述待转发报文所在虚拟输出队列VOQ的优先级。
可选的,所述修改模块,具体用于若所述数据流为大象流,则修改所述流表中所述报文收发信息对应的流标记为所述大象流标记。
可选的,所述装置还包括:
第二确定模块,用于确定所述报文是否携带匹配规则标识;所述匹配规则标识用于指示所述报文为所述交换芯片采用ACL规则匹配并上送的报文;
建立模块,用于若携带,则建立所述数据流的流表表项,所述数据流的流表表项包括计数标识,并将所述数据流的流表表项写入所述流表中;建立所述数据流的ACL表项,所述数据流的ACL表项包括所述报文收发信息、所述报文收发信息对应的流标记、所述计数标识和所述报文统计信息。
可选的,所述第二确定模块,具体用于确定所述报文是否携带未命中标识;所述未命中标识用于指示未存储所述报文所属数据流的ACL表项;若携带,则确定所述报文是否携带匹配规则标识。
可选的,所述装置还包括:
第三确定模块,用于在预设时间段内,确定所述报文统计信息是否发生变化;
删除模块,用于若所述报文统计信息未发生变化,则删除所述报文统计信息所在的ACL表项,以及所述报文统计信息对应的计数标识所在的流表表项。
可选的,所述数据流的ACL表项存储于三态内容寻址存储器中。
第三方面,本发明还提供了一种交换机,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。
本发明提供一种报文调度方法、装置及交换机,可通过交换机中的处理器接收交换芯片上送的报文,根据报文包括的报文收发信息,处理器查询流表,并从流表中确定报文所属数据流的计数标识;处理器根据计数标识从ACL中获取对应的报文统计信息,并根据报文统计信息确定数据流为大象流后,处理器修改ACL中对应的流标记为大象流标记,从而使得交换芯片再次接收到同属于数据流的待转发报文时,如果利用修改后的ACL确定待转发报文为大象流,交换芯片降低待转发报文所在VOQ的优先级,完成对于报文的调度,由于该交换机中处理器无需进行流表统计以及标记功能,因此,使得对于不具备支持流表统计以及标记功能的交换机设备,也能完成报文调度,降低了交换机对于报文调度时的局限性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种交换机的结构示意图;
图2为本发明实施例提供的一种报文调度方法的流程示意图;
图3为本发明实施例提供的一种报文调度方法的流程示意图;
图4为本发明实施例提供的一种报文调度方法的流程示意图;
图5为本发明实施例提供的一种报文调度装置的结构示意图;
图6为本发明实施例提供的一种报文调度装置的结构示意图;
图7为本发明实施例提供的一种报文调度装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
图1为本发明实施例提供的一种交换机的结构示意图,如图1所示,交换机101包括:处理器1011以及交换芯片1012,处理器1011以及交换芯片1012连接。
交换机101还外接有寻址存储器102,该外接的寻址存储器102分别与处理器1011、交换芯片1012连接。
其中,处理器1011可以用于生成ACL(Access Control List,访问控制列表)表项和流表,ACL表项可以存储于寻址存储器102,流表可以存储于处理器1011包括的内存中。
本发明下述各实施例提供的报文调度方法,可应用于该交换机101。在本发明实施例中,处理器1011可以接收交换芯片1012上送的报文,该报文中可以包括报文收发信息,处理器1011可以根据报文收发信息,查询流表,并从流表中确定报文所属数据流的计数标识,再根据计数标识,从访问控制列表ACL中获取计数标识对应的报文统计信息,继而根据报文统计信息,处理器1011确定数据流是否为大象流,若数据流为大象流,修改ACL中报文收发信息对应的流标记为大象流标记。
另外,上述报文统计信息为数据流的报文统计信息。
交换芯片1012可以根据待转发报文的报文收发信息,从寻址存储器102中查询ACL表项,确定待转发报文的流标记,若待转发报文的流标记为大象流标记,调低待转发报文所在VOQ(Virtual Output Queue,虚拟输出队列)的优先级。
另外,寻址存储器可以为TCAM(ternary content addressable memory,三态内容寻址存储器)。
需要说明的是,交换机中处理器还可执行下述报文调度方法中处理器执行的其它处理操作,交换芯片也可执行下述报文调度方法中交换芯片的执行的其它操作,具体描述参见下述。
如下通过多个实施例对本发明实施例所提供的报文调度方法的解释说明。图2为本发明实施例提供的一种报文调度方法的流程示意图,如图2所示,该方法可以包括:
S101、处理器接收交换芯片上送的报文。
其中,报文可以包括报文收发信息。
在本发明实施例中,交换芯片可以向处理器发送的报文,处理器可以接收该报文。该报文可以为用户所指定虚拟输出队列的报文。
另外,报文的收发信息可以为报文的五元组信息,也可以为报文的四元组信息,还可以为报文的其他报文收发信息,本发明实施例对此不进行具体限制。
需要说明的是,五元组信息可以包括报文的地址,源端口,目的IP(InternetProtocol,互联网协议地址)地址,目的端口和传输层协议等信息,四元组信息可以包括报文的源IP地址、目的IP地址、源端口、目的端口等信息。
S102、根据报文收发信息,处理器查询流表,并从流表中确定报文所属数据流的计数标识。
其中,流表中可以包括:报文收发信息以及报文收发信息对应的计数标识,计数标识可以为Counter ID。
在一些实施方式中,处理器可以根据报文收发信息,查询处理器中的流表,则处理器可以查找到,与该报文收发信息所对应的计数标识。另外,交换芯片所上送的报文数量为多个时,处理器生成每个报文所对应的流表,即存储有多个流表,处理器可以采用周期性轮询方式,根据报文的报文收发信息查询流表。
需要说明的是,上述流表是由处理器根据交换芯片所上送的报文进行处理得到的,且每个流表均具有对应的ACL表项,流表存储于交换机的处理器包括的内存中,而ACL表项存储于外接的寻址存储器中。
S103、根据计数标识,处理器从访问控制列表ACL中获取计数标识对应的报文统计信息。
其中,报文统计信息为数据流的报文统计信息。
在一种可能的实施方式中,ACL表项中可以包括报文的计数标识,以及计数标识对应的报文统计信息,处理器可以根据查询到的计数标识,从寻址存储器的ACL表项中,查找与该计数标识对应的报文统计信息。
S104、根据报文统计信息,处理器确定数据流是否为大象流。
在本发明实施例中,处理器可以根据报文统计信息,计算参数值,并根据参数值和已存储的预设识别参数,确定报文是否为大象流。
在一些实施方式中,处理器可以判断上述参数值是否大于预设识别参数,若该参数值大于预设识别参数,则确定该报文统计信息对应的报文为大象流,若该参数值小于预设识别参数,则确定该报文统计信息对应的报文为老鼠流。
需要说明的是,参数值可以为速率、报文长度等,相应的,预设识别参数可以为预设速率参数、预设报文长度参数等。当然参数值和预设识别参数还可以为其他能够确定带转发报文是否为大象流的参数,本发明实施例对此不进行具体限制。
S105、若数据流为大象流,则处理器修改ACL中报文收发信息对应的流标记为大象流标记。
其中,ACL用于使得交换芯片在接收到同属于数据流的待转发报文且查询到待转发报文对应的流标记为大象流标记时,降低待转发报文所在虚拟输出队列VOQ的优先级。
在一种可能的实施方式中,若该参数值大于预设识别参数,则确定数据流为大象流,当处理器确定待转发的报文为大象流后,处理器可以将寻址存储器中,该转发报文的报文收发信息所对应的流标记修改为指定值,即大象流标记。
可选的,交换芯片可以根据待转发报文的报文收发信息,查询访问控制列表ACL表项,确定待转发报文的流标记。
其中,ACL表项包括:报文收发信息以及报文收发信息对应的流标记,ACL表项可以存储于交换机外接的寻址存储器中,待转发报文的流标记可以表示该待转发报文是否为大象流,流标记可以为ClassID。
在一些实施方式中,交换芯片可以根据待转发报文的报文收发信息,从寻址存储器中,查找访问控制列表ACL表项,则寻址存储器可以向交换芯片返回结果信息,其中,结果信息可以包括待转发报文的流标记。
另外,ACL表项中也可以包括:由报文收发信息所组成的键值,以及键值对应的流标记,相应的,交换芯片也可以根据待转发报文的键值,从寻址存储器中,查找访问控制列表ACL表项。
需要说明的是,寻址存储器中的ACL表项,是通过交换机的处理器对指定虚拟输出队列的报文进行处理后生成,并添加至寻址存储器中的。
可选的,若待转发报文的流标记为预设大象流标记,则降低待转发报文大数据流所在VOQ的优先级。
在一种可能的实施方式中,交换芯片可以判断待转发报文的流标记是否为预设大象流标记,若是,确定该转发报文所在的VOQ,并降低该VOQ的优先级,以降低转发该待转发报文时的优先级。
在本发明实施例中,当待转发报文的流标记为预设大象流标记时,则说明该转发报文所属的数据流为大象流,为了避免出口端出现堵塞,需要调低待转发报文所在虚拟输出队列VOQ的优先级。
需要说明的是,交换芯片可以为Jericho2芯片,还可以为其他交换芯片,本发明实施例对此不进行具体限制。
综上所述,本发明实施例提供一种报文调度方法,可通过交换机中的处理器接收交换芯片上送的报文,根据报文包括的报文收发信息,处理器查询流表,并从流表中确定报文所属数据流的计数标识;处理器根据计数标识从ACL中获取对应的报文统计信息,并根据报文统计信息确定数据流为大象流后,处理器修改ACL中对应的流标记为大象流标记,从而使得交换芯片再次接收到同属于数据流的待转发报文时,如果利用修改后的ACL确定待转发报文为大象流,交换芯片降低待转发报文所在VOQ的优先级,完成对于报文的调度,由于该交换机中处理器无需进行流表统计以及标记功能,因此,使得对于不具备支持流表统计以及标记功能的交换机设备,也能完成报文调度,降低了交换机对于报文调度时的局限性。
而且,TCAM可以支持快速查找ACL表项,使得交换芯片可以在TCAM中快速查询访问控制列表ACL表项,从而快速确定待转发报文的流标记,提高了对于报文调度的效率。
在本发明实施例中,当交换芯片为Jericho2芯片时,可以通过ELK(ExternalLookup,外部查找)查找ACL表项。
例如,当交换芯片为Jericho2芯片时,在Jericho2芯片的FWD(Forward转发)阶段,交换芯片可以通过FWD根据待转发报文生成对应的键值,并将键值传入ELK中,ELK可以获取ACL表项所返回的待转发报文的流标记,则交换芯片可以确定待转发报文的流标记。
另外,在FWD阶段后,还可以包括FEC(Forwarding Equivalence Class,转发等价类)阶段,且在FEC阶段之后,还具有PMF(programmable mapping and filitering,可编程绘图和归档)阶段。
当交换芯片为Jericho2芯片时,交换芯片在FWD阶段获取到待转发报文的流标记之后,经过FEC阶段之后,在PMF阶段,可以判断待转发报文的流标记是否为大象流标记,当流标记为大象流标记时,降低转发该待转发报文时的优先级。
可选的,在S101之前,上述方法还包括:交换芯片根据预设的目的端口的信息以及目的端口对应的预设目的队列的信息,确定目的VOQ。
该目的端口的信息为用户指定的端口信息,该预设目的队列为用户指定的端口队列信息。那么该交换芯片所确定该目的VOQ,即为用户指定的VOQ,交换芯片在确定该目的VOQ的情况下,便可将该目的VOQ的报文,上送至处理器。也就是说,交换芯片上送至处理器的报文,即为该目的VOQ的报文。
例如,Jericho2芯片在FWD阶段后,还可以包括FEC阶段,当交换芯片为Jericho2芯片时,FEC阶段可以解析报文,获取该报文的收发信息携带的端口信息,并根据该端口信息确定该报文对应的VOQ,若该报文对应的VOQ为上述目的VOQ,则将该报文上送至处理器。例如,该交换芯片可利用该端口信息进行哈希运算,通过哈希运算结果确定该报文对应的VOQ。
可选的,上述方法还包括:若待转发报文为大象流,则处理器修改流表中报文收发信息对应的流标记为大象流标记。
其中,处理器确定待转发报文为大象流后,可以将流表中的流标记修改为大象流标记。
在本发明实施例中,处理器可以在修改流表中的流标记的同时,修改ACL表项中的流标记,也可以先修改流表中的流标记,再修改ACL表项中的流标记,还可以先修改ACL表项中的流标记,再修改流表中的流标记,本发明实施例对此不进行具体限制。
图3发明实施例提供的一种报文调度方法的流程示意图,如图3所示,在S102之前,该方法还可以包括:
S201、处理器确定报文是否携带匹配规则标识。
其中,匹配规则标识用于指示报文为交换芯片采用ACL规则匹配后上送的报文。
在一些实施方式中,交换芯片可以在入方向上,根据ACL规则对报文的收发信息进行匹配后,将满足匹配条件的报文发送至处理器,并在该报文中携带匹配规则标识。
其中,交换芯片具有入端口和出端口,入方向是指交换芯片从入端口处接收到报文后,在入端口处的处理。处理器在接收交换芯片发送的报文后,便可通过报文中所携带的匹配规则标识,确定报文是否采用ACL规则匹配后上送的报文。交换芯片采用ACL规则匹配后上送的报文,可以为上述已确定目的VOQ的报文,如此,当处理器确定报文中携带匹配规则标识时,便可确定该报文是交换芯片采用ACL规则匹配后上送的报文,且,该报文对应的队列为目的VOQ,即属于指定VOQ的报文。
可选的,交换芯片采用ACL规则对报文匹配后,可将匹配后的报文的首包发送至处理器。
其中,上述指定的报文为交换芯片根据ACL规则匹配后上送的报文。
当交换芯片为Jericho2芯片时,交换芯片根据ACL规则匹配后,将指定的虚拟输出队列的报文首包发送至处理器的过程,可以为Jericho2芯片通过PMF阶段,将指定的VOQ的报文首包发送至处理器。
S202、若携带,则建立数据流的流表表项,并将数据流的流表表项写入流表中。
其中,数据流的流表表项可以包括计数标识。
在一种可能的实施方式中,处理器可以根据报文的五元组信息,建立报文对应的流表表项,并将流表表项和流表表项对应的计数标识,写入流表中,流表可以存储于处理器包括的内存中。
S203、处理器建立数据流的ACL表项。
其中,数据流的ACL表项可以包括报文收发信息、报文收发信息对应的流标记、计数标识和报文统计信息。另外,处理器可以根据流表采用ACL规则,建立ACL表项。
在一些实施方式中,处理器可以采用ACL规则,将报文的五元组信息组成键值,并根据报文收发信息对应的流标记、计数标识、长度标识、以及命中标识、未命中标识、统计表项,形成ACL表项,将ACL表项添加至寻址存储器中。
其中,上述统计表项可以用于存储报文的报文统计信息。长度标识可以为MeterID,未命中标识可以为no-hit,命中标识可以为hit。
可选的,在S201之前,该方法还可以包括:处理器确定报文是否携带未命中标识;若携带,则处理器确定报文是否具有匹配标识。
其中,未命中标识用于指示未存储报文所属数据流的ACL表项。
在本发明实施例中,交换芯片可以将未命中的报文首包,发送至处理器,以便处理器可以根据该报文中是否具有未命中标识,确定报文是否符合要求。
若报文具有未命中标识,则确定报文是否具有匹配标识,即确定该报文是否为交换芯片根据访问控制规则所转发的报文。
图4本发明实施例提供的一种报文调度方法的流程示意图,如图4所示,该方法还包括:
S301、在预设时间段内,处理器确定报文统计信息是否发生变化。
在一种可能的实施方式中,处理器可以周期性轮询流表,并根据该流表中的计数标识,从寻址存储器的ACL表项中获取对应的报文统计信息,并判断在预设时间段内,该报文统计信息是否发生变化。
其中,预设时间段可以为超时(time out,老化)时间。
S302、若报文统计信息未发生变化,则处理器删除报文统计信息所在的ACL表项,以及报文统计信息对应的计数标识所在的流表表项。
在本发明实施例中,若报文统计信息未发生变化,则说明该报文统计信息对应的报文停止或者中断,处理器可以删除报文统计信息所在的ACL表项,以及报文统计信息对应的计数标识所在的流表表项。
综上所述,处理器通过判断在预设时间段内,确定报文统计信息是否发生变化,若报文统计信息未发生变化,则删除报文统计信息所在的ACL表项,以及报文统计信息对应的计数标识所在的流表表项。对停止或者中断报文对应的流表表项以及ACL表项进行删除,避免不必要的内存占用,提高交换机在调度报文时的处理效率。
图5为本发明实施例提供的一种报文调度装置的结构示意图,装置应用于交换机的处理器,如图5所示,该装置可以包括:
接收模块501,用于接收交换芯片上送的报文,报文包括报文收发信息;
查询模块502,用于根据报文收发信息,查询流表,并从流表中确定报文所属数据流的计数标识;
获取模块503,用于根据计数标识,从访问控制列表ACL中获取计数标识对应的报文统计信息,报文统计信息为数据流的报文统计信息;
第一确定模块504,用于根据报文统计信息,确定数据流是否为大象流;
修改模块505,用于若数据流为大象流,则修改ACL中报文收发信息对应的流标记为大象流标记;ACL用于使得交换芯片在接收到同属于数据流的待转发报文且查询到待转发报文对应的流标记为大象流标记时,降低待转发报文所在虚拟输出队列VOQ的优先级。
可选的,修改模块505,具体用于若数据流为大象流,则修改流表中报文收发信息对应的流标记为大象流标记。
可选的,如图6所示,装置还包括:
第二确定模块506,用于确定报文是否携带匹配规则标识;匹配规则标识用于指示报文为交换芯片采用ACL规则匹配并上送的报文;
建立模块507,用于若携带,则建立数据流的流表表项,并将数据流的流表表项写入流表中,数据流的流表表项包括计数标识;建立数据流的ACL表项,数据流的ACL表项包括报文收发信息、报文收发信息对应的流标记、计数标识和报文统计信息。
可选的,第二确定模块506,具体用于确定报文是否携带未命中标识;未命中标识用于指示未存储报文所属数据流的ACL表项;若携带,则确定报文是否携带匹配规则标识。
可选的,如图7所示,装置还包括:
第三确定模块508,用于在预设时间段内,确定报文统计信息是否发生变化;
删除模块509,用于若报文统计信息未发生变化,则删除报文统计信息所在的ACL表项,以及报文统计信息对应的计数标识所在的流表表项。
可选的,数据流的ACL表项存储于三态内容寻址存储器中。上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (13)
1.一种报文调度方法,其特征在于,所述方法应用于交换机,所述交换机包括:处理器和交换芯片,所述方法包括:
所述处理器接收所述交换芯片上送的报文,所述报文包括报文收发信息;
根据所述报文收发信息,所述处理器查询流表,并从所述流表中确定所述报文所属数据流的计数标识;
根据所述计数标识,所述处理器从访问控制列表ACL中获取所述计数标识对应的报文统计信息,所述报文统计信息为所述数据流的报文统计信息;
根据所述报文统计信息,所述处理器确定所述数据流是否为大象流;
若所述数据流为大象流,则所述处理器修改所述ACL中所述报文收发信息对应的流标记为大象流标记;所述ACL用于使得所述交换芯片在接收到同属于所述数据流的待转发报文且查询到所述待转发报文对应的流标记为大象流标记时,降低所述待转发报文所在虚拟输出队列VOQ的优先级。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述数据流为大象流,则所述处理器修改所述流表中所述报文收发信息对应的流标记为所述大象流标记。
3.如权利要求1所述的方法,其特征在于,所述根据所述报文收发信息,所述处理器查询流表,并从所述流表中确定所述报文所属数据流的计数标识之前,所述方法还包括:
所述处理器确定所述报文是否携带匹配规则标识;所述匹配规则标识用于指示所述报文为所述交换芯片采用ACL规则匹配并上送的报文;
若携带,则所述处理器建立所述数据流的流表表项,并将所述数据流的流表表项写入所述流表中,所述数据流的流表表项包括计数标识;
所述处理器建立所述数据流的ACL表项,所述数据流的ACL表项包括所述报文收发信息、所述报文收发信息对应的流标记、所述计数标识和所述报文统计信息。
4.如权利要求3所述的方法,其特征在于,所述处理器确定所述报文是否携带匹配标识之前,所述方法还包括:
所述处理器确定所述报文是否携带未命中标识;所述未命中标识用于指示未存储所述报文所属数据流的ACL表项;
若携带,则所述处理器确定所述报文是否携带匹配规则标识。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
在预设时间段内,所述处理器确定所述报文统计信息是否发生变化;
若所述报文统计信息未发生变化,则所述处理器删除所述报文统计信息所在的ACL表项,以及所述报文统计信息对应的计数标识所在的流表表项。
6.如权利要求1-5中任一所述的方法,其特征在于,所述数据流的ACL表项存储于三态内容寻址存储器中。
7.一种报文调度装置,其特征在于,所述装置应用于交换机的处理器,所述装置包括:
接收模块,用于接收交换芯片上送的报文,所述报文包括报文收发信息;
查询模块,用于根据所述报文收发信息,查询流表,并从所述流表中确定所述报文所属数据流的计数标识;
获取模块,用于根据所述计数标识,从访问控制列表ACL中获取所述计数标识对应的报文统计信息,所述报文统计信息为所述数据流的报文统计信息;
第一确定模块,用于根据所述报文统计信息,确定所述数据流是否为大象流;
修改模块,用于若所述数据流为大象流,则修改所述ACL中所述报文收发信息对应的流标记为大象流标记;所述ACL用于使得所述交换芯片在接收到同属于所述数据流的待转发报文且查询到所述待转发报文对应的流标记为大象流标记时,降低所述待转发报文所在虚拟输出队列VOQ的优先级。
8.如权利要求7所述的装置,其特征在于,所述修改模块,具体用于若所述数据流为大象流,则修改所述流表中所述报文收发信息对应的流标记为所述大象流标记。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于确定所述报文是否携带匹配规则标识;所述匹配规则标识用于指示所述报文为所述交换芯片采用ACL规则匹配并上送的报文;
建立模块,用于若携带,则建立所述数据流的流表表项,并将所述数据流的流表表项写入所述流表中,所述数据流的流表表项包括计数标识;建立所述数据流的ACL表项,所述数据流的ACL表项包括所述报文收发信息、所述报文收发信息对应的流标记、所述计数标识和所述报文统计信息。
10.如权利要求9所述的装置,其特征在于,所述第二确定模块,具体用于确定所述报文是否携带未命中标识;所述未命中标识用于指示未存储所述报文所属数据流的ACL表项;若携带,则确定所述报文是否携带匹配规则标识。
11.如权利要求7所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于在预设时间段内,确定所述报文统计信息是否发生变化;
删除模块,用于若所述报文统计信息未发生变化,则删除所述报文统计信息所在的ACL表项,以及所述报文统计信息对应的计数标识所在的流表表项。
12.如权利要求7-11中任一所述的装置,其特征在于,所述数据流的ACL表项存储于三态内容寻址存储器中。
13.一种交换机,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911021994.4A CN110808854B (zh) | 2019-10-24 | 2019-10-24 | 报文调度方法、装置及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911021994.4A CN110808854B (zh) | 2019-10-24 | 2019-10-24 | 报文调度方法、装置及交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110808854A CN110808854A (zh) | 2020-02-18 |
CN110808854B true CN110808854B (zh) | 2022-05-06 |
Family
ID=69489182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911021994.4A Active CN110808854B (zh) | 2019-10-24 | 2019-10-24 | 报文调度方法、装置及交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110808854B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783794A (zh) * | 2020-11-27 | 2021-12-10 | 北京京东尚科信息技术有限公司 | 拥塞控制方法和装置 |
CN112559283A (zh) * | 2020-12-08 | 2021-03-26 | 中国联合网络通信集团有限公司 | 信令记录处理方法、装置及设备 |
JP7493629B2 (ja) * | 2021-06-29 | 2024-05-31 | 新華三技術有限公司 | 輻輳処理方法、装置、ネットワークデバイス及び記憶媒体 |
CN114268597A (zh) * | 2021-12-17 | 2022-04-01 | 锐捷网络股份有限公司 | 一种报文上送cpu的控制方法及装置 |
CN114884883B (zh) * | 2022-06-16 | 2024-01-30 | 深圳星云智联科技有限公司 | 一种流量转发方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984064A (zh) * | 2012-12-28 | 2013-03-20 | 盛科网络(苏州)有限公司 | 区分转发大象流的方法及系统 |
CN103384223A (zh) * | 2013-07-23 | 2013-11-06 | 迈普通信技术股份有限公司 | 一种流表项更新方法及设备 |
CN107342906A (zh) * | 2016-04-29 | 2017-11-10 | 华为技术有限公司 | 一种大象流的检测方法、设备及系统 |
WO2017206787A1 (zh) * | 2016-06-02 | 2017-12-07 | 中兴通讯股份有限公司 | 通信网络设备的报文转发控制方法及通信网络设备 |
CN109802891A (zh) * | 2019-02-22 | 2019-05-24 | 盛科网络(苏州)有限公司 | 一种提高大象流流表利用率的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7072345B2 (en) * | 2000-11-29 | 2006-07-04 | Raza Microelectronics, Inc | Programmable integrated circuit for use in a network switch |
-
2019
- 2019-10-24 CN CN201911021994.4A patent/CN110808854B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984064A (zh) * | 2012-12-28 | 2013-03-20 | 盛科网络(苏州)有限公司 | 区分转发大象流的方法及系统 |
CN103384223A (zh) * | 2013-07-23 | 2013-11-06 | 迈普通信技术股份有限公司 | 一种流表项更新方法及设备 |
CN107342906A (zh) * | 2016-04-29 | 2017-11-10 | 华为技术有限公司 | 一种大象流的检测方法、设备及系统 |
WO2017206787A1 (zh) * | 2016-06-02 | 2017-12-07 | 中兴通讯股份有限公司 | 通信网络设备的报文转发控制方法及通信网络设备 |
CN109802891A (zh) * | 2019-02-22 | 2019-05-24 | 盛科网络(苏州)有限公司 | 一种提高大象流流表利用率的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110808854A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110808854B (zh) | 报文调度方法、装置及交换机 | |
CN106612301B (zh) | 更新数据的推送方法和装置 | |
CN110808910B (zh) | 一种支持QoS的OpenFlow流表节能存储架构及其方法 | |
US9787618B2 (en) | Content-centric network communication method and apparatus | |
CN108259347B (zh) | 一种报文传输方法和装置 | |
WO2019185051A1 (zh) | 一种基于集成流表转发报文的方法及装置 | |
CN107786450B (zh) | 一种数据报文传输方法、装置及机器可读存储介质 | |
CN101789905A (zh) | 防止未知组播攻击cpu的方法和设备 | |
CN101119313A (zh) | 一种负载分担方法和设备 | |
WO2021208682A1 (zh) | 网络设备的数据采样方法、装置、设备及介质 | |
WO2023221452A1 (zh) | 报文处理系统、方法、设备和存储介质 | |
US7792129B2 (en) | Multi-queue packet processing using Patricia tree | |
CN114244752A (zh) | 流量统计方法、装置和设备 | |
CN114124848B (zh) | 一种基于vlid监控的交换机多监控端口方法 | |
CN107070797B (zh) | 一种报文转发的方法及系统 | |
CN113765812A (zh) | 一种标记报文的方法和装置 | |
WO2022152230A1 (zh) | 信息流识别方法、网络芯片及网络设备 | |
CN101577660B (zh) | 一种标签转发表项获取、报文转发方法和装置 | |
CN114793199B (zh) | 一种报文处理方法、装置及网络设备 | |
CN114422437B (zh) | 一种异构报文的转发方法及装置 | |
CN116016313A (zh) | 一种流表老化控制方法、系统、设备及可读存储介质 | |
US8559430B2 (en) | Network connection device, switching circuit device, and method for learning address | |
CN111125493B (zh) | 一种基于协议无感知转发的高速数据查询系统及方法 | |
WO2017097027A1 (zh) | 基于因特网内容适配协议的数据处理方法、装置和系统 | |
CN117955907B (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 |