互联网协议 — IP 网络的 DiffServc/DSCP QoS 机制
Posted 范桂飓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了互联网协议 — IP 网络的 DiffServc/DSCP QoS 机制相关的知识,希望对你有一定的参考价值。
目录
背景
在 Internet 上承载实时业务对 IP 网络技术来说是一大挑战。主要原因有 2 点:
- IP 协议是面向无连接的,IP 网络提供的业务仅是 “尽力而为” 的业务,网络本身是不保证传输可靠性的。
- TCP/UDP 协议虽然对于 Internet 的传统应用可以提供一定的容错和纠错功能,但对于实时业务来说,TCP 的重传机制显得苍白无力。抛开 TCP 建链和确认的时延不说,重传引入的时延对于这些对时延极其敏感的实时业务来说是不能忍受的。而 UDP 本身就是不可靠的。
因此,IETF 为了提供一种能够在 Internet 上提供 QoS 保证的方法而提出了 IntServ/RSVP 和 DiffServ 机制。
DiffServ
DiffServ 采用了 “边缘监管 + 分配 + 业务优先级” 的结合,为不同的 QoS 要求的数据流分配不同的服务优先级,从而实现业务差分(Differential Service)的 QoS 保障。
其实现思想是:在网络入口处,根据用户和 ISP(服务商)签订的 SLA(Service Level Agreement,服务等级协定),为指定的业务分配一个 DSCP(区分服务代码)。
路由器根据 DSCP 值来决定分组的 PHB(Per Hop Behavior,逐调行为)。具有相同的 DSCP 值的分组将接受相同的处理,这些处理构成了一个 BA(Behavior Aggragate,行为聚合)。
DiffServ 机制还提出了 DiffServ 域的概念:一个 DiffServ 域由许多路由器组成。处于域边缘的路由器称之为 ER(边缘路由器),处于域核心的路由器称之为 CR(核心路由器)。DiffServ 将针对单一流的复杂处理推向网络的边缘,由 ER 来完成数据包的分类和流量调节;CR 不再维护节点的状态信息,仅完成相应的 PHB 操作。因此,对于这种 Core-Stateless 方式的模型来说,具有很好的扩展性和伸缩性。
DSCP 字段
DiffServ 机制重新命名了 IPv4 Header 的 TOS 字段和 IPv6 Header 的 TC 字段,统一定义为 DS 字段。
-
IPv4 的 Type of Service(业务类型)字段:用于区分 IPv4 承载的上层业务类型,具有两种模式:
- 模式 1:前 3bit 标识优先级(Precedence),4-7bit 分别标识时延、吞吐量、可靠性、开销(一个数据包只能有一位生效),最后 1bit 备用
- 模式 2(DSCP,差分服务代码点):使用 0-5bit(64 种业务类型),最后 2bit 备用,例如:作为 2bit 的 ECN(显式拥塞通知)。
-
IPv6 支持 QoS 增强:IPv4 使用 6 位 DSCP(差分服务代码点)和 2 位 ECN(显式拥塞通知)来提供 QoS,但它只能在端到端设备都支持它时使用。而在 IPv6 中,增加了流量类(Traffic Class,TC)和流标签(Flow Label)字段,用于告诉底层路由器如何有效地处理数据包和路由它。
DSCP 的业务分类与值
每个 DSCP 值就对应了一种特定的 SLA。
此外,DiffServ 还定义了三种业务类型:
- EF(快速转发业务):提供类似专线和租用线的业务,DSCP 值为 101110。
- AF(保证转发):提供比 besteffort 尽量好的业务,分四类,没类又定义了三种不同的丢弃优先级,共有 12 种推荐的 DSCP 值;
- 尽力而为:DSCP 值为 000000。
以上是关于互联网协议 — IP 网络的 DiffServc/DSCP QoS 机制的主要内容,如果未能解决你的问题,请参考以下文章