cisco 871w路由器QoS配置步驟
cisco 871w路由器QoS配置步驟
在Cisco網絡設備上使用服務質量(QoS),可以為某些類型的網絡流量提供固定的帶寬和優先級。筆者會向大家介紹如何通過我們的設置模板,輕鬆的為Cisco路由器和交換機配置 QoS.網絡管理員可以通過QoS為某類網絡流量指定所需的帶寬和優先級。
首先我們要理解帶寬和優先級之間的區別。當我們在網絡設備(路由器和交換機)上指定了某類數據流的優先級和帶寬,那麼這些數據就會在其它數據傳輸之前進行傳輸,同時網 絡設備也會通過加大該類數據的發送量的方式來提高其傳輸帶寬。
正如我之前所說的,配置QoS是一件複雜的工作。根據QoS的不同,使用QoS的方式也多種多樣。我們曾介紹過如何利用Cisco IOS AutoQoS對路由器進行自動配置,為VoIP數據流提 供足夠的帶寬和優先級。
配置QoS
下麵我們就來看看在Cisco 871W路由器上配置QoS的具體步驟。
第1步:定義傳輸類型
你必須告訴路由器,哪種數據流需要進行QoS管理。你可以通過訪問控製列表(ACL)或者基於網絡應用程序識別(NBAR)的方式來進行定義。其中ACL是為路由器設定不同傳輸數據 類型的傳統方式。
而NBAR則是讓路由器識別流經路由器的各種數據的類別,比如HTTP數據是HTTP類別,Skype是Skype類別。但是路由器可識別的應用程序協議數量是有限的,這依賴於路由器內部存 儲的一個程序協議列表。
雖然路由器無法識別全部應用程序,但是路由器廠商在每次IOS升級時,會在列表中加入更多的程序。另外,你也可以自己定義程序識別列表。
第2步:創建類映射(class-map)
類映射就是將不同類型的數據流進行分組。比如,你可以創建一個叫做"VoIP traffic"的類映射,然後將各種VoIP協議歸入該類。
第3步:創建策略映射(policy-map)
策略映射可以與類映射匹配,確定某類數據流的帶寬和/或優先級。
第4步:將策略映射應用於接口
和ACL列表一樣,你必須將策略映射應用於某個你所設定的端口上。你可以設定策略映射為輸入或輸出模式,以下是相應的指令代碼:
service-policy output|input {name of policy-map}
對不同IP組進行流量限製實例:
Cisco(config)#ip access-list extended BOSS
Cisco(config-ext-nacl)#permit ip host 192.168.1.8 any
Cisco(config-ext-nacl)#permit ip host 192.168.1.18 any
Cisco(config-ext-nacl)#permit ip host 192.168.1.38 any
Cisco(config-ext-nacl)#permit ip host 192.168.1.48 any
Cisco(config-ext-nacl)#permit ip host 192.168.1.58 any
Cisco(config-ext-nacl)#permit ip host 192.168.1.68 any
Cisco(config-ext-nacl)#end
Cisco#config t
Cisco(config)#ip access-list extended COMMON
Cisco(config-ext-nacl)#deny ip host 192.168.1.8 any
Cisco(config-ext-nacl)#deny ip host 192.168.1.18 any
Cisco(config-ext-nacl)#deny ip host 192.168.1.38 any
Cisco(config-ext-nacl)#deny ip host 192.168.1.48 any
Cisco(config-ext-nacl)#deny ip host 192.168.1.58 any
Cisco(config-ext-nacl)#deny ip host 192.168.1.68 any
Cisco(config-ext-nacl)#permit ip 192.168.0.0 0.0.255.255 any
Cisco(config-ext-nacl)#end
Cisco#config t
Cisco(config)#route-map QoS permit 10
Cisco(config-route-map)#match ip address BOSS
Cisco(config-route-map)#set ip precedence ?
<0-7> Precedence value
critical Set critical precedence (5)
flash Set flash precedence (3)
flash-override Set flash override precedence (4)
immediate Set immediate precedence (2)
internet Set internetwork control precedence (6)
network Set network control precedence (7)
priority Set priority precedence (1)
routine Set routine precedence (0)
Cisco(config-route-map)#set ip precedence critical
Cisco(config-route-map)#exit
Cisco(config)#route-map QoS permit 20
Cisco(config-route-map)#match ip address COMMON
Cisco(config-route-map)#set ip precedence priority
Cisco(config-route-map)#exit
Cisco(config)#class-map match-any NORMAL
Cisco(config-cmap)#match ip precedence 0 1 2
Cisco(config-cmap)#class-map match-any PREMIUM
Cisco(config-cmap)#match ip precedence 0 1 2
Cisco(config-cmap)#exit
Cisco(config)#policy-map QoS_OUTPUT
Cisco(config-pmap)#class PREMIUM
Cisco(config-pmap-c)#bandwidth 2048
Cisco(config-pmap-c)#police 2048000 bc 19200 38400
Cisco(config-pmap-c-police)#conform-action transmit
Cisco(config-pmap-c-police)#exceed-action transmit
Cisco(config-pmap-c-police)#class NORMAL
Cisco(config-pmap-c)#bandwidth 512
Cisco(config-pmap-c)#police cir 51000 bc 1200 be 1200
Cisco(config-pmap-c-police)#conform-action transmit
Cisco(config-pmap-c-police)#exceed-action drop
Cisco(config-pmap-c-police)#end
Cisco#config t
Cisco(config)#interface G 0/0
Cisco(config-if)#ip nat inside
Cisco(config-if)#ip policy route-map QoS
Cisco(config)#interface G 0/1
Cisco(config-if)#ip nat outside
Cisco(config-if)#service-policy output QoS_OUTPUT
----------------------------------------------------------------------------
marking:
1.定義class-map.
class-map [match-all/match-any] {map-name}
默認不打的話是match-all
2.定義匹配命令match
match access-group {NO}
match input-interface {interface}
match class-map {map-name} class-map嵌套
match source-address {mac-address} 源mac地址
match destination-address {mac-address} 目的mac地址
match vlan {vlan-ID}
match ip dscp {DSCP}
match ip precedencc {precedence}
match protocol {protocol} 基於NBAR
Router(config) class-map FOO
Router(config-cmap)#match ?
access-group Access group
any Any packets
class-map Class map
cos IEEE 802.1Q/ISL class of service/user priority values
destination-address Destination address
input-interface Select an input interface to match
ip IP specific values
mpls Multi Protocol Label Switching specific values
not Negate this match result
protocol Protocol
qos-group Qos-group
source-address Source address
3.設置policy-map
policy-map {policy-name}
4.調用class-map
class-map {map-name}
5.設置標記
set ip dscp {DSCP}
set ip precedence {PRECEDENCE}
set cos {COS}
priority {Kbps|percent PERCENT} [bc] 定義優先級流量的帶寬以及突發流量
bandwidth {Kbps|percent PERCENT} 定義保留帶寬
random-detect 啟用WRED
police {CIR BC BE} conform-action {action} exceed-action {action} [violated-action {action}] 使用令牌桶限速
queue-limit {PACKETS} 定義隊列中數據報的最大個數
service-policy {policy-name} 調用其它的策略進行嵌套
shape {average|peak} {CIR [BC] [BE]} 整形
drop
6.在接口模式下調用policy-map
service-policy [input|ouput] {POLICY-NAME}
察看命令:
show policy-map [policy-name]
show policy-map interface [INTERFACE]
show class-map [class-name]
show ip nbar pdlm
show ip nbar port-map 顯示NBAR使用的協議到端口的映射
NBAR應用:
使用限製:
1.快速以太網信道
2.隧道接口或加密的接口
3.SVI(交換虛擬接口)
4.撥號接口
5.多鏈路PPP(MLP)
使用前先要敲命令:ip cef
class-map {name}
match protocol …
ip nbar pdlm flash://bittorrent.pdlm 加載bittorrent.pdlm 到路由器閃存裏(事先要把pdlm複製到flash中)
match procotol http url "*.jpeg|*.jpg" (匹配url中帶有jpeg和jpg的連接)
match procotol http url "*.gif" (匹配url中有gif的連接)
擁塞管理
WFQ:
特點:
1.基於流(5元素)分類,隊列數N可以配置
2.出隊後按IP優先級來分配帶寬,優先級越低則帶寬越小
3.在其它隊列空閑時搶占它們的帶寬,又有流量時歸還帶寬
4.是低於2.048Mbps串行接口的默認配置
配置命令:
接口模式下fair-queue
show queueing fair
show queue [interface]
PQ:
缺點:1.隻能靜態配置,不能適應網絡拓撲的變化2.不支持隧道接口3.要通過數據分類卡,比FIFO慢
配置:
1.定義優先級隊列,可以基於協議和基於進站接口
基於協議riority-list {list-number} protocol {PROTOCOL-NAME} {high|medium|normal|low}
基於進站接口riority-list {list-number} interface {interface} {high|medium|normal|low}
2.定義默認優先級隊列,未被分類的數據報被送到此處,默認級別為normal
priority-list {list-number} default {high|medium|normal|low}
3.定義每個隊列中數據報的個數,從高到低,默認為20,40,60,80
priority-list {list-number} queue-limit {high-limit medium-limit normal-limit low-limit}
4.把優先級隊列運用在接口上
priority-group {list-number}
察看命令:
show queue [interface]
show queueing priority
RTP(Real Time Protocol)
支持端口號為偶數的udp報文
可以進行限速,超過的可丟棄,也可以配置帶寬,不會占用超出規定的帶寬
命令:
ip rtp priority {starting-rtp-port-number port-number-range} {bandwidth}
max-reserved-bandwidth PERCENT
show queue [interface]
debug priority
CRTP(壓縮實時協議): 用來壓縮ip/udp/rtp報頭
壓縮分為三種:鏈路壓縮,有效負載壓縮,報頭壓縮
二層報頭--tcp/ip報頭--有效負載
1.鏈路壓縮:對整個分組進行壓縮,包括報頭和有效負載。獨立於協議的。隻適用於點到點鏈路。兩種算法:Predictor和STAC
2.有效負載壓縮:隻壓縮數據部分,對報頭沒有影響。適用於frame-relay或ATM網絡。
3.tcp/ip報頭壓縮:針對協議的,適用於幾個字節數據的小型分組。
配置:
對HDLC,LAPB: compress [predictor|stac|mppc]
對ppp: ip compress [predictor|stac]
對frame-relay點到點接口或子接口啟用stac壓縮: frame-relay payload-compress
啟用crtp:
1. ip rtp header-compression [passive]
若不啟用passive,則對所有RTP數據流壓縮;若啟用passive,則隻有當進入端口的RTP分組被壓縮時,軟件才能對離開該接口的RTP分組壓縮
2. ip rtp compression-connections {NUMBER}
更改CRTP壓縮的條數,默認為16條
3. 啟用tcp報頭壓縮: ip tcp header-compression [passive] 若沒有啟用passive, 則必須指定關鍵字active,將對所有IP/UDP/RTP包頭進行壓縮
ip tcp compression-connections {NUMBER}
frame-relay中的 crtp:
在物理接口上啟用CRTP,則在它的子接口上將繼承特性
frame-relay ip rtp header-compression [passive]
frame-relay ip rtp compression-connections {NUMBER}
隻針對特定的PVC啟用CRTP:
frame-relay map ip {ip-address} {dlci} [broadcast] rtp header-compression [active|passive] [connections number]
察看命令:
show ip rtp header-compression [interface] [detail]
show frame-relay ip rtp header-compression [interface]
WRR(weighted round-robin)
一種隊列調度機製,根據每個出站隊列的權值來分配帶寬,權值與帶寬成正比。
僅當發生擁塞時才會使用WRR,不擁塞時不會分配帶寬。
步驟:
1.全局啟用mls qos
2.進入接口模式
3.通過COS將數據報分配到不同的隊列中去。
wrr-queue cos-map QUEUE-ID THROSHOLD COS1… COSn 它用於配置cos值到出站隊列的映射關係。
對隊列進行編號時,從低優先級開始,到嚴格優先級結束。
配置嚴格優先級隊列:wrr-queue priority-queue
4.配置WRR隊列的權重
wrr-queue bandwidth WEIGHT1 WEIGHT2 WEIGHT3 WEIGHT4
計算每個隊列的方法是:
example:wrr-queue bandwith 1 2 3 4
則帶寬: 隊列1:權重1/總權重=1/10
5.定義傳輸隊列長度的比例,取值為1-100%
wrr-queue queue-limit LOW-PRIORITY-QUEUE-WEIGHT MEDIUM-PRIORITY-QUEUE-WEIGHTS HIGH-PRIORITY-QUEUE-WEIGHTS
高優先級隊列因為延時小,數據量小,所以不需要太大的緩存區。往往將大部分緩衝區用於低優先級隊列。
擁塞避免
1.尾丟棄
對所有通信流平等對待,將導致TCP全局同步
wrr-queue threshold QUEUE-ID THR1% 100% THR1%是開始丟棄通信流時輸出隊列的填滿程度,後麵一個是100%是尾丟棄
2.WRED
WRED與RED的區別在於前者引入IP優先權DSCP值來區別丟棄策略,可以為不同IP優先級DSCP設定不同的隊列長度、隊列閾值、丟棄概率。並且RED隻對TCP流量有用
通過對隊列數據流傳輸速度的平均值計算來決定是否丟棄,防止了對突發流量的不公平待遇。
WRED和LLQ矛盾
WRED往往和WRR一起使用。
WRED可以在接口上進行配置,也可以在policy上進行配置,可以針對於precedence進行RED,也可以針對於DSCP值進行RED,當然,兩者之間隻能選擇一個。
(1)基於DSCP
random-detect dscp-based
random-detect dscp {DSCP} {min max mark}
(2)基於ip precedence
random-detect
random-detect precedence {PRECEDENCE} {min max mark}
WRED與WRR連用:
wrr-queue random-detect min-throshold QUEUE-ID THR1% [THR2% [THR3% …]]
wrr-queue random-detect max-throshold QUEUE-ID THR1% [THR2% [THR3% …]]
min-throshold表示開始丟棄某些數據包時的最大填滿程度
max-throshold表示丟棄所有數據包時的最大填滿程度
example:
int G1/1
wrr-queue bandwidth 50 75
wrr-queue queue-limit 100 50
wrr-queue random-detect min-throshold 1 50 70
wrr-queue random-detect max-throshold 1 75 100
wrr-queue cos-map 1 1 0 2
wrr-queue cos-map 1 2 3
wrr-queue cos-map 2 1 4
wrr-queue cos-map 2 2 6
priority-queue cos-map 1 1 5 7
rcv-queue cos-map 1 1 0
switchport
解釋:共有兩個隊列。當隊列1的填滿程度達到50%和70%時,交換機分別對映射到閘值1和閘值2的數據包進行WRED(即開始丟棄),當隊列1的填滿程度達到75%和100%時,交換機分別對映射到閘值1和閘值2的數據包全部丟棄。注意:隊列2沒有采取WRED.
基於流的WRED(WRED和WFQ結合起來使用)
小的流丟棄的概率小,大的流丟棄的概率大,保護小的流。
命令:
1.啟用基於流的WRED.
random-detect flow
2.設置平均深度因素(average depth factor)的值,值必須為2的冪,默認值為4.可選:
random-detect flow average-depth-factor {scaling-factor} 這個參數是改變一個乘法的比例因數。從而改變隊列的大小,其實就是改變隊列的長度。
3.設置基於流的WRED 的數據流數目,默認值為256
random-detect flow count {number}
流量策略
qos的流程:1.基於流或基於類的分類;2.結合令牌桶進行policing或shaping(CAR或GTS);3.擁塞避免(尾丟棄或WRED);4.擁塞管理(各種隊列機製);5.出隊。
標記在什麼地方進行??(標記可以在進行CAR的時候進行,CAR也可以進行重新標記)
CAR(Committed Access Rate)
CAR通過使用令牌桶TC來進行流量控製。分類後,不需要流控的流量直接繼續發送,而需要進行流控的流量就要經過令牌桶。隻有當令牌桶中有令牌時,相應的流量才能通過。若沒有足夠的令牌,要麼流量被直接丟棄(policing),要麼緩存起來(shaping),等有了足夠的令牌後再發送出去。
CAR還可以用來做mark或remark(即可以用來設置ip優先級或重新設置ip優先級)
CAR可以為不同類別的報文設置不同的流量特性和標記特性,即可以對每個類進行CAR.CAR的策略還可以串聯處理,比如先對總的流量進行一次限速,然後再對各個類進行小範圍的限速。
CAR一般用在網絡邊界路由器上。可以在一個接口上設置多個CAR策略,數據包依次和多個CAR策略匹配,若沒有匹配的,則默認操作時轉發數據包。
CAR的使用有以下限製:1.隻能對IP流量限速;2.不支持fast EtherChannel;3.不支持隧道接口;4.不支持ISDN PRI接口。
命令:
rate-limit {output|input} {CIR BC BE} conform-action {action} exceed-action {action}
注意:CIR單位是bit/s;而BC和BE的單位是byte/s.
conform-action的條件是指當要發的數據小於正常突發(bc)的時候。exceed-action是指要發的數據大於普通突發,小於最大突發(be)的時候。
action的選項共有如下這些:
continue 繼續執行下一條CAR語句
drop 丟棄數據包
tranmsit 轉發數據包
set-prec-continue {precedence} 設置IP優先級並繼續執行下一條CAR語句
set-prec-transmit {precedence} 設置IP優先級並轉發數據包
set-dscp-continue {dscp} 設置dscp值並繼續執行下一條CAR語句
set-dscp-transmit {dscp} 設置dscp值並轉發數據包
上麵都是隻能基於整個接口的流量進行CAR,下麵的可以分別針對某個流量或ip precedence或dscp值或MAC地址進行CAR
擴展的配置
1.針對dscp值進行CAR
rate-limit {output|input} [dscp DSCP] {CAR BC BE} conform-action {action} exceed-action {action}
2.針對ACL進行CAR
rate-limit {output|input} access-group {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}
3.針對限速ACL進行CAR
rate-limit {output|input} access-group rate-limit {ACL NUM} {CAR BC BE} conform-action {action} exceed-action {action}
限速ACL隻是一種調用關係:access-list rate-limit {ACL NUM} {precedence|mac-address} 可以匹配優先級,也可以匹配MAC地址
察看命令:
1.查看限速ACL:show access-lists rate-limit [ACL]
2.查看接口的限速信息:show interfaces [interface] rate-limit
policy map中CAR操作
police {CIR BC BE} conform-action {action} exceed-action {acion} violated-action {acion}
action的選項同上。
流量整形(shaping)
通常通過緩衝區和令牌桶來完成,當報文的發送速度過快時,首先在緩衝區進行緩存,在令牌桶的控製下再均勻地發送這些被緩衝的報文。
采用的技術為GTS(通用流量整形)。
GTS與CAR的主要區別在於:利用CAR進行報文流量控製時對不符合流量特性的報文進行丟棄,而GTS對於不符合流量特性的報文則是進行緩衝,減少了報文的丟棄,同時滿足報文的流量特性。
若報文不需要進行GTS,則不經過令牌桶的處理直接發送。
當因為缺乏足夠的令牌而采用GTS後,GTS按一定的周期從隊列中取出報文進行發送。每次發送都會與令牌桶中的令牌數作比較。直到令牌桶中的令牌數減少到隊列中的報文不能再發送或是隊列中的報文全部發送完畢為止。
一般在路由器的出口進行shaping,入口進行policing.
命令:
1.基本的GTS:traffic-shape rate {CIR BC BE}
2.基於ACL的GTS: traffic-shape group {ACL} {CIR BC BE}
察看:
1.查看GTS 的配置信息:show traffic-shape [interface]
2.查看GTS 的統計信息:show traffic-shape statistics [interface]
GTS在Frame Relay上的實現
1.在接口上啟用GTS:
traffic-shape rate {CIR [Bc [Be]]}
2.當接口收到向後顯性擁塞通知(BECN)時,估算流量速率的最低值:
traffic-shape adaptive {CIR}
3.以向前顯性擁塞通知(FECN)做為BECN 的響應。可選:
traffic-shape fecn-adapt
GTS在policy map上的實現
GTS還可以定義平均值和峰值的流量整形,並且可以在配置GTS 的時候采用CBWFQ.
配置基於分類的流量整形的步驟如下:
1.定義平均值和峰值的CIR,Bc 和Be:
(config-pmap-c)#shape {average|peak} {CIR [Bc] [Be]} average指的是平均值,peak說得是峰值
2.定義緩衝區上限,默認值為1000.可選:
(config-pmap-c)#shape max-buffers {number-of-buffers}
3.在策略上應用CBWFQ.可選:
(config-if)#service-policy output {policy-name}
怎麼看網線是幾類網線 | |
我家裏所用的網線大部分使用的還是雙絞線,不論是傳輸模擬信號還是傳輸數字信號,雙絞線都是常用的傳輸方式。我們在給雙絞線做水晶頭時會發現它都是按規則螺旋結構排列的兩根、四根或者八根絕緣導線組成。一對線可作為一條通信線,雙絞線裏麵的各個線對螺旋... |
三層交換機可以作為普通的二層交換機使用嗎 | |
我們目前使用的網絡,是一個分層次的網絡。osi參考模型是七層,第一層我們的物理層,他使用電壓或者電流的形式來表示數據。第二層是數據鏈路的層,使用MAC地址也就是網卡的物理地址來,作為依據進行數據交換。三層使用ip地址來進行數據的交換! 如果沒有特別... |
三層交換機和普通交換機功能有什麼不同 | |
三層交換機和二層交換機表麵上看一樣,但它們的價格不同,多一層貴很多錢,它們的應用場景不同,它們的工作模式不同。三層交換機主要用在本地的高速數據轉發,三層交換機可以同時工作在參考模型第二層和第三層。 二層交換機主要工作在OSI模型的第二層的數據... |
光貓與路由器插線好還是橋接好 | |
首先給你個肯定答案,光貓和路由器肯定是有線連接好! 首先,現在寬帶都是300兆500兆了,以後也會越來越大,這樣的寬帶必須用千兆路由器才能跑滿帶寬。光貓無線橋接路由器的話基本上隻會有20-30兆的速度,這樣你安裝的300兆500兆的寬帶就浪費了。 再有一點就... |
300兆寬帶換了根網線成了100兆 | |
首先給你個肯定答案,你換的這根網線是超五類百兆網線 首先你安裝的寬帶是300兆的,你原來使用都是300兆,說明你的光貓和路由器肯定都是千兆了,就因為更換了一根網線就變成了100兆,那麼很明顯問題就出在了這根網線上。 我們需要了解一些基礎知識,網線分為... |
- 什麼是soho路由器,soho路由器設置步驟
- ssid廣播是什麼意思,ssid廣播作用
- 福祿克光纖測試儀光纖測試方法
- cgi參數錯誤怎麼解決
- 以太網交換機丟包故障處理案例
- 單模單纖光纖收發器和單模雙向光纖收發器
- 樓層電信間設計的基本要求
- 廠房消防應急燈安裝高度規定
- 消防係統止回閥的作用是什麼
- cisco 871w路由器QoS配置步驟
- 校園網的基本組成結構圖
- 弱電井網線接頭哪種方式連接可靠
- 監控網線和2芯電源線接線線序圖解
- 程控電話交換機內外線常用術語解解
- 諾帝菲爾消防係統輸出模塊接線圖解
- 停車場係統常見問題及解決方法
- 小區監控工程施工方案詳解
- 弱電監控係統布線注意事項
- 如何設計弱電係統綜合管路
- 電腦音箱音源線為什麼隻接一根也可以正常