天天看點

CCIE學習筆記之端到端QOS

CCIE學習筆記之端到端QOS

Class-map預設行為match-all

Match protocol http mime “*/audiovideo/*”  //分類器尋找特殊類型的音頻和視訊mime流量

Match protocol http “*.jpg|*.jpeg”     //比對圖檔流量

注:MIME類型就是設定某種擴充名的檔案用一種應用程式來打開的方式類型,當該擴充名檔案被通路的時候,浏覽器會自動使用指定應用程式來打開

(config-if)#mls qos cos 1 //把不打802.1q标簽的幀cos設定為1

          mls qos cos override //把所有幀的cos都重寫為上一條指令設定的值

          switchport voice vlan 20 //設定語音vlan

          switchport priority extend cos 0 //讓IP電話吧其接入的PC的cos設定為0

          mls qos trust device cisco  //隻信任cisco裝置的qos,這樣把IP電話拔了直接連接配接PC,PC的流量也不會變為5

set fr-de     //設定幀中繼DE位

set mpls experimental  imposition  //設定所有MPLS标簽的實驗位

set mpls experimental  topmost   //設定最上端MPLS标簽的實驗位

(config)# max -reserved -bandwidth 90

比對流量

class -map match -any  BB23

  matchinput-interface G0/0/1.50        //比對流量入口

 match input-interface  G0/0/1.70

(config-class )#  match protocol http  url “*.thiswebsite.com/*”  //比對特定網站流量

(config-class )#  match protocol http url “(*.gif|*.jpg|*.jpeg)”    //比對圖檔流量

match not  packet length min500 max 500  //比對除了包長500的資料

(config-if)# ip nbar protocol-discovery   //用到NBAR時要在QOS應用的接口下開啟NBAR發現

de list

frame -relay de -list 1 protocol ip list100

interface S0/0.5

 frame -relay de -group 1 503    //把DLCI503符合ACL100的流量打上DE标簽

map -class frame-relay FR 

 frame -relay cir  64000 

 frame -relay mincir 32000 

 frame -relay adaptive-shaping interface-congestion 10  //如果端口隊列超過10流量減少到mincir

interface S0/0

 frame -relay traffic -shaping

interface S0/0.3

 frame -relay interface -dlci 503 

class FR

修改每個隊列的最小buffer

values as follows: 

Minimum reserve level 3 to 80 packets and map to queue 1 

Minimum reserve level 4 to 150 packets andmap to queue 2

Minimum reserve level 8 to 170 packets andmap to queue 3:

show mls qos interface f0/1  buffers

mls qos

mls qos min-reserve 3 80

mls qos min-reserve 4 150 

mls qos min-reserve 8 170 

interface f0/1

  wrr-queue min-reserve 1 3

  wrr-queue min-reserve 2 4

  wrr-queue min-reserve 3 8

為第三層隧道提供QOS标記的3種方法:

1.      QOS與分類:在分組封裝前提供内部分組的副本,在出口處用此副本進行QOS政策(此時由于封裝,不能讀取原分組的頭部資訊),優勢是内部分組的TOS,IP/TCP/UDP頭參數都可以參與QOS政策

配置:

Int tunnel0     //GRE和IPIP隧道

qos pre-clssify

interfacevirtual-template1

qospre-classify  //l2f和l2tp隧道

crypto mapsecured-partner-x  //ipsec隧道

qos pre-classify

2.      TOS反射:将tos字段從内部分組複制到外部分組,在大多數的GRE和ipsec隧道上的預設行為

3.      獨立的分組頭标記:最不實用的一種

BC=CIR*TC

TC:多少時間突發一次(即多少時間配置設定一個桶的令牌),如cir=8000,bc(桶的大小)=2000,那麼TC=125ms,即每秒産生4個突發

map -class frame-relay FR 

 frame -relay cir 512000

 frame -relay fragment 640 

 frame -relay ip rtp priority 16384 16383 256   //将所有RTP 資料設定(UDP 16384 開始及之後的16383 個端口)優先帶寬為mincir(256K)

interface S0/0/0     

 frame -relay traffic -shaping

 frame -relay class FR

 frame -relay ip rtp header-compression

承諾的通路速率(CAR,不推薦)

interface FastEthernet1/0

rate-limit input access-group 101 960002000 3000 conform-action set-dscp-transmit 10 exceed-action drop

單速率三色标記器/管制器:

低于CIR而第一個桶未使用的令牌可累計到第二個桶,用于臨時突發流量,但是過量的信用連累計會引起流量的不可預測。

配置:

R2(config)#policy-map clc

R2(config-pmap)#class class-default

R2(config-pmap-c)#police cir 20000000 bc8000 be 8000

R2(config-pmap-c-police)#conform-actionset-dscp-transmit af31

R2(config-pmap-c-police)#exceed-actionset-dscp-transmit af32

R2(config-pmap-c-police)#violate-actiondrop

雙速率三色标記器/管制器:

兩個桶獨立(也以一定的速率往第二個桶放令牌,與累計信用量無關,不用把第一個桶用剩的令牌放入第二個桶),允許保持一定速率的過量突發,先檢查違約,在檢查過量,最後才是符合,配置:

R2(config-pmap-c)#police cir 20000000 bc8000 pir 30000000 be 8000

分層管制(policy-map的嵌套)

Policy-map tcp-policy

   Classtcp

     Policecir 10000000

     Service-policyftp-policy      //ftp流量屬于TCP的子集,第二級的管制器作用在由第一級管制器傳輸或标記的分組上,第二級無需知道第一級丢棄的任何分組,即第二級在第一級的基礎上管制

×××器:

預設Bc設定為cir/8,即産生125ms的間隔,語音流量建議間隔10ms,即bc設定為cir/100。

峰值速率=cir(1+be/bc)

,峰值速率語序比平均速率×××較高的×××,但是峰值速率×××啟動後如果網絡擁塞則超過cir的流量都會被丢棄

幀中繼流量×××(FRTS)

Int s0/1

 Encapsulationframe-relay

 Frame-relaytraffic-shaping    //開啟FRTS

Int s0/1.1 point-to-point

  Frame-relayinterface-dlci 100

Class frts                       //應用FRTS政策,可用在實體接口,子接口或單獨的DLCI上

Map-class frame-relay frts

  Frame-relaycir 1536000

  Frame-relaybc 15360             //bc=cir/100,即突發間隔10ms

  Frame-relay be0       //峰值速率=cir(1+be/bc),這裡建議不允許突發流量,因為接收端隻能以bc的速率拉流量,這樣存在将在的緩沖延遲

 Frame-relay mincir 1536000   //當自适應×××啟動并受到ECN通知死,降低流量到最小CIR(mincir),預設cir/2,推薦網絡傳輸試試流量時禁用自适應×××

  Frame-relayadaptive-shaping //開啟自适應×××

基于類别的幀中繼×××:

Policy-map cb-frts

  Classclass-default

Shape average1536000(cir) 15360(bc) 0(be)

Int s0/1

Encapsulation frame-relay  //貌似不用開啟FRTS

Int s0/1.1 point-to-point

  Frame-relayinterface-dlci 100

Class cb-frts

Map-class frame-relay cb-frts

  Service-policyoutput cb-frts   //流量×××隻能用于out方向

幀中繼語音自适應的流量×××(FR-VATS)

根據分組進入優先級隊列或低延遲隊列來判斷語音的出現,如果沒有語音出現,允許流量突發到線路速率(下面例子中配置為CIR),如果有語音出現被×××到另一個速率(下面的例子配置為mincir)

配置:

Policy-map fr-vats

  Classclass-default

Shapeaverage 768600 3648 0   //設定沒有語音流量允許的速率(CIR)cir=768600,bc=mincir/100,be=0

Shape adaptive 364800   //設定出現語音流量的×××速率(mincir)

Shapefr-voice-adapt deactivation 30 //允許當語音流量出現時進行速率調整,并且設定鈍化周期30s(預設),這樣語音消失30秒内還是被×××到有語音流的速率

int s0/1

frame-relay fragmentation  voice-adaptivedeactivation 30

//開啟FR voiceadaptive fragmentation(sub-component of FR VATS)

Int s0/1.50

Bandwidth 768

Frame-relay interface-dlci 100

   Classfrts

Map-class frame-relay frts

  Service-policyoutput fr-vats

  Frame-relayfragment 480    //對幀中繼流量進行分片和交叉傳遞以減少語音流量延遲

通用流量×××(MQC)

第三層排隊機制

Policy-map a

  Classvoice

    Prioritypercent 30   //啟用LLQ,如果開啟兩個LLQ隊列,實際上是分時複用一個PQ隊列,沒有擁塞時可以超過,擁塞時嚴格管制

Class important_data

  Bandwidth percent 45  //啟用CBWFQ

Class class-default

  Fair-queue      //啟用WFQ

第2層排隊工具

1.       幀中繼雙FIFO

三層的LLQ隊列被放入第二層的一個隊列,其他經過三層排程放入二層的另一個隊列,這樣的第二層隊列確定來自一個DLCI的LLQ不會被另一個隊列的CBWFQ隊列延遲。

配置了FRF.12時接口上自動啟動雙FIFO排隊。FRF.12依賴于幀中繼流量×××(FRTS)或基于類别的FRTS被啟用

2.       PVC接口有限級隊列

在接口級别定義了四個隊列,優先級高的比優先級低的擁有絕對優先權,可能餓死低優先級隊列,配置:

Int s0/1.1

  Frame-relay interface-queue priority 10 20 3040

  Frame-relay interface-dlci 101

     Class high-pvc           //把dlci101的流量放入高優先級隊列

Map-classframe-relay high-pvc

   Frame-relay interface-queue priority high

早期随機檢測

Random-detect dscp-base af11 5 20 8    //啟動基于DSCP的早期随機檢測,從隊列深度5個分組開始丢棄,達到最大深度20時,8個分組中丢1個

Random-detect ecn

報頭壓縮

1.      HDLC:

Ip tcpheader-compression

Ip rtp header-compression

Ip tcpcompression-connections 可能的最短會話數量

Ip rtpcompression-connections

2.      ppp

指令和上面一樣,隻不過開啟cTCP或cRTP就會自動開啟另一個

3.      幀中繼

Frame-relay iprtp header-compression

基于類别的頭壓縮

Policy-map a

  Classvoice

Compressionheader ip rtp/tcp

注意:啟用接口下的頭壓縮和基于類别的有壓縮互斥的,連接配接并發數自動配置

分段與交錯(LFI)

讓語音的串行化延遲低于10ms(推薦),是以隻要1500位元組所造成串行化延遲低于10ms就不需要LFI(如1536kbit/s的鍊路)

1.      多鍊路PPP LFI

Int multilink1

  Ppp multilink

  Ppp multilink group 1

  Ppp multilink fragment delay 10   //串行化延遲設定為10ms,自動計算分片大小

  Ppp multilink interleave    //交叉傳遞

  Ints1/0

Bandwidth 786

Encapsulationppp

Ppp multilink

Ppp multilinkgroup 1

2.      幀中繼LFI

Map-relayframe-relay frag

  Frame-relay fragment 960   //開啟分片也自動開啟交錯

Int s1/0.1

  Frame-relay interface-dlci 102

    Class frag

RSVP

配置:

Interface s0/1

R1(config-if)#ip rsvp bandwidth 1000 200   //總共可預留1000kbps,每個流最大預留200kbps

RSVP為語音流量提供帶寬延遲保障必須與LLQ一起使用

R1(config)#ip rsvp pq-profilevoice-like    //可以為RSVP選擇内置的類似語音配置檔案來将流量分類成LLQ的PQ

(config)# ip rsvp pq -profile1024 128    // max flow rate  1024Bps max flow burst  128bps

(config-if)# ip rsvp bandwidth256 64   //總共254,單個流量最大64

3550分類、标記和映射

接口下信任或用MQC

3550配置DSCP突變

在diffserv區域的邊界接口上應用突變映射:

(config)#mls qos map dscp-mutationdiff1-to-diff2 18 to 10    //鄰居來的DSCP 18轉成dscp 10

(config)#mls qos map dscp-mutationdiff1-to-diff2 20 to 12

(config)#mls qos map dscp-mutationdiff1-to-diff2 22 to 14

Int g0/3

Mls qos trust dscp    //信任dscp

Mls qos dscp-mutation diff1-to-diff2   //應用突變映射

3550管制和降格

(config)#mls qos map policed-dscp 10 to 12  //把AF11轉成AF12

Class a

  Matchip dscp af11

  Matchvlan 10

policy-map a

 class a

police 100000008000 exceed-action policed-dscp-transmit

int f0/1

 service-policy input a

3550排隊與丢棄

3550有4個出口隊列,其中隊列4可被配置為嚴格優先級隊列,預設不啟用,啟用要在接口上:

int f0/1

priority queue out

為每個隊列設定帶寬,如果優先級隊列啟用則其帶寬被忽略(即weight4被忽略):

(config)#wrr-queue bandwidth 5 4 11 1

修改隊列可用緩沖空間,預設每個隊列可用緩沖空間的25%:

(config)#wrr-queue queue-limit 30 30 30 10

根據cos把流量歸入相應隊列,預設cos 0/1隊列1,cos 2/3隊列2,cos 4/5隊列3,cos 6/7隊列4,注意是基于每個接口:

int f0/1

wrr-queue cos-map 4 5   //把cos5劃入隊列4

配置WRED閥值和DSCP到閥值的映射:

int f0/1

wrr-queue random-detect max-threshold 1 40 100  //隊列1啟用WRED且第一個丢棄閥值設為40%,第二個閥值設為100%

wrr-queue dscp-map 1 12 20 28 36   //把cos 12 20 28 36映射到閥值1,超過閥值1則丢棄

wrr-queue dscp-map 2 8 10   //把cos 8 20映射到閥值2,超過閥值2則丢棄

2970/3560/3750分類、标記和映射

和3550同,接口信任或MQC

2970/3560/3750管制和降格

和3550同

2970/3560/3750排隊與丢棄

支援入口排程,但是幾乎不需要

支援4個出口隊列,通過priority-queue out可将隊列1(3550是隊列4)設定為優先級隊列。

通過×××循環(SRR)算法服務非優先級隊列,運作模式:shaped或sharing,入口隻支援sharing。

shaped模式根據權重來計算隊列的帶寬,即使鍊路空閑也不能超過配置設定的帶寬

share模式根據權重共享帶寬,但并不限制

接口可以配置成4Q3T或1P3Q3T

配置每個隊列的緩沖配置設定和閥值:

(config)#mls qos queue-set output 1 buffers35 30 25 10  //配置設定給每個隊列的緩沖比例

(config)#mls qos queue-set output1 threshold 2 40 100 100 100 //隊列2的閥值1為40,閥值2為100

int f0/1

queue-set 1

priority-queue out      //開啟優先級隊列1

配置SRR×××和共享的權重:

int f0/1

srr-queue bandwidth share 35 30 25 10

srr-queue bandwidth shape 0 0 0 10   //0表示該隊列用共享模式,如果有值表明該隊列在×××模式,此時該隊列的共享模式的值無效

将DSCP值配置設定給隊列和相應的閥值:

(config)#mls qos srr-queue outputdscp-map queue 1 threshold 1 46  //把dscp 46劃入隊列1的閥值1

修改從COS到DSCP的映射:

(config)#mls qos map cos-dscp 0 816 24 32 46 48 56

auto qos:

Router(config-if)# auto qosvoip cisco-phone/ cisco-softphone

! ConfiguresautoQoS for a Cisco IP phone.

Router(config-if)# auto qos voip trust

! ConfiguresautoQoS for marked traffic

auto discovery qos trust

!自動收集網絡上的流量,為autoQOS做準備

轉載于:https://blog.51cto.com/flyclc/1539394

繼續閱讀