CN108234455A - 一种报文转发控制方法、装置、计算机装置及存储介质 - Google Patents
一种报文转发控制方法、装置、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN108234455A CN108234455A CN201711342706.6A CN201711342706A CN108234455A CN 108234455 A CN108234455 A CN 108234455A CN 201711342706 A CN201711342706 A CN 201711342706A CN 108234455 A CN108234455 A CN 108234455A
- Authority
- CN
- China
- Prior art keywords
- message
- mask
- length
- acl rule
- matching result
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- 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/6215—Individual queue per QOS, rate or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机网络技术领域,尤其涉及一种报文转发控制方法、装置、计算机装置及存储介质,该方法为,根据确定的掩码和预设的ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;根据所述报文的长度,确定所述报文的队列优先级;根据预设的转发策略和队列优先级,转发所述报文,这样,采用掩码方式判断报文的长度,计算简单,并且可以区分不同长度范围的报文,进而可以识别控制报文和非控制报文,修改控制报文的优先级,保证控制报文可以优先转发,提高了网络的可靠性。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种报文转发控制方法、装置、计算机装置及存储介质。
背景技术
目前,在交换网络中,交换机能够对网络流量进行一定的过滤和转发,可以有效的减少冲突和网络拥塞,为提高网络服务质量,因此,需要对网络中的数据进行一定的过滤和传输判断。
现有技术中,服务质量(Quality of Service,QOS)为网络报文优先级,有8个优先级队列,通常通过端口优先级,或者根据报文中的802.1Q或差分服务代码点(Differentiated Services Code Poin,DSCP)优先级来确定报文的优先级,并根据报文的优先级进入相应的队列,然后根据队列的优先级,转发队列中的报文。
但是,针对某些应用环境,例如,现场有大量旧的终端设备,这些终端设备的厂家协议运用不规范,或者没有利用这些协议,发出的报文中没有这两种优先级,但是这些终端设备发送的流量又很大,经常出现网络流量拥塞并造成高优先级的控制报文被丢弃,进而出现终端设备不受控制的现象,因此,在这种情况下,由于获取的报文没有这两种优先级,因此,不能实现对报文进行选择性转发,容易造成网络拥塞,并容易造成高优先级报文被丢弃等现象,导致网络可靠性降低。
发明内容
本发明实施例提供一种报文转发控制方法、装置、计算机装置及存储介质,以解决现有技术中可能无法对报文进行选择性转发,导致网络可靠性降低的问题。
本发明实施例提供的具体技术方案如下:
一种报文转发控制方法,包括:
根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;
根据所述报文的长度,确定所述报文的队列优先级;
根据预设的转发策略和队列优先级,转发所述报文。
较佳的,根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度,具体包括:
根据所需识别的报文长度范围确定第一掩码和第二掩码;其中,预设的ACL规则包括第一ACL规则和第二ACL规则,第一掩码对应第一ACL规则,第二掩码对应第二ACL规则;
根据第一掩码和预设的第一ACL规则,将所述报文与所述第一掩码进行匹配,获得第一匹配结果,并根据第二掩码和预设的第二ACL规则,将所述报文与所述第二掩码进行匹配,获得第二匹配结果;
若第一匹配结果和第二匹配结果均匹配成功,则根据ACL规则的序号标识,序号标识较小的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度;
若第一匹配结果和第二匹配结果中只有一个匹配结果为匹配成功,则匹配成功的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
较佳的,将所述报文与所述第一掩码进行匹配,并将所述报文与所述第二掩码进行匹配,具体包括:
将从所述报文的头开始偏移预设字节后的字节作为所述报文的总长度域;
将所述报文的总长度域与所述第一掩码或第二掩码做逻辑与运算,若匹配结果为预设值,则确定匹配成功。
较佳的,根据所述报文的长度,确定所述报文的队列优先级,具体包括:
根据预设的报文长度与服务质量QOS优先级的映射关系,以及所述报文的长度,确定所述报文的QOS优先级;
根据预设的QOS优先级与队列优先级的映射关系,以及所述确定的报文的QOS优先级,确定所述报文的队列优先级。
较佳的,根据预设的转发策略和队列优先级,转发所述报文,具体包括:
采用严格优先级调度策略,按照队列优先级从高到低的顺序,转发队列中的报文;或,
采用加权轮询调度策略,根据队列优先级和预设的队列优先级对应的权重,转发队列中的报文。
一种报文转发控制装置,包括:
匹配单元,用于根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;
确定单元,用于根据所述报文的长度,确定所述报文的队列优先级;
转发单元,用于根据预设的转发策略和队列优先级,转发所述报文。
较佳的,根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度,匹配单元具体用于:
根据所需识别的报文长度范围确定第一掩码和第二掩码;其中,预设的ACL规则包括第一ACL规则和第二ACL规则,第一掩码对应第一ACL规则,第二掩码对应第二ACL规则;
根据第一掩码和预设的第一ACL规则,将所述报文与所述第一掩码进行匹配,获得第一匹配结果,并根据第二掩码和预设的第二ACL规则,将所述报文与所述第二掩码进行匹配,获得第二匹配结果;
若第一匹配结果和第二匹配结果均匹配成功,则根据ACL规则的序号标识,序号标识较小的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度;
若第一匹配结果和第二匹配结果中只有一个匹配结果为匹配成功,则匹配成功的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
较佳的,将所述报文与所述第一掩码进行匹配,并将所述报文与所述第二掩码进行匹配,匹配单元具体用于:
将从所述报文的头开始偏移预设字节后的字节作为所述报文的总长度域;
将所述报文的总长度域与所述第一掩码或第二掩码做逻辑与运算,若匹配结果为预设值,则确定匹配成功。
较佳的,根据所述报文的长度,确定所述报文的队列优先级,确定单元具体用于:
根据预设的报文长度与服务质量QOS优先级的映射关系,以及所述报文的长度,确定所述报文的QOS优先级;
根据预设的QOS优先级与队列优先级的映射关系,以及所述确定的报文的QOS优先级,确定所述报文的队列优先级。
较佳的,根据预设的转发策略和队列优先级,转发所述报文,转发单元具体用于:
采用严格优先级调度策略,按照队列优先级从高到低的顺序,转发队列中的报文;或,
采用加权轮询调度策略,根据队列优先级和预设的队列优先级对应的权重,转发队列中的报文。
一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一种报文转发控制方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种报文转发控制方法的步骤。
本发明实施例中,根据确定的掩码和预设的ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;根据所述报文的长度,确定所述报文的队列优先级;根据预设的转发策略和队列优先级,转发所述报文,这样,采用掩码方式判断报文的长度,计算简单,避免了对每个报文精确长度计算的耗时,并且可以区分不同长度范围的报文,而不是仅仅区分某一固定长度的报文,适用范围更广,可以识别报文长度有区别的功能报文,有效识别区分出控制报文和非控制报文,进而可以通过对不同长度的报文设置不同的队列优先级,保证控制报文的优先级较高,从而可以保证控制报文优先转发,实现简单,提高了网络可靠性。
附图说明
图1为本发明实施例中报文转发控制方法流程图;
图2为本发明实施例中为IP报文格式;
图3为本发明实施例中报文转发控制装置结构示意图;
图4为本发明实施例中一种计算机装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1所示,本发明实施例中,报文转发控制方法的具体流程如下:
步骤100:根据确定的掩码和预设的ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度。
值得说明的是,本发明实施例中,由于不同类型报文的长度不同,例如控制报文和业务报文长度通常是不同的,例如,在列车控制***中,控制指令都是短报文,而业务指令都是长报文,例如视频业务等,在这种应用环境中控制报文和普通业务报文有一个明显的区别,就是控制报文是长度较短的网络之间互连的协议(Internet Protocol,IP)报文,普通业务报文都是长度比较长的IP报文。因此本发明实施例中,提出一种新的保证控制报文优先转发的方法,确定出报文的长度后,根据报文的长度确定报文的队列优先级,让长度较短的控制报文的转发优先级更高,从而提高网络的可靠性。
执行步骤100时,具体包括:
首先,根据所需识别的报文长度范围确定第一掩码和第二掩码;其中,预设的ACL规则包括第一ACL规则和第二ACL规则,第一掩码对应第一ACL规则,第二掩码对应第二ACL规则。
其中,本发明实施例中,访问控制列表(Access Control List,ACL)利用三态内容寻址存储器(ternary content addressable memory,TCAM)快速查找匹配硬件,一般有多个资源,可以实现多条ACL规则并行查找执行,并且若有多个ACL规则匹配成功,则ACL规则序号标识小的即先匹配的ACL规则生效。
并且,实际中只有ACL规则匹配成功对应的执行规则,若匹配失败则结束,不会有匹配失败对应的执行规则,因此,本发明实施例中,为识别区分不同长度范围的报文,设置了两个ACL规则,例如,可以通过两个ACL规则,其中一个ACL规则匹配成功对应的报文长度为小于128字节,另一个ACL规则匹配成功对应的报文长度为不小于128字节。
例如,若控制报文为长度小于128字节的IP报文,非控制报文为长度大于等于128字节的IP报文,则所需识别的报文长度范围为小于128字节和不小于128字节两个长度范围,因此,可以设置第一掩码为1111 1111 1000 0000,预设值为0,来识别长度小于128字节的报文,第二掩码为0000 0000 0000 0000,预设值为0,并通过ACL规则的序号标识较小的即先匹配原则,来识别长度不小于128字节的报文。
本发明实施例中,可以根据需要识别的报文长度范围,设置不同的掩码,对此并不进行限制。
然后,根据第一掩码和第一ACL规则,将所述报文与所述第一掩码进行匹配,获得第一匹配结果,并根据第二掩码和第二ACL规则,将所述报文与所述第二掩码进行匹配,获得第二匹配结果。
具体为:将从所述报文的头开始偏移预设字节后的字节作为所述报文的总长度域;将所述报文的总长度域与所述第一掩码或第二掩码做逻辑与运算,若匹配结果为预设值,则确定匹配成功。
也就是说,两个ACL规则并行执行,将报文与第一掩码或第二掩码进行匹配,例如,对于实际中IP报文格式,偏移预设字节为偏移2个字节,IP报文的头开始偏移2个字节后为报文的总长度域,将报文的总长度域的每一位与第一掩码或第二掩码的每一位做逻辑与运算。
例如,第一掩码为1111 1111 1000 0000,预设值为0,做逻辑与运算后,若得到的匹配结果为每一位运算后的结果均为0,则匹配成功,即第一匹配结果为匹配成功,并且匹配成功,说明报文的长度的前9个bit的数值为0,即报文的长度小于128字节,若得到的匹配结果为每一位运算后的结果不是均为0,则匹配失败,执行结束。
又例如,第二掩码为0000 0000 0000 0000,预设值为0,做逻辑与运算后,若得到的匹配结果为每一位运算后的结果均为0,则匹配成功,否则匹配失败,并且由于对于报文的长度的前9个bit的数值不论为何值,逻辑与运算后,得到的结果均为0,因此,对于长度小于128字节和不小于128字节的报文与第二ACL规则匹配时,得到的匹配结果均为匹配成功。
本发明实施例中,根据确定的掩码,自定义ACL规则,设置第一ACL规则和第二ACL规则,并且并行执行,将报文分别与这两个ACL规则进行匹配,采用掩码与报文的长度域匹配的方式,来确定报文的长度,可以区分不同报文的长度范围,而不仅仅只是匹配区分出某一个固定长度的报文,提高了匹配灵活性,适用范围更大。
最后,根据匹配结果,确定报文的长度。
具体地分为以下两种情况:
第一种情况:若第一匹配结果和第二匹配结果均匹配成功,则根据ACL规则的序号标识,序号标识较小的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
也就是说,本发明实施例中,分别设置第一ACL规则和第二ACL规则的序号标识,例如,设置第一ACL规则的序号标识为1,第二ACL规则的序号标识为1000,根据序号标识较小的ACL规则生效的原则,若与第一ACL规则和第二ACL规则均匹配成功,则由于第一ACL规则的序号标识较小,因此第一ACL规则生效。
因此,可以根据ACL规则的序号标识,以及掩码的设置,控制第一ACL规则生效时对应的报文长度为小于128字节,并第二ACL规则生效时对应的报文长度为不小于128字节。
基于上述实施例,例如,对于长度小于128字节的报文,基于第一ACL规则与第二ACL规则,得到的匹配结果均为匹配成功,但只有第一ACL规则生效,因此,最终确定的该报文的长度为小于128字节。
第二种情况:若第一匹配结果和第二匹配结果中只有一个匹配结果为匹配成功,则匹配成功的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
例如,对于长度不小于128字节的报文,只与第二ACL规则匹配成功,因此,可以最终确定该报文的长度为不小于128字节。
步骤110:根据所述报文的长度,确定所述报文的队列优先级。
执行步骤110时,具体包括:
首先,根据预设的报文长度与QOS优先级的映射关系,以及所述报文的长度,确定所述报文的QOS优先级。
本发明实施例中,针对不同类型的报文的长度不同,设置不同的优先级,例如对于控制报文,主要可以实现控制报文优先转发,优先级更高,并且由于控制报文的长度较小,通常小于128字节,因此,可以设置长度小于128的报文映射QOS优先级为7,长度不小于128字节的报文映射QOS优先级为0。并且,具体地不同报文长度对应的QOS优先级,可以根据实际需求进行设置,本发明实施例中,并不进行限制。
然后,根据预设的QOS优先级与队列优先级的映射关系,以及所述确定的报文的QOS优先级,确定所述报文的队列优先级。
例如,QOS优先级从高到低依次为7,6,5,4,3,2,1,0,内部有8个队列,按照优先级从高到低依次为7,6,5,4,3,2,1,0,将QOS优先级和内部的队列优先级一一映射,即7-7,6-6,5-5,4-4,3-3,2-2,1-1,0-0,这样,若确定报文的QOS优先级为7,则该报文进入优先级为7的队列,可以优先转发,若确定报文的QOS优先级为0,则该报文进入优先级为0的队列,转发优先级就比较低。
这样,本发明实施例中,设置两个ACL规则,利用第一ACL规则能够筛选长度较小的控制报文进入高优先级队列,即优先级为7的队列,利用第二ACL规则使得长度较大的业务报文进入低优先级队列,能够避免非控制报文进入高优先级队列,进而可以根据队列优先级选择性转发不同的报文,提高了网络可靠性。
步骤120:根据预设的转发策略和队列优先级,转发所述报文。
执行步骤120时,可以分为以下几种方式:
第一种方式:采用严格优先级调度策略,按照队列优先级从高到低的顺序,转发队列中的报文。
具体为:按照队列优先级从高到低的顺序,先转发高优先级队列的报文,高优先级队列中没有报文时,才开始转发低优先级队列的报文。
例如,有2个优先级队列,优先级从高到低分别为队列1和队列0,则队列1中的报文优先转发,待队列1中没有报文时,开始转发队列0中的报文。
这样,采用严格优先级调度策略,严格先转发高优先级报文,可以保证实时性要求比较高的报文及时转发,保证实时***质量。
第二种方式:采用加权轮询调度策略,根据队列优先级和预设的队列优先级对应的权重,转发队列中的报文。
具体为,给高优先级队列赋予较高的权重值,例如共有8个队列,优先级从高到低分别为7,6,5,4,3,2,1,0,则先转发m个优先级为7的队列中的报文,再转发n个优先级为6的队列中的报文,……,最后转发p个优先级为0的队列中的报文,依次循环。
这样,采用加权轮询调度策略,依次循环转发报文,可以防止高优先级报文一直转发,低优先级报文无法转发的极端状况。
本发明实施例中,根据确定的掩码和预设的ACL规则,将报文与掩码进行匹配,来确定报文的长度,并根据报文的长度,确定报文的队列优先级,并根据队列优先级,转发报文,这样采用掩码方式判断报文的长度,计算简单,避免了对每个报文精确长度计算的耗时,并且可以识别区别不同长度范围的报文,而不是仅仅区分某一固定长度的报文,适用范围更广,可以识别出不同的功能报文,控制不同的功能报文的转发优先级,例如控制报文和非控制报文,从而可以通过对不同长度的报文设置不同的队列优先级,修改控制报文的优先级,保证控制报文的优先级较高,使得控制报文可以优先转发,提高了网络可靠性,本发明实施例中的报文转发控制方法,不需要特定协议的规定,能够简单快速地实现报文优先级的修改,因此可以解决现有技术中可能无法对报文进行选择性转发,导致网络可靠性降低的问题。
基于上述实施例,下面采用一个具体的应用场景对上述实施例作出进一步详细说明。本发明实施例中,以保证控制报文优先转发为例,对报文转发控制方法进行具体介绍。
1)假设设备内部有8个优先级队列,按照优先级从高到低依次为7,6,5,4,3,2,1,0。ACL硬件支持1024个规则,序号标识(id)从前到后依次为0,1,2,...,1023。
例如,控制报文为长度小于128字节的IP报文,非控制报文为长度大于等于128字节的IP报文。并且将控制报文进入最高优先级队列,即队列7,将非控制报文进入最低优先级队列,即队列0,也就是设置报文长度与QOS优先级的映射关系为:长度小于128字节的报文对应QOS优先级为7,长度大于等于128字节的报文对应QOS优先级为0。并设置QOS优先级和内部转发队列优先级映射为一一映射,即7-7,6-6,5-5,4-4,3-3,2-2,1-1,0-0。
2)设置自定义ACL,第一ACL规则,其id为1。参阅图2所示,为IP报文格式,可知对于一个IP报文,从报文头开始偏移16bit到IP报文的总长度域,因此,从IP头开始偏移2个字节,即16bit,即对报文的长度进行匹配。设置第一掩码为1111 1111 1000 0000,匹配值为0。
将IP报文总长度域和第一掩码的每一位做逻辑与运算,当结果为0时匹配成功,否则不匹配,匹配成功则说明IP报文总长度的前9个bit的数值为0,IP报文长度小于128字节。
设置策略QOS,匹配第一ACL规则的报文重映射QOS优先级为7。
3)设置自定义ACL,第二ACL规则,其id为1000。从IP头开始偏移2个字节,即对报文的长度进行匹配。设置第二掩码为0000 0000 0000 0000,匹配值为0。
将IP报文总长度域和第二掩码的每一位做逻辑与运算,当结果为0时匹配成功,否则不匹配,可知,所有IP长度的报文都能匹配第二ACL规则。
设置策略QOS,匹配第二ACL规则的报文重映射QOS优先级为0。
4)对于长度小于128字节的控制报文,会同时匹配上第一ACL规则和第二ACL规则,但id小的生效,因此,最终控制报文会进入队列7,对于大于等于128字节的非控制报文,只匹配第二ACL规则,最终非控制报文会进入队列0。
这样,设置两个ACL规则,可以保证控制报文进入高优先级队列,非控制报文进入低优先级队列,保证了控制报文优先转发,实现简单,提高了网络可靠性。
基于上述实施例,参阅图3所示,本发明实施例中,报文转发控制装置,具体包括:
匹配单元30,用于根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;
确定单元31,用于根据所述报文的长度,确定所述报文的队列优先级;
转发单元32,用于根据预设的转发策略和队列优先级,转发所述报文。
较佳的,根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度,匹配单元30具体用于:
根据所需识别的报文长度范围确定第一掩码和第二掩码;其中,预设的ACL规则包括第一ACL规则和第二ACL规则,第一掩码对应第一ACL规则,第二掩码对应第二ACL规则;
根据第一掩码和预设的第一ACL规则,将所述报文与所述第一掩码进行匹配,获得第一匹配结果,并根据第二掩码和预设的第二ACL规则,将所述报文与所述第二掩码进行匹配,获得第二匹配结果;
若第一匹配结果和第二匹配结果均匹配成功,则根据ACL规则的序号标识,序号标识较小的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度;
若第一匹配结果和第二匹配结果中只有一个匹配结果为匹配成功,则匹配成功的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
较佳的,将所述报文与所述第一掩码进行匹配,并将所述报文与所述第二掩码进行匹配,匹配单元30具体用于:
将从所述报文的头开始偏移预设字节后的字节作为所述报文的总长度域;
将所述报文的总长度域与所述第一掩码或第二掩码做逻辑与运算,若匹配结果为预设值,则确定匹配成功。
较佳的,根据所述报文的长度,确定所述报文的队列优先级,确定单元31具体用于:
根据预设的报文长度与服务质量QOS优先级的映射关系,以及所述报文的长度,确定所述报文的QOS优先级;
根据预设的QOS优先级与队列优先级的映射关系,以及所述确定的报文的QOS优先级,确定所述报文的队列优先级。
较佳的,根据预设的转发策略和队列优先级,转发所述报文,转发单元32具体用于:
采用严格优先级调度策略,按照队列优先级从高到低的顺序,转发队列中的报文;或,
采用加权轮询调度策略,根据队列优先级和预设的队列优先级对应的权重,转发队列中的报文。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的报文转发控制方法。
基于上述实施例,参阅图4所示,本发明实施例中,一种计算机装置的结构示意图。
本发明实施例提供了一种计算机装置,该计算机装置可以包括处理器410(CenterProcessing Unit,CPU)、存储器420、输入设备430和输出设备440等,输入设备430可以包括键盘、鼠标、触摸屏等,输出设备440可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器420可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器410提供存储器420中存储的程序指令和数据。在本发明实施例中,存储器420可以用于存储上述报文转发控制方法的程序。
处理器410通过调用存储器420存储的程序指令,处理器410用于按照获得的程序指令执行:
根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;
根据所述报文的长度,确定所述报文的队列优先级;
根据预设的转发策略和队列优先级,转发所述报文。
较佳的,根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度,处理器410具体用于:
根据所需识别的报文长度范围确定第一掩码和第二掩码;其中,预设的ACL规则包括第一ACL规则和第二ACL规则,第一掩码对应第一ACL规则,第二掩码对应第二ACL规则;
根据第一掩码和预设的第一ACL规则,将所述报文与所述第一掩码进行匹配,获得第一匹配结果,并根据第二掩码和预设的第二ACL规则,将所述报文与所述第二掩码进行匹配,获得第二匹配结果;
若第一匹配结果和第二匹配结果均匹配成功,则根据ACL规则的序号标识,序号标识较小的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度;
若第一匹配结果和第二匹配结果中只有一个匹配结果为匹配成功,则匹配成功的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
较佳的,将所述报文与所述第一掩码进行匹配,并将所述报文与所述第二掩码进行匹配,处理器410具体用于:
将从所述报文的头开始偏移预设字节后的字节作为所述报文的总长度域;
将所述报文的总长度域与所述第一掩码或第二掩码做逻辑与运算,若匹配结果为预设值,则确定匹配成功。
较佳的,根据所述报文的长度,确定所述报文的队列优先级,处理器410具体用于:
根据预设的报文长度与服务质量QOS优先级的映射关系,以及所述报文的长度,确定所述报文的QOS优先级;
根据预设的QOS优先级与队列优先级的映射关系,以及所述确定的报文的QOS优先级,确定所述报文的队列优先级。
较佳的,根据预设的转发策略和队列优先级,转发所述报文,处理器410具体用于:
采用严格优先级调度策略,按照队列优先级从高到低的顺序,转发队列中的报文;或,
采用加权轮询调度策略,根据队列优先级和预设的队列优先级对应的权重,转发队列中的报文。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种报文转发控制方法,其特征在于,包括:
根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;
根据所述报文的长度,确定所述报文的队列优先级;
根据预设的转发策略和队列优先级,转发所述报文。
2.如权利要求1所述的方法,其特征在于,根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度,具体包括:
根据所需识别的报文长度范围确定第一掩码和第二掩码;其中,预设的ACL规则包括第一ACL规则和第二ACL规则,第一掩码对应第一ACL规则,第二掩码对应第二ACL规则;
根据第一掩码和预设的第一ACL规则,将所述报文与所述第一掩码进行匹配,获得第一匹配结果,并根据第二掩码和预设的第二ACL规则,将所述报文与所述第二掩码进行匹配,获得第二匹配结果;
若第一匹配结果和第二匹配结果均匹配成功,则根据ACL规则的序号标识,序号标识较小的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度;
若第一匹配结果和第二匹配结果中只有一个匹配结果为匹配成功,则匹配成功的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
3.如权利要求2所述的方法,其特征在于,将所述报文与所述第一掩码进行匹配,并将所述报文与所述第二掩码进行匹配,具体包括:
将从所述报文的头开始偏移预设字节后的字节作为所述报文的总长度域;
将所述报文的总长度域与所述第一掩码或第二掩码做逻辑与运算,若匹配结果为预设值,则确定匹配成功。
4.如权利要求1、2或3所述的方法,其特征在于,根据所述报文的长度,确定所述报文的队列优先级,具体包括:
根据预设的报文长度与服务质量QOS优先级的映射关系,以及所述报文的长度,确定所述报文的QOS优先级;
根据预设的QOS优先级与队列优先级的映射关系,以及所述确定的报文的QOS优先级,确定所述报文的队列优先级。
5.如权利要求1所述的方法,其特征在于,根据预设的转发策略和队列优先级,转发所述报文,具体包括:
采用严格优先级调度策略,按照队列优先级从高到低的顺序,转发队列中的报文;或,
采用加权轮询调度策略,根据队列优先级和预设的队列优先级对应的权重,转发队列中的报文。
6.一种报文转发控制装置,其特征在于,包括:
匹配单元,用于根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度;
确定单元,用于根据所述报文的长度,确定所述报文的队列优先级;
转发单元,用于根据预设的转发策略和队列优先级,转发所述报文。
7.如权利要求6所述的装置,其特征在于,根据确定的掩码和预设的访问控制列表ACL规则,将报文与所述确定的掩码进行匹配,并根据匹配结果确定报文的长度,匹配单元具体用于:
根据所需识别的报文长度范围确定第一掩码和第二掩码;其中,预设的ACL规则包括第一ACL规则和第二ACL规则,第一掩码对应第一ACL规则,第二掩码对应第二ACL规则;
根据第一掩码和预设的第一ACL规则,将所述报文与所述第一掩码进行匹配,获得第一匹配结果,并根据第二掩码和预设的第二ACL规则,将所述报文与所述第二掩码进行匹配,获得第二匹配结果;
若第一匹配结果和第二匹配结果均匹配成功,则根据ACL规则的序号标识,序号标识较小的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度;
若第一匹配结果和第二匹配结果中只有一个匹配结果为匹配成功,则匹配成功的ACL规则生效,并将生效的ACL规则的匹配成功对应的报文长度作为所述报文的长度。
8.如权利要求7所述的装置,其特征在于,将所述报文与所述第一掩码进行匹配,并将所述报文与所述第二掩码进行匹配,匹配单元具体用于:
将从所述报文的头开始偏移预设字节后的字节作为所述报文的总长度域;
将所述报文的总长度域与所述第一掩码或第二掩码做逻辑与运算,若匹配结果为预设值,则确定匹配成功。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711342706.6A CN108234455B (zh) | 2017-12-14 | 2017-12-14 | 一种报文转发控制方法、装置、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711342706.6A CN108234455B (zh) | 2017-12-14 | 2017-12-14 | 一种报文转发控制方法、装置、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108234455A true CN108234455A (zh) | 2018-06-29 |
CN108234455B CN108234455B (zh) | 2021-03-19 |
Family
ID=62652286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711342706.6A Active CN108234455B (zh) | 2017-12-14 | 2017-12-14 | 一种报文转发控制方法、装置、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108234455B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108990115A (zh) * | 2018-07-16 | 2018-12-11 | 鼎桥通信技术有限公司 | 一种在集群通信***多核心网组网下保证QoS的方法 |
CN109088894A (zh) * | 2018-10-25 | 2018-12-25 | 新华三技术有限公司合肥分公司 | Acl下发方法及网络设备 |
CN111106977A (zh) * | 2018-10-26 | 2020-05-05 | 华为技术有限公司 | 数据流检测方法、装置及存储介质 |
CN111953619A (zh) * | 2020-08-07 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种基于dscp对报文进行分流的方法、***、设备及介质 |
CN112134757A (zh) * | 2020-09-21 | 2020-12-25 | 北京信而泰科技股份有限公司 | 一种报文生成方法及装置 |
CN112468413A (zh) * | 2020-11-26 | 2021-03-09 | 迈普通信技术股份有限公司 | 报文处理方法、装置、电子设备及存储介质 |
CN113612730A (zh) * | 2021-07-05 | 2021-11-05 | 苏州裕太微电子有限公司 | 一种acl访问规则控制方法、处理装置及*** |
CN114338569A (zh) * | 2021-12-31 | 2022-04-12 | 锐捷网络股份有限公司 | 报文复制转发方法及装置 |
CN115529262A (zh) * | 2022-09-16 | 2022-12-27 | 杭州云合智网技术有限公司 | 一种sai thrift中acl命中确认方法、装置、设备及介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272329A (zh) * | 2008-02-19 | 2008-09-24 | 华为技术有限公司 | 一种对报文进行跟踪的方法及设备 |
CN101286936A (zh) * | 2008-05-16 | 2008-10-15 | 华为技术有限公司 | 数据报文的处理方法及装置 |
CN201563132U (zh) * | 2009-07-03 | 2010-08-25 | 北京星网锐捷网络技术有限公司 | 网络带宽控制装置与路由器 |
CN101841474A (zh) * | 2010-04-15 | 2010-09-22 | 华为技术有限公司 | 访问控制列表的实现装置 |
CN102209017A (zh) * | 2010-03-29 | 2011-10-05 | 华为技术有限公司 | 生成访问控制列表的方法及装置 |
CN103078794A (zh) * | 2013-01-08 | 2013-05-01 | 杭州华三通信技术有限公司 | 一种报文处理控制方法及装置 |
CN104518969A (zh) * | 2014-12-12 | 2015-04-15 | 北京智谷睿拓技术服务有限公司 | 数据报文处理方法、装置及交换机 |
CN104580202A (zh) * | 2014-12-31 | 2015-04-29 | 曙光信息产业(北京)有限公司 | 报文的匹配方法和装置 |
US20150150091A1 (en) * | 2013-11-25 | 2015-05-28 | International Business Machines Corporation | Enabling content protection and management of electronic mail |
CN105704028A (zh) * | 2016-03-25 | 2016-06-22 | 北京华为数字技术有限公司 | 报文处理方法及装置 |
CN105939324A (zh) * | 2016-01-11 | 2016-09-14 | 杭州迪普科技有限公司 | 转发报文的方法及装置 |
CN106411776A (zh) * | 2016-09-22 | 2017-02-15 | 上海斐讯数据通信技术有限公司 | 数据流调度***以及数据流调度方法 |
CN106549817A (zh) * | 2015-09-21 | 2017-03-29 | 深圳市中兴微电子技术有限公司 | 报文识别方法及装置 |
-
2017
- 2017-12-14 CN CN201711342706.6A patent/CN108234455B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272329A (zh) * | 2008-02-19 | 2008-09-24 | 华为技术有限公司 | 一种对报文进行跟踪的方法及设备 |
CN101286936A (zh) * | 2008-05-16 | 2008-10-15 | 华为技术有限公司 | 数据报文的处理方法及装置 |
CN201563132U (zh) * | 2009-07-03 | 2010-08-25 | 北京星网锐捷网络技术有限公司 | 网络带宽控制装置与路由器 |
CN102209017A (zh) * | 2010-03-29 | 2011-10-05 | 华为技术有限公司 | 生成访问控制列表的方法及装置 |
CN101841474A (zh) * | 2010-04-15 | 2010-09-22 | 华为技术有限公司 | 访问控制列表的实现装置 |
CN103078794A (zh) * | 2013-01-08 | 2013-05-01 | 杭州华三通信技术有限公司 | 一种报文处理控制方法及装置 |
US20150150091A1 (en) * | 2013-11-25 | 2015-05-28 | International Business Machines Corporation | Enabling content protection and management of electronic mail |
CN104518969A (zh) * | 2014-12-12 | 2015-04-15 | 北京智谷睿拓技术服务有限公司 | 数据报文处理方法、装置及交换机 |
CN104580202A (zh) * | 2014-12-31 | 2015-04-29 | 曙光信息产业(北京)有限公司 | 报文的匹配方法和装置 |
CN106549817A (zh) * | 2015-09-21 | 2017-03-29 | 深圳市中兴微电子技术有限公司 | 报文识别方法及装置 |
CN105939324A (zh) * | 2016-01-11 | 2016-09-14 | 杭州迪普科技有限公司 | 转发报文的方法及装置 |
CN105704028A (zh) * | 2016-03-25 | 2016-06-22 | 北京华为数字技术有限公司 | 报文处理方法及装置 |
CN106411776A (zh) * | 2016-09-22 | 2017-02-15 | 上海斐讯数据通信技术有限公司 | 数据流调度***以及数据流调度方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108990115A (zh) * | 2018-07-16 | 2018-12-11 | 鼎桥通信技术有限公司 | 一种在集群通信***多核心网组网下保证QoS的方法 |
CN108990115B (zh) * | 2018-07-16 | 2023-06-16 | 鼎桥通信技术有限公司 | 一种在集群通信***多核心网组网下保证QoS的方法 |
CN109088894B (zh) * | 2018-10-25 | 2021-04-06 | 新华三技术有限公司合肥分公司 | Acl下发方法及网络设备 |
CN109088894A (zh) * | 2018-10-25 | 2018-12-25 | 新华三技术有限公司合肥分公司 | Acl下发方法及网络设备 |
CN111106977A (zh) * | 2018-10-26 | 2020-05-05 | 华为技术有限公司 | 数据流检测方法、装置及存储介质 |
CN111106977B (zh) * | 2018-10-26 | 2022-04-05 | 华为技术有限公司 | 数据流检测方法、装置及存储介质 |
CN111953619A (zh) * | 2020-08-07 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种基于dscp对报文进行分流的方法、***、设备及介质 |
CN111953619B (zh) * | 2020-08-07 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种基于dscp对报文进行分流的方法、***、设备及介质 |
CN112134757B (zh) * | 2020-09-21 | 2022-08-19 | 北京信而泰科技股份有限公司 | 一种报文生成方法及装置 |
CN112134757A (zh) * | 2020-09-21 | 2020-12-25 | 北京信而泰科技股份有限公司 | 一种报文生成方法及装置 |
CN112468413A (zh) * | 2020-11-26 | 2021-03-09 | 迈普通信技术股份有限公司 | 报文处理方法、装置、电子设备及存储介质 |
CN113612730A (zh) * | 2021-07-05 | 2021-11-05 | 苏州裕太微电子有限公司 | 一种acl访问规则控制方法、处理装置及*** |
CN113612730B (zh) * | 2021-07-05 | 2023-04-07 | 裕太微电子股份有限公司 | 一种acl访问规则控制方法、处理装置及*** |
CN114338569A (zh) * | 2021-12-31 | 2022-04-12 | 锐捷网络股份有限公司 | 报文复制转发方法及装置 |
CN115529262A (zh) * | 2022-09-16 | 2022-12-27 | 杭州云合智网技术有限公司 | 一种sai thrift中acl命中确认方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108234455B (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234455A (zh) | 一种报文转发控制方法、装置、计算机装置及存储介质 | |
EP3029896B1 (en) | Qos implementation method, apparatus and system in openflow network | |
US11171891B2 (en) | Congestion drop decisions in packet queues | |
EP3318008B1 (en) | Negotiating quality of service for data flows | |
US9264369B2 (en) | Technique for managing traffic at a router | |
CN107959636B (zh) | Bgp消息的发送方法及装置 | |
US20040022191A1 (en) | Network quality of service for qualitative applications | |
US8897292B2 (en) | Low pass filter for hierarchical pipelined distributed scheduling traffic manager | |
CN105700940B (zh) | 一种调度器及调度器的动态复用方法 | |
CN109617806B (zh) | 一种数据流量调度方法及装置 | |
US10425342B2 (en) | Methods, systems, and computer readable media for priority routing of diameter messages | |
CN110519302A (zh) | 一种防报文攻击的方法和装置 | |
CN105915468B (zh) | 一种业务的调度方法及装置 | |
CN108259377A (zh) | 队列分配方法及装置 | |
US20240007406A1 (en) | Transmission control method and apparatus | |
CN111314236A (zh) | 报文转发方法及装置 | |
US10666545B2 (en) | Shaping outgoing traffic of network packets in a network management system | |
KR20090095584A (ko) | 상이한 트래픽 클래스를 위한 통과 대역 예약 시스템 | |
Imputato et al. | Design and implementation of the traffic control module in ns-3 | |
US20160142333A1 (en) | Method and apparatus for performing a weighted queue scheduling using a set of fairness factors | |
CN117499258A (zh) | 业务数据网络传输管理方法及dpu | |
CN111970149A (zh) | 一种基于硬件防火墙qos的共享带宽实现方法 | |
KR101587379B1 (ko) | 큐 사이즈의 동적 제어 방법 및 이를 수행하는 장치 | |
CN108632162A (zh) | 一种队列调度方法及转发设备 | |
CN113765796A (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20180629 Assignee: Kedong (Guangzhou) Software Technology Co., Ltd Assignor: Beijing Dongtu Technology Co., Ltd.|Beijing keyin Jingcheng Technology Co., Ltd Contract record no.: X2020980000255 Denomination of invention: Message forwarding control method, message forwarding control device, computer device and storage medium License type: Exclusive License Record date: 20200218 |
|
EE01 | Entry into force of recordation of patent licensing contract | ||
GR01 | Patent grant | ||
GR01 | Patent grant |