Cisco 2960 3750交换机端口流量限速(QOS)


 注:每一个接口每一个方向只支持一个策略;一个策略能够用于多个接口。所以端口下的网段的下载速率的限制都应该定义在同一个策略 算法

   1.在交换机上启动QOSapi

  Switch(config)#mls qos    //在交换机上启动QOS网络


   2. 定义访问控制列表ide

    Switch(config)#access-list 10 permit 59.215.45.0 0.0.0.127         orm

控制这个端口下59.215.45.0网段的上传流量blog


 Switch(config)#access-list 100 permit  59.215.45.0 0.0.0.127         token

控制这个端口下59.215.45.0网段的下载流量接口


  3.定义类,并和上面定义的访问控制列表绑定队列


  Switch(config)# class-map rate-limit-uplink         /定义上行的类.并绑定访问列表10
  Switch(config-cmap)# match access-group 10
  Switch(config-cmap)# exitip

       Switch(config)# class-map rate-limit-downlink      /定义下行的类.并绑定访问列表100
       Switch(config-cmap)# match access-group 100 
    Switch(config-cmap)# exit
 
 4.定义策略,把定义的类绑定到该策略

  Switch(config)# policy-map rate-limit-uplink        //定义上行的速率为30M
  Switch(config-pmap)# class rate-limit-uplink   
  Switch(config-pmap-c)# trust dscp
  Switch(config-pmap-c)# police 30000000 1000000 exceed-action drop //这里30M不能写成30720000

    不然会报如下错误:%Error: policer rate should be multiples of 1000000.
                      Please choose either 3000000 or 4000000 (bits per second) as the policer rate

  关于100000那个数字的定义,后面作个实验跟你们解释

  Switch(config)# policy-map rate-limit-downlink     //定义下行的速率为30M
        Switch(config-pmap)# class rate-limit-downlink
  Switch(config-pmap-c)# trust dscp
  Switch(config-pmap-c)# police 30000000 1000000  exceed-action drop
  Switch(config-pmap-c)# exit
   
 5.在接口上应用

    Switch(config)# interface f0/1 (下联口)
 Switch(config-if)# service-policy input rate-limit-uplink
   
    interface: 用户但愿进行流量控制的端口,能够是Ethernet也能够是serial口,可是不一样类型的interface在下面的input output上选择有所不一样,须要注意一下


    input|output:这是定义数据流量的方向

  Switch(config)# interface g0/20(上联口)  
    Switch(config-if)# service-policy input rate-limit-downlink


注释:

 police  bps | burst-normal burst-max |conform-action action |exceed-action action
 
 
  Bps:用户但愿该流量的速率上限,单位是bps
  Burst-normal burst-max:这个是指token bucket的大小,通常采用8000,16000,32000  这些值,视乎bps值的大小而定。
  Conform-action :在速率限制如下的流量的处理策略。
  Exceed-action:超过速率限制的流量的处理策略。
  Action:处理策略,包括如下几种:
  Transmit:传输
  Drop:丢弃

Burst-normal burst-max 这个值最值得咱们讨论,这个至关于token bucket的大小,那么就要了解token bucket的原理,网络上抄写一段

Token Bucket令牌桶算法是网络流量×××(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。典型状况下,令牌桶算法用来控制发

送到网络上的数据的数目,并容许突发数据的发送。

令牌桶这种控制机制基于令牌桶中是否存在令牌来指示何时能够发送流量。令牌桶中的每个令牌都表明一个字节。若是令牌桶中存在令牌,则容许发

送流量;而若是令牌桶中不存在令牌,则不容许发送流量。所以,若是突发门限被合理地配置而且令牌桶中有足够的令牌,那么流量就能够以峰值速率发送


token bucket - 算法步骤

假如用户配置的

token bucket
平均发送速率为r,则每隔1/r秒一个令牌被加入到桶中; 假设桶最多能够存发b个令牌。若是令牌到达时令牌桶已经满了,那么这个令牌会被丢弃; 当一个

n个字节的数据包到达时,就从令牌桶中删除n个令牌,而且数据包被发送到网络; 若是令牌桶中少于n个令牌,那么不会删除令牌,而且认为这个数据包在

流量限制以外;
算法容许最长b个字节的突发,但从长期运行结果看,数据包的速率被限制成常量r。对于在流量限制外的数据包能够以不一样的方式处理:它们能够被丢弃;

它们能够排放在队列中以便当令牌桶中累积了足够多的令牌时再传输;
它们能够继续发送,但须要作特殊标记,网络过载的时候将这些特殊标记的包丢弃。
token bucket - 特别提示
令牌桶算法不能与另一种常见算法“漏桶算法(Leaky Bucket)”相混淆。

token bucket
这两种算法的主要区别在于“漏桶算法”可以强行限制数据的传输速率,而“令牌桶算法”在可以限制数据的平均传输数据外,还容许某种程度的突发传输在“令牌桶算法”中,只要令牌桶中存在令牌,那么就容许突发地传输数据直到达到用户配置的门限,所以它适合于具备突发特性的流量。


你们理解上面原理,接着根据如下命令作个实验,结果以下,注意的是.下面一些值.只是经过上传单个文件所得出来参考值

police 30000000 10000  exceed-action drop

上传速度为65k左右*8

police 30000000 100000  exceed-action drop

上传速度为400k左右*8

police 30000000 1000000  exceed-action drop

上传速度为2.96M左右*8


30000000/1024=29.2M

如下是两个端口限制上传30M后所显示流量图:

相关文章
相关标签/搜索