QoS(Quality of Service,服務(wù)質(zhì)量)能夠滿足用戶對不同應(yīng)用不同服務(wù)質(zhì)量的要求。根據(jù)用戶的要求分配和調(diào)度資源,對不同的報文提供不同的服務(wù)質(zhì)量。
在傳統(tǒng)的IP網(wǎng)絡(luò)中,設(shè)備對所有的報文都采用等同對待方式,按照報文到達的時間先后,先入先出的排隊策略(FIFO)處理,盡最大的努力(Best-Effort)將報文傳送到目的地。當網(wǎng)絡(luò)帶寬充裕的時候,所有的報文都得到了較好的處理;而當網(wǎng)絡(luò)發(fā)生擁塞的時候,所有的報文都有可能被丟棄。
QoS針對某種類別的報文,可以為它賦予某個級別的傳輸優(yōu)先級,標識它的相對重要性,并使用設(shè)備所提供的各種優(yōu)先級轉(zhuǎn)發(fā)策略、擁塞避免等機制為這些報文提供特殊的傳輸服務(wù)。對實時性強且重要的報文優(yōu)先處理;對于實時性不強的普通報文,提供較低的處理優(yōu)先級,網(wǎng)絡(luò)擁塞時甚至丟棄。
QoS增加了網(wǎng)絡(luò)性能的可預(yù)知性,并能夠有效地分配網(wǎng)絡(luò)帶寬,更加合理地利用網(wǎng)絡(luò)資源。
某學(xué)校為了滿足正常的教學(xué)業(yè)務(wù)需要,要求滿足以下四點需求:
l 限制學(xué)校訪問Internet的流量為100Mbps,丟棄超出限制的報文。
l 限制宿舍樓的出口流量為50Mbps,丟棄超出限制的報文。
l 限制實驗樓發(fā)出DSCP優(yōu)先級為7的報文的速率為20Mbps,將速率超過20M的此類報文丟棄。
l 限制教學(xué)樓的出口流量為30Mbps,丟棄超出限制的報文。
說明
某學(xué)校通過Device A的G0/24上聯(lián)Internet,Device A的G0/1、G0/2和G0/3分別下聯(lián)的教學(xué)樓(192.168.194.2~253/24)、實驗樓(192.168.195.2~253/24)和宿舍樓(192.168.196.2~253/24)。
圖1-6 接口限速和優(yōu)先級重標記應(yīng)用場景

