URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 2598
[ Назад ]

Исходное сообщение
"Ограничение полосы пропускания на порту Catalyst 4500 "

Отправлено maxnetstat , 29-Ноя-21 17:59 
Добрый день!
У меня возникла проблема с ограничением полосы пропускания на коммутаторе Catalyst 4500 L3 Switch, а точнее на WS-C4900M.
Мне нужно ограничить скорость доступа в интернет на порту этого коммутатора для определенного хоста.

IP хоста: 192.168.1.105

access-list 111 permit ip host 192.168.1.105 any

class-map match-all test_customer
  match access-group 111


policy-map customer_policy
class test_customer
    shape average 60000000


interface GigabitEthernet2/10
service-policy output customer_policy


В этом случае я, действительно, ограничиваю download для клиента.
Но не могу ограничить upload.
Прикрепляя подобный policy на input интерфейса я получаю ошибку:
% A service-policy with queuing actions cannot be attached in input direction.

Я не самый большой знаток cisco и с cisco policy вообще не имел дела ранее.
Я немного в тупике.
Гугление не помогло - за выходные перечитал кучу информации по QoS на cisco.com, но просветление так и не наступило.

В моем случае, меня бы устроило даже ограничение в целом скорости на порту,
без разделения на хосты и т.д, т.е. подошел бы аналог команды srr-queue, но её здесь нет.

Спасибо


    


Содержание

Сообщения в этом обсуждении
"Ограничение полосы пропускания на порту Catalyst 4500 "
Отправлено boroda , 29-Ноя-21 23:46 
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4...

"Ограничение полосы пропускания на порту Catalyst 4500 "
Отправлено maxnetstat , 30-Ноя-21 10:33 
> https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4...

Вы имели ввиду, что сервисную политику нужно "вешать" на  vlan?

policy-map policy_shaper_vlan_in
class class_shaper_vlan_in
shape average 60000000

class-map class_shaper_vlan_in
match access-group 122

access-list 122 permit ip any host 192.168.1.105


cat4900m(config)#int gi2/10
cat4900m(config-if)#vlan-range 12
cat4900m(config-if-vlan-range)#service-policy input policy_shaper_vlan_in
% A service-policy with queuing actions cannot be attached in input direction.

Failed to attach policy-map policy_shaper_vlan_in to interface GigabitEthernet2/10 vlan 12


Также политика не "вешается" и на сам vlan:

cat4900m(config)#vlan configuration 12
cat4900m(config-vlan-config)#service-policy input policy_shaper_vlan_in
% A service-policy with queuing actions cannot be attached in input direction.



"Ограничение полосы пропускания на порту Catalyst 4500 "
Отправлено Andrey , 30-Ноя-21 11:47 
>[оверквотинг удален]
> cat4900m(config)#int gi2/10
> cat4900m(config-if)#vlan-range 12
> cat4900m(config-if-vlan-range)#service-policy input policy_shaper_vlan_in
> % A service-policy with queuing actions cannot be attached in input direction.
> Failed to attach policy-map policy_shaper_vlan_in to interface GigabitEthernet2/10 vlan
> 12
> Также политика не "вешается" и на сам vlan:
> cat4900m(config)#vlan configuration 12
> cat4900m(config-vlan-config)#service-policy input policy_shaper_vlan_in
> % A service-policy with queuing actions cannot be attached in input direction.

Используйте policing, а не shaping.


"Ограничение полосы пропускания на порту Catalyst 4500 "
Отправлено maxnetstat , 30-Ноя-21 12:53 
>[оверквотинг удален]
>> cat4900m(config-if)#vlan-range 12
>> cat4900m(config-if-vlan-range)#service-policy input policy_shaper_vlan_in
>> % A service-policy with queuing actions cannot be attached in input direction.
>> Failed to attach policy-map policy_shaper_vlan_in to interface GigabitEthernet2/10 vlan
>> 12
>> Также политика не "вешается" и на сам vlan:
>> cat4900m(config)#vlan configuration 12
>> cat4900m(config-vlan-config)#service-policy input policy_shaper_vlan_in
>> % A service-policy with queuing actions cannot be attached in input direction.
> Используйте policing, а не shaping.

