QoS技术之流量监管和流量整形
1.流量监管
流量监管 TP(Traffic Policing)是指对进入设备的流量进行监控,确保其没有滥用网络资源。通过监控进入网络的某一流量的规格,限制它在一个允许的范围之内,若某个连 接的报文流量过大,就对流量进行惩罚,比如丢弃报文,或重新设置该报文的优先级,以保护网络资源和运营商的利益不受损害。
服务水平协议(SLA)
运营商之间都签有服务水平协议(SLA),其中包含每种业务流的流量参数如下:
- 承诺速率CIR(Committed Information Rate)
- 峰值速率 PIR(Peak Information Rate)
- 承诺突发尺寸 CBS(Committed Burst Size)
- 峰值突发尺寸PBS(Peak Burst Size)
对超出SLA约定的流量报文可指定给予以下处理:
- pass(通过)
- drop(直接丢弃)
- markdown(降级) (指降低服务等级(Class of Service),或者是提高丢弃等级(Color))
流量监管采用承诺访问速率 CAR(Committed Access Rate)来对流量进行控制。CAR使用令牌桶算法进行流量速率的评估,依据评估结果,实施预先设定好的监管动作。对应于SLA预定的处理动作,流量监管动作包括:
-
转发(pass):对测量结果不超过承诺速率(CIR)的报文通常处理为继续正常转发。
-
丢弃(discard):对测量结果超过峰值速率(PIR)的报文通常进行丢弃。
-
重标记(remark):对处于CIR与 PIR之间的流量通常执行Remark 动作,此时的报文不丢弃,而是通过Remark 降低优先级进行尽力而为转发。
图1 CAR处理流程示意图
2.流量整形
2.1 流量整形概述
流量整形是对输出报文的速率进行控制,使报文以均匀的速率发送出去。流量整形通常是为了使报文速率与下游设备相匹配。当从高速链路向低速链路传输数据,或发生突发流量时,带宽会在低速链路出口处出现瓶颈,导致数据丢失严重。这种情况下,需要在进入低速链路的设备出口处进行流量整形。
图2.1 从高速链路向低速链路传输数据
可以通过在上游设备的接口出方向配置流量整形,将上游不规整的流量进行削峰填谷, 输出一条比较平整的流量(如图3),从而解决下游设备的瞬时拥塞问题。
图2.2 使用流量整形的效果
流量整形通常使用缓冲区和令牌桶来完成,当报文的发送速度过快时,首先在缓冲区进行缓存,在令牌桶的控制下再均匀地发送这些被缓冲的报文。
2.1 流量整形分类
流量整形分为两种:
接口流量整形:也叫接口限速 LR(Line rate),限制接口发送的所有报文(包括紧急报文)的总速率,是对整个出接口进行流量整形,不区分优先级。如图 2.3 所示
- 队列调度之后在出队的时候,对所有队列都进行令牌桶评估;
- 在令牌桶评估后,如果数据包速率符合要求,则转发;如果数据包速率超标,则将 该数据包所在队列的状态改为不可调度,等空闲时再调度此队列;
图2.3 端口流量整形过程
队列流量整形:也就是所谓的 Shaping,对出接口的每个队列进行流量整形,区分优先级。如图 2.4所示。
- 队列调度之后在出队的时候,对于不需要整形的报文,直接转发;对于需要进行整 形的报文,则先进行令牌桶评估。
- 在令牌桶评估后,如果数据包速率符合要求,则被标记为绿色并转发;如果数据包速率超标,则当前正在出队的数据包仍然转发出去,同时,将该数据包所在队列的 状态改为不可调度,等令牌桶填充了新的令牌时再调度此队列。队列的状态改为不可调度后,该队列允许报文继续入队,但入队满了的时候会丢弃报文。因此,虽然流量整形使超额的数据能够从接口平滑地输出,但并不表示流量整形永远不会丢包。
**图2.4 队列流量整形过程 **
两种流量整形方式的比较
2.2 流量整形的应用
流量整形的典型应用是基于下游网络节点的流量监管的 SLA指标来控制本地流量的输 出,减少报文丢失。
- 基于端口的流量整形
对接口上所有通过的报文进行流量整形。如图 2.5所示,假设一个Hub-Spoke 组网模式的企业网络,总部与分支机构通过ISP使用专线相连,其链路带宽为1Gbps。当所有分支同时向总部发送数据时,可能会在连接总部的 ISP 边缘节点造成拥塞。为了避免在 ISP 丢包,可以在各分支的边缘设备出口处进行端口流量整形。
图2.5 Hub-Spoke 企业网基于端口的流量整形
- 基于队列的流量整形
对接口上通过的某类报文(基于简单流分类)分别进行流量整形,从而可实现针对业务(如语音、数据、视频)的流量整形。
如图 2-6,假设一个Hub-Spoke 组网模式的企业,总部与分支机构通过 ISP使用专线相连,其链路带宽为1Gbps。分支机构访问 Internet 是经过总部的,而总部到 Internet 的链路只有 100Mbps。如果所有分支机构以高速率同时访问 Internet,则可能使分支机构及总部访问 Internet的总web流量超过100Mbps,导致web流量在ISP被丢弃。 如果在分支机构的出口设备及总部访问 Internet 的出口设备上配置基于队列对web 流量进行整形,可防止web流量的丢失。
图2.6 Hub-Spoke 企业网基于队列的流量整形
- 基于队列&端口的流量整形(层次化的流量整形)
Switch 通过接口GE0/0/2 与路由器互连,来自企业局域网的业务有语音、视频、数据, 这些业务可经由 Switch 和路由器到达互联网,如图 2.7所示。由于来自企业局域网的 流量速率大于互联网接口GE0/0/2 的速率,那么在出接口GE0/0/2 处可能会发生带宽抖动。为减少带宽抖动,同时保证各类业务带宽要求,可以在GE0/0/2 处做层次化流量整形。
先基于端口做流量整形,保证出端口流量不会超过允许的带宽;然后基于不同的业务类型(语音、视频和数据)的优先级基于队列做流量整形。
图2.7 层次化的的流量整形
3.流量监管和整形的比较
-
相同点:
- 作用都是监控网络流量
- 都是用令牌桶算法评估流量速率
- 主要都用于网络边缘
-
差异点如下表所示: