QoS中队列简介

今天给大家讲解QoS中队列机制,本文主要讲解路由器内部的转发设计和队列的基本概念,主要面向0基础读者,力图使用最简单形象的语言描述QoS中队列的概念以及为什么要引入队列。本文可以看做是QoS的基础课程。

一、什么是网络拥塞

在计算机网络设备中,当数据包的流量超出端口的最大带宽后,会发生网络拥塞,常见的网络拥塞场景如下图所示:
在这里插入图片描述
在这里插入图片描述
在上图中,红色表示数据包流量,在图一中,R1和R2的数据流量都发往R3,并且假设所有的数据都要从R3的G0/0/2口发送出去,此时两个接口的收到的流量综合超过了R3的G0/0/2口的带宽,因此会发生拥塞。而在图二中,与R1与R2相连的接口是G0/0/1,R1与R3相连的接口是E0/0/1,此时若数据流量为R2——R1——R3,则因为R1与R3相连接口带宽较小,因此在该接口上也会发生拥塞。

二、什么是队列

QoS的本质就是在接口上对不同的流量提供不同的调度,而调度的对象就是队列。简单来看,当网络发生拥塞时,网络设备中的数据包一时无法全部转发完毕,此时有一部分来不及转发的数据包就会存储在网络设备的内存中,而为了使得网络设备能够合理的管控这些数据包,因此引入了队列的数据结构。
一般而言,队列即一系列的指针。队列中存放的就是数据包在网络设备内存中存放的位置,因此队列中的数据包大小本身不会影响队列的长度,也不会影响队列中可以排入的数据包数量。每个队列可以排列10个1500字节的数据包,就像排列10个64自己的数据包一样。也因此队列的单位通常是报文个数而不是报文字节数。

三、网络设备中的硬件队列和软件队列

在网络设备的出接口处,一般由一个最基本的队列,该队列以FIFO(First IN First Out)的方式调度,我们把该队列放入硬件队列。在硬件队列之前,为了实现QoS,实现对网络流量的管理以及对网络流量带宽、延时、抖动和丢包的参数的控制,网络设备在硬件队列前面还有一个软件队列。网络设备在处理数据包时,将数据包存储在内存中,当网络设备计算出该数据包的转发接口后,如果发现接口繁忙,就会把该数据包存放在内存中,同时等待接口的状态变为可用。
为了管理这些被保留在内存中的等待发送的数据包,网络设备才有了队列机制,仅负责管理等待发送的数据。网络设备中的硬件队列和软件队列如下图所示:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/118737621

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值