(1) 對于出口訪問Internet,在Device A接口G0/24上配置接口的出口流量限制,帶寬限制為每秒102400KBits,突發(fā)流量限制為每秒256Kbytes。
(2) 對于宿舍樓,在Device A接口G0/3上配置接口的入口流量限制,帶寬限制為每秒51200KBits,突發(fā)流量限制為每秒256Kbytes。
(3) 對于教學(xué)樓,在Device A接口G0/1上配置接口的入口流量限制,帶寬限制為每秒30720KBits,突發(fā)流量限制為每秒256Kbytes。
(4) 對于實驗樓,創(chuàng)建類cmap_dscp7匹配DSCP優(yōu)先級7,創(chuàng)建策略pmap_shiyan,關(guān)聯(lián)cmap_dscp7,綁定流行為,將速度超過20M的報文的DSCP值改為16;將pmap_shiyan應(yīng)用在接口G0/2上,并配置接口信任DSCP。
(1) 配置接口IP地址(略)。
(2) 配置接口限速。
# 對于出口訪問Internet,在接口G0/24上配置接口的出口流量限制。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# interface gigabitethernet 0/24
DeviceA(config-if-GigabitEthernet 0/24# rate-limit output 102400 256
DeviceA(config-if-GigabitEthernet 0/24)# exit
# 對于宿舍樓,在接口G0/3上配置接口的入口流量限制。
DeviceA(config)# interface gigabitethernet 0/3
DeviceA(config-if-GigabitEthernet 0/3# rate-limit input 51200 256
DeviceA(config-if-GigabitEthernet 0/3)# exit
# 對于教學(xué)樓,在接口G0/1上配置接口的入口流量限制。
DeviceA(config)# interface gigabitethernet 0/1
DeviceA(config-if-GigabitEthernet 0/1# rate-limit input 30720 256
DeviceA(config-if-GigabitEthernet 0/1)# exit
(3) 配置流分類。
# 對于實驗樓,配置類,流行為和策略。
DeviceA(config)# class-map cmap_dscp7
DeviceA(config-cmap)# match ip dscp 7
DeviceA(config-cmap)# exit
DeviceA(config)# policy-map pmap_shiyan
DeviceA(config-pmap)# class cmap_dscp7
DeviceA(config-pmap-c)# police 20480 128 exceed-action drop
DeviceA(config-pmap-c)# exit
DeviceA(config-pmap)# exit
# 將策略應(yīng)用到接口,并配置接口信任DSCP。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2# service-policy input pmap_shiyan
DeviceA(config-if-GigabitEthernet 0/2)# mls qos trust dscp
DeviceA(config-if-GigabitEthernet 0/2)# exit
# 檢查接口限速配置是否成功。
DeviceA# show mls qos rate-limit
Interface: GigabitEthernet 0/1
rate limit input Kbps = 30720 burst = 256
Interface: GigabitEthernet 0/3
rate limit input Kbps = 51200 burst = 256
Interface: GigabitEthernet 0/24
rate limit output Kbps = 102400 burst = 256
# 檢查類是否創(chuàng)建成功。
DeviceA# show class-map cmap_dscp7
Class Map cmap_dscp7
Match ip dscp 7
# 檢查策略是否創(chuàng)建成功。
DeviceA# show policy-map pmap_shiyan
Policy Map pmap_shiyan
Class cmap_dscp7
police 20480 128 exceed-action dscp 16
# 檢查策略是否成功應(yīng)用在接口上。
DeviceA# show mls qos interface gigabitethernet 0/2
Interface: GigabitEthernet 0/2
Ratelimit input:
Ratelimit output:
Attached input policy-map: pmap_shiyan
Attached output policy-map:
Default trust: dscp
Default cos: 0
Device A的配置文件
hostname DeviceA
!
class-map cmap_dscp7
match ip dscp 7
!
policy-map pmap_shiyan
class cmap_dscp7
police 20480 128 exceed-action drop
!
interface GigabitEthernet 0/1
ip add 192.168.194.1 255.255.255.0
rate-limit input 30720 256
!
interface GigabitEthernet 0/2
ip add 192.168.195.1 255.255.255.0
service-policy input pmap_shiyan
mls qos trust dscp
!
interface GigabitEthernet 0/3
ip add 192.168.196.1 255.255.255.0
rate-limit input 51200 256
!
interface GigabitEthernet 0/24
rate-limit output 102400 256
!
配置優(yōu)先級重標記和隊列調(diào)度,實現(xiàn)下述需求:
l 當研發(fā)部和市場部訪問服務(wù)器時,服務(wù)器報文的優(yōu)先級為:郵件服務(wù)器>文件服務(wù)器>工資查詢服務(wù)器。
l 無論人事管理部訪問Internet或訪問服務(wù)器,Device A都優(yōu)先處理。
l Device A在運行過程中,時常發(fā)現(xiàn)網(wǎng)絡(luò)擁塞。為了保證業(yè)務(wù)順利運轉(zhuǎn),要求使用WRR隊列調(diào)度,對研發(fā)部和市場部訪問郵件數(shù)據(jù)庫、訪問文件數(shù)據(jù)庫、訪問工資查詢數(shù)據(jù)庫的IP數(shù)據(jù)報按照6:2:1的比例來調(diào)度。
說明
研發(fā)部(192.168.45.2~253/24)、市場部(192.168.46.2~253/24)和人事管理部(192.168.47.2~253/24)分別接入Device A的接口G0/1、G0/2和G0/3;工資查詢服務(wù)器(192.168.10.2/24)、郵件服務(wù)器(192.168.10.3/24)和文件服務(wù)器(192.168.10.4/24)連接在Device A的接口G0/23。
圖1-7 隊列調(diào)度和擁塞避免應(yīng)用場景

(1) 在Device A上創(chuàng)建訪問各類服務(wù)器的ACL,并創(chuàng)建類匹配這些ACL。
(2) 創(chuàng)建策略,關(guān)聯(lián)各個類,為訪問各類服務(wù)器的報文重新指定802.1p。訪問郵件服務(wù)器的報文重新指定802.1p為4,訪問文件服務(wù)器的報文重新指定802.1p為3,訪問工資查詢服務(wù)器的報文重新制定802.1p為2。并將其關(guān)聯(lián)到研發(fā)部和市場部的入口上,配置接口信任802.1p。
(3) 配置人事管理部接口的802.1p為最高優(yōu)先級7,優(yōu)先保障人事部發(fā)出的報文。
(4) 配置隊列的輸出調(diào)度策略為WRR,輪轉(zhuǎn)權(quán)重為1:1:1:2:6:1:1:0,即對人事管理部報文實行SP調(diào)度,對研發(fā)部與市場部訪問郵件數(shù)據(jù)庫、文件數(shù)據(jù)庫、工資查詢數(shù)據(jù)庫的報文按照6:2:1的比例來調(diào)度。
(5) 開啟WRED功能。
(6) 配置接口G0/2隊列2的低門限為10 20。
(7) 配置接口G0/2隊列2的高門限為60 90。
(8) 配置接口G0/2隊列2的最大丟棄概率60 80。
(1) 在Device A上配置訪問各類服務(wù)器的ACL和對應(yīng)規(guī)則。
# 配置訪問工資查詢服務(wù)器的ACL和對應(yīng)規(guī)則。
DeviceA> enable
DeviceA# configure terminal
DeviceA(config)# ip access-list extended salary
DeviceA(config-ext-nacl)# permit ip any host 192.168.10.2
DeviceA(config-ext-nacl)# exit
# 配置訪問郵件服務(wù)器的ACL和對應(yīng)規(guī)則。
DeviceA(config)# ip access-list extended mail
DeviceA(config-ext-nacl)# permit ip any host 192.168.10.3
DeviceA(config-ext-nacl)# exit
# 配置訪問文件服務(wù)器的ACL和對應(yīng)規(guī)則。
DeviceA(config)# ip access-list extended file
DeviceA(config-ext-nacl)# permit ip any host 192.168.10.4
DeviceA(config-ext-nacl)# exit
(2) 在Device A上配置類。
# 將類salary和允許訪問工資查詢服務(wù)器的ACL規(guī)則關(guān)聯(lián)起來。
DeviceA(config)# class-map salary
DeviceA(config-cmap)# match access-group salary
DeviceA(config-cmap)# exit
# 將類mail和允許訪問郵件服務(wù)器的ACL規(guī)則關(guān)聯(lián)起來。
DeviceA(config)# class-map mail
DeviceA(config-cmap)# match access-group mail
DeviceA(config-cmap)# exit
# 將類file和允許訪問文件服務(wù)器的ACL規(guī)則關(guān)聯(lián)起來。
DeviceA(config)# class-map file
DeviceA(config-cmap)# match access-group file
DeviceA(config-cmap)# exit
(3) 在Device A上配置策略。
# 配置訪問服務(wù)器的策略toserver。
DeviceA(config)# policy-map toserver
DeviceA(config-pmap)#
# 將類salary和對應(yīng)的流行為關(guān)聯(lián)起來。
DeviceA(config-pmap)# class salary
DeviceA(config-pmap-c)# set cos 2
DeviceA(config-pmap-c)# exit
# 將類mail和對應(yīng)的流行為關(guān)聯(lián)起來。
DeviceA(config-pmap)# class mail
DeviceA(config-pmap-c)# set cos 4
DeviceA(config-pmap-c)# exit
# 將類file和對應(yīng)的流行為關(guān)聯(lián)起來。
DeviceA(config-pmap)# class file
DeviceA(config-pmap-c)# set cos 3
DeviceA(config-pmap-c)# exit
DeviceA(config-cmap)# exit
(4) 在Device A上應(yīng)用策略。
# 在接入研發(fā)部的接口上應(yīng)用策略。
DeviceA(config)# interface gigabitethernet 0/1
DeviceA(config-if-GigabitEthernet 0/1)# service-policy input toserver
DeviceA(config-if-GigabitEthernet 0/1)# mls qos trust cos
DeviceA(config-if-GigabitEthernet 0/1)# exit
# 在接入市場部的接口上應(yīng)用策略。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2)# service-policy input toserver
DeviceA(config-if-GigabitEthernet 0/2)# mls qos trust cos
DeviceA(config-if-GigabitEthernet 0/2)# exit
(5) 在Device A上配置接口的802.1p。
# 配置人事管理部接口的802.1p為最高優(yōu)先級。
DeviceA(config)# interface gigabitethernet 0/3
DeviceA(config-if-GigabitEthernet 0/3)# mls qos cos 7
DeviceA(config-if-GigabitEthernet 0/3)# exit
(6) 在Device A上配置隊列的輸出調(diào)度策略。
# 配置隊列的輸出調(diào)度策略為WRR。
DeviceA(config)# wrr-queue bandwidth 1 1 1 2 6 1 1 0
DeviceA(config)# mls qos scheduler wrr
(7) 在Device A上配置擁塞避免。
# 開啟WRED功能。
DeviceA(config)# queueing wred
# 配置高低門限和最大丟棄概率。
DeviceA(config)# interface gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2)# wrr-queue random-detect min-threshold 2 10 20
DeviceA(config-if-GigabitEthernet 0/2)# wrr-queue random-detect max-threshold 2 60 90
DeviceA(config-if-GigabitEthernet 0/2)# wrr-queue random-detect probability 2 60 80
# 配置內(nèi)部服務(wù)類別與門限的映射。
DeviceA(config-if-GigabitEthernet 0/2)# wrr-queue cos-map 2 0 1 2 3
DeviceA(config-if-GigabitEthernet 0/2)# exit
# 檢查ACL是否創(chuàng)建成功。
DeviceA# show access-lists
ip access-list extended file
10 permit ip any host 192.168.10.4
ip access-list extended mail
10 permit ip any host 192.168.10.3
ip access-list extended salary
10 permit ip any host 192.168.10.2
# 檢查類是否成功關(guān)聯(lián)ACL。
DeviceA# show class-map
Class Map salary
Match access-group salary
Class Map mail
Match access-group mail
Class Map file
Match access-group file
# 檢查策略是否創(chuàng)建成功,類與流行為是否綁定成功。
DeviceA# show policy-map
Policy Map toserver
Class mail
set cos 4
Class file
set cos 3
Class salary
set cos 2
# 檢查策略是否成功應(yīng)用在接口GigabitEthernet 0/1上。
DeviceA# show mls qos interface gigabitethernet 0/1
Interface: GigabitEthernet 0/1
Ratelimit input:
Ratelimit output:
Attached input policy-map: toserver
Attached output policy-map:
Default trust: cos
Default cos: 0
# 檢查策略是否成功應(yīng)用在接口GigabitEthernet 0/2上。
DeviceA# show mls qos interface gigabitethernet 0/2
Interface: GigabitEthernet 0/2
Ratelimit input:
Ratelimit output:
Attached input policy-map: toserver
Attached output policy-map:
Default trust: cos
Default cos: 0
# 檢查策略是否成功應(yīng)用在接口GigabitEthernet 0/3上。
DeviceA# show mls qos interface gigabitethernet 0/3
Interface: GigabitEthernet 0/3
Ratelimit input:
Ratelimit output:
Attached input policy-map:
Attached output policy-map:
Default trust: none
Default cos: 7
# 檢查接口的802.1p是否配置成功,調(diào)度策略與輪轉(zhuǎn)權(quán)重是否配置成功。
DeviceA# show mls qos queueing
Cos-queue map:
cos qid
--- ---
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
wrr bandwidth weights:
qid weights
--- -------
1 1
2 1
3 1
4 2
5 6
6 1
7 1
8 0
drr bandwidth weights:
qid weights
--- -------
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
wfq bandwidth weights:
qid weights
--- -------
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
Device A的配置文件
hostname DeviceA
!
wrr-queue bandwidth 1 1 1 2 6 1 1 0
queueing wred
wrr-queue cos-map 2 0 1 2 3
!
class-map salary
match access-group salary
class-map mail
match access-group mail
class-map file
match access-group file
!
policy-map toserver
class salary
set cos 2
class mail
set cos 4
class file
set cos 3
!
interface GigabitEthernet 0/1
ip add 192.168.45.1 255.255.255.0
service-policy input toserver
mls qos trust cos
!
interface GigabitEthernet 0/2
ip add 192.168.46.1 255.255.255.0
wrr-queue random-detect min-threshold 2 10 20
service-policy input toserver
mls qos trust cos
!
interface GigabitEthernet 0/3
ip add 192.168.47.1 255.255.255.0
mls qos cos 7
!