PBR的打标签方式:

R1(config)#access-list 100 permit tcp any any range 20 21

R1(config)#access-list 100 permit tcp  any range 20 21 any 抓取FTP流量

R1(config)#access-list 101 permit 6 any any eq 80

R1(config)#access-list 101 permit 6 any eq 80 any 抓取HTTP流量 

R1(config)#access-list 102 permit 6 any any eq 23 

R1(config)#access-list 102 permit 6 any eq 23 any 抓取Telnet流量

R1(config)#access-list 103 permit 17 any any range 16384 32767 

R1(config)#access-list 103 permit 17 any range 16384 32767 any 抓取VoIP流量

R1(config)#access-list 104 permit 88 any host 224.0.0.10 

R1(config)#access-list 104 permit 88 host 224.0.0.10 any 抓取EIGRP流量

R1(config)#route-map PBR permit 10

R1(config-route-map)#match ip address 100

R1(config-route-map)#set ip precedence 1  定义ip precedence值

R1(config-route-map)#exit

R1(config)#route-map PBR Permit 20  

R1(config-route-map)#match ip add 101

R1(config-route-map)#set ip precedence 2 定义ip precedence值

R1(config-route-map)#ex

R1(config)#route-map PBR permit 30

R1(config-route-map)#match ip add 102

R1(config-route-map)#set ip precedence 3 定义ip precedence值

R1(config-route-map)#ex

R1(config)#route-map PBR permit 40

R1(config-route-map)#match ip add 103

R1(config-route-map)#set ip precedence 5 定义ip precedence值

R1(config-route-map)#ex

R1(config)#route-map PBR permit 50

R1(config-route-map)#match ip add 104

R1(config-route-map)#set ip precedence 6 定义ip precedence值

R1(config-route-map)#ex

R1(config)#int f0/0

R1(config-if)#ip policy route-map PBR 在接口调用

注意:该调用只能对通过该接口接收到的流量生效(入站流量有效)


CBMarking抓取流量:

使用ACL抓取条目

ip access-list extended EIGPR

 permit eigrp any any

ip access-list extended FTP

 permit tcp any any range ftp-data ftp

 permit tcp any range ftp-data ftp any

ip access-list extended HTTP

 permit tcp any any eq www

 permit tcp any eq www any

ip access-list extended Telnet

 permit tcp any any eq telnet

 permit tcp any eq telnet any

ip access-list extended VoIP

 permit udp any any range 16384 32767

 permit udp any range 16384 32767 any

使用Class-map将ACL抓取到的流量分类

class-map match-all HTTP

 match access-group name HTTP

class-map match-all VoIP

 match access-group name VoIP

class-map match-all Telnet

 match access-group name Telnet

class-map match-all FTP

 match access-group name FTP

class-map match-all EIGRP

 match access-group name EIGRP

使用Policy-map对已经分类的流量执行Qos策略

policy-map CBMarking

 class FTP

  set ip precedence 1

 class HTTP

  set ip dscp cs2

 class Telnet

  set ip dscp af31

 class VoIP

  set ip dscp ef

 class EIGRP

  set ip dscp cs6

在接口上调用:

interface FastEthernet0/1

service-policy input CBMarking   入站

interface FastEthernet0/0

service-policy output CBMarking  出战


NBAR国家禁黄专用:

R1(config)#class-map match-all BNAR-VoIP

R1(config-cmap)#match protocol rtp audio 

R1(config)#int f0/0

R1(config-if)#ip nbar protocol-discovery 

注意:使用之前需要先到思科官网下载特征库,然后放入flash中,全局下使用ip nbar pdlm+特征库名名称就可以



FIFO:

查看接口的类型:

R1#sh int s1/0 

修改接口为FIFO:

R1(config)#int f0/0

R1(config-if)#no fair-queue

修改接口为WFQ:

R1(config)#int f0/0 

R1(config-if)#fair-queue 

修改队列的数量:

R1(config)#int s1/0

R1(config-if)#hold-queue 200 out 注意:出队比入队更重要

R1(config-if)#hold-queue 300 in


PQ:

R1(config)#priority-list 15 protocol ip high tcp telnet 把Telnet划入high

R1(config)#access-list 100 permit icmp any any

R1(config)#priority-list 15 protocol ip low list 100 把ICMP划入low

R1(config)#priority-list 15 protocol ip medium  把IP流量划入medium

R1(config)#priority-list 15 interface FastEthernet0/0 medium 把通过f0/0收到的流量划入medium

R1(config)#priority-list 15 default low 把非IP流量划入low

调用:

R1(config)#int f0/1

R1(config-if)#priority-group 15

修改停车场的数量: 

R1(config)#priority-list 15 queue-limit 50 50 50 50

测试:

R1#debug priority



CQ:

R1(config)#access-list 101 permit udp any any range 16384 32767

R1(config)#access-list 101 permit udp any range 16384 32767 any 

R1(config)#queue-list 10 protocol ip 1 list 101  把语音流量放入队列1

