基于延迟的自动队列管理和尾部丢弃制造技术

技术编号:38673725 阅读:9 留言:0更新日期:2023-09-02 22:50
公开了用于通过利用队列延迟作为用于自动队列管理(“AQM”)和/或其他基于拥塞的策略目的的测量拥塞的基础来改进网络交换设备和/或整个网络的操作的方法、技术和机制。队列延迟是数据单元由于排队的缘故而在网络设备上等待的时间量的确切或近似度量,诸如在数据单元被业务管理器缓冲时的数据单元在出口队列中花费的时间量。队列延迟可以被用作现有AQM、加权随机早期检测(“WRED”)、尾部丢弃、显式拥塞通知(“ECN”)、反映和/或其他拥塞管理或通知算法中的队列大小的替代。或者,可以使用基于队列延迟和一个或多个其他指标(诸如队列大小)所计算的拥塞得分作为替代。小)所计算的拥塞得分作为替代。小)所计算的拥塞得分作为替代。

【技术实现步骤摘要】
【国外来华专利技术】基于延迟的自动队列管理和尾部丢弃


[0001]实施例一般涉及计算机联网,并且更具体地涉及用于网络设备内的数据单元的基于延迟的处理的技术。
[0002]相关案例
[0003]本申请涉及:由Brad Matthews等人于2017年1月16日提交的题为“Intelligent Packet Queues with Delay

Based Actions”的美国专利申请号15/407,149;由Brad Matthews等人于2017年1月16日提交的题为“Intelligent Packet Queues With Efficient Delay Tracking”的美国专利申请号15/407,159;由Brad Matthews等人于2019年2月28日提交的题为“Intelligent Packet Queues With Delay

Based Actions”的美国专利申请号16/288,165;以及由Brad Matthews等人于2019年9月18日提交的题为“Delay

Based Tagging In A Network Switch”的美国专利申请号16/575,343,其全部内容出于所有目的而特此通过引用被并入,如同在本文中完整阐述一样。

技术介绍

