zoukankan      html  css  js  c++  java
  • 学习1:QoS概述、模型、组件

      

    一、QOS概述

      在普通的网络中,当用户将数据发向网络设备后,网络设备都是尽最大努力传输数据,直到超出自己的最大负荷为止。 当设备达到最大负荷后,如果还有用户发来的数据,那么这些数据将因为网络设备不能提供服务而被丢弃。这样的提供最大化服务的网络被称为尽力而为服务的网络。 在尽力而为服务的网络中,所有的数据都被看成是同等重要的,用户的数据有时无法得到保证。

      所以在某些时候,必须让网络通过放弃传输相对不重要的数据来保证用户的重要数据和传输。因此,就需要在网络中实施 Quality of Service,即 QOS。实施了 QOS 的网络中,可以为特定数据保证带宽,同时也可以限制宽带,可以避免网络拥塞和管理拥塞,甚至可以为数
    设置不同的优先级

      QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术

     

    二、QOS模型

      QOS模型分为三种:

             Best-Effort Service尽力而为服务模型
             Integrated Service 综合服务模型,即IntServ模型
             Differentiated Service 区分服务模型,即DiffServ服务模型

      Best-Effort模型

      网络尽最大可能发送报文,任意发送任意报文,不需要事先得到批准或通知网络。但对时延、可靠性等性能不提供任何保障

      目前缺省服务模型,主要实现技术是先进先出队列FIFO

      IntServ模型

      综合服务模型 QOS 的网络中,应用程序在发送数据之前,必须先向网络申请带宽。例如程序在正常通信下需要 500K 的带宽,那么程序在连接之前,必须向网络申请自己需要 500K 的带宽,当网络同意后,便可连接,并且将保证能够得到 100K 的带宽,而不会有任何延迟。

       但是如果某些程序在连接之前没有向网络申请带宽,那么它的流量只能得到尽力而为的服务。 
      在申请带宽时,所用到的协议为 Resource Reservation Protocol(RSVP)
      在综合服务模型中,重要的数据可以通过申请带宽而得到保证,但是在传送之前必须申请,也需要耗费额外一些时间,在现有的网络中,综合服务模型的 QOS通常并不被采用。

      DiffServ服务模型

      区分服务模型 QOS 的网络中,网络将根据不同数据提供不同服务

      所有数据都被分成不同的类别,或者设置为不同的优先级,在网络发生拥塞时,网络总是先保证传输高优先级的数据,从而放弃传输低优先级的数据,但是在网络没有拥塞时,所有数据全部照常传输。

      在实施区分服务模型的 QOS,就必须先将数据分成不同的类别,或设置成不同的优先级。现在的网络中,实施 QOS 时通常采用DiffServ服务模型


      在网络中,数据从源到目的地,所有的网络设备,包括路由器、交换机、防火墙等,每一台单一的设备对数据包做出的区分服务 QOS 行为称为 per-hop behavior.PHB 每跳行为
      如果数据包从源到目的路径中所有设备都为某类数据执行相同的区分服务行为,即都执行相同的 QOS 策略,那么这样的 QOS 就被称为 end-to-endQoS(端到端 QOS)

    三、QOS组件


      在实施区分服务模型QOS时,有四个QOS组件,这些组件相互组合,可以设计出完整的QOS策略


      分类和标记 classification and marking

      管制和整形 Policing and Shaping

      拥塞管理 Congestion management

      拥塞避免 Congestion avoidance

      分类和标记

      要提供区分服务的 QOS,就必须先将数据分为不同的类别,或者将数据设置为不同的优先级。将数据分为不同的类别,称为分类(classification),分类并不修改原
    来的数据包。将数据设置为不同的优先级称为标记(marking),而标记会修改原来的
    数据包。分类和标记是实施 QOS 的前提,也是基础。

      管制和整形

      在实施 QOS 策略时,可以将用户的数据限制在特定的带宽,当用户的流量超过 额定带宽时,超过的带宽将不能被传输,只能采取其它方式来处理,
      如果处理方式为丢弃超出带宽,那么这种行为称为管制(Policing)
      如果是将超出的带宽缓存在内存中,等到下一秒再传递,这种行为称为整形(Shaping
     

      拥塞管理
      
    当网络发生拥塞后,数据还是要被传递的,正因为接收到的数据远多于自身的传输能力,所以数据被传输时就出现了先后顺序,而依照什么样的方式来传数据,就需要队列的指导, QOS 中的队列定义了数据包被传输的先后顺序。

      拥塞避免
      当网络发生拥塞后,超出的流量将采取其它方式处理,如果处理方式为管制,那么数据包就会被丢弃,通常情况下,网络设备默认丢弃后到的数据包而传输先到的数据包,这样的丢弃方式称为尾丢弃,但也可以让网络设备在发生拥塞时,先丢低优先级的数据包而传输高优先级的数据包。

     

     

     

  • 相关阅读:
    C++ Primer 学习笔记_104_特殊工具与技术 --嵌套类
    [AngularJS + Webpack] Requiring CSS & Preprocessors
    [AngularJS + Webpack] Requiring Templates
    [AngularJS + Webpack] ES6 with BabelJS
    [Flux] 3. Actions
    [RxJS] Aggregating Streams With Reduce And Scan using RxJS
    [RxJS] map vs flatMap
    [RxJS] Stream Processing With RxJS vs Array Higher-Order Functions
    [MODx] Solve cannot upload large file
    [React + webpack] hjs-webpack
  • 原文地址:https://www.cnblogs.com/juankai/p/11125418.html
Copyright © 2011-2022 走看看