博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QoS技术入门(实操必须掌握的基本理论)
阅读量:5985 次
发布时间:2019-06-20

本文共 2329 字,大约阅读时间需要 7 分钟。

QoS技术入门(理解取证IP报文的优先级字段)

     传统的分组网络对所有报文都无区别地对待,每个交换机、路由器对所有的报文均采用先进先出(FIFO)策略进行处理,尽最大的努力将报文传送到目的地,对于报文传送的时延,带宽分配等性能不提供任何承诺和保证。随着计算机网络高速发展,各种各样的数据都在同一个网络基础设施中传送,这样就导致了对带宽延迟要求较高的数据(如语音)得不到及时传送,造成网络拥塞、数据包丢弃等不良后果。

    QoSQuality of Service)即服务质量,是一种能够为部分用户或应用(或两者)提供更好或特殊服务而劣化其他用户或应用的网络流量管理能力。它能达到这一目标的关键在于使用了一种队列技术来将用户流量等级化。队列是等待通过网络设备的某个接口进行转发的一系列分组的缓存区域。在交换机、路由器中一般存在两种类型的队列,一种是硬件队列,另一种是软件队列。当数据达到网络设备(路由器或交换机)时,首先进入硬件队列进行转发,使用“先进先出”的原则进行数据转发。当硬件队列充满时,启用软件队列。管理员可以针对软件队列做调配,使用不同的队列技术实现不同的数据转发控制。制订优先等级,实现不同的流量管理策略事实上就是对软件队列实施不同的调度方式。

   QoS可以针对各种应用的不同需求,提供不同的服务质量,例如,提供专用带宽、减少报文丢失率、网络拥塞管理、网络拥塞避免、流量整形等。

   下面用一个简单的例子对比当网络发生拥塞时,报文在没有QoS保证和拥有QoS保证情况下的不同处理过程。发生网络拥塞时,如果在网络设备不支持QoS的情况下,所有的报文按照到达的先后顺序进入接口的FIFO(先进先出)队列尾部,而接口在发送报文时,从FIFO队列的头部开始,依次发送报文,所有的报文在发送过程中,没有任何区别,也不对报文传送的质量提供任何保证。紧急报文可能会被最后发送,如图6.28所示。

   如果在网络设备支持并使用QoS技术时,如图6.29所示,在报文到达接口后,首先对报文进行分类,然后按照报文所属的类别让报文进入不同队列的尾部。报文发送时,按不同的优先等级进行转发,优先级较高的队列中的报文发送完毕后,再发送低优先级队列中的报文。将紧急报文送入具备较高优先级的队列中,保证了属于较高优先级队列的报文有较低的时延。在网络发生拥塞时紧急报文的转发质量仍然能够得到保证。

注意:QoS技术只能更合理地分配与利用现有带宽,并不能够增加带宽。如果需要带宽,可向当地电信级运营商申请。

详解IP报文的优先级字段

   上面已讲述QoS技术的基本功能,也简单介绍了利用队列技术调度不同等级的IP数据报文。本小节将讲述设备是如何识别不同紧急程度的IP报文的,其实这是因为IP报文中有一个关键的ToSType of Service,服务类型)字段,扩展开TOS字段就可得到设置IP报文紧急程度的IP优先级标记位。如图6.30所示。服务类型(ToS)字段共有6个字节位,前3个字节位表示IP报文的优先级,表示数据的紧急程度,共有8个等级,具体如图6.31所示。

   在标记数据时,既可以使用数值,也可以使用名称(英文名称)。优先级67一般保留给网络控制数据使用,如路由协议将使用优先级67,其他网络业务应用一般不使用优先级67。优先级5推荐给语音数据使用,如IP语音电话。优先级4由视频会议和视频流使用。优先级3给语音控制数据使用,如语音的控制信令使用。优先级12给数据业务使用,用于常规的业务数据加速。优先级0为默认标记值,所有没有特别申明的常规数据都是0,表示尽力而为的传送。

注意:服务类型(ToS)字段共有6个字节位,可以看到IP优先级只使用了前3个字节位。那么服务类型(ToS)字段的后3个字节的意义是什么呢?

   DSCP表示差分服务代码点(Differentiated Services Code Point)。如果说IP优先级是为网络流量划分等级,以备QoS策略为不同等级的数据包执行不同的控制策略。那么DSCP值将扩展TOS字段的后3位,也就是对IP优先级的进一步扩展,DSCP值对IP包分类更“粒度化”,所谓“粒度化”就是让分类更详细一些、更精准一些,同时也兼容IP优先级,更形象的理解就是在一个优先级上再划出几种等级。比如,当网络发生拥塞时,IP优先级是1的数据包会比优先级是0的数据包先转发。那么如果两个IP报文的优先级都是1,请问谁先被转发?此时单纯的IP优先级已经无法做出决策。那么DSCP值将在同一优先级范围内再次划分等级,让转发策略更详细,如图6.32所示。

注意:IP优先级使用前3位,如果加上后3位的扩展就是DSCP使用,但是DSCP也只使用了后3位的前2位,表示丢弃的程度。最后一位永远是0,不被DSCP所使用。

由于DSCP只使用了ToS字段中后3位的前2位,所以DSCP值对IP优先级的扩展就有22次方,共计4种变化的结果。具体组合及相关意义如图6.33所示。

理解QoS的策略过程

一个完整的QoS策略过程包括:标记、分类、执行策略,如图6.34所示

标记:为各种数据分配不同的IP优先级或者DSCP值。比如,在企业网络中如果HTTP的流量比FTP的流量要紧急,那么就可以利用标记功能将HTTP的流量分配IP优先级标记为1,而FTP流量的IP优先级标记为0

分类:将已打标记的流量规划到不同的类别中,方便QoS针对这些类别完成不同的策略。

执行策略:标记与分类都是为执行QoS策略做准备,根据用户流量的等级规划,可以制订不同的QoS策略。比如,将P2P下载流量执行丢弃策略,将HTTP的流量执行限速策略,将IP语音流量执行带宽保证策略。

转载地址:http://mculx.baihongyu.com/

你可能感兴趣的文章
java实现沙箱测试环境支付宝支付(demo)和整合微信支付和支付宝支付到ssm环境全过程(附源码)...
查看>>
vue中css样式覆盖问题 vue中css样式作用域 vue.js样式不起作用
查看>>
html/css系列-图片上下居中
查看>>
spring security实战 2-服务端从Facebook读取用户的联系人( Authorization Code)
查看>>
分布式系统的经典基础理论
查看>>
JavaScript 工作原理之三-内存管理及如何处理 4 类常见的内存泄漏问题(译)
查看>>
ionic 全局监听所有页面事件
查看>>
ESS控制台发布新功能:创建多实例规格的伸缩配置
查看>>
借助webpack对项目进行分析优化
查看>>
拒绝“割韭菜”— 谈谈区块链正经的商用场景!
查看>>
Numpy学习笔记
查看>>
ffmpeg-hls拉流代码
查看>>
音视频转码技术指南:国内主流云转码服务提供商对比测评
查看>>
NPM酷库:semver 语义化版本判断
查看>>
微信支付 (当前页面URL未注册) 解决方案(angularjs)
查看>>
【332天】跃迁之路——程序员高效学习方法论探索系列(实验阶段90-2018.01.03)...
查看>>
【337天】每日项目总结系列075(2018.01.08)
查看>>
fsLayuiPlugin多数据表格使用
查看>>
最小二乘法小结
查看>>
分享 | 撞坏遥控车后,有个技术大牛爸爸是种怎样的体验
查看>>