CN102387082A - 基于流分类的分组流量控制系统及控制方法 - Google Patents
基于流分类的分组流量控制系统及控制方法 Download PDFInfo
- Publication number
- CN102387082A CN102387082A CN2011103817580A CN201110381758A CN102387082A CN 102387082 A CN102387082 A CN 102387082A CN 2011103817580 A CN2011103817580 A CN 2011103817580A CN 201110381758 A CN201110381758 A CN 201110381758A CN 102387082 A CN102387082 A CN 102387082A
- Authority
- CN
- China
- Prior art keywords
- flow control
- token
- list
- rule
- token bucket
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于流分类的分组流量控制系统及控制方法,主要解决对不同的特征的数据分组提供不同的流量控制的问题。该系统包括:字段表、规则表、流控参数表、令牌桶参数表、输入缓存器模块、匹配模块和流控模块。该方法包括首先配置规则表、字段表、流控参数表和令牌桶参数表,从网络中接收数据分组并将其存入输入缓存器中,从数据分组头部提取字段表的中设置的字段,并查找规则表,与规则表中的规则进行匹配,匹配完毕后,给出流控标签,以流控标签为索引取出相应的流控参数,再对数据分组进行流量控制。本发明具有对流量控制精细的优点,可用于需要对不同特征的数据分组提供不同的流量控制的通信环境中。
Description
技术领域
本发明属于数据通信领域,涉及对数据分组流量控制方法,可用于需要对不同特征的数据分组提供不同的流量控制的分组通信环境中。
背景技术
随着Internet的飞速发展,人们对网络的需求日益多样化,传统的单一形式的尽力而为Best Effort服务已经不能满足多元化的网络需求,网络提供商迫切需要为不同的网络服务提供不同级别的服务质量QoS。现在最常用的做法是提取数据分组中的优先级域,以此来决定提供服务的级别。但是,随着新业务的涌现如控制访问列表、差分服务、策略路由等,迫切需要对数据分组进行更精确的划分,标记每个数据分组所属的业务类,以此来决定它们应该接受哪种类型的服务。
衡量QoS的标准有很多,例如带宽、丢包率以及抖动控制和延迟等。其中,决定抖动控制和延迟的关键因素即为流量控制。因为如果允许某个节点通过的流量越大,那么数据分组通过此节点的传输时延和抖动就会越小,相应服务质量就会越高。
因此,为不同特征的数据分组提供不同的流量能够更好的满足网络服务精细化的需求。数据分组特征域有很多,例如:媒体接入控制源MAC地址、目的MAC地址、网络互联协议源IP地址目的IP地址、传输控制协议TCP域等。根据对数据分组分类时涉及特征域的多少,流分类可分为单域流分类和多域流分类。传统的流分类要么没有将流分类的结果和流量控制相关联,要么只是简单地提取分组的优先级然后做流量控制,因而都不能解决为不同特征的数据分组提供准确的流量控制。
发明内容
本发明的目的在于针对上述已有技术的不足,提供一种基于流分类的分组流量控制系统及控制方法,通过提取多层数据分组层的特征域,实现对不同特征的数据分组提供不同的流量控制。
本发明的技术方案是这样实行的:
一.本发明基于流分类的分组流量控制系统,包括:
字段表模块:用于设置从分组头部中提取的w个字段,所述字段是指数据分组不同层次头部中的地址、服务等级和协议号,w是一个大于或者等于1正整数;
规则表模块,用于设置对数据分组进行分类的n条规则,每一条规则包含m个条款和一个流控标签,其中条款由字段、操作和数值组成,操作包括大于、小于、等于、不等于、大于等于、小于等于;流控标签指示当从数据分组中提取的每个字段的数值均和条款中规定的数值相同时,应该进行的流控类型,流控标签的个数为q,q是一个根据分组流控类型的多少而设定的大于或等于1的正整数;
令牌桶参数表模块,用于存放令牌桶的参数,由q个表项组成,每个表项存放两个令牌桶参数:每次向流控令牌桶中注入令牌的个数N以及令牌桶中令牌个数的上限M,每个令牌代表的字节数,根据实际需求进行设定,一个令牌代表一个字节,N是依据令牌桶流量的大小而设置的大于或者等于1的正整数,M是依据令牌桶突发时间的长短而设置的大于或者等于N的正整数;
流控参数表模块,用于存放流控的参数,由q个表项组成,每个表项有两个流控参数:流控启动的标志位F和当前流控令牌桶中令牌的个数A,初始化时这两个参数均置为零,并且在流控过程中这两个参数是不断更新的,F有0和1两种状态,0表示关闭流控,1表示启动流控,A是一个小于或者等于M的非负整数;
输入缓存器模块:用于缓存通信节点从外部网络中接收的数据分组,缓存器的大小和数目根据网络中实际交换的分组大小和需求设定;
匹配模块:根据字段表中设置的关键字段从输入缓存器中提取数据分组头部中的相应的关键字段,从规则表中的第一条规则开始进行匹配,即检查提取的关键字段是否符合该规则中所有的条款,如果符合,则匹配结束,否则再进行下一条规则匹配,直到关键字段与一条规则中所有的条款都符合为止,并给出匹配规则携带的流控标签,如果关键字段和任何规则中的条款都不符合,则人为地设置一个流控标签;
流控模块:采用基于帧长的令牌桶流控算法对数据分组进行流量控制,包含流控决策子模块和流控参数表循环更新子模块;
流控决策子模块:以流控标签为索引查找流控参数表,取出流控参数表对应表项中的流控参数F和A,首先判断F标志位是否为1,如果为1,则表示已经启动令牌桶的流控功能;反之,尚未启动令牌桶流控功能,不对数据分组进行流控,直接给出流控成功标识;再判断A是否大于数据分组消耗的令牌个数p,如果大于,给出流控成功标识,并将令牌桶中令牌的数目将减少p;反之,给出流控失败标识,p等于数据分组的字节数,是一个正整数;
流控参数表循环更新子模块:依次循环更新流控参数表的第1个表项到第q个表项:取出流控参数表和令牌桶参数表中第1个表项中的四个参数F、A、N和M,并进行判断,若M为零,则将F置为零;反之,再判断F是否为零,如果F为零,将F更新为1,同时将A的大小设置为M;如果F不为零,判断A加N是否大于M,如果大于M,将A的数值更新为M;否则,将A的数值更新为A加N;接下来依次更新后面个各表项,直到第q个表项更新完毕后,然后再从第1个表项开始重新依次重新更新这q个表项,更新过程循环进行。
二.本发明基于流分类的分组流量控制方法,包括如下步骤:
(1)根据用户的需求,配置通信节点中的字段表、规则表、令牌桶参数表和流控参数表,
该字段表,包括t个字段,字段是指数据分组不同层次头部中的地址、服务等级和协议号,t是一个大于或者等于1正整数;
该规则表,存放有n条规则,每一条规则包含m个条款和一个流控标签,其中条款由字段、操作和数值组成,操作包括大于、小于、等于、不等于、大于等于、小于等于;流控标签指示当从数据分组中提取的每个字段的数值均和条款中规定的数值相同时,应该进行的流控类型,流控标签的个数为q,q是一个根据分组流控类型的多少而设定的大于或等于1的正整数;
该令牌桶参数表,由q个表项组成,每个表项存放令牌桶的两个参数:每次向流控令牌桶中注入令牌的个数N以及令牌桶中令牌个数的上限M,每个令牌代表的字节数,根据实际需求进行设定,一个令牌代表一个字节,N是依据令牌桶流量的大小而设置的大于或者等于1的正整数,M是依据令牌桶突发时间的长短而设置的大于或者等于N的正整数;
该流控参数表,由q个表项组成,每个表项有两个流控参数:流控启动的标志位F和当前流控令牌桶中令牌的个数A,初始化时这两个参数均置为零,并且在流控过程中这两个参数是不断更新的,F有0和1两种状态,0表示关闭流控,1表示启动流控,A是一个小于或者等于M的非负整数;
(2)通信节点从外部网络中接收数据分组并将其存入输入缓存器中,该输入缓存器的大小和数目根据网络中实际交换的分组大小和需求设定;
(3)根据字段表中设置的关键字段从输入缓存器中提取数据分组头部中的相应的关键字段,从规则表中的第一条规则开始进行匹配,即检查提取的关键字段是否符合该规则中所有的条款,如果符合,则匹配结束,否则再进行下一条规则匹配,直到关键字段与一条规则中所有的条款都符合为止,并给出匹配规则携带的流控标签,如果关键字段和任何规则中的条款都不符合,则人为地设置一个流控标签;
(4)采用基于帧长的令牌桶流控算法对数据分组进行流量控制:
(4a)以流控标签为索引查找流控参数表,取出流控参数表对应表项中的流控参数,即流控启动的标志位F和令牌桶中令牌的个数A;
(4b)判断F标志位是否为1,如果为1,则表示已经启动令牌桶的流控功能;否则,令牌桶流控功能尚未启动,不对数据分组进行流控,直接给出流控成功标识;
(4c)判断令牌桶中令牌的个数A是否大于数据分组需要消耗的令牌个数p,如果大于,则允许该分组通过流控,并给出流控成功标识,令牌桶中令牌的数目将减少p个;否则,给出流控失败标识,p等于数据分组的字节数,是一个正整数;
(4d)依次循环更新流控参数表的第1个表项到第q个表项:
4d1)更新流控参数表的第1个表项:即取出流控参数表和令牌桶参数表第1个表项中的四个参数F、A、N和M,并进行如下操作:
首先判断M是否为零,若M为零,则将F置为零;反之,再判断F是否为零,如果F为零,将F更新为1,同时将A的大小设置为M;如果F不为零,判断A加N是否大于M,如果大于M,将A的数值更新为M;否则,将A的数值更新为A加N;
4d2)从第2个表项到第q个表项循环执行4d1;
4d3)重复执行步骤4d1和4d2。
本发明将流分类技术和流控技术相结合,能够对不同类的数据分组分别进行流量控制的;同时由于本发明中的字段表和规则表的是可配置的,因此对数据分组的分类既可以精细化也可以粗略化,可根据实际应用进行设定;此外由于本发明中令牌桶参数表的每一个表项代表一种流量控制,因此通过设置令牌桶参数表可以实现对流分类分离出来的每一种数据分组分别提供不同的流量控制,这样不仅可以使各类数据分组的之间流量互不干扰,而且也能够将流量的大小控制的更加准确。
附图说明
图1为本发明的系统结构图;
图2为本发明的流程图。
具体实施方式
为使本发明目的、技术方案以及优点更加清楚明白,以下参照附图并举实例,对本发明进行近一步地详细说明。
参照图1,本发明提供的基于流分类的分组流量控制系统,包括字段表模块、规则表模块、令牌桶参数表模块、流控参数表模块、输入缓存器模块、匹配模块、流控决策子模块和流控参数表循环更新子模块。其中:
字段表模块:用于设置从分组头部中提取的t个字段,该字段是指数据分组不同层次头部中的地址、服务等级和协议号,这里t是一个大于或者等于1正整数;
规则表模块,用于设置对数据分组进行分类的n条规则,每一条规则包含m个条款和一个流控标签,其中条款由字段、操作和数值组成,操作包括大于、小于、等于、不等于、大于等于、小于等于,一条规则包含一个或者多个条款,规则所表述的是一种条件和结果的关系,即如果数据分组符合规则中的所有条款,则执行该规则中的动作,流控标签即为规则中的动作,流控标签指示当从数据分组中提取的每个字段的数值均和条款中规定的数值相同时,应该进行的流控类型,流控标签的个数为q,q是一个根据分组流控类型的多少而设定的大于或等于1的正整数;
令牌桶参数表模块,用于存放令牌桶的参数,由q个表项组成,每个表项存放有每次令牌桶中增加的令牌个数N及令牌桶中令牌数目的上限值M这两个令牌桶参数,该令牌以恒定的速率放入桶中,每个令牌允许数据源发送d比特的数据,每发送一个数据分组就要从令牌桶中删除与数据分组大小相同的令牌数,如果没有足够的令牌发送数据分组,数据分组或者等待直到有足够的令牌,或者直接被抛弃掉,本发明中每个令牌代表的比特数,根据实际需求进行设定,本发明举例中设定一个令牌代表一个字节,一个字节等于8个比特,令牌个数N是依据分配给令牌桶流量的大小而设置的大于或者等于1的正整数,M是依据允许令牌桶突发时间的长短而设置的大于或者等于N的正整数,令牌桶参数表的一个表项存放一个令牌桶的参数,因此令牌桶参数表根据表项确定,即有多少个表项,就有多少个令牌桶;
流控参数表模块,用于存放流控的参数,由q个表项组成,每个表项存放流控启动的标志位F和当前流控令牌桶中令牌的个数A两个参数,初始化时这两个参数均置为零,并且在流控过程中这两个参数是不断更新的,标志位F有0和1两种状态,0表示关闭流控,1表示启动流控,A是一个小于或者等于M的非负整数,流控参数表每个表项记录的是该表项对应的令牌桶当前的工作状态,流控参数表和令牌桶参数表表项个数相同;
输入缓存器模块:用于缓存通信节点从外部网络中接收的数据分组,缓存器的大小和数目根据网络中实际交换的分组大小和需求设定;
匹配模块:根据字段表中设置的关键字段从输入缓存器中提取数据分组头部中的相应的关键字段,从规则表中的第一条规则开始进行匹配,即检查提取的关键字段是否符合该规则中所有的条款,如果符合,则匹配结束,否则再进行下一条规则匹配,直到关键字段与一条规则中所有的条款都符合为止,并给出匹配规则携带的流控标签,如果关键字段和任何规则中的条款都不符合,则人为地设置一个流控标签,本发明对规则表中的规则按照顺序依次进行匹配,这是一种较为简单的方法,但是匹配方法并不仅仅局限于本发明提供的此种方法,也可以采用其他的方法;
流控模块:采用基于帧长的令牌桶流控算法对数据分组进行流量控制,它包含流控决策子模块和流控参数表循环更新子模块,其中:
流控决策子模块:以流控标签为索引查找流控参数表,取出流控参数表对应表项中的流控参数F和A,首先判断F标志位是否为1,如果为1,则表示已经启动令牌桶的流控功能;反之,尚未启动令牌桶流控功能,不对数据分组进行流控,直接给出流控成功标识;再判断A是否大于数据分组消耗的令牌个数p,如果大于,给出流控成功标识,并将令牌桶中令牌的数目将减少p;反之,给出流控失败标识,p等于数据分组的字节数,是一个正整数;
流控参数表循环更新子模块:依次循环更新流控参数表的第1个表项到第q个表项:取出流控参数表和令牌桶参数表中第1个表项中的四个参数F、A、N和M,并进行判断,若M为零,则将F置为零;反之,再判断F是否为零,如果F为零,将F更新为1,同时将A的大小设置为M;如果F不为零,判断A加N是否大于M,如果大于M,将A的数值更新为M;否则,将A的数值更新为A加N;接下来依次更新后面个各表项,直到第q个表项更新完毕后,然后再从第1个表项开始重新依次重新更新这q个表项,更新过程循环进行。
参照图2,本发明提供的基于流分类的分组流量控制方法,包括如下步骤:
步骤1:配置通信节点中的字段表、规则表、令牌桶参数表和流控参数表。
字段表,包含源MAC地址和目的MAC地址两个字段;
规则表,包含4条规则:规则1为当条款1源MAC地址=100成立时,流控标签=1;规则2为当条款1源MAC地址=600和条款2目的MAC地址=300同时成立时,流控标签=2;规则3为当条款1源MAC地址=600和条款2目的MAC地址=500同时成立时,流控标签=3;规则4为当条款1源MAC地址=600成立,流控标签=1;
令牌桶参数表,如表1所示,它包含4个表项:表项1中N=500、M=2000,表项2中N=1000、M=5000,表项3中N=0、M=0,表项4中N=400、M=3000;表1令
表1牌桶参数表
表项号 | N | M |
1 | 500 | 2000 |
2 | 1000 | 5000 |
3 | 0 | 0 |
4 | 400 | 3000 |
流控参数表,如表2所示,在t时刻,它包含4个表项的内容分别为:表项1中F=1、A=1000,表项2中F=0、A=0,表项3中F=1、A=6000,表项4中F=1、A=2800,参照表2。
表2流控参数表
表项号 | F | A |
1 | 1 | 1000 |
2 | 0 | 0 |
3 | 1 | 6000 |
4 | 1 | 2800 |
步骤2:接收节点中设置两个输入缓存器1和2,数据分组到来时,若两个输入缓存器都忙,则数据分组继续等待;反之,若第一输入缓存器1空闲,则接收数据分组,若第一输入缓存器1忙,则第二输入缓存器2接收数据分组;将接收到数据分组的源MAC地址设为600、目的MAC地址设为500;
步骤3:按照字段表中设置的字段,从接收到的数据分组中提取源MAC地址和目的MAC地址两个字段,从规则表中的第1条规则开始进行匹配,源MAC地址字段的值600和规则1中的条款1源MAC地址=100不符合,因此提取字段和规则1不匹配;对于规则表中的第2条规则,虽然源MAC地址字段的值和规则2中的条款1相符合,但是目的MAC地址字段的值500和规则2中的条款2目的MAC地址=300不相符,因此提取字段和规则2也不匹配;对于规则表中的第3条规则,源MAC地址字段和规则3中的条款1相符合,目的MAC地址字段和规则3中的条款2相符合,因此提取字段和规则3相匹配,结束匹配过程,给出匹配结果,即流控标签=1;如果从数据分组中提取的字段和规则表中的4条规则均不匹配,则给出结果,输出流控标签=4;
步骤4:采用基于帧长的令牌桶流控算法对数据分组进行流量控制:
4a)以流控标签=1为地址查找流控参数表,取出流控参数表的第1个表项的两个流控参数,即流控启动标志位F=1和令牌桶中令牌的个数A=1000,标志位F=1,说明令牌桶的流控功能已启动;
4b)判断令牌桶中令牌的个数A和数据分组帧长p的关系,因A=1000,则若p大于1000,给出流控失败标识,令牌的个数A不更新;反之,给出流控成功标识,并将令牌的个数A减少p个;
4c)依次循环更新流控参数表的第1个表项到最后一个表项:取出流控参数表和令牌桶容量参数表中第1个表项中的四个参数F、A、N和M,并进行判断,若M为零,则将F置为零;反之,再判断F是否为零,如果F为零,将F更新为1,同时将A的大小设置为M;如果F不为零,判断A加N是否大于M,如果大于M,将A的数值更新为M;否则,将A的数值更新为A加N;接下来依次更新后面个各表项,直到最后一个表项更新完毕后,然后再从第1个表项开始重新依次重新更新所有表项,更新过程循环进行。
本实例中流控参数表的更新过程通过依次循环更新流控参数表的第1个表项到第4个表项进行:
首先,更新流控参数表的第1个表项:同时取出流控参数表和令牌桶参数表第1个表项中的四个参数M=2000、N=500、A=1000和F=0,因M不为零且F=1,将该令牌桶中的令牌数增加N个,即将A更新为1500;
接着,更新流控参数表的第2个表项:同时取出流控参数表和令牌桶参数表第2个表项中的四个参数M=5000、N=1000、A=0和F=0,因M不为零但F=0,将F置位1,同时将令牌个数A更新为5000;
接着,更新流控参数表的第3个表项:即同时取出流控参数表和令牌桶参数表第3个表项中的四个参数M=0、N=0、A=6000和F=1,因M为零,故将F置为0;
接着,更新流控参数表的第4个表项:即同时取出流控参数表和令牌桶参数表第4个表项中的四个参数M=3000、N=400、A=2800和F=1,因M不为零且F=1,将该令牌桶中的令牌数增加N个,但增加完后令牌的个数为3200,大于令牌容量的上限M,M=3000,因此将令牌个数A更新为3000;
最后,从第1个表项开始重新依次更新流控参数表的4个表项,更新过程循环进行。
Claims (2)
1.一种基于流分类的分组流量控制系统,包括:
字段表模块:用于设置从分组头部中提取的w个字段,所述字段是指数据分组不同层次头部中的地址、服务等级和协议号,w是一个大于或者等于1正整数;
规则表模块,用于设置对数据分组进行分类的n条规则,每一条规则包含m个条款和一个流控标签,其中条款由字段、操作和数值组成,操作包括大于、小于、等于、不等于、大于等于、小于等于;流控标签指示当从数据分组中提取的每个字段的数值均和条款中规定的数值相同时,应该进行的流控类型,流控标签的个数为q,q是一个根据分组流控类型的多少而设定的大于或等于1的正整数;
令牌桶容量参数表模块,用于存放令牌桶的参数,由q个表项组成,每个表项存放两个令牌桶参数:每次向流控令牌桶中注入令牌的个数N以及令牌桶中令牌个数的上限M,每个令牌代表的字节数,根据实际需求进行设定,一个令牌代表一个字节,N是依据令牌桶流量的大小而设置的大于或者等于1的正整数,M是依据令牌桶突发时间的长短而设置的大于或者等于N的正整数;
流控参数表模块,用于存放流控的参数,由q个表项组成,每个表项有两个流控参数:流控启动的标志位F和当前流控令牌桶中令牌的个数A,初始化时这两个参数均置为零,并且在流控过程中这两个参数是不断更新的,F有0和1两种状态,0表示关闭流控,1表示启动流控,A是一个小于或者等于M的非负整数;
输入缓存器模块:用于缓存通信节点从外部网络中接收的数据分组,缓存器的大小和数目根据网络中实际交换的分组大小和需求设定;
匹配模块:根据字段表中设置的关键字段从输入缓存器中提取数据分组头部中的相应的关键字段,从规则表中的第一条规则开始进行匹配,即检查提取的关键字段是否符合该规则中所有的条款,如果符合,则匹配结束,否则再进行下一条规则匹配,直到关键字段与一条规则中所有的条款都符合为止,并给出匹配规则携带的流控标签,如果关键字段和任何规则中的条款都不符合,则人为地设置一个流控标签;
流控模块:采用基于帧长的令牌桶流控算法对数据分组进行流量控制,包含流控决策子模块和流控参数表循环更新子模块,
所述流控决策子模块:以流控标签为索引查找流控参数表,取出流控参数表对应表项中的流控参数F和A,首先判断F标志位是否为1,如果为1,则表示已经启动令牌桶的流控功能;反之,尚未启动令牌桶流控功能,不对数据分组进行流控,直接给出流控成功标识;再判断A是否大于数据分组消耗的令牌个数p,如果大于,给出流控成功标识,并将令牌桶中令牌的数目将减少p;反之,给出流控失败标识,p等于数据分组的字节数,是一个正整数;
所述流控参数表循环更新子模块:依次循环更新流控参数表的第1个表项到第q个表项:取出流控参数表和令牌桶容量参数表中第1个表项中的四个参数F、A、N和M,并进行判断,若M为零,则将F置为零;反之,再判断F是否为零,如果F为零,将F更新为1,同时将A的大小设置为M;如果F不为零,判断A加N是否大于M,如果大于M,将A的数值更新为M;否则,将A的数值更新为A加N;接下来依次更新后面个各表项,直到第q个表项更新完毕后,然后再从第1个表项开始重新依次重新更新这q个表项,更新过程循环进行。
2.一种基于流分类的分组流量控制方法,包括如下步骤:
(1)根据用户的需求,配置通信节点中的字段表、规则表、令牌桶容量参数表和流控参数表,
该字段表,包括t个字段,字段是指数据分组不同层次头部中的地址、服务等级和协议号,t是一个大于或者等于1正整数;
该规则表,存放有n条规则,每一条规则包含m个条款和一个流控标签,其中条款由字段、操作和数值组成,操作包括大于、小于、等于、不等于、大于等于、小于等于;流控标签指示当从数据分组中提取的每个字段的数值均和条款中规定的数值相同时,应该进行的流控类型,流控标签的个数为q,q是一个根据分组流控类型的多少而设定的大于或等于1的正整数;
该令牌桶容量参数表,由q个表项组成,每个表项存放令牌桶的两个参数:每次向流控令牌桶中注入令牌的个数N以及令牌桶中令牌个数的上限M,每个令牌代表的字节数,根据实际需求进行设定,一个令牌代表一个字节,N是依据令牌桶流量的大小而设置的大于或者等于1的正整数,M是依据令牌桶突发时间的长短而设置的大于或者等于N的正整数;
该流控参数表,由q个表项组成,每个表项有两个流控参数:流控启动的标志位F和当前流控令牌桶中令牌的个数A,初始化时这两个参数均置为零,并且在流控过程中这两个参数是不断更新的,F有0和1两种状态,0表示关闭流控,1表示启动流控,A是一个小于或者等于M的非负整数;
(2)通信节点从外部网络中接收数据分组并将其存入输入缓存器中,该输入缓存器的大小和数目根据网络中实际交换的分组大小和需求设定;
(3)根据字段表中设置的关键字段从输入缓存器中提取数据分组头部中的相应的关键字段,从规则表中的第一条规则开始进行匹配,即检查提取的关键字段是否符合该规则中所有的条款,如果符合,则匹配结束,否则再进行下一条规则匹配,直到关键字段与一条规则中所有的条款都符合为止,并给出匹配规则携带的流控标签,如果关键字段和任何规则中的条款都不符合,则人为地设置一个流控标签;
(4)采用基于帧长的令牌桶流控算法对数据分组进行流量控制:
(4a)以流控标签为索引查找流控参数表,取出流控参数表对应表项中的流控参数,即流控启动的标志位F和令牌桶中令牌的个数A;
(4b)判断F标志位是否为1,如果为1,则表示已经启动令牌桶的流控功能;否则,令牌桶流控功能尚未启动,不对数据分组进行流控,直接给出流控成功标识;
(4c)判断令牌桶中令牌的个数A是否大于数据分组需要消耗的令牌个数p,如果大于,则允许该分组通过流控,并给出流控成功标识,令牌桶中令牌的数目将减少p个;否则,给出流控失败标识,p等于数据分组的字节数,是一个正整数;
(4d)依次循环更新流控参数表的第1个表项到第q个表项:
4d1)更新流控参数表的第1个表项:即取出流控参数表和令牌桶容量参数表第1个表项中的四个参数F、A、N和M,并进行如下操作:
首先判断M是否为零,若M为零,则将F置为零;反之,再判断F是否为零,如果F为零,将F更新为1,同时将A的大小设置为M;如果F不为零,判断A加N是否大于M,如果大于M,将A的数值更新为M;否则,将A的数值更新为A加N;
4d2)从第2个表项到第q个表项循环执行4d1;
4d3)重复执行步骤4d1和4d2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110381758.0A CN102387082B (zh) | 2011-11-25 | 2011-11-25 | 基于流分类的分组流量控制系统及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110381758.0A CN102387082B (zh) | 2011-11-25 | 2011-11-25 | 基于流分类的分组流量控制系统及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102387082A true CN102387082A (zh) | 2012-03-21 |
CN102387082B CN102387082B (zh) | 2014-05-14 |
Family
ID=45826078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110381758.0A Active CN102387082B (zh) | 2011-11-25 | 2011-11-25 | 基于流分类的分组流量控制系统及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102387082B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710481A (zh) * | 2012-05-18 | 2012-10-03 | 华为技术有限公司 | 一种令牌周转控制方法、装置及系统 |
CN103378989A (zh) * | 2012-04-11 | 2013-10-30 | 百度在线网络技术(北京)有限公司 | 一种获取性能测试数据的方法和装置 |
CN104125155A (zh) * | 2013-04-26 | 2014-10-29 | 上海斐讯数据通信技术有限公司 | 交换机转发表优化配置方法 |
CN104243348A (zh) * | 2014-09-22 | 2014-12-24 | 曙光信息产业(北京)有限公司 | 一种数据处理方法和装置 |
WO2018166355A1 (zh) * | 2017-03-13 | 2018-09-20 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN108597253A (zh) * | 2018-03-15 | 2018-09-28 | 广州市中南民航空管通信网络科技有限公司 | 空中交通管理流量控制信息自动提取方法及装置 |
CN109218301A (zh) * | 2018-09-05 | 2019-01-15 | 天津市滨海新区信息技术创新中心 | 多协议间软件定义的帧头映射的方法和装置 |
CN111371697A (zh) * | 2020-03-16 | 2020-07-03 | 神州数码融信软件有限公司 | 面向系统间访问的精确流量控制方法及装置 |
CN113973084A (zh) * | 2021-10-29 | 2022-01-25 | 中国建设银行股份有限公司 | 一种流量控制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2405580A1 (en) * | 2001-10-04 | 2003-04-04 | Kt Corporation | Method for controlling traffic flow using token bucket |
CN102195819A (zh) * | 2011-05-30 | 2011-09-21 | 中兴通讯股份有限公司 | 一种网络设备及其业务流量监管方法 |
-
2011
- 2011-11-25 CN CN201110381758.0A patent/CN102387082B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2405580A1 (en) * | 2001-10-04 | 2003-04-04 | Kt Corporation | Method for controlling traffic flow using token bucket |
CN102195819A (zh) * | 2011-05-30 | 2011-09-21 | 中兴通讯股份有限公司 | 一种网络设备及其业务流量监管方法 |
Non-Patent Citations (1)
Title |
---|
骆建歆,梁伟,刘超: "一个基于令牌桶的带宽动态分配研究", 《广东通信技术》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103378989A (zh) * | 2012-04-11 | 2013-10-30 | 百度在线网络技术(北京)有限公司 | 一种获取性能测试数据的方法和装置 |
CN103378989B (zh) * | 2012-04-11 | 2016-08-17 | 百度在线网络技术(北京)有限公司 | 一种获取性能测试数据的方法和装置 |
CN102710481A (zh) * | 2012-05-18 | 2012-10-03 | 华为技术有限公司 | 一种令牌周转控制方法、装置及系统 |
WO2013170592A1 (zh) * | 2012-05-18 | 2013-11-21 | 华为技术有限公司 | 一种令牌周转控制方法、装置及系统 |
CN102710481B (zh) * | 2012-05-18 | 2015-07-08 | 华为技术有限公司 | 一种令牌周转控制方法、装置及系统 |
CN104125155A (zh) * | 2013-04-26 | 2014-10-29 | 上海斐讯数据通信技术有限公司 | 交换机转发表优化配置方法 |
CN104243348A (zh) * | 2014-09-22 | 2014-12-24 | 曙光信息产业(北京)有限公司 | 一种数据处理方法和装置 |
CN104243348B (zh) * | 2014-09-22 | 2018-03-23 | 曙光信息产业(北京)有限公司 | 一种数据处理方法和装置 |
WO2018166355A1 (zh) * | 2017-03-13 | 2018-09-20 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN108574679A (zh) * | 2017-03-13 | 2018-09-25 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN108574679B (zh) * | 2017-03-13 | 2021-03-30 | 华为技术有限公司 | 处理分组的方法和网络设备 |
US11310153B2 (en) | 2017-03-13 | 2022-04-19 | Huawei Technologies Co., Ltd. | Packet processing method and network device |
US11799766B2 (en) | 2017-03-13 | 2023-10-24 | Huawei Technologies Co., Ltd. | Packet processing method and network device |
CN108597253A (zh) * | 2018-03-15 | 2018-09-28 | 广州市中南民航空管通信网络科技有限公司 | 空中交通管理流量控制信息自动提取方法及装置 |
CN109218301A (zh) * | 2018-09-05 | 2019-01-15 | 天津市滨海新区信息技术创新中心 | 多协议间软件定义的帧头映射的方法和装置 |
CN109218301B (zh) * | 2018-09-05 | 2021-01-15 | 天津市滨海新区信息技术创新中心 | 多协议间软件定义的帧头映射的方法和装置 |
CN111371697A (zh) * | 2020-03-16 | 2020-07-03 | 神州数码融信软件有限公司 | 面向系统间访问的精确流量控制方法及装置 |
CN113973084A (zh) * | 2021-10-29 | 2022-01-25 | 中国建设银行股份有限公司 | 一种流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102387082B (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102387082A (zh) | 基于流分类的分组流量控制系统及控制方法 | |
CN103401777B (zh) | Openflow的并行查找方法和系统 | |
CN102737057B (zh) | 一种商品类目信息的确定方法及装置 | |
CN101631086B (zh) | 并行ip路由查找的路由表分区和放置方法 | |
CN104580027A (zh) | 一种OpenFlow报文转发方法及设备 | |
CN105740337B (zh) | 一种基于内容的发布订阅系统中的事件快速匹配方法 | |
CN1633111B (zh) | 高速网络业务流分类方法 | |
CN106452868A (zh) | 一种支持多维度聚合分类的网络流量统计实现方法 | |
CN104012063A (zh) | 用于软件定义网络中的灵活和可扩展流处理的控制器 | |
CN101242362B (zh) | 查找键值生成装置及方法 | |
CN104468357A (zh) | 流表的多级化方法、多级流表处理方法及装置 | |
CN105099916B (zh) | 开放流路由交换设备及其对数据报文的处理方法 | |
CN102609714A (zh) | 基于信息增益和在线支持向量机的新型分类器及分类方法 | |
CN105429879A (zh) | 流表项查询方法、设备及系统 | |
US20120320917A1 (en) | Apparatus and method for forwarding scalable multicast packet for use in large-capacity switch | |
CN104486116A (zh) | 多维度查询流量数据的方法及系统 | |
CN103685058B (zh) | 控制流数据的服务质量的方法和OpenFlow控制器 | |
CN115510936A (zh) | 基于联邦学习的模型训练方法及聚类分析器 | |
CN102195853B (zh) | 一种保存位图的方法和装置 | |
CN101241499A (zh) | Patricia树快速查找方法 | |
CN104125146B (zh) | 一种业务处理方法及装置 | |
EP3073685B1 (en) | Network control device, network control method, and program | |
CN105516016B (zh) | 一种使用Tilera多核加速卡基于流的数据包过滤系统及数据包过滤方法 | |
CN101404611B (zh) | 以太网虚连接域老化介质访问控制地址的方法 | |
CN107124410A (zh) | 基于机器深度学习的网络安全态势特征聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20120321 Assignee: BEIJING HANNUO SEMICONDUCTOR TECHNOLOGY CO., LTD. Assignor: Xidian University Contract record no.: 2016610000048 Denomination of invention: Flow-classification-based grouping flow control system and control method Granted publication date: 20140514 License type: Exclusive License Record date: 20161109 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |