这个世纪是以视觉和听觉来刺激我们的感官,故多媒体的应用会越来越多,更随着厂商的加大投入,硬件和软件越来越多的支持,但是这就给我们的带宽带来 了挑战性,例如:语音和视频要和我们的大部分数据进行竞争带宽,而我们的语音和视频又对时间的延迟有敏感,更何况短暂的丢包是不允许的。就如我们身边的最 近发生的事件“世界杯”,我们通过网络视频观看时,就会出现马赛克现象,我们针对这种事情给如何通过专业的知识,解决呢?我们今天就采用一种MQC的方法 来简单的介绍一下:
     说明:
      我们使用MQC进行对流量优化时,主要分为以下几步:
1、使用Class Map对流量进行分类;
2、对于 Class Map的分类,执行Policy map策略;
3、在接口下,使用Server Policy调用Policy map策略。
      我们现在模拟以下3种情况:
1)全部丢弃关于HTTP/Telnet的数据包
2) 只丢弃HTTP的数据包,可以通过Telnet访问
3)只丢弃Telnet的数据包,可以通过HTTP访问
     拓扑:
17
----------------------------------------------------------------------------------------------
Gateway(config)#ip http server                    由于我们要采用HTTP协议,所以我们开启HTTP服务
Gateway(config)#access-list 100 permit tcp any any eq www             采用HTTP协议访问时允许从任何源到任何目标
Gateway(config)#access-list 100 permit tcp any any eq 23               采用Telnet协议访问时允许从任何源到任何目标
Gateway(config)#class-map match-any TEST           配置Class-map  命名为TEST
Gateway(config-cmap)#match access-group 100        我们使用Class-map对流量的分配进行与ACL匹配
Gateway(config-cmap)#exit
Gateway(config)#policy-map test-class                 进入policy-map策略,命名为test-class
Gateway(config-pmap)#class TEST                    对Class-map的流量分类,我们对其TEST类进行策略
Gateway(config-pmap-c)#drop                     对于TEST类,执行数据bao丢弃的策略
Gateway(config-pmap-c)#
在没有调用前我们用 PC机进行测试显示什么呢?
11 
我们在接口下调用,又会显示什么呢?
Gateway(config)#interface f0/0
Gateway(config-if)#service-policy input test-class             我们在进口上采用service-policy调用policy-may策略test-class
16
Gateway(config)#do show policy-map interface f0/0    我们查看在f0/0口的流量丢弃情况
FastEthernet0/0
Service-policy input: test-class
Class-map: TEST (match-any)
6 packets, 436 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: access-group 100
6 packets, 436 bytes
5 minute rate 0 bps
drop
Class-map: class-default (match-any)
118 packets, 10271 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Gateway(config)#
 
----------------------------------------------------------------------------------------------
我们现在只允许当任何源地址访问目标80端口时,telnet流量被丢弃
1、我采用带有ACL的方法
Gateway(config)#access-list 100 permit tcp any any eq 23
Gateway(config-if)#class-map match-any Drop           配置Class-map  命名为Drop
Gateway(config-cmap)#match access-group 100
Gateway(config-cmap)#policy-map Drop-test              policy-map策略,命名为Drop-test
Gateway(config-pmap)#class Drop
Gateway(config-pmap-c)#drop
Gateway(config-pmap-c)#interface f0/0
Gateway(config-if)#service-police input Drop-test            我们仍然是在接口的入方向进行调用
*Jun 14 15:43:56.595: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
Gateway(config-if)#service-police input Drop-test
*Jun 14 15:43:56.595: %ENTITY_ALARM-6-INFO: CLEAR INFO Fa0/0 Physical Port Administrative State Down
*Jun 14 15:43:57.595: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Gateway(config-if)#service-policy input Drop-test
----------------------------------------------------------------------------------------------
我们在PC上进行测试:
C:\Users\Administrator>cd\
C:\>telnet 192.168.1.254
正在连接192.168.1.254...无法打开到主机 的连接。 在端口 23: 连接失败
HTTP/1.1 400 Bad Request
Date: Mon, 14 Jun 2010 16:02:56 GMT
Server: cisco-IOS
Accept-Ranges: none
400 Bad Request
遗失对主机的连接。
14 15
2、我们采用MQS的方法
Gateway(config)#no access-list 100 permit tcp any any eq telnet
Gateway(config)#class-map match-any Drop
Gateway(config-cmap)#no match access-group 100
Gateway(config-cmap)#match protocol telnet              在Class-map为Drop中,telnet协议与之匹配
----------------------------------------------------------------------------------------------
C:\>telnet 192.168.1.254
正在连接192.168.1.254...无法打开到主机 的连接。 在端口 23: 连接失败
C:\>
HTTP/1.1 400 Bad Request
Date: Mon, 14 Jun 2010 16:02:56 GMT
Server: cisco-IOS
Accept-Ranges: none
400 Bad Request
遗失对主机的连接。
----------------------------------------------------------------------------------------------
     我们现在要求只能访问telnet,而不能访问目标端口为80端口的HTTP服务
Gateway(config-cmap)#no match protocol telnet
Gateway(config-cmap)#match protocol http
Gateway(config-if)# class-map match-any Drop
Gateway(config-cmap)# match protocol http       现在与之匹配的协议为HTTP
Gateway(config-cmap)# policy-map Drop-test
Gateway(config-pmap)#class Drop
Gateway(config-pmap-c)#drop
Gateway(config-pmap-c)#interface f0/0
Gateway(config-if)# service-policy input Drop-test
Gateway(config-if)#
C:\>telnet 192.168.1.254 80
正在连接192.168.1.254...无法打开 到主机的连接。 在端口 80: 连接失败
12
13
当然我们可以进行其他的策略,根据实际的情况来进行配置不同 的策略,例如ICMP的丢弃等等,如果有的公司实际中用不到的话,就不要在接口下掉用了!因为很有可能造成网络不流畅等等。。