流量控制方法和流量控制系统的制作方法

文档序号:8383675阅读:426来源:国知局
流量控制方法和流量控制系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,具体而言,涉及一种流量控制方法和一种流量控制系统。
【背景技术】
[0002]目前,流量控制在网络设备中得到了广泛的应用,在相关技术中,一般通过令牌桶算法来控制网络流量,即通过监督进入网络端口的流量速率,对超出部分的流量进行丢弃,从而限制流量经过的速率。例如,通过令牌桶算法可以将P2P (Peer to Peer,对等计算)的流量速率限制到100M之内,从而提高了网络的利用率。
[0003]如图1所示,相关技术中的令牌桶的工作原理如下:
[0004]令牌桶中的令牌按指定的控制速率消耗,网络流量每转发数据包,相当于将与数据包对应包长的令牌添加到令牌桶中,在每次向令牌桶中添加新的令牌时,都会检查令牌桶是否已满,如果令牌已满,则数据包被丢弃。
[0005]在相关技术中,DPI (Deep Packet Inspect1n,深度包检测)技术可以在深度挖掘数据包内容的基础上对网络流量进行更精细化的控制。其中,DPI技术在对流量进行控制时,会出现对大小类流量的组合控制。例如,P2P中的大类网络流量控制到lOOM/s,P2P中的小类网络流量控制到20M/s。如图1所示,将数据包的数据报文送入小类令牌桶中,判断是否丢包,如果判断为丢包,则丢弃此数据报文;如果判断为转发,则将数据报文再次送入大类令牌桶中,判断是否丢包,如果判断为丢包,则丢弃此数据报文,如果判断为转发,则将数据报文转发。
[0006]由于数据报文经过小类令牌桶后,小类网络流量的控制速率已经被控制到预定值,再进入第二个令牌桶也就是大类令牌桶,小类流量与其它数据包争抢大类令牌桶的令牌,大类网络流量的数据包仍然有可能被丢弃,从而导致最终小类网络流量的控制速率小于小类令牌桶的设定值。
[0007]因此需要一种新的技术方案,可以同时保证大类网络流量和小类网络流量的控制速率都稳定在设定值。

【发明内容】