[0004]本部分中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有指示,否则不应假定本部分中描述的任何方法仅仅因为它们包含在本部分中就符合现有技术的条件。
[0005]计算机网络是一组通过通信链路而互连的计算组件。每个计算组件可以是单独的计算设备,诸如但不限于集线器、交换机、网桥、路由器、服务器、网关或个人计算机、或者其组件。每个计算组件或“网络设备”都被视为网络内的节点。通信链路是连接至少两个节点的机制,使得每个节点可以向另一个节点传输数据以及从另一个节点接收数据。这样的数据可以通过传输介质以信号的形式被传输,传输介质诸如但不限于电缆、光缆或无线介质。
[0006]节点之间的数据结构和传输受诸多不同协议的管控。可能存在多层协议,通常从最低层开始,诸如管控原始比特流作为信号在传输介质上的传输和接收的“物理”层。每一层限定一个数据单元(协议数据单元,或“PDU”),在一层处的多个数据单元通常进行组合以形成另一层中的单个数据单元。例如,各层的附加示例可以包括:数据链路层,其中由物理层所限定的比特被组合以形成帧或单元;网络层,其中由数据链路层所限定的帧或单元被组合以形成分组;以及传输层,其中由网络层所限定的分组被组合以形成TCP分段或UDP数据报。通信的开放系统互连模型描述了这些层和其他层的通信。然而,也可以使用限定分层信息的其他方式的其他模型。互联网协议套件或“TCP/IP堆栈”是通用协议群组的一个示例,这些协议可以在多个层上一起被使用以传递信息。然而,本文所描述的技术可以应用于TCP/IP堆栈之外的其他协议。
[0007]网络中的给定节点不一定具有到网络中的每个其他节点的链路,尤其是在更复杂的网络中。例如,在有线网络中,每个节点可能只有有限数目的物理端口,电缆可以插入到这些端口中以创建链路。某些“终端”节点——常常是服务器或最终用户设备——可能只有一个或少数几个端口。其他节点,诸如交换机、集线器或路由器,可能具有更多的端口,并且
通常被用来在终端节点之间中继信息。网络中的节点和链路的布置被称为网络的拓扑结构,并且通常被可视化为网络图或树。
[0008]网络中的给定节点可以通过沿着通过网络的通向另一个节点的一个或多个不同路径发送数据单元来与网络中的另一个节点通信,每个路径包括任意数目的中间节点。发送节点和接收节点可以被称为“端点”。跨计算网络的数据传输通常涉及沿着通过中间联网设备(诸如交换机或路由器)的路径发送数据单元(诸如分组、信元或帧),这些中间联网设备将每个数据单元引导或重定向到对应的目的地。
[0009]当数据单元传递通过中间联网设备时——被概念化为“访问”或“跳跃”的时间段——该设备可以对数据单元执行多种动作或处理步骤中的任何一种。所采取的确切动作集合将取决于数据单元的各种特性,诸如取决于存在于数据单元报头中的元数据,以及在许多情况下取决于网络设备的上下文或状态。例如,由数据单元指定的或以其他方式与数据单元相关联的地址信息,诸如源地址、目的地地址或路径信息,通常被用来确定如何处理数据单元(例如,针对数据单元采取什么动作)。例如,互联网协议(“IP”)数据分组可以包括IP数据分组的报头内的目的地IP地址字段,网络设备可以基于该字段来在数个可能的其他联网设备之中确定将IP数据分组转发到的一个或多个其他联网设备。网络设备内控制针对给定数据单元所执行的特定动作集合的逻辑常常被称为“分组交换”逻辑。
[0010]网络设备可以包括任意数目的内部硬件和/或软件组件,其被配置为处理数据单元在设备内的处理组件之间的移动,并最终移动到设备之外。希望这些组件能够快速确定将数据发送和/或存储到哪里以进行处理,并且一旦被确定就方便地将数据发送和/或存储到适当的目的地。此外,希望这些组件以最佳利用设备所在网络中的可用网络资源的方式来处理网络业务。
[0011]由于这些和其他原因,网络交换机或其他设备可以实现各种策略来控制设备是以正常方式将数据单元转发到其预期目的地,还是对数据单元执行一些特殊动作。例如,这样的策略可以指示应该“丢弃”或“抛弃”某些数据单元以减少在网络设备处或在整个网络内未来拥塞的可能性。作为另一个示例,这样的策略可以指示不是丢弃数据单元而是以特定方式对数据单元进行标记。
[0012]一些这样的策略被称为“尾部丢弃(Tail Drop)”策略。传统的尾部丢弃策略向网络设备的分组交换逻辑指示:当数据单元将入队其中的队列大于最大大小时,分组交换逻辑必须抛弃数据单元而不是将数据单元进行入队以供处理。在诸如传输控制协议(“TCP”)之类的协议中,预期会根据这些和其他策略丢弃数据单元,其包括允许端点检测分组何时被丢弃并请求重传的机制,诸如序列号。观察被丢弃数据单元的端点可以可选地采取动作以减少拥塞,诸如降低传输速率。
[0013]另一类这样的策略被称为主动队列管理(“AQM”)。传统的AQM策略向分组交换逻辑指示:在导致尾部丢弃的条件实际发生之前(例如,在队列达到队列的最大大小之前)、但是仅针对数据单元的一个子集,丢弃或标记数据单元。例如,AQM策略可能涉及选择一定百分比的数据单元进行丢弃,或者以特定频率丢弃数据单元。该策略可能会通过如下方式来概率地选择子集:将随机生成的数字与对应的阈值进行比较来确定丢弃哪些特定数据单元以达到此百分比。或者,该策略可能会利用对应的模式来确定丢弃哪些特定数据单元以达到此百分比。一些AQM策略可能会使用诸如加权随机早期检测(“WRED”)之类的算法来随着队
列大小的增加来调整此百分比。
[0014]AQM和其他策略可以与诸如显式拥塞通知(“ECN”)之类的拥塞通知逻辑相结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种联网装置,包括:多个通信接口,所述多个通信接口被配置为通过一个或多个网络接收和发送数据;分组交换逻辑,所述分组交换逻辑被配置为确定如何处理数据单元,包括经由所述多个通信接口将所述数据单元中的至少一些数据单元转发到其他网络设备;一个或多个缓冲存储器,所述一个或多个缓冲存储器被配置为在所述数据单元等待由所述分组交换逻辑处理时,存储所述数据单元;排队逻辑,所述排队逻辑被配置为利用多个队列来管理所缓冲的所述数据单元由所述分组交换逻辑处理的顺序;延迟跟踪逻辑,所述延迟跟踪逻辑被配置为基于与所述队列中的至少某些数据单元相关联的到达时间戳,计算与所述队列相关联的延迟度量;策略管理逻辑,所述策略管理逻辑被配置为基于针对特定队列被计算的特定队列延迟度量,确定一个或多个策略以应用于指派给所述特定队列的特定数据单元;其中所述分组交换逻辑还被配置为通过对所述特定数据单元的至少子集执行由所述一个或多个策略指示的一个或多个动作来实现所确定的所述一个或多个策略。2.根据权利要求1所述的装置,其中所述一个或多个策略包括在针对第一队列计算的第一队列延迟度量超过尾部丢弃阈值时,适用于所述第一队列的尾部丢弃策略;其中所述分组交换逻辑还被配置为:在所述尾部丢弃策略被应用于所述第一队列的同时,在被指派给所述第一队列的所述数据单元能够由所述排队逻辑入队之前,丢弃被指派给所述第一队列的所有数据单元。3.根据权利要求1所述的装置,其中所述一个或多个策略包括针对第一队列的加权随机早期检测(“WRED”)策略;其中所述策略管理逻辑还被配置为:基于WRED曲线和针对所述第一队列被计算的第一延迟度量,选择所述分组交换逻辑用于丢弃被指派给所述第一队列的数据单元的第一频率;其中所述分组交换逻辑还被配置为:在被指派给所述第一队列的第一数据单元能够由所述排队逻辑入队之前,丢弃所述第一数据单元,所述第一数据单元基于所述第一频率而被选择。4.根据权利要求1所述的装置,其中所述一个或多个策略包括针对第一队列的拥塞通知策略;其中所述策略管理逻辑还被配置为:基于针对所述第一队列被计算的第一延迟度量,选择所述分组交换逻辑用于标记被指派给所述第一队列的数据单元的第一频率;其中所述分组交换逻辑还被配置为:在第一数据单元从所述第一队列被出队时,利用拥塞通知来标记所述第一数据单元,所述第一数据单元基于所述第一频率而被选择。5.根据权利要求1所述的装置,其中所述一个或多个策略包括针对第一队列的反映策略;其中所述策略管理逻辑还被配置为:基于针对所述第一队列被计算的第一延迟度量,选择所述分组交换逻辑用于反映被指派给所述第一队列的数据单元的第一频率;其中所述分组交换逻辑还被配置为:在第一数据单元被入队到所述第一队列时,复制
所述第一数据单元并将所述第一数据单元的副本与所述装置的状态信息发送回到所述第一数据单元的发送方,所述第一数据单元基于所述第一频率而被选择。6.根据权利要求1所述的装置,其中所述策略管理逻辑还被配置为:基于与第一队列相关联的至少第一延迟度量与所述第一队列的大小的函数,计算针对所述第一队列的拥塞得分;以及基于所述拥塞得分来确定应用于所述第一队列的第一策略。7.根据权利要求1所述的装置,其中所述分组交换逻辑还被配置为:通过生成随机数并且将所述随机数和与所述策略管理逻辑确定为适用于给定数据单元的给定策略相关联的概率进行比较,确定所述给定数据单元是否在所述一个或多个动作相对于其被执行的所述特定数据单元的所述子集中,所述概率已经基于与所述给定数据单元被指派给的给定队列相关联的给定队列延迟度量而被确定。8.根据权利要求1所述的装置,其中所述分组交换逻辑还被配置为:基于与所述策略管理逻辑确定为适用于给定数据单元的给定策略相关联的计数器,确定所述给定数据单元是否在所述一个或多个动作相对于其被执行的所述特定数据单元的所述子集中,所述计数器的大小已经基于与所述给定数据单元被指派给的给定队列相关联的给定队列延迟度量而被确定。9.根据权利要求1所述的装置,其中所述一个或多个动作包括以下中的至少一个:抛弃数据单元、标记数据单元、或将数据单元反映回到发送方。10.根据权利要求1所述的装置,其中所述策略管理逻辑还被配置为:至少部分地基于与给定数据单元相关联的特定属性以及针对所述给定数据单元被...

【专利技术属性】
技术研发人员:W
申请(专利权)人:英诺维纽姆公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1