《Cisco QoS认证考试指南(第2版)》一1.2 基础内容

简介:

本节书摘来自异步社区《Cisco QoS认证考试指南(第2版)》一书中的第1章,第1.2节,作者 【美】Wendell Odom , Michael J. Cavanaugh,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 基础内容

Cisco QoS认证考试指南(第2版)
当我还是个小男孩时,我住在佐治亚州的巴恩斯维尔,那时我会和父亲一起去银行。每个银行出纳员前面都排着一队人,等着向出纳员进行咨询并办理他们的业务。而排在我们前面的人总是非常慢(我们称之为“布巴法则”——你总是排在体形庞大、不友善且名为“布巴”的人后面)。比我们晚到银行的人总是比我们优先获得服务,因为他没有排在“布巴”后面。但这是在南方农村,人们并不那么匆匆忙忙,所以也没有人真的很介意排队。

后来我们搬到了大城市——斯内尔维尔,就在亚特兰大旁边。在斯内尔维尔的银行里,人们的时间都很有限,因此在这里只有一条队以及很多出纳员。事实证明(排队理论证明),相对于每个出纳员接待排在自己前面的一队客户来说,很多出纳员共同接待一队客户,客户排队的平均时间有所降低。这时,如果那个很慢的人(布巴)正在出纳员1那里办理业务,当出纳员2空闲后,父亲和我就可以去出纳员2那里,而不是让比我们晚到银行的人优先获得服务。图1-1对比了这两种在银行或快餐店常见的排队方法,即多队列/多服务员对比单队列/多服务员。单队列多服务员缩短了客户的平均等待时间,但也无法使你幸运地选择一条快速队列——即布巴未排在其中的队列。


2803c8112f93c80922f450355f7cbf278add6770

斯内尔维尔的银行选择了不同的排队方法,这种方法为所有人都带来了好处,是吗?实际上,这种单队列也确实带来了一个不良影响——因为只有一个队列,你无法在到达银行时从多个队列中进行选择,并且碰巧选择了所有人都很快的队列。在这种情况下,平均每个人都获得了更好的服务,但你没机会真正很快地办完业务离开银行。总之,这种排队方法提高了大多数人的客户体验,而降低了少数人的客户体验。

在网络中,QoS描述了一组庞大的概念和工具,你可以用其影响那些访问特定服务的数据包。我们中的大多数人在想到QoS时,会想到各种队列特性,即重新排列输出队列,使某些数据包获得优先服务。但还有很多其他QoS特性可以对传输质量产生影响,比如压缩、丢弃策略、整形、限速和信令等。最终,无论你使用了哪种机制,你都使某类数据包的处理行为优于其他类型的数据包。与银行的情况一样,实施QoS就是实现“管理下的公平”,与此同时也实现了“管理下的不公平”——即你有意使一种数据包获得优先服务。事实上,引用Cisco QoS课程中对QoS的定义:

这种网络能力旨在为一部分用户/应用提供更好的或“特殊”的服务,这样做会对其他用户/应用产生不良影响。

我们所有人都有可能在日常生活中,沮丧地排到某条队列中。如果在收费站或在迪士尼等待旋转木马时(或者其他任何地方),从没有人排在我们前面就太好了。为了实现这个愿望,就需要设置更多的收费站,迪士尼需要扩大20倍,银行需要雇佣更多的出纳员。即使这样,增加更多的服务员并不总是能解决问题——收费站仍会在高峰时期拥挤不堪,迪士尼仍会在学校放假期间人满为患,银行仍会在每周五下午挤满领取周薪的人(至少我住的地方确实如此)。从经济的角度来看,为了消除队列而将迪士尼扩建20倍是个荒唐的想法。同样地,从经济的角度来看,将现有链路扩容20倍带宽可能也并不合理。毕竟,就联网来说,你只能负担得了这么多的容量或带宽。

本章首先密切关注QoS工具可以影响的4个流量特征:

带宽;
延迟;
抖动;
丢包。
当QoS工具针对某些流量优化了这些特性时,它可能同时为其他流量带来了不良影响。因此在你决定通过增加其他数据包的延迟,来减少一种数据包的延迟时,你应该理解每一种应用对网络的需求。下文详细介绍了语音、视频和数据流对于带宽、延迟、抖动和丢包的需求。