[0008]本发明正是基于上述问题,提出了一种新的技术方案,可以同时保证大类网络流量和小类网络流量的控制速率都稳定在设定值。
[0009]有鉴于此,本发明的一方面提出了一种流量控制方法,包括:在对网络流量进行限速控制之前,确定所述网络流量的类型;当确定所述网络流量的类型为预定受控类型时,将所述网络流量送入与所述预定受控类型对应的第一令牌桶;在所述网络流量通过所述第一令牌桶后,将所述网络流量送入第二令牌桶,消耗所述第二令牌桶的令牌;使用所述第二令牌桶为已消耗所述令牌的所述网络流量转发数据包。
[0010]在该技术方案中,可以识别网络流量是否为需要控制的小类,当该网络流量确实属于需要控制的小类时,允许该网络流量通过小类令牌桶,即第一令牌桶,然后,将该网络流量直接送入大类令牌桶,即第二令牌桶,直接消耗大类令牌桶的令牌,完成数据包转发。换句话说,就是在现有的令牌桶流量控制算法的基础上,将两个令牌桶关联控制,使经过第一令牌桶的报文直接向第二令牌桶消费令牌,从而既保证了大类网络流量的控制速率稳定在设定值,也保证了小类网络流量的控制速率稳定在设定值,从而可以有效地对网络流量进行控制,提高网络带宽的使用效率,提升网络质量,同时,可以在深度挖掘数据包内容的基础上,对网络流量进行更加精细化的控制。其中,大类令牌桶为有条件溢出的令牌桶,即在某些条件下,即使大类令牌桶的令牌已满,仍可以注入令牌,而小类令牌桶为常规的令牌桶,如果令牌溢出则丢弃报文。
[0011]在上述技术方案中,优选地,所述网络流量的所述类型包括所述预定受控类型和非预定受控类型;以及在所述确定所述网络流量的类型之后,还包括:当确定所述网络流量的所述类型为所述非预定受控类型时,判断所述非预定受控类型的所述网络流量请求通过的所述第二令牌桶是否处于所述满溢状态或所述预借状态;当判断结果为是时,将所述网络流量的所述数据包丢弃;当判断结果为否时,将所述网络流量送入所述第二令牌桶,消耗所述第二令牌桶的所述令牌。
[0012]在该技术方案中,网络流量包括预定受控类型和非预定受控类型两种,当网络流量为预定受控类型时,允许该网络流量通过小类令牌桶,并将该网络流量直接送入大类令牌桶,直接消耗大类令牌桶的令牌。而当网络流量为非预定受控类型时,则仍然直接经过大类令牌桶,在大类令牌桶的令牌已满或溢出时,直接丢弃该网络流量的报文,直到高出大类令牌桶的令牌被消耗完毕,方可放行非预定受控类型的报文。通过该技术方案,保证了大类网络流量的控制速率稳定在设定值,从而可以有效地对网络流量进行控制。
[0013]在上述技术方案中,优选地,在所述将所述网络流量送入与所述预定受控类型对应的第一令牌桶之后,还包括:确定所述网络流量是否可以通过所述第一令牌桶,其中,当确定所述网络流量可以通过所述第一令牌桶时,将所述网络流量送入所述第二令牌桶,否贝1J,将所述网络流量的所述数据包丢弃。
[0014]在该技术方案中,将网络流量送入小类令牌桶后,小类令牌桶会对是否转发该网络流量进行判断,只有在判断允许转发行为时,才将网络流量转发至大类令牌桶。通过该技术方案,实现了对网络流量进行更加精细的控制,提高网络带宽的使用效率,提升网络质量。
[0015]在上述技术方案中,优选地,当确定所述网络流量可以通过所述第一令牌桶时,还包括:为所述网络流量的所述数据包的报文设置放行标记,以供所述网络流量由所述第一令牌桶进入所述第二令牌桶后,所述第二令牌桶在处于未满溢状态、满溢状态或预借状态时可以根据所述放行标记允许所述网络流量通过。
[0016]在该技术方案中,当允许网络流量通过小类令牌桶时,可以为该网络流量的报文打上放行标记,以便大类令牌桶根据该放行标记识别该网络流量属于预定受控类型,从而使大类令牌桶即使处于令牌满溢状态或令牌预借状态,也允许该网络流量直接消耗令牌。通过该技术方案,使大类令牌桶可以直接识别预定受控类型的网络流量,从而便于大类令牌桶进一步直接允许该网络流量消耗令牌。
[0017]在上述技术方案中,优选地,所述将所述网络流量送入第二令牌桶,消耗所述第二令牌桶的令牌,具体包括:判断所述第二令牌桶是否处于所述满溢状态或所述预借状态;当判断结果为是时,为所述第二令牌桶填充预借令牌,并为所述网络流量的所述数据包消耗所述预借令牌,当判断结果为否时,为所述网络流量的所述数据包消耗所述第二令牌桶的所述令牌。
[0018]在该技术方案中,网络流量被识别为预定受控类型后,进入大类令牌桶。此时无论大类令牌桶是否已满,都将该网络流量的报文放行。具体来讲,经过小类令牌桶的报文直接向大类令牌桶消费令牌,如果大类令牌桶的令牌已经耗尽,则使得大类令牌桶处于令牌预借的状态,让后续加入的令牌优先补充预借掉的令牌,这时,经过小类令牌桶的报文就可以进行令牌预借,从而可以优先放行。通过该技术方案,既保证了大类网络流量的控制速率稳定在设定值,也保证了小类网络流量的控制速率稳定在设定值,从而可以有效地对网络流量进行控制,提高网络带宽的使用效率,提升网络质量,同时,可以在深度挖掘数据包内容的基础上,对网络流量进行更加精细化的控制。
[0019]本发明的另一方面提出了一种流量控制系统,包括:第一确定单元,在对网络流量进行限速控制之前,确定所述网络流量的类型;第一限流单元,当确定所述网络流量的类型为预定受控类型时,将所述网络流量送入与所述预定受控类型对应的第一令牌桶;第二限流单元,在所述网络流量通过所述第一令牌桶后,将所述网络流量送入第二令牌桶,消耗所述第二令牌桶的令牌;数据包转发单元,使用所述第二令牌桶为已消耗所述令牌的所述网络流量转发数据包。
[0020]在该技术方案中,可以识别网络流量是否为需要控制的小类,当该网络流量确实属于需要控制的小类时,允许该网络流量通过小类令牌桶,即第一令牌桶,然后,将该网络流量直接送入大类令牌桶,即第二令牌桶,直接消耗大类令牌桶的令牌,完成数据包转发。换句话说,就是在现有的令牌桶流量控制算法的基础上,将两个令牌桶关联控制,使经过第一令牌桶的报文直接向第二令牌桶消费令牌,从而既保证了大类网络流量的控制速率稳定在设定值,也保证了小类网络流量的控制速率稳定在设定值,从而可以有效地对网络
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1