《用于在分组交换网络中提供随机早期检测的装置和方法.pdf》由会员分享,可在线阅读,更多相关《用于在分组交换网络中提供随机早期检测的装置和方法.pdf(13页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104012048 A (43)申请公布日 2014.08.27 CN 104012048 A (21)申请号 201280057717.9 (22)申请日 2012.12.21 H04L 12/66(2006.01) H04L 12/861(2006.01) H04L 12/863(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 罗恩哈达尔 (54) 发明名称 用于在分组交换网络中提供随机早期检测的 装置和方法 (57) 摘要 一种用于在分组交换网络中提供随机早期检 测 RED 的装置 。
2、(1) 和方法, 所述装置 (1) 包括 : 出 队计数器 (2), 每次数据包从队列 Q 出队时, 其递 增 ; 每次数据包入队到所述队列 Q 时, 其重置 ; 系 数存储表CMT, 其存储了预定数目M个衰减系数C ; 以及计算单元 (4), 用于每次数据包入队到所述 队列Q时, 根据衰减系数C计算所述队列Q的平均 队列长度 AQS, 其中所述衰减系数从所述出队计 数器 (2) 重置之前其指向的所述系数存储表 CMT 的存储地址中读取。 (85)PCT国际申请进入国家阶段日 2014.05.23 (86)PCT国际申请的申请数据 PCT/EP2012/076641 2012.12.21 (8。
3、7)PCT国际申请的公布数据 WO2014/094873 EN 2014.06.26 (51)Int.Cl. 权利要求书 2 页 说明书 7 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书7页 附图3页 (10)申请公布号 CN 104012048 A CN 104012048 A 1/2 页 2 1.一种用于在分组交换网络中提供随机早期检测RED的装置(1), 其特征在于, 所述装 置 (1) 包括 : 出队计数器 (2), 每次数据包从队列 Q 出队时, 出队计数器 (2) 递增 ; 每次数据包入队 到所述队列 Q 时, 出队计数器 (。
4、2) 重置 ; 系数存储表 CMT, 存储了多个衰减系数 C ; 以及 计算单元 (4), 用于每次数据包入队到所述队列 Q 时, 根据衰减系数 C 计算所述队列 Q 的平均队列长度 AQS, 其中所述衰减系数从所述出队计数器 (2) 重置之前所述出队计数器 (2) 指向的所述系数存储表 CMT 的存储地址中读取。 2. 根据权利要求 1 所述的装置, 其特征在于, 所述计算单元 (4) 用于将计算得到的所述队列 Q 的平均队列长度 AQS 与最大阈值和 最小阈值比较 ; 如果所述平均队列长度 AQS 超过所述最大阈值, 丢弃接收的数据包 ; 如果所 述平均队列长度 AQS 小于所述最小阈值,。
5、 将所述接收的数据包入队 ; 以及如果所述计算得 到的平均队列长度 AQS 介于所述最小阈值和所述最大阈值之间, 随机丢弃所述接收的数据 包。 3. 根据权利要求 2 所述的装置, 其特征在于, 如果所述计算得到的平均队列长度 AQS 介于所述最小阈值和所述最大阈值之间, 随机 丢弃所述接收的数据包, 其中每个流量优先级的丢弃概率不同。 4. 根据权利要求 1 所述的装置, 其特征在于, 所述计算单元 (4) 用于如下计算所述队列 Q 的所述平均队列长度 : Curr AQSQueue Size DiffxC+Queue Size Diff, 其中 Curr AQS 是当前平均队列长度 AQS。
6、, Queue Size Diff 是队列长度差, Queue Size Diff (Prev Queue SizeCurr Queue Size)/2, 其中 Prev Queue Size 是先前计算得到的所述队列 Q 的队列长度, Curr Queue Size 是当前计算得到的所述队列 Q 的队列长度, C 是根据所述队列 Q 的所述出队计数器的所述指针值从所述系数存储表 CMT 中读取的 所述衰减系数。 5. 根据权利要求 1 所述的装置, 其特征在于, 所述衰减系数 C 是所述系数存储表 CMT 中存储的指数衰减函数的衰减系数。 6. 根据权利要求 5 所述的装置, 其特征在于, 。
7、所述计算单元 (4) 用于如下提前计算所述指数衰减函数的所述衰减系数 C : xi+1 xix(NW)/N Ci+1 (xi+1x0)/x0 其中 x0 是任意数, N 和 W 是任意数 (WN), i 是变量。 7. 根据权利要求 6 所述的装置, 其特征在于, x0 设置为 100, W 设置为 1, N 设置为 256。 8. 一种用于在分组交换网络中提供随机早期检测 RED 的方法, 其特征在于, 所述方法 权 利 要 求 书 CN 104012048 A 2 2/2 页 3 包括以下步骤 : 每次数据包从队列Q出队时, 递增(S3)出队计数器(2) ; 每次数据包入队到所述队列Q 时。
8、, 重置所述出队计数器 (2) ; 以及 每次数据包入队到所述队列 Q 时, 根据衰减系数 C 计算 (S6) 所述队列 Q 的平均队列长 度AQS, 其中所述衰减系数从所述出队计数器(2)重置之前所述出队计数器(2)指向的系数 存储表 CMT 的存储地址中读取 (S4)。 9. 根据权利要求 8 所述的方法, 其特征在于, 所述方法进一步包括将所述计算得到的 所述队列 Q 的平均队列长度 AQS 与最大阈值和最小阈值比较 (S7, S9) ; 如果所述计算得到的平均队列长度 AQS 超过所述最大阈值, 丢弃 (S8) 接收的数据包, 如果所述计算得到的平均队列长度 AQS 小于所述最小阈值,。
9、 将所述接收的数据包入队 (S11), 以及 如果所述计算得到的平均队列长度 AQS 介于所述最小阈值和所述最大阈值之间, 随机 丢弃 (S10) 所述接收的数据包。 10. 根据权利要求 9 所述的方法, 其特征在于, 随机丢弃 (S10) 所述接收的数据包包括 随机丢弃所述接收的数据包 (S10), 其中每个流量优先级的丢弃概率不同。 11. 根据权利要求 8 至 10 所述的方法, 其特征在于, 根据衰减系数 C 如下计算 (S6) 所述队列 Q 的所述平均队列长度 AQS : Curr AQSQueue Size DiffxC+Queue Size Diff, 其中 Curr AQS 。
10、是当前平均队列长度 AQS, Queue Size Diff 是所述队列长度差, Queue Size Diff (Prev Queue SizeCurr Queue Size)/2, 其中 Prev Queue Size 是先前计算得到的所述队列 Q 的队列长度, Curr Queue Size 是当前计算得到的队列长度, 以及 C 是根据所述队列 Q 的所述出队计数器 (2) 的所述指针值从所述系数存储表 CMT 中读 取的所述衰减系数。 12. 根据权利要求 8 至 11 所述的方法, 其特征在于, 所述衰减系数 C 是所述系数存储表 CMT 中存储的指数衰减函数的衰减系数。 13.据权。
11、利要求8至12中任一权利要求所述的方法, 其特征在于, 所述方法进一步包括 如下提前计算所述指数衰减函数的所述衰减系数 C : xi+1 xix(NW)/N Ci+1 (xi+1x0)/x0 其中 x0 是任意数, N 和 W 是任意数 (WN), i 是变量。 14. 一种用于在分组交换网络中提供随机早期检测 RED 的装置, 其特征在于, 所述装置 包括执行根据权利要求 8 至 13 中任一者的方法的处理器。 15. 一种包括了根据前述权利要求 1 至 7 和 14 中任一者的装置的分组交换网络。 权 利 要 求 书 CN 104012048 A 3 1/7 页 4 用于在分组交换网络中提。
12、供随机早期检测的装置和方法 背景技术 0001 随机早期检测 RED 是一种在分组交换网络中避免流量拥塞的机制。传统随机早期 检测机制, 也称为随机早期丢弃 (random early discard/random early drop) 机制, 是一种 主动队列管理算法。使用随机早期检测机制, 可以在拥塞发生之前随机丢弃数据。随着数 据拥塞变高, 数据包丢弃的概率增加。随机早期检测机制可以监控平均队列长度 AQS 并基 于统计概率法丢弃数据包。例如, 如果缓冲几乎为空, 接受所有传入数据包。当缓冲中的数 据包的队列 Q 增长时, 丢弃传入数据包的概率也增加。如果缓冲已满, 那么概率变为 10。
13、0 并且丢弃所有传入数据包。 为每个接收的数据包重新计算平均队列长度AQS。 然而, 在分组 交换网络的传统随机早期检测机制中, 平均队列长度 AQS 的计算仅考虑接收到的数据的输 入函数, 而没有考虑输出函数, 即, 传统随机早期检测机制仅考虑传入数据包的入队到队列 Q, 而没有考虑数据包从各个队列出队。因此, 在分组交换网络中使用的传统随机早期检测 方法确实只显示了预测数据拥塞和避免网络中的这种数据拥塞的有限能力。 0002 相应地, 需要提供一种能够在分组交换网络中准确地预测数据拥塞并提供更好地 避免数据拥塞的装置和方法。 发明内容 0003 本发明提供了一种用于在分组交换网络中提供随机。
14、早期检测的装置作为第一方 面, 所述装置包括 : 0004 出队计数器, 每次数据包从队列 Q 出队时, 出队计数器递增 ; 每次数据包入队到所 述队列 Q 时, 出队计数器重置 ; 0005 系数存储表 CMT, 存储了多个衰减系数 C ; 以及 0006 计算单元, 用于每次数据包入队到所述队列 Q 时, 根据衰减系数 C 计算所述队列 Q 的平均队列长度 AQS, 其中所述衰减系数从所述出队计数器重置之前所述出队计数器指向 的所述系数存储表 CMT 的存储地址中读取。 0007 在根据本发明的第一方面的装置的第一可能实施方式中, 所述计算单元用于将计 算得到的所述队列 Q 的平均队列长度。
15、 AQS 与最大阈值和最小阈值比较。 0008 在根据本发明的第一方面的装置的第一实施方式的第二实施方式中, 所述计算单 元用于如果所述平均队列长度 AQS 超过所述最大阈值, 丢弃接收的数据包。 0009 在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置的 第一或第二实施方式的第三实施方式中, 所述计算单元用于如果所述平均队列长度 AQS 小 于所述最小阈值, 将所述接收的数据包入队。 0010 在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置的 第一至第三实施方式中任一者的第四实施方式中, 所述计算单元用于如果所述计算得到的 平均队列长度 AQS 介于所。
16、述最小阈值和所述最大阈值之间, 随机丢弃所述接收的数据包。 0011 在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置的 第四实施方式的第五实施方式中, 如果所述计算得到的平均队列长度 AQS 介于所述最小阈 说 明 书 CN 104012048 A 4 2/7 页 5 值和所述最大阈值之间, 随机丢弃接收的数据包, 其中每个流量优先级的丢弃概率不同。 0012 在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置的 第一至第五实施方式的第六实施方式中, 所述计算单元用于如下计算所述平均队列长度 AQS : 0013 Curr AQSQueue Size Dif。
17、fx C+Queue Size Diff, 0014 其中 Curr AQS 是当前平均队列长度 AQS, 0015 Queue Size Diff 是队列长度差, 0016 Queue Size Diff (Prev Queue SizeCurr Queue Size)/2, 0017 其中 Prev Queue Size 是先前计算得到的所述队列 Q 的队列长度, 0018 Curr Queue Size 是当前计算得到的所述队列 Q 的队列长度, 0019 C 是根据所述队列 Q 的所述出队计数器的所述指针值从所述系数存储表 CMT 中读 取的所述衰减系数。 0020 在根据本发明的第一。
18、方面的用于在分组交换网络中提供随机早期检测的装置的 第六实施方式的第七实施方式中, 所述衰减系数 C 是衰减系数。 0021 在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置的 第七实施方式的第八实施方式中, 所述预先计算的衰减系数是所述系数存储表 CMT 中存储 的指数衰减函数的系数。 0022 在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置的 第七或第八实施方式中任一者的第九可能实施方式中, 所述计算单元用于如下提前计算所 述指数衰减函数的所述衰减函数 C : 0023 xi+1 xix(NW)/N 0024 Ci+1 (xi+1x0)/x0 0025。
19、 其中 x0 是任意数, N 和 W 是任意数 (WN), i 是变量。 0026 在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置的 第九实施方式的第十可能实施方式中, 0027 x0 设置为 100, 0028 W 设置为 1, 0029 N 设置为 256。 0030 本发明进一步提供了一种用于在分组交换网络中提供随机早期检测的方法作为 第二方面, 所述方法包括以下步骤 : 0031 每次数据包从队列 Q 出队时, 递增出队计数器 ; 每次数据包入队到所述队列 Q 时, 重置出队计数器 ; 以及 0032 每次数据包入队到所述队列 Q 时, 根据衰减系数 C 计算所述队。
20、列 Q 的平均队列长 度 AQS, 所述衰减系数从所述出队计数器重置之前所述出队计数器指向的系数存储表 CMT 的存储地址中读取。 0033 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第一可能实施方式中, 所述方法进一步包括将所述计算得到的所述队列 Q 的平均队列长度 AQS 与最大阈值和最小阈值比较。 0034 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 说 明 书 CN 104012048 A 5 3/7 页 6 第一实施方式的第二可能实施方式中, 所述方法进一步包括如果所述计算得到的平均队列 长度 AQS 超过所述最大阈值, 丢弃接收。
21、的数据包。 0035 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第一或第二实施方式的第三可能实施方式中, 所述方法进一步包括如果所述计算得到的平 均队列长度 AQS 小于所述最小阈值, 将所述接收的数据包入队。 0036 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第一至第三实施方式中任一者的第四可能实施方式中, 所述方法进一步包括如果所述计算 得到的平均队列长度 AQS 介于所述最小阈值和所述最大阈值之间, 随机丢弃所述接收的数 据包。 0037 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第五可能实施方式中, 。
22、随机丢弃 (S10) 所述接收的数据包包括随机丢弃所述接收的数据包 (S10), 其中每个流量优先级的丢弃概率不同。 0038 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第六可能实施方式中, 所述方法进一步包括根据衰减系数 C 如下计算所述队列 Q 的所述平 均队列长度 AQS : 0039 Curr AQSQueue Size Diffx C+Queue Size Diff, 0040 其中 Curr AQS 是当前平均队列长度 AQS, 0041 Queue Size Diff 是所述队列长度差, 0042 Queue Size Diff (Prev Queue。
23、 SizeCurr Queue Size)/2, 0043 其中 Prev Queue Size 是先前计算得到的所述队列 Q 的队列长度, 0044 Curr Queue Size 是当前计算得到的队列长度, 以及 0045 C 是根据所述队列 Q 的所述出队计数器的所述指针值从所述系数存储表 CMT 中读 取的衰减系数。 0046 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第一至第六实施方式中任一者的第七可能实施方式中, 所述衰减系数 C 是预先计算的衰减 系数。 0047 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第七实施方式的第八。
24、可能实施方式中, 所述预先计算的衰减系数是所述系数存储表 CMT 中 存储的指数衰减函数的系数。 0048 在根据本发明的第二方面的用于在分组交换网络中提供随机早期检测的方法的 第九可能实施方式中, 所述方法进一步包括如下提前计算所述指数衰减函数的所述衰减系 数 C : 0049 xi+1 xix(NW)/N 0050 Ci+1 (xi+1x0)/x0 0051 其中 x0 是任意数, 0052 N 和 W 是任意数 (WN), i 是变量。 0053 根据本发明的第三方面, 提供了一种用于在分组交换网络中提供随机早期检测的 替代装置。 所述装置包括用于执行根据第二方面或第二方面的前述第一至第。
25、九实施形式中 任一者的方法的处理器。 说 明 书 CN 104012048 A 6 4/7 页 7 0054 本发明进一步提供了包括根据本发明的第一方面、 根据第一方面的前述第一至第 十实施形式中任一者、 或根据本发明的第三方面的装置的分组交换网络作为第四方面。 0055 在根据本发明的第四方面的分组交换网络的可能实施方式中, 所述网络包括互联 网。 0056 根据第五方面, 本发明可以在数字电子电路中或在计算机硬件、 固件、 计算机软件 中或在其组合中实施。 所述计算机软件包括用于执行根据第二方面或根据第二方面的前述 第一至第九实施形式中任一者的方法的程序代码。 0057 本发明的这些和其他。
26、方面从以下所述的实施例中显而易见。 附图说明 0058 以下将参考附图描述根据本发明的第一、 第二、 第三和第四方面的用于在分组交 换网络中提供随机早期检测的装置和方法的可能实施例。 0059 图 1 所示为根据本发明的第一方面的随机早期检测装置的可能实施方式的方框 图 ; 0060 图 2 所示为根据本发明的第二方面的用于在分组交换网络中提供随机早期检测 的方法的可能实施方式的流程图 ; 0061 图 3 所示为示出了由传统随机早期检测机制对比根据本发明的装置和方法提供 的随机早期检测机制提供的在随机的数据流量下的队列的平均队列长度 AQS 的图。 具体实施方式 0062 图 1 所示为用于。
27、在分组交换网络中提供随机早期检测 RED 的装置 1 的可能实施方 式。在所示的实施方式中, 装置 1 包括队列 Q, 数据包可以入队 (ENQ) 到队列 Q 和从队列 Q 出队 (DEQ)。用于在分组交换网络中提供随机早期检测的装置 1 进一步包括出队计数器 2, 每次数据包从队列 Q 出队时, 出队计数器 2 递增 ; 每次数据包入队到队列 Q 时, 出队计数器 2 重置。 0063 队列是一种特定类型的抽象数据类型或一种集合, 该集合中的实体按序排列。以 FIFO 队列为例, 对集合的主要 ( 或唯一 ) 操作是将实体增加到后部末端位置, 称为入队, 以 及将实体从前部末端位置移除, 称。
28、为出队。这使队列成为先入先出 (FIFO) 数据结构。 0064 从图 1 可见, 在所示的实施方式中, 用于在分组交换网络中提供随机早期检测的 装置1包括存储器3中存储的系数存储表CMT, 其中该系数存储表CMT存储了预定数目M个 衰减系数 C, 如图 1 所示。 0065 用于在分组交换网络中提供随机早期检测 RED 的装置 1 进一步包括计算单元 4。 计算单元 4 用于每次数据包入队到队列 Q 时, 根据衰减系数 C 计算各个队列 Q 的平均队列 长度AQS, 该衰减系数C从出队计数器2重置之前出队计数器2指向的系数存储表CMT的存 储地址中读取。队列 Q 的存储大小, 即可以入队到装。
29、置 1 的各个队列中的数据包数目可以 根据装置 1 的应用而变化。进一步地, 装置 1 的队列 Q 中存储的数据包还可以具有不同的 数据包大小并且可以包括不同类型的数据包和 / 或数据协议。用于在分组交换网络中提供 随机早期检测 RED 的装置 1 可以形成一个更复杂的装置或机器的部分, 例如分组交换网络 中的路由器。这种路由器的每个端口可以具有不同的队列 Q, 其中在可能实施方式中, 可以 说 明 书 CN 104012048 A 7 5/7 页 8 给每个队列分配例如来自客户端的输入数据流。 这种客户端可以通过链路连接到各个路由 器的端口, 各个路由器包括图 1 所示的用于在分组交换网络中。
30、提供随机早期检测 RED 的装 置 1。在可能实施方式中, 每个客户端可以在装置 1 中拥有自己的队列 Q。在可能实施方式 中, 计算单元 4 可以输出计算得到的各个队列 Q 的平均队列长度 AQS 用于进一步处理。 0066 用于在分组交换网络中提供随机早期检测的装置 1 的又一可能实施方式中, 计算 单元 4 进一步用于将计算得到的各个队列 Q 的平均队列长度 AQS 与预定最大阈值和预定最 小阈值比较。在可能实施方式中, 对于装置 1 的不同应用而言, 最大阈值以及最小阈值是 可修改的。在可能实施方式中, 如果计算得到的平均队列长度 AQS 超过最大阈值, 计算单 元 4 可以为各个队列。
31、 Q 丢弃接收的数据包。相反, 如果计算得到的平均队列长度 AQS 小于 最小阈值, 计算单元将接收的数据包入队到各个队列 Q。在又一可能实施方式中, 计算单元 用于如果计算得到的平均队列长度 AQS 介于最小阈值和最大阈值之间, 随机丢弃接收的数 据包。在根据本发明的第一方面的用于在分组交换网络中提供随机早期检测的装置 1 的可 能特定实施方式中, 计算单元 4 用于如下计算平均队列长度 AQS, 也称为下一平均队列长度 NEXT AQS : 0067 NEXT AQS Curr AQSQueue Size Diffx C+Queue Size Diff, 0068 其中 Curr AQS 。
32、是当前平均队列长度 AQS, 0069 Queue Size Diff 是所述队列长度差, 0070 Queue Size Diff (Prev Queue SizeCurr Queue Size)/2, 0071 其中 Prev Queue Size 是先前计算得到的各个队列 Q 的队列长度, 0072 Curr Queue Size 是当前计算得到的各个队列 Q 的队列长度, 0073 C 是根据各个队列 Q 的出队计数器 2 的指针值从所述系数存储表 CMT 中读取的衰 减系数。 0074 在可能实施方式中, 存储器 3 中存储的衰减系数 C 可以是系数存储表 CMT 中存储 的指数衰减。
33、函数的预先计算的衰减系数。在可能实施方式中, 系数存储表 CMT 内存储器 3 中存储的衰减函数 C 是预先计算的并且是可配置的。在可能实施例中, 装置 1 的计算单元 4 用于如下提前计算装置 1 的存储器 3 中存储的指数衰减函数的衰减系数 C : 0075 xi+1 xix(NW)/N 0076 Ci+1 (xi+1x0)/x0 0077 其中 x0 是任意数, N 和 W 是任意数 (WN), i 是变量。 0078 在可能示例性实施方式中, 值如下 : 0079 x0 设置为 100, 0080 W 设置为 1, 0081 N 设置为 256。 0082 图 2 所示为根据本发明的第。
34、二方面的用于在分组交换网络中提供随机早期检测 RED 的方法的可能实施方式的流程图。 0083 从图 2 可见, 在步骤 S1, 下一数据包将通过各个队列 Q 来处理。在进一步的步骤 S2, 决定数据包是否需要入队到各个队列 Q 或需要从各个队列 Q 出队。如果数据包被出队, RED 装置 1 的出队计数器 2 在图 2 所示的步骤 S3 中递增。另一方面, 如果数据包入队到各 个队列 Q, 根据图 2 所示的步骤 S4 中的出队计数器值指示的地址从系数存储表 CMT 中读取 说 明 书 CN 104012048 A 8 6/7 页 9 衰减系数 ( 也称为衰减函数系数 )C。在步骤 4 中从。
35、系数存储表 CMT 中读取了衰减系数后, 在步骤 S5 中重置装置 1 的出队计数器 2。在步骤 S6, 计算各个队列 Q 的平均队列长度 AQS。 进一步地, 在可能实施方式中, 计算等式如下 : 0084 NEXT AQS Curr AQSQueue Size Diffx C+Queue Size Diff, 0085 其中 NEXT AQS 是当前正在计算的平均队列长度 AQS, 0086 Curr AQS 是当前平均队列长度 AQS, 0087 Queue Size Diff 是所述队列长度差, 0088 Queue Size Diff (Prev Queue SizeCurr Que。
36、ue Size)/2, 0089 其中 Prev Queue Size 是先前计算得到的各个队列 Q 的队列长度, 0090 Curr Queue Size 是当前计算得到的队列长度, 以及 0091 C是步骤S4中根据各个队列Q的出队计数器2的指针值从系数存储表CMT中读取 的衰减系数。 0092 步骤S5和S6的执行无次序要求, 它们可以并行执行或先后执行。 例如, 在图2中, 在步骤 S6 之前执行步骤 S5。 0093 在进一步的步骤 S7, 比较计算得到的平均队列长度 AQS 和预定最大阈值 THMAX, 如 果平均队列长度 AQS 超过预定最大阈值, 在步骤 S8, 丢弃数据包。如。
37、果计算得到的各个队 列Q的平均队列长度AQS小于最大阈值THmax, 在步骤S9, 比较计算得到的平均队列长度AQS 和最小阈值 THmin。如果计算得到的平均队列长度 AQS 超过最小阈值 THmin, 即介于最小阈值 和最大阈值之间, 在步骤 S10, 丢弃接收的数据包。相反, 如果计算得到的平均队列长度 AQS 也低于最小阈值 THmin, 在图 2 所示的步骤 S11 中, 将数据包入队。 0094 图 2 的实施方式中所示的计算机制不仅执行入队的迭代, 即输入数据包, 还考虑 数据包的出队 ( 输出数据包 )。相应地, 图 2 所示的计算机制不是简单地增加出队的迭代, 从而加倍计算数。
38、目以及读取当前平均队列长度和队列长度值所需的带宽。 为了避免这种不 利, 图2的实施方式中所示的计算方法仅对入队进行计算, 但是可以使用系数存储表CMT估 算出队数目的影响。根据本发明的方法使用出队计数器 2, 出队计数器 2 在每次出队时递 增 ; 当遇到入队时, 在步骤 S5 中重置出队计数器 2。出队计数器 2 表示数据包最后一次入 队到队列 Q 之后的出队数目。如果遇到出队, 从系数存储表 CMT 中读取系数 C。系数存储表 CMT 可以基于指数衰减函数, 其中衰减系数 C 为预先计算的, 即曾经提前计算。每个衰减系 数 C 存储在存储器 3 的存储地址处, 如图 1 所示。出队计数器。
39、 2 的值作为选择存储了衰减 函数系数的存储地址的指针。存储器 3 中存储的衰减系数 C 的数目 M 可变。例如, 存储器 3 中存储的衰减系数 C 的数目 M 可以包括 1000 个指数衰减系数 C。在步骤 5 中每次进行出 队计数器2重置时, 出队计数器2设置回存储器3的系数存储表CMT中存储的第一系数C1。 每次数据包从各个队列 Q 出队时, 在步骤 S3 中出队计数器 2 递增且指向存储了下一系数 C 的下一存储地址。例如, 如果行中遇到 10 个出队操作, 出队计数器 2 以 10 倍递增并指向系 数存储表 CMT 中存储的第 10 个系数 C10。使用图 2 所示的方法, 进行随机。
40、早期检测 RED 来 避免流量数据拥塞。根据本发明的方法的平均队列长度 AQS 的计算, 如图 2 的实施方式中 所示, 考虑了数据的输入函数以及输出函数。当考虑输入和输出函数时, 总的来说, 根据本 发明的方法产生更好的平均队列长度。 保持低计算开销以及通过继续仅在接收的数据包上 进行计算可以实现这点。确定的平均队列长度 AQS 确实提高了装置 1 的预测数据拥塞的能 说 明 书 CN 104012048 A 9 7/7 页 10 力, 并在分组交换网络中更好地避免了数据拥塞。 0095 根据另一实施例, 图 2 所示的方法可以在数字电子电路中或在计算机硬件、 固件、 计算机软件中或在其组合。
41、中实施。计算机软件包括用于执行图 2 所示的方法的程序代码。 0096 根据本发明的另一实施例, 提供了一种用于在分组交换网络中提供随机早期检测 的替代装置。该装置包括用于执行图 2 所示的方法的处理器。 0097 图3示出了随着时间的变化在随机的数据流量下计算得到的平均队列长度AQS的 图。从图 3 可见, 根据本发明的用于在分组交换网络中提供随机早期检测的方法确实显示 了平均队列长度 AQS 的更高的准确度以及更好的跟踪。曲线 I 示出了传统 RED 机制, 其中 仅为入队计算平均队列长度AQS。 第二曲线II是根据本发明的方法计算得到的平均队列长 度 AQS。该方法计算了入队的平均队列长。
42、度和出队的近似值。第三曲线 III 示出了数据包 的入队和出队的最佳计算。从图 3 可见, 由本发明 ( 曲线 II) 进行的平均队列长度的计算 比使用用于随机早期检测的传统方法(曲线I)进行的平均队列长度的计算更加准确, 因为 曲线 II 更接近最佳曲线 III。 0098 水平线表示没有入队的时间段, 因此平均队列长度 AQS 保持上一个入队值。甚至 在只有出队的周期期间, 平均队列长度 AQS 值可继续上升, 因为队列长度大于平均队列长 度 AQS。甚至在只有入队的周期期间, 平均队列长度 AQS 可继续下降, 因为队列长度小于平 均队列长度 AQS。 0099 在根据本发明的方法的可能。
43、实施方式中, 如果计算得到的平均队列长度 AQS 介于 最小阈值和最大阈值之间, 随机丢弃接收的数据包, 其中每个流量优先级的丢弃概率不同。 在该实施方式中, 进行加权随机早期检测WRED。 对于将由该机制丢弃的数据包而言, 具有较 高流量优先级的数据流量的概率更小。 0100 在又一可能实施方式中, 对于数据包丢弃的响应, 协议, 例如 TCP 协议可以增加传 输率, 这样避免了流量拥堵。用于在分组交换网络中提供随机早期检测 RED 的方法可以在 多种应用和网络中使用, 尤其在结合 TCP 协议的互联网中。根据本发明的用于在分组交换 网络中提供随机早期检测的改进方法可以通过保持避免拥塞的属性来增加网络的带宽效 率。 用于在分组交换网络中提供随机早期检测的方法可以由任意路由器或使用随机早期检 测的其他通信设备使用来提高各个路由器或通信设备的性能。 说 明 书 CN 104012048 A 10 1/3 页 11 图 1 说 明 书 附 图 CN 104012048 A 11 2/3 页 12 图 2 说 明 书 附 图 CN 104012048 A 12 3/3 页 13 图 3 说 明 书 附 图 CN 104012048 A 13 。