天天看點

交換機使用QoS來對端口限速

哎……,這一段時間一直都很忙呀,很久都沒有來寫部落格了,今天正好沒有事。就帶家大一起來看看這個交換機裡面的QoS吧。

一直以來想對這個交換機上面QoS來做一個限制,今天正好沒有事情做,于是利用辦公室裡面的4006交換機來做一下這個測試。

在4006上面我沒有做任何配置。下面按照慣例來看看拓撲圖吧。

現在呢?在沒有做QoS的時候我們來看看它的下載下傳速度。

從這裡我們可以看見,我從192.168.0.230上面下載下傳一個VM虛拟機,速度是10.5M,因為我内網都是100M口嘛。

那下面我們就通過這台4006交換機來帶着大家做一下這個配置嘛!

在這裡我們還是先來講講我們做這個實驗的思路吧,首先我們給要限速的一些PC使用ACL挑選出來。然後我們将ACL綁定在類上面,再将類綁定在政策上面,最好再将這個政策應用在接口上面。大至就是這樣一個流程來做。但是這裡要注意的是每個接口每個方向隻支援一個政策;一個政策可以用于多個接口。

1、在交換機上啟動QOS

Switch(config)#<b>mls qos</b>  //啟用QOS功能

2、分别定義PC1(192.168.0.187)和PC2(192.168.0.189)通路控制清單

Switch(config)#<b>access-list 1 permit host 192.168.0.187  //</b><b>控制pc1</b><b>上行流量</b>

Switch(config)#<b>access-list 110 permit ip any host 192.168.0.187  //</b><b>控制pc1</b><b>下行流量</b>

Switch(config)#<b>access-list 2 permit host 192.168.0.189  //</b><b>控制pc2</b><b>上行流量</b>

Switch(config)#<b>access-list 120 permit ip any host 192.168.0.189  //</b><b>控制pc2</b><b>下行流量</b>

3、定義類,并和上面定義的通路控制清單綁定

Switch(config)#<b>class-map user1-up  </b>//定義PC1上行的類,并綁定通路清單

Switch(config-cmap)#<b>match access-group 1</b>

Switch(config-cmap)#<b>exit</b>

Switch(config)#<b>class-map user2-up  //</b><b>定義PC2</b><b>上行的類,并綁定通路清單</b>

Switch(config-cmap)#<b>match access-group 2</b>

Switch(config)#<b>class-map user1-down  //</b><b>定義PC1</b><b>下行的類,并綁定通路清單</b>

Switch(config-cmap)#<b>match access-group 110</b>

Switch(config)#<b>class-map user2-down  //</b><b>定義PC2</b><b>下行的類,并綁定通路清單</b>

Switch(config-cmap)#<b>match access-group 120</b>

4、定義政策,把上面定義的類綁定到該政策

Switch(config)#<b>policy-map user1-up   </b>//定義PC1上行的速率為1M

Switch(config-pmap)#<b>class user1-up</b>

Switch(config-pmap-c)#<b>trust dscp</b>

Switch(config-pmap-c)#<b>police 1024000 1024000 exceed-action drop</b>

Switch(config-pmap-c)#<b>exit</b>

Switch(config-pmap)#<b>policy-map user2-up   </b>//定義PC2上行的速率為2M

Switch(config-pmap)#<b>class user2-up</b>

Switch(config-pmap-c)#<b>police 2048000 1024000 exceed-action drop</b>

Switch(config-pmap)#<b>exit</b>

Switch(config)#<b>policy-map user-down    </b>//總出口的下行速率

Switch(config-pmap)#<b>class user1-down</b>

Switch(config-pmap)#<b>class user2-down</b>

5、在接口上運用政策

Switch(config)#<b>int fa3/15  //</b><b>從該接口出去的資料最大1M</b>

Switch(config-if)#<b>service-policy input user1-up</b>

Switch(config-if)#<b>exit</b>

Switch(config)#<b>int fa3/26  //</b><b>從該接口出去的資料最大2M</b>

Switch(config-if)#<b>service-policy input user2-up</b>

Switch(config)#<b>int fa3/2   //</b><b>應用我們剛才前面建立的下載下傳政策</b>

Switch(config-if)#<b>service-policy input user-down</b>

現在我們來測試一下看看呢?當我PC1接在15口上面時。

我們可以看到差不多速度就在125K左右,而當我們PC2接在26口上面呢?

我們可以看見,能夠達到200多K,你想一下你們家裡面的ADSL如果是1M的,下載下傳速度是不是就隻有130-140Kb,而2M的ADSL則能夠達到200-230K。我們可以看見它已經實作了我們的這個限速功能了吧。

那我們現在将PC2接在本交換機的其他任意一個口看看有沒有影響呢?現在我将PC2接在13口的。

我們可以看見,它還是沒有影響。這是為什麼呢?因為我們下載下傳的政策應用在fa3/2這個接口上面的,而我們伺服器就連在這個接口上面,當然我們PC連在其他那些端口上面都是一樣的效果,我這裡隻是拿的兩台PC來做的實驗,而在我們實際工作中,不可能這麼做,我們可以将上面的ACL改成你要做限速的網段就OK了。

這個功能是不是很實用呢。有時間也來練習練習嘛!

本文轉自 ltyluck 51CTO部落格,原文連結:

http://blog.51cto.com/ltyluck/224471

繼續閱讀