Спасибо за наводку!
Сделал так:

cat4900m(config)#access-list 100 permit ip 192.168.1.0 255.255.255.0 any
cat4900m(config)#access-list 101 permit ip any 192.168.1.0 255.255.255.0

cat4900m(config)#class-map class_customer_out                            
cat4900m(config-cmap)#match access-group 101                                

cat4900m(config)#class-map class_customer_in
cat4900m(config-cmap)#match access-group 100


cat4900m(config)#policy-map policy_customer_out
cat4900m(config-pmap)#class class_customer_out
cat4900m(config-pmap-c)#police cir 50000000 bc 500000 pir 55000000    conform-action transmit exceed-action drop
cat4900m(config)#policy-map policy_customer_in                  
cat4900m(config-pmap)#class class_customer_in                        
cat4900m(config-pmap-c)#police cir 30000000 bc 300000 pir 35000000    conform-action transmit exceed-action drop


cat4900m(config)#interface GigabitEthernet2/10          
cat4900m(config-if)#service-policy output policy_customer_out
cat4900m(config-if)#service-policy input policy_customer_in


Но в этом случае, ограничение срабатывало только output, а input не ограничивал трафик.
А вот если сделать так:
cat4900m(config-if)#service-policy output policy_customer_out
cat4900m(config-if)#service-policy input policy_customer_out

Видимо, я не совсем понял, как работает access-list...
Хоть цель и достигнута, но чтобы достичь просветления надо еще почитать.

Спасибо!


"Ограничение полосы пропускания на порту Catalyst 4500 "
Отправлено eek , 02-Дек-21 13:06 
Ограничения платформы есть и будут всегда. У этой платформы вся нарезка одностороння, т.е. только на входе.

Если стоит задача обязательно резать, то придется менять дизайн.

Поглядите еще на UBRL на этой платформе оно есть.


"Ограничение полосы пропускания на порту Catalyst 4500 "
Отправлено maxnetstat , 07-Дек-21 13:13 
> Ограничения платформы есть и будут всегда. У этой платформы вся нарезка одностороння,
> т.е. только на входе.
> Если стоит задача обязательно резать, то придется менять дизайн.
> Поглядите еще на UBRL на этой платформе оно есть.

Спасибо!
В итоге всё получилось, с помощью policer (я так понимаю это и есть UBRL и буду вникать поглубже):

interface GigabitEthernet2/10
vlan-range 5
   service-policy input shaper_vlan5_out
   service-policy output shaper_vlan5_in
vlan-range 460
   service-policy input shaper_vlan460_out
   service-policy output shaper_vlan460_in

policy-map shaper_vlan5_out
class class_134_out
    police cir 10000000 bc 100000 pir 11000000    conform-action transmit     exceed-action drop
class class_135_out
    police cir 60000000 bc 200000 pir 65000000    conform-action transmit     exceed-action drop


policy-map shaper_vlan5_in
class class_134_in
    police cir 15000000 bc 200000 pir 17000000    conform-action transmit     exceed-action drop
class class_135_in
    police cir 80000000 bc 500000 pir 85000000    conform-action transmit     exceed-action drop

class-map match-all class_134_in
  match access-group 103

class-map match-all class_134_out
  match access-group 102

class-map match-all class_135_in
  match access-group 105

class-map match-all class_135_out
  match access-group 104


access-list 102 permit ip host 192.168.2.134 any
access-list 103 permit ip any host 192.168.2.134

access-list 104 permit ip host 192.168.2.135 any
access-list 105 permit ip any host 192.168.2.135


В итоге добился того, что для разных ip/networks могу шейпить на порту в различных vlan-ах.
Именно то, чего я и хотел.
Спасибо за подсказки - они очень помогли!