一、网络说明
PC1接在Cisco3550 F0/1上,速率为1M;
PC2接在Cisco3550 F0/2上,速率为2M;
Cisco3550的G0/1为出口。
二、详细配置过程
注:每个接口每个方向只支持一个策略;一个策略可以用于多个接口。因此所有PC的下载速率的限制都应该定义在同一个策略(在本例子当中为policy-map user-down),而PC不同速率的区分是在Class-map分别定义。
1、在交换机上启动QOS
Switch(config)#mls qos //在交换机上启动QOS
2、分别定义PC1(10.10.1.1)和PC2(10.10.2.1)访问控制列表
Switch(config)#access-list 10 permit 10.10.1.0 0.0.0.255 //控制pc1上行流量 Switch(config)#access-list 100 permit any 10.10.1.0 0.0.0.255 //控制pc1下行流量 Switch(config)#access-list 11 permit 10.10.2.0 0.0.0.255 //控制pc2上行流量 Switch(config)#access-list 111 permit any 10.10.2.0 0.0.0.255 //控制pc2下行流量 Ip nat inside destination list 1 pool Webser Ip nat inside destination list 2 pool Ftpser |
3、定义类,并和上面定义的访问控制列表绑定
Switch(config)# class-map user1-up //定义PC1上行的类,并绑定访问列表10 Switch(config-cmap)# match access-group 10 Switch(config-cmap)# exit Switch(config)# class-map user2-up Switch(config)# class-map user1-down Switch(config-cmap)# match access-group 100 //定义PC1下行的类,并绑定访问列表100 Switch(config)# class-map user2-down Switch(config-cmap)# match access-group 111 //定义PC2下行的类,并绑定访问列表111 Switch(config-cmap)# exit |
4、定义策略,把上面定义的类绑定到该策略
Switch(config)# policy-map user1-up //定义PC1上行的速率为1M Switch(config-pmap)# class user1-up Switch(config-pmap-c)# trust dscp 信任差分服务代码点,用来对每一类流量实施各种QOS策略,用户进来的数据包的DSCP缺省都为0 Switch(config-pmap-c)# police 1024000 1024000 exceed-action drop 任何超过策略限制速率的通信流将会被丢弃(bits、bytes) Switch(config)# policy-map user2-up //定义PC2上行的速率为2M Switch(config-pmap)# class user2-up Switch(config-pmap-c)# trust dscp Switch(config-pmap-c)# police 2048000 1024000 exceed-action drop Switch(config)# policy-map user-down Switch(config-pmap)# class user1-down Switch(config-pmap-c)# trust dscp Switch(config-pmap-c)# police 1024000 1024000 exceed-action drop Switch(config-pmap-c)# exit Switch(config-pmap)# class user2-down Switch(config-pmap-c)# trust dscp Switch(config-pmap-c)# police 2048000 1024000 exceed-action drop Switch(config-pmap-c)# exit |
5、在接口上运用策略
Switch(config)# interface f0/1 Switch(config-if)# service-policy input user1-up Switch(config)# interface f0/2 Switch(config-if)# service-policy input user2-up Switch(config)# interface g0/1 Switch(config-if)# service-policy input user-down |