概念
概念
指在网络中对数据流量进行控制与管理,以确保网络资源的合理分配,保证不同类型应用的性能和用户体验。QoS主要通过优化网络流量、管理带宽、降低延迟、减少丢包、控制抖动等手段,来确保关键应用(如视频会议、VoIP、在线游戏等)能够在不稳定的网络条件下仍然保证良好的服务质量。
作用/目标
确保不同应用和服务在网络中能够根据其重要性和实时性要求得到适当的资源和优先级保障,避免网络拥塞对这些应用性能的影响。
机制和标准
-
DiffServ(Differentiated Services): DiffServ是一种基于流量分类和标记的QoS模型。它通过在IP包头部的DSCP字段对不同流量进行标记,支持不同服务等级的传输,灵活性较强。
-
IntServ(Integrated Services): IntServ是一种端到端的QoS机制,通过为每个流量提供资源预留来保证服务质量。与DiffServ不同,IntServ适用于需要严格带宽和延迟保障的应用,但其实现复杂且资源消耗大。
-
MPLS(Multi-Protocol Label Switching): MPLS是一种用于在多协议网络中进行流量工程和QoS管理的技术。它通过在数据包头部插入标签,使得路由器能够根据标签快速进行转发和流量管理,支持流量工程和QoS保障。
关键指标
-
带宽(Bandwidth): 带宽是指网络中可用于传输数据的最大传输速率。QoS需要确保不同类型流量得到适当的带宽保证,特别是对于对带宽敏感的应用(如高清视频、VoIP等)来说。
-
延迟(Latency): 延迟是指数据包从发送方传输到接收方所需的时间。在实时应用(如语音通话、视频会议)中,低延迟至关重要,QoS需要降低延迟,避免影响通信质量。
-
丢包率(Packet Loss): 丢包率是指数据包在传输过程中丢失的比例。对于实时应用,尤其是语音和视频通话,丢包会严重影响质量,因此QoS需要尽量避免数据包丢失。
-
抖动(Jitter): 抖动指的是数据包到达的时间间隔的变化,通常表示为延迟的波动。QoS需要尽量减少抖动,尤其是在视频会议或VoIP等实时通信中,抖动会导致画面卡顿或语音断续。
实现方法
-
流量分类与标记(Traffic Classification & Marking): 流量分类是将网络流量按照类型(如语音、视频、数据等)进行分类,并为每种类型的流量指定不同的优先级。流量标记通常通过Differentiated Services Code Point(DSCP)或者802.1p标记来标识流量的优先级。
- DSCP:在IP头部中,DSCP字段用于标记数据包的服务等级,帮助网络设备识别和处理不同优先级的数据流。
- 802.1p:这是在以太网帧头中用于标记流量优先级的字段,通常用于局域网中的流量管理。
-
队列调度(Queuing & Scheduling): 网络设备(如路由器、交换机)使用不同类型的队列调度策略来管理流量,确保高优先级的数据流得到优先处理。常见的队列调度算法包括:
- FIFO(First In First Out):先进先出,简单但没有优先级控制。
- WFQ(Weighted Fair Queuing):加权公平排队,按权重分配带宽。
- PQ(Priority Queuing):优先级队列,保证高优先级流量的优先传输。
-
带宽管理(Bandwidth Management): 带宽管理包括带宽限制、带宽分配和带宽预留等机制,以确保不同流量能够根据其要求获得合适的带宽,特别是对于高优先级的应用流量(如实时语音、视频等)进行带宽保障。
-
拥塞控制(Congestion Control): 当网络流量超过承载能力时,QoS机制能够通过流量整形(Traffic Shaping)和流量排队(Traffic Policing)等技术,控制流量的输入速率,避免拥塞的发生,保证网络不会因为过载而影响正常的流量传输。
-
流量整形与流量限制(Traffic Shaping & Policing):
- 流量整形:通过延迟发包或调整数据流的发送速率,使得数据流的速率不会超过网络的承载能力,减少突发流量对网络的影响。
- 流量限制:通过控制某些低优先级流量的传输速率,确保高优先级流量能够得到足够的资源,避免低优先级流量过度消耗带宽。
实验案例
拓扑图
规划
AR1 为语音,视频和数据业务网关。
要求在 AR1 上通过 MQC 的方式将语音业务标记为 EF,视频业务标记为 AF41,数据业务标记为AF31。EF 最小带宽占接口实际可用带宽 50%,
AF41 最小带宽占接口实际可用带宽 40%,AF31 最小带宽占接口实际可用带宽 5%。
配置思路
- 配置IP地址
- 配置AR1的MQC
- 配置队列调度,带宽分配
实验配置
- 配置IP地址
AR1
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 12.1.1.1 30
[AR1-GigabitEthernet0/0/1]q
[AR1]vlan batch 10 20 30
[AR1]interface Vlanif 10
[AR1-Vlanif10]ip address 192.168.10.1 24
[AR1-Vlanif10]q
[AR1]interface Vlanif 20
[AR1-Vlanif20]ip address 192.168.20.1 24
[AR1-Vlanif20]q
[AR1]interface Vlanif 30
[AR1-Vlanif30]ip address 192.168.30.1 24
AR2
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip ad
[AR2-GigabitEthernet0/0/0]ip address 12.1.1.2 30
[AR2-GigabitEthernet0/0/0]q
- AR1 上配置 MQC 将语音、视频和数据业务标记为 EF、AF41、AF31。
MQC的三要素
- 流分类(traffic classifier)
- 配置流分类,用于匹配感兴趣的数据流
- 可基于VLAN Tag,DSCP,ACL规则
- 流行为(traffic behavior)
- 将感兴趣的报文进行重定向
- 可设置重定向的下一跳IP地址或出接口
- 流策略(traffic policy)
- 在接口的入方向应用流策略
- 对属于该VLAN并匹配流分类中规则的入方向报文实施策略控制
- 在全局或板卡上应用流策略
AR1
########## 配置ACL ##########
[AR1]acl number 3001
[AR1-acl-adv-3001]rule permit ip source 192.168.10.0 0.0.0.255
[AR1-acl-adv-3001]q
[AR1]acl number 3002
[AR1-acl-adv-3002]rule permit ip source 192.168.20.0 0.0.0.255
[AR1-acl-adv-3002]q
[AR1]acl number 3003
[AR1-acl-adv-3003]rule permit ip source 192.168.30.0 0.0.0.255
[AR1-acl-adv-3003]q
[AR1]
########## 配置流分类 ##########
[AR1]traffic classifier C1
[AR1-classifier-C1]if-match acl 3001
[AR1-classifier-C1]q
[AR1]traffic classifier C2
[AR1-classifier-C2]if-match acl 3002
[AR1-classifier-C2]q
[AR1]traffic classifier C3
[AR1-classifier-C3]if-match acl 3003
[AR1-classifier-C3]q
[AR1]
########## 配置流行为,并标记EF,AF41,AF31 ##########
[AR1]traffic behavior b1
[AR1-behavior-b1]remark dscp ef
[AR1-behavior-b1]q
[AR1]traffic behavior b2
[AR1-behavior-b2]remark dscp af41
[AR1-behavior-b2]q
[AR1]traffic behavior b3
[AR1-behavior-b3]remark dscp af31
[AR1-behavior-b3]q
[AR1]
########## 配置流策略完成将三种流量导入三个队列 ##########
[AR1]traffic policy p1
[AR1-trafficpolicy-p1]classifier C1 behavior b1
[AR1-trafficpolicy-p1]classifier C2 behavior b2
[AR1-trafficpolicy-p1]classifier C3 behavior b3
[AR1-trafficpolicy-p1]q
[AR1]
- 配置队列调度,带宽分配
########## AR1 上配置流分类定义不同队列 ##########
[AR1]traffic classifier voice
[AR1-classifier-voice]if-match dscp ef
[AR1-classifier-voice]q
[AR1]traffic classifier video
[AR1-classifier-video]if-match dscp af41
[AR1-classifier-video]q
[AR1]traffic classifier data
[AR1-classifier-data]if-match dscp af31
[AR1-classifier-data]q
[AR1]
########## 配置流行为##########
[AR1]traffic behavior voice
[AR1-behavior-voice]queue ef bandwidth pct 50
[AR1-behavior-voice]q
[AR1]traffic behavior video
[AR1-behavior-video]queue af bandwidth pct 40
[AR1-behavior-video]q
[AR1]traffic behavior data
[AR1-behavior-data]queue af bandwidth pct 5
[AR1-behavior-data]q
[AR1]
########## 配置流策略 ##########
[AR1]traffic policy schedule
[AR1-trafficpolicy-schedule]classifier data behavior data
[AR1-trafficpolicy-schedule]classifier video behavior video
[AR1-trafficpolicy-schedule]classifier voice behavior voice
[AR1-trafficpolicy-schedule]q
[AR1]
- 调用MQC策略
########## 在 AR1 的 g0/0/0 口入方向调用 P1 策略 ##########
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]traffic-policy p1 inbound
[AR1-GigabitEthernet0/0/0]q
########## 在 AR1 的 g0/0/1 口出方向调用 schedule 策略 ##########
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]traffic-policy schedule outbound
[AR1-GigabitEthernet0/0/1]q
- LSW配置
[LSW]vlan batch 10 20 30
[LSW]int g0/0/1
[LSW-GigabitEthernet0/0/1]p l a
[LSW-GigabitEthernet0/0/1]p d v 10
[LSW-GigabitEthernet0/0/1]q
[LSW]int g0/0/2
[LSW-GigabitEthernet0/0/2]p l a
[LSW-GigabitEthernet0/0/2]p d v 20
[LSW-GigabitEthernet0/0/2]q
[LSW]int g0/0/3
[LSW-GigabitEthernet0/0/3]p l a
[LSW-GigabitEthernet0/0/3]p d v 30
[LSW-GigabitEthernet0/0/3]q
[LSW]int g0/0/4
[LSW-GigabitEthernet0/0/4]p l t
[LSW-GigabitEthernet0/0/4]p t a v 10 20 30
[LSW-GigabitEthernet0/0/4]q
[LSW]
验证
在AR1上执行以下命令,查看配置的策略
display traffic policy user-defined
在 AR1 上执行以下命令查看策略调用情况,
display traffic-policy applied-record