Linux 流量控制 tc (一) - DiffServ理论

为了更好的使用 Linux 流量控制命令tc 命令,通过参考
Differentiated Service on Linux HOWTO作整理与解释,主要理解架构(看图说话),概念和术语。

tc主要使用的是DiffServ服务。第一部分首先理解QoS中的DiffServ。

DiffServ 相关概念与术语 (引自 6)

  • DSCP 差分服务标记字段(Different Service Code Point): DS(Differentiated Service)字段 在RFC2474中定义,在IP包头里称为TOS。DS和TOS在实施中有不同的表现5
  • PHB(Per Hop Behavior)行为:每跳行为,每一个路由器都会根据数据包的DSCP字段执行相应的PHB(Per Hop Behavior)行为, 对报文实施调度、监管等转发。
  • DS体系
    • DS域,DS Domain: 每个DS域则是由一些具有DiffServ功能的DS结点组成
    • DS 结点又分为两类, DS Node
      • DS边界节点 Boundary Node
      • DS内部结点 interior Node
  • SLA 服务等级合约(Service Level Agreement): 描述了用户可享受的转发服务特性的服务约定合同, 技术细节由服务等级规范(SLS,Service LevelSpecification)描述
  • TCA 业务量调节合约(Traffic Conditioning Agreement): 描述分类器进行业务量处理是所需依据规则的合约, 技术细节由流量调节规范(TCS,Traffic Conditioning Specification)描述

DiffServ体系


Linux 流量控制 tc (一) - DiffServ理论_第1张图片
[DiffServ体系](http://blog.csdn.net/derek_yi/article/details/8624091)

四类标准PHB包括(引自 7)

  • BE(Best-Effort): 默认PHB,尽力而为,
  • CS(Class Selector): CS表示类选择码,代表的服务等级与IP Precedence相同,DSCP取值为“XXX000”,X为0或1。
  • EF(Expedited Forwarding): 加速转发行为,代表DiffServ网络中最高的服务质量。应用于低丢包率、低时延、高带宽的业务,信息流的在任何情况下都能获得等于或大于设定的速率。DSCP取值为“101110”。
  • AF(Assured Forwarding): 确保转发行为,应用于带宽保证、低时延的关键数据业务。对未超出带宽限度的流量提供转发质量保证,对超出限度的流量降低服务等级后继续转发,而不是直接丢弃

四类AF(RFC 2597定义): 每类AF用“AFi”表示,其中1<=i<=4,即这四类AF是:AF1、AF2、AF3、AF4。并且在每类AF中,又定义了3种丢弃优先级,每种丢弃优先级用“AFij”表示,其中1<=j<=3,“j”值越大,表明丢弃优先级越高。各类AF业务对应的DSCP取值如下。 (细节可参考 3-15, 包括一个丢包率例子)

Linux 流量控制 tc (一) - DiffServ理论_第2张图片
Linux 流量控制 tc (一) - DiffServ理论_第3张图片
[引自 3-15](http://web.opalsoft.net/qos/default.php?p=ds-15)

DS /TOS 在IP包头中的位置


Linux 流量控制 tc (一) - DiffServ理论_第4张图片
[DS /TOS field](http://web.opalsoft.net/qos/default.php?p=ds-13)

RFC2427 中主要定义了

  • DS(Differentiated Service)字段;定义每跳行为(Per-hop Behaviors,PHB)
Linux 流量控制 tc (一) - DiffServ理论_第5张图片
只有低6位有效,是一个大小不超过63的数

包处理流程 (引自 3-14)

Linux 流量控制 tc (一) - DiffServ理论_第6张图片

其中

  • Meters: 根据TCA进行测量
  • Markers: 通过meters,设置DS字段到一个特定的代码点(codepoint)或设置其PHB行为
  • Shapers: 设置包延时以实现策略。使用有限缓存,当缓存不足时则丢弃包

参考:

  1. Linux 高级流量控制 source: IBM developerworks
  2. Linux下流量控制工具TC详细说明及应用实例
  3. Differentiated Service on Linux HOWTO, 概念框架清晰,含多图
  4. QoS,ToS和DiffServ
  5. 使用 DSCP 实施服务质量策略, Cisco DSCP实施,比较了DS和TOS差异。
  6. 百度百科: DiffServ
  7. DiffServ实现技术: DS拓扑, PHB定义

你可能感兴趣的:(Linux 流量控制 tc (一) - DiffServ理论)