【技术实现步骤摘要】
本专利技术涉及网络通信,尤其涉及一种基于报文内容的网络流量控制方法及系统。
技术介绍
1、目前,报文流量控制通常采用报文缓存和令牌桶机制来完成,令牌桶按规定速率周期性增加令牌,每个报文发送时带走与报文长度相等的令牌数量,当报文发送速度过快时,令牌桶中令牌数量不足,报文将被缓存,直到令牌桶中令牌数量足够发送该报文。在令牌桶的控制下,报文被均匀地发送。因此,对于报文长度的精确计算,是影响流量控制精确度的重要环节之一。
2、当前优化方法主要考虑到缓存时的报文长度不一定是最后从出口出去的长度,因此在报文确定转发行为时,同时计算该报文在本设备上执行编辑行为的修正值。令牌桶在扣除报文长度时,需要额外扣除该修正值。
3、目前已有技术的相关专利有cn117997843a-流量整形方法、装置、电子设备及计算机可读介质,该方法通过对报文进行编辑处理并确定处理后的报文长度后执行令牌桶的扣除动作,实现基于报文真实长度进行精确的流量整形,当前方法虽然考虑到报文从缓存到发送过程中可能对报文的编辑,但仍然没有考虑协议栈自动添加的报文头和填充字段,导致报文长度计算存在误差,且当用户传输的有效报文长度越小,流量控制的精度就越差。
技术实现思路
1、为解决现有技术的不足,本专利技术通过逐包解析报文协议,逐级去掉各级协议栈自动添加的报文头和填充字段,从而获取实际用户报文大小的方式,减少协议栈自动添加的报文头和填充字段对报文实际长度计算的影响,提高流量控制精度。
2、为实现以上目的,本
3、一种基于报文内容的网络流量控制方法,其特征在于,包括:
4、s1.获取进入协议栈的报文及所述报文的报文长度,开启网络流量控制;
5、s2.基于协议栈层级逐级解析所述报文的协议类型,获取有效报文长度;
6、s3.基于所述有效报文长度确定所述报文发送所需的令牌数量,根据令牌桶中令牌数量判断是否发送所述报文。
7、进一步地,所述获取进入协议栈的报文及所述报文的报文长度,开启网络流量控制,还包括:
8、若未开启网络流量控制,则直接将接收到的报文送往上层协议栈,将需要发送的报文送往下层协议栈。
9、进一步地,所述协议栈层级由上到下为应用层、传输层、网络层、链路层。
10、进一步地,所述基于协议栈的层级逐级解析所述报文的协议类型,包括:
11、去除各级协议栈添加的报文头和填充字段,获取各级协议栈封装的实际报文长度。
12、进一步地,所述基于协议栈层级解析所述报文的协议类型,获取有效报文长度,包括:
13、s21.解析链路层协议,获取链路层封装的实际报文长度;
14、s22.判断所述报文是否包含网络层协议,若所述报文包含网络层协议,则解析所述网络层协议,获取网络层封装的实际报文长度;若所述报文不包含网络层协议,则进入步骤s23;
15、s23.判断所述报文是否包含传输层协议,若所述报文包含传输层协议,则解析所述传输层协议,获取传输层封装的实际报文长度;若所述报文不包含传输层协议,则进入步骤s24;
16、s24.判断所述报文是否包含应用层协议,若所述报文包含应用层协议,则解析所述应用层协议,获取应用层封装的实际报文长度;若所述报文不包含应用层协议,则进入步骤s25;
17、s25.最终得到的封装的实际报文长度即为有效报文长度。
18、进一步地,所述基于所述有效报文长度确定所述报文发送所需的令牌数量,根据令牌桶中令牌数量判断是否发送所述报文,包括:
19、判断令牌桶中的令牌数量是否大于所述报文发送所需的令牌数量;
20、若令牌桶中的令牌数量大于所述报文发送所需的令牌数量,则从令牌桶中扣除所述报文发送所需的令牌长度后,发送所述报文;
21、若令牌桶中的令牌数量小于所述报文发送所需的令牌数量,则将所述报文缓存在队列。
22、本专利技术还涉及一种基于报文内容的网络流量控制系统,其特征在于,包括:
23、启动模块,用于获取进入协议栈的报文及所述报文的报文长度,开启网络流量控制;
24、解析模块,用于基于协议栈层级逐级解析所述报文的协议类型,获取有效报文长度;
25、发送模块,用于基于所述有效报文长度确定所述报文发送所需的令牌数量,根据令牌桶中令牌数量判断是否发送所述报文。
26、本专利技术还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
27、本专利技术还涉及一种电子设备,其特征在于,包括处理器和存储器;
28、所述存储器,用于存储程序指令;
29、所述处理器,用于通过调用程序指令,执行上述的方法。
30、本专利技术还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
31、本专利技术的有益效果为:
32、采用本专利技术所述一种基于报文内容的网络流量控制方法,通过逐包解析报文协议,逐级去掉各级协议栈自动添加的报文头和填充字段,能够精确计算报文的有效负载,减少协议栈自动添加的报文头和填充字段对有效报文长度计算的影响,大幅提升流量控制精度。相对于采用原生算法对128字节tcp报文进行流量控制的误差为29.6%和对256字节udp报文进行流量控制的误差为15.4%,采用本专利技术的方法可以将误差限定在1%。
本文档来自技高网...【技术保护点】
1.一种基于报文内容的网络流量控制方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取进入协议栈的报文及所述报文的报文长度,开启网络流量控制,还包括:
3.如权利要求1所述的方法,其特征在于,所述协议栈层级由上到下为应用层、传输层、网络层、链路层。
4.如权利要求1所述的方法,其特征在于,所述基于协议栈的层级逐级解析所述报文的协议类型,包括:
5.如权利要求1所述的方法,其特征在于,所述基于协议栈层级解析所述报文的协议类型,获取有效报文长度,包括:
6.如权利要求1所述的方法,其特征在于,所述基于所述有效报文长度确定所述报文发送所需的令牌数量,根据令牌桶中令牌数量判断是否发送所述报文,包括:
7.一种基于报文内容的网络流量控制系统,其特征在于,包括:
8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。
9.一种电子设备,其特征在于,包括处理器和存储器;
10.一种计
...【技术特征摘要】
1.一种基于报文内容的网络流量控制方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述获取进入协议栈的报文及所述报文的报文长度,开启网络流量控制,还包括:
3.如权利要求1所述的方法,其特征在于,所述协议栈层级由上到下为应用层、传输层、网络层、链路层。
4.如权利要求1所述的方法,其特征在于,所述基于协议栈的层级逐级解析所述报文的协议类型,包括:
5.如权利要求1所述的方法,其特征在于,所述基于协议栈层级解析所述报文的协议类型,获取有效报文长度,包括:
6.如权利要求1所述的方法...
【专利技术属性】
技术研发人员:刘汝强,
申请(专利权)人:中信银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。