(工作时间之余,总结了这些,累的食指快脱节了,现在还在恢复中,为的就是让文章质量再提高点,希望对大家有帮助!文章太长,为方便,我附件上文章原文。)
QOS,服务质量。顾名思义,就是为了给现有的网络提供一个更好的性能,让各种网络应用更加顺畅的运作。当然了,如果你想让网络运作的更好,那你就得了解你自己的网络啊。看看这个网络中都运行着什么网络应用,且这些网络应用比较关心的网络因素有那些,比如网络延迟、抖动、丢包率等等因素。我们就是通过控制这些对网络应用有着关键作用的因素来调节网络的正常、高速运行的。可以这样说:QOS特性就是用来修理网络数据传输过程中的一些小瑕疵的特性。只要你把这个数据路径修理的足够光滑,在某种程度来说没有任何的阻碍了,那么数据跑起来就会相当的流畅,什么丢包啊,延迟啊,延迟抖动啊就都统统解决啦。速度和质量得到了双保障。当然了,我们得对症下药,知道问题出在了那里。并且,这样还不够,我们还要知道问题“可能”出在那里!这样的话,我们就会把这种数据传输过程中的一些不良的隐患全部消除掉了。
我们使用了QOS后,可以说是我们想让网络怎么地,网络就怎么地,完全处于你的控制中。不但实现了网络数据的流畅传输,并且对网络资源的使用也做到了精确的控制,不会浪费资源,也不会让资源出现极其紧张的局面,即使有可能出现紧张的局面,那么我们也有办法来预防这种情况的发生。废话了不少,这些都是使用QOS的好处。其实,仔细看看,也不是废话,其中也谈到了很多QOS的核心内容:
1.因为我们可以对各种网络应用做到了精确的控制使用资源,那么肯定就是对他们进行区别对待了,这也就是QOS中分类的概念啊。
2.上面说到的,修理数据传输路径上的小瑕疵,以求让数据传输的更流畅,这也就是后面我们将要降到的流量调节啊。
3.在最后面我们还提到了,出现资源紧张的局面,我们可以采取措施来搞定,这里也就说到了后面将要详细介绍的拥塞管理和拥塞避免。
OK,开始正题。
QOS的好处不说了,那么我们有必要认识下QOS的俩大门派:集成QOS(IntServ QOS)和区分QOS(DiffServ QOS)。
来简单的介绍下他们俩个:集成的呢,就是用硬件方式来实现的。都是固化在设备里面的一些程序,也就说他们的灵活性不怎么地,这种类型的QOS只可以用在那种面向的技术升级很慢的环境中,如果升级很快的话,那么你更换设备就得跟上,那还了得啊!亏大了这种QOS的实现,是建立在网络对网络应用的处理行为是可预测的基础上的。它的主要实现依赖于一个重要的协议:RSVP(Resource Reservation Protocol) 资源预留协议。当一个支持RSVP的应用在发送数据之前,他们利用这个协议向RSVP网络请求特定类型的服务,并且应用将他的流量配置文件(traffice profile)发送给网络,告诉这个网络,需要按照这样的要求,给我分配资源,满足了这样的环境后,俺才发送数据咧。当网络得到确认后,才可以进行发送数据。有了这样的应用环境了,我们还得有一些控制措施啊,这就得通过在PDP(Policy Decision Point,策略决策点)使用COPS(common open policy service,通用开放策略服务)来集中完成许可控制。可以看出:这个集成QOS的实现靠的是RSVP+traffice profile + COPS来完成的。就这么点活~
那再看看DiffServ QOS。这个家伙,相对前面的就比较灵活了,可以说是为现在的网络量身打做的。这个这种类型的QOS中,数据流是要进行分类的,然后,我们可以进一步的对各种不同类的流进行的控制。这个控制的实现就是通过策略表来实现的。这样简单一说,我们就该知道了,实现他们是要有个类表,然后还得有个控制表----策略表。这年头,干啥不都讲究策略啊,呵呵、、、QOS也不例外。我们现在一般使用的都是后者。所以下面详细讲解。我们通过了解他的一些特性来理解他的工作原理和工作过程
区分服务QOS有一下特性:
1.分类
2.标记
3.流量调节
4.拥塞管理
5.拥塞避免
我们一个一个的来分析各个特性的特性和实现。
分类:顾名思义,显然就是对网络中的的数据流进行不同的分类,区别对待。那么分类的依据是什么呢?分类的方法有哪些呢?我们研究数据包的时候,有时候关心的是2层的,还有的时候是主要关心3层的。那么对于不同的层次的数据来说,分类的依据是一样的吗?分类的依据是系统默认的呢,还是可以进行人为设置的?带着问题看下面的分析!
QOS主要进行分类的依据就是DSCP(different services code point :区别服务编码点)。其实,这里说的这个8位的DSCP值更准确说应该是内部DSCP值。后面就会知道了。
对于2层的数据帧来说,我们使用COS来区分不同的数据流,并且这个3位的字段只出现的ISL或者802.1Q的封装帧中。存在VLAN标记中的,只占3位。
对于3层的数据包来说,我们使用的是IP数据包头中的TOS字段来表示的。TOS在IP数据报头中有一个字节的长度,但是并不是所有的位都来担任进行区分不同IP数据流的服务的。而只是高6位。其中高3位表示的是IP优先级。所以我们一般看的就是IP优先级,平时的映射关系说的也是IP优先级和内部DSCP的映射。中间的3位都是0。
现在看来,我们使用的是COS或者TOS的高6位。但是上面说是使用DSCP,所以就会有这俩者和DSCP(内部)之间的映射关系。不过,我们平时说的时候也是直接说DSCP,而不说COS和TOS 了。
典型的以太网数据包
2层数据报头 | 3层数据报头 | 数据 |
---|---|---|
第二层ISL帧
ISL包头(26字节,3位用于COS&# |
---|