R1(config)#queue-list 10 protocol ip 3 tcp telnet 把Telnet放入队列3

R1(config)#access-list 100 permit icmp any any

R1(config)#queue-list 10 protocol ip 4 list 100  把ICMP放入队列4

R1(config)#queue-list 10 interface f0/0 5  把通过f0/0进入的流量放入队列5

R1(config)#queue-list 10 protocol ip 6   把IP流量放入队列6

R1(config)#queue-list 10 default 7   把所有非IP流量放入队列7

调用:

R1(config)#int f0/1

R1(config-if)#custom-queue-list 10  

注意:一个接口只能使用一种类型的队列,不能即使用PQ又使用CQ

从队列2开始轮循:

R1(config)#queue-list 10 lowest-custom 2 

修改0号停车位的大小:

R1(config)#queue-list 10 queue 0 limit 50

修改队列3发包的字节:

R1(config)#queue-list 10 queue 3 byte-count 3000



FBWFQ:

修改接口的下限阈值(CDT)

R1(config)#int f0/0

R1(config-if)#fair-queue 164 1024 200 

R1#sh queueing fair

Reserved queues 预留队列

Discard threshold CDT

修改HQO(上限阈值):

R1(config)#int f0/0

R1(config-if)#hold-queue 3000 out


FBLLQ:(=PQ+FBWFQ):

R1(config)#int f0/0

R1(config-if)#ip rtp priority 16384 16383 200  只能基于UDP(16384-32767之间)

 注意:该命令为隐藏命令    指这个范围             32767=16384+16383



CBWFQ:

R1(config)#ip cef 

R1(config)#class-map match-all VoIP

R1(config-cmap)#match protocol rtp audio 

R1(config)#class-map match-all Video   

R1(config-cmap)#match protocol rtp video 

R1(config)#class-map match-all Business    

R1(config-cmap)#match protocol ftp 

R1(config)#class-map match-all EIGRP

R1(config-cmap)#match protocol eigrp 

R1(config)#policy-map CBWFQ

R1(config-pmap)#class VoIP

R1(config-pmap-c)#bandwidth percent 30  占用30%

R1(config-pmap)#class Video

R1(config-pmap-c)#bandwidth percent 20  占用20%

R1(config-pmap)#class Business   

R1(config-pmap-c)#bandwidth percent 30  占用30%

R1(config-pmap)#class EIGRP      

R1(config-pmap-c)#bandwidth percent 5   占用5%

R1(config)#int f0/0

R1(config-if)#service-policy output CBWFQ  注意:只能在出战方向调用

R1(config-if)#ip nbar protocol-discovery 




CBLLQ:

R1(config)#ip cef 

R1(config)#class-map match-all VoIP

R1(config-cmap)#match protocol rtp audio 

R1(config)#class-map match-all Video   

R1(config-cmap)#match protocol rtp video 

R1(config)#class-map match-all Business    

R1(config-cmap)#match protocol ftp 

R1(config)#class-map match-all EIGRP

R1(config-cmap)#match protocol eigrp 

R1(config)#policy-map CBLLQ 

R1(config-pmap)#class EIGRP    

R1(config-pmap-c)#priority 100

R1(config-pmap)#class VoIP

R1(config-pmap-c)#priority percent 20

R1(config-pmap)#class Video

R1(config-pmap-c)#bandwidth percent 30

R1(config-pmap)#class Business

R1(config-pmap-c)#bandwidth percent 30

R1(config-pmap)#class class-default

R1(config-pmap-c)#fair-queue

R1(config)#int f0/0

R1(config-if)#service-policy output CBLLQ  注意:只能在出战方向调用

R1(config-if)#ip nbar protocol-discovery 




实验要求见QQ收藏:

R1(config)#class-map match-all Control

R1(config-cmap)#match ip precedence 6 7

R1(config)#class-map match-all Voice

R1(config-cmap)#match ip precedence 5

R1(config)#class-map match-all Video

R1(config-cmap)#match ip precedence 4

R1(config)#class-map match-all Business

R1(config-cmap)#match ip precedence 3

R1(config)#class-map match-all Internet 

R1(config-cmap)#match ip precedence 0

R1(config)#policy-map CBLLQ 

R1(config-pmap)#class Voice

R1(config-pmap-c)#priority percent 20

R1(config-pmap)#class Control

R1(config-pmap-c)#priority 100

R1(config-pmap)#class Video

R1(config-pmap-c)#bandwidth percent 30

R1(config-pmap)#class Business

R1(config-pmap-c)#bandwidth percent 30

R1(config-pmap-c)#random-detect 

R1(config-pmap-c)#random-detect exponential-weighting-constant 10

R1(config-pmap)#class Internet

R1(config-pmap-c)#bandwidth percent 15

R1(config)#int f0/0

R1(config-if)#max-reserved-bandwidth 

R1(config-if)#max-reserved-bandwidth 100

R1(config-if)#service-policy output CBLLQ