相关文章
|
11月前
|
SQL 人工智能 关系型数据库
Flink CDC YAML:面向数据集成的 API 设计
本文整理自阿里云智能集团 Flink PMC Member & Committer 徐榜江(雪尽)在 FFA 2024 分论坛的分享,涵盖四大主题:Flink CDC、YAML API、Transform + AI 和 Community。文章详细介绍了 Flink CDC 的发展历程及其优势,特别是 YAML API 的设计与实现,以及如何通过 Transform 和 AI 模型集成提升数据处理能力。最后,分享了社区动态和未来规划,欢迎更多开发者加入开源社区,共同推动 Flink CDC 的发展。
777 12
Flink CDC YAML:面向数据集成的 API 设计
|
11月前
|
Shell 开发工具 数据安全/隐私保护
milvus单节点安装教程
本文介绍了Milvus的安装与鉴权配置步骤。首先通过下载并执行.sh文件完成安装,命令为`wget`下载脚本和`bash standalone_embed.sh start`启动服务。若需开启鉴权,建议修改外部配置文件`user.yaml`中的`authorizationEnabled`选项为`true`,重启容器后,默认用户名密码为root/Milvus。此外,提供了Python验证连接的方法及修改密码的示例。参考资料包括官方文档和视频教程。
|
11月前
|
机器学习/深度学习 算法
《深度揭秘!海森矩阵如何左右梯度下降算法》
梯度下降算法是机器学习中寻找函数最小值的核心方法,而海森矩阵作为二阶偏导数矩阵,在优化过程中扮演着关键角色。它不仅帮助判断函数的凸性,确保全局最优解的收敛,还通过优化搜索方向和动态调整学习率,提高算法的稳定性和收敛速度。深入理解海森矩阵,能显著提升梯度下降算法的性能,助力更高效的模型训练与优化。
386 4
|
安全 Linux 网络安全
思科接入点支持的身份验证机制
【8月更文挑战第24天】
253 0
|
PHP 数据安全/隐私保护
PHP页面如何实现设置独立访问密码
PHP网页如果需要查看信息必须输入密码,验证后才可显示出内容的代码如何实现? 对某些php页面设置单独的访问密码,如果密码不正确则无法查看内容,相当于对页面进行了一个加密
137 2
PHP页面如何实现设置独立访问密码
|
算法 Go 分布式数据库
构建高可用的分布式数据库集群:使用Go语言与Raft共识算法
随着数据量的爆炸式增长,单一数据库服务器已难以满足高可用性和可扩展性的需求。在本文中,我们将探讨如何使用Go语言结合Raft共识算法来构建一个高可用的分布式数据库集群。我们不仅会介绍Raft算法的基本原理,还会详细阐述如何利用Go语言的并发特性和网络编程能力来实现这一目标。此外,我们还将分析构建过程中可能遇到的挑战和解决方案,为读者提供一个完整的实践指南。
|
人工智能 JavaScript Cloud Native
VUE讲解系列- - -Vuex内容讲解(二)
​ 今天叶秋学长带领大家继续学习vue讲解系列专栏的Vuex~~ 目录 一、Vuex的使用 ★安装vuex 【npm install vuex --save】 ★src下创建新的文件夹【store】便于管理,放入index.js文件 ★main.js中导入使用      Js获取: 二、多页面的状态管理 ★将共享的状态抽取出来,交给Vuex统一管理 ★每一个视图按照约定好的规则,进行访问和修改等操作    devtools ★devtools是Vue官方推出的浏览器插件,方便我们调试程序,查看状态等 ★改成下面的写法后,改state
255 0
VUE讲解系列- - -Vuex内容讲解(二)
|
存储 XML JSON
干货 | 一改测试步骤代码就全写?为什么不试试用 Yaml实现数据驱动?
![](https://ceshiren.com/uploads/default/original/3X/7/5/752649120a70c837c44f2e4885bb61e62b5d69cb.png) 理念与同“UI自动化测试框架”中的“测试步骤的数据驱动”相同,接口中的测试步骤的数据驱动就是将接口的参数(比如 method、url、param等)封装到 yaml 文件中管理。当测试步骤发生
|
机器学习/深度学习 人工智能 算法
Interview:人工智能岗位面试—人工智能职位之计算机视觉算法工程师的简介、知识结构、发展方向之详细攻略
Interview:人工智能岗位面试—人工智能职位之计算机视觉算法工程师的简介、知识结构、发展方向之详细攻略
Interview:人工智能岗位面试—人工智能职位之计算机视觉算法工程师的简介、知识结构、发展方向之详细攻略
|
机器学习/深度学习 编解码 算法
DL之R-FCN:R-FCN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之R-FCN:R-FCN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之R-FCN:R-FCN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略