更新时间:2024-04-18
1、功能简介
QoS(Quality of Service)即服务质量,其目的是针对各种业务的不同需求,为其提供端到端的服务质量保证。QoS是有效利用网络资源的工具,它允许不同的流量不平等的竞争网络资源,语音、视频和重要的数据应用在网络设备中可以优先得到服务。
Qos也就是如何事先避免拥塞,在拥塞发生前如何减少损失。其作用是:
- 有效分配和控制网络资源
- 避免并管理网络拥塞
- 为不同的业务提供不同的服务
- 进行端到端的服务保证
QoS处理流程图:
2、流量管理
流量管理功能包括重标记、流量监管、流镜像、重定向等。
2.1重标记
- 重标记:设置/改写报文的优先级字段,如 VLAN报文的 802.1p 优先级、IP 报文的 DSCP和内部优先级,用于向下一台设备传递差分服务的 QoS 信息。
802.1P优先级:802.1P协议是802.1Q的拓展协议,多了3bits的优先级字段。即CoS(服务类)字段,只在二层打标记。CoS取值范围:0-7(值越大越优先)
IP优先级:即IP Precedence,只使用三层ToS(服务类)字段中的前3bits,只能在三层打标记。IPP取值范围:0-7(值越大越优先)
DSCP优先级:区分服务码点,使用三层ToS(服务类)字段中的前6bits,只能在三层打标记。DSCP取值范围:0-63(值越大越优先),但是只有其中21位可以使用,如下:dscp的参数与2进制对照,如af11 =(1 x 8)+(1 x 2)= 10
2.2流量监管
流量监管:流量监管是一种通过对流量规格的监督,来限制流量及其资源使用的流量控制动作。通过配置流量监管,设备对符合流分类规则的报文的流量进行监督,对于超过规格的流量,可以采取丢弃、重标记颜色、重标记服务等级等动作。
CIR:允许传输或者转发报文的平均速率。
CBS:瞬间能够通过的承诺突发流量。
PIR:允许传输或者转发报文的峰值速率。
PBS:瞬间能够通过的峰值突发流量。
在介绍三色报文前需要介绍一下令牌桶原理:
令牌桶算法:只要在一个接口启用管制(policing)或者整形(shaping),就会生成一个令牌桶。
一个重要的公式:CIR = BC/TC
TC:将单位时间秒级再次细化为若干份(如1秒分成8等份,一个TC=125ms)
BC:一个TC内承诺发送的报文总量,承诺突发。
令牌桶:每个TC时间内,桶内就会加入BC块令牌(一个桶容量就是BC这么大)
对于三色令牌,涉及到第二个桶:
一个重要的公式:PIR =(BC+BE)/TC
BE:一个TC内,第二个桶所容纳的过量突发令牌数,一般BC = BE
令牌是干啥的:当一个接口启用了管制或整形,此时进入一个报文,这个报文一定要先从桶内抓取一个令牌。
绿色报文:一个TC内从第一个桶内抓到令牌的报文就是绿色报文。当用户的流量速率小于配置的CIR时,报文被标记为绿色;
黄色报文:一个TC内第一个桶内令牌用完了,从第二个桶抓到令牌的报文就是黄色报文。当用户的流量大于CIR而小于PIR时,报文被标记为黄色;
红色报文:两个桶内令牌都用完了,对于抓取不到令牌的报文,称红色报文。当用户的流量大于PIR时,报文被标记为红色。
流镜像:设备复制一份和被观察流的原始报文一模一样的报文,并传送到指定的观察端口上。维护手段的一种,可以通过流镜像收集某个端口某个时段进出的报文,用作问题故障分析。
重定向:根据流分类决定报文的转发路径。通过配置重定向,设备将符合流分类规则的报文重定向到指定接口。流量重定向只支持入口方向
2.3流量整形
流量整形是一种主动调整流量输出速率的措施,对上游输入的不规整流量进行缓冲,使流量输出趋于平稳,从而解决下游设备的拥塞问题。有线侧的限速,可基于端口限速或者对经过端口的队列进行限速。
2.4优先级映射
优先级映射实现从二层COS优先级到三层DSCP优先级之间的映射,设备可根据优先级提供有差别的QoS服务。
2.5拥塞管理
当时延敏感业务要求得到比非时延敏感业务更高质量的 QoS 服务,且网络中间歇性的出现拥塞,此时需要进行拥塞管理。拥塞管理一般采用排队技术,使用不同的调度算法来发送队列中的报文流。常用调度模式包括严格优先模式、轮询模式、加权轮询模式、严格优先+加权轮询模式和差分加权轮询模式。
- 严格优先模式:严格按照优先级从高到低的次序优先发送较高优先级队列中的分组。
- 轮询模式:将每个端口分为多个输出队列,队列之间轮流调度。
- 加权轮询模式:将每个端口分为多个输出队列,队列之间轮流调度。加权值表示获取资源的比重。
- 严格优先+加权轮询模式:部分队列按照严格优先模式调度(加权值设置为0),部分队列按照加权轮询模式调度。
- 差分加权模式:根据不同队列报文所占权重,按照每个队列报文长度进行调度。
常用优先级信任模式包括信任报文优先级和信任端口优先级。
信任报文优先级是指直接根据报文携带的报文优先级来转发数据,信任端口优先级分两种情况:
1.当入口报文不带802.1p优先级,设备将使用端口优先级,根据此优先级查找802.1p优先级到内部优先级映射表,然后为报文标记内部优先级。
2.当入口报文携带802.1p优先级,此时按报文携带的802.1p优先级,查找802.1p优先级到内部优先级映射表,然后为报文标记内部优先级。
3、Qos配置案例
优先级映射实现从二层COS优先级到三层DSCP优先级之间的映射,设备可根据优先级提供有差别的QoS服务。
3.1流量管理-重标记
案例:抓取内网HTTP流量,为报文打上ef标记(重标记)提供优先级
智能交换机配置案例:
1)配置ACL策略:
“HTTP”策略只抓取80端口报文,绑定接口Gi0/0/21:
“放通所有”策略放通所有业务流量(该策略必须配置,否则Gi0/0/1只通http流量)
QoS调用ACL HTTP,并进行重标记:
Cisco配置案例:
1)ACL用来抓取内网的HTTP流量
ip access-list extended HTTP
permit tcp any any eq www
permit tcp any eq www any
2)class-map用来调用访问控制列表HTTP
class-map (match-all) HTTP //match-all是默认规则,同“and”语法。
match access-group name HTTP //匹配acl HTTP
3)policy-map用来调用class-map HTTP
policy-map HTTP
class HTTP //调用class-map HTTP
set dscp ef //打上ef进行重标记
4)在接口下调用qos策略
interface Ethernet0/0
duplex auto
service-policy output HTTP //出接口下调用qos策略,经过该接口的http报文都会打上ef标记,并发送给下游设备。
3.2流量管理-流量监管
案例:还是抓取内网http报文,进行限速4Mbps,峰值速率8Mbps.当流量小于4Mbps时进行转发,大于4小于8时标记为dhcp的default(0)值,大于8时直接废弃。
智能交换机配置案例(ACL配置见3.1)
- 流量监管,四个参数的单位注意,如cir=400Kb/s,则CBS=(4000 /8 )x 1000=500000byte;PIR和PBS同理:
- 绿色报文直转发:
黄色报文打标记0再转发:
- 红色报文直接废弃:
Cisco配置案例:
1)ACL用来抓取内网的HTTP流量
ip access-list extended HTTP
permit tcp any any eq www
permit tcp any eq www any
2)class-map用来调用访问控制列表HTTP
class-map (match-all) HTTP //match-all是默认规则,同“and”语法。
match access-group name HTTP //匹配acl HTTP
3)policy-map用来调用class-map HTTP
policy-map HTTP-police
class HTTP //调用class-map
police cir 4000000 bc 500000 pir 8000000 //cir和pir单位bps,BC是byte
conform-action transmit //绿色流量直接放通
exceed-action set-dscp-transmit default //黄色流量标记为default(0)
violate-action drop //红色流量直接丢弃
4)接口下调用qos策略:
interface Ethernet0/1
duplex auto
service-policy output HTTP-police
3.3流量整形
基于端口整形(单纯限速),只能基于出方向限速(下载速度),如下限速下载速度4Mbps(该配置比较简单易懂就不做cisco案例对比)
基于队列整形,即指定对应流量(如抓取的http报文),上游设备对改报文打标记后本地交换机接收,或者本地交换机自身进行打标记,其标记数值都会跟队列一一对应,此时数据携带什么标记,该标记就会对应一个队列。队列跟标记对应关系见【QoS配置】-【优先级映射】。
案例:抓取http报文进行流量整形,承诺限速4Mbps,允许瞬间突发到8Mbps
智能交换机配置案例:
- 做acl抓取http报文,直接打标记
- 在【QoS配置】-【优先级映射】进行标记(CoS或者DSCP)到队列的映射
- 此时在【QoS配置】-【流量整形】里对映射后的队列进行整形,承诺速率4Mbps,允许瞬间突发到8Mbps
Cisco配置对比:(cisco的整形机制跟我们智能交换机不同,还是直接用ACL抓取特定流量然后进行整形限速,无需队列)
1)ACL用来抓取内网的HTTP流量
ip access-list extended HTTP
permit tcp any any eq www
permit tcp any eq www any
2)class-map用来调用访问控制列表HTTP
class-map (match-all) HTTP //match-all是默认规则,同“and”语法。
match access-group name HTTP //匹配acl HTTP
3)policy-map用来调用class-map HTTP
policy-map HTTP-shaping
class HTTP
shape average 4000000 500000 500000 //后面参数分别是cir bc be,后面两个参数一般不写,cisco的cpu会自动算出最佳值.
4)接口下调用qos整形配置
interface Ethernet0/2
duplex auto
service-policy output HTTP-shaping
3.4优先级映射(可自定义)
CoS跟队列进行映射,DSCP跟CoS进行映射(二层到三层的映射2),优先级值越大,优先级越高,一般搭配流量管理、流量整形、拥塞管理一起使用。
3.5拥塞管理
客户比较喜欢刷网页,要求在带宽满载的时候实现刷网页不受太大影响,用尽量不影响其他业务流量的方式来优化网络。使用qos拥塞管理的差分加权轮询模式。
智能交换机配置案例:
信任报文优先级:指直接根据报文携带的报文优先级来转发数据