×

Предупреждение

  • Cisco Support Forums is in Read Only mode while the site is being migrated.
  • Cisco Support Forums is in Read Only mode while the site is being migrated.

Помогите с QOS

Неотвеченый вопрос
Мар 30th, 2014
User Badges:

помогите разобраться с QOS на маршрутизаторе.

В течении месяца систематически изучаю но ничего не работает :(
как мне кажется я что-то пропускаю

Делаю к примеру самое простое
 

class-map match-all ICMP
match protocol icmp
class-map match-all HTTP
 match protocol http

policy-map QOS
class ICMP
bandwidth percent 10
class HTTP
bandwidth percent 50
class class-default
bandwidth percent 10

interface GigabitEthernet0/1
bandwidth 7000
service-policy output QOS

Загружаю канал полностью торрентом и этот QOS  не работает.
Ожидалось что пинг будет нормальный, а он увеличивается и страницы начинают тормозить

По выводу sh policy-map  int g0/1 видно что трафик в классы попадет


спасибо за помощ

I have this problem too.
0 голоса
Loading.
Dmitriy Zhiznevskiy вс, 03/30/2014 - 21:01
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Сделайте так:

 

policy-map PARENT_QOS

class class-default

shape average 7000000 !(если там 7 мегабит)

service-policy QOS

 

int gi0/1

no service-policy output QOS

service-policy output PARENT_QOS

 

Причина проблемы: приоритезация работает, когда есть очереди на интерфейсе. В вашем случае они будут только в исключительно редких ситуациях, когда есть кратковременный всплеск трафика до гигабита, так как физика согласована на гигабит и интерфейс думает, что у него гигабит (если на самом деле там 100мб/с - суть не меняется). Если congestion нет, все пакеты легко вылетят наружу, и часть будет убита провайдерским полисером по превышению CIR, о котором ваш роутер понятия не имеет. Надо искусственно ограничить полосу пропускания на вашей стороне, чтобы начали появляться очереди, потому - шейпер с вложенным service-policy.

homenet88 вс, 03/30/2014 - 21:13
User Badges:

Спасибо!!!

Я давно бился над вопросом, как рассказать роутеру, что у меня скорость интеренета 7 мбит/с, а не 1 гиг!

 

homenet88 вт, 04/01/2014 - 00:33
User Badges:

Тестировал, результатами остался не доволен :(
При загрузке канала дефолтным трафиком QOS особо не работает, если и работает то плохо.

Dmitriy Zhiznevskiy вт, 04/01/2014 - 00:38
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Покажите show policy-map interface в момент загрузки. И для пробы опустите CIR шейпера до 6мб/с. Если это поможет, то медленно поднимайте, пока не начнете видеть потери там, где их не должно быть.

homenet88 вт, 04/01/2014 - 00:49
User Badges:

сейчас конфиг такой :

!
class-map match-all ICMP
 match protocol icmp
class-map match-all HTTPS
 match protocol secure-http
class-map match-all MIX
 match access-group name mix1
!
policy-map QOS
 class ICMP
  bandwidth percent 10
 class MIX
  set precedence 5
  bandwidth percent 30
 class HTTPS
  bandwidth percent 40
policy-map PARENT_QOS
 class class-default
  shape average 5000000
   service-policy QOS
!

!
interface GigabitEthernet0/1
 service-policy output PARENT_QOS

ip access-list extended mix1
 permit ip any host 101.22.88.1

Router#sh policy-map int g0/1
 GigabitEthernet0/1

  Service-policy output: PARENT_QOS

    Class-map: class-default (match-any)  
      51150 packets, 41794282 bytes
      5 minute offered rate 984000 bps, drop rate 57000 bps
      Match: any
      Queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/3055/0
      (pkts output/bytes output) 48097/39391517
      shape (average) cir 5000000, bc 20000, be 20000
      target shape rate 5000000

      Service-policy : QOS

        Class-map: ICMP (match-all)  
          319 packets, 47373 bytes
          5 minute offered rate 4000 bps, drop rate 0000 bps
          Match: protocol icmp
          Queueing
          queue limit 64 packets
          (queue depth/total drops/no-buffer drops) 0/0/0
          (pkts output/bytes output) 319/47373
          bandwidth 10% (500 kbps)

        Class-map: MIX (match-all)  
          4232 packets, 2988062 bytes
          5 minute offered rate 66000 bps, drop rate 0000 bps
          Match: access-group name mix1
          Queueing
          queue limit 64 packets
          (queue depth/total drops/no-buffer drops) 0/21/0
          (pkts output/bytes output) 4211/2971804
          QoS Set
            precedence 5
              Packets marked 4232
          bandwidth 30% (1500 kbps)

        Class-map: HTTPS (match-all)  
          552 packets, 333218 bytes
          5 minute offered rate 12000 bps, drop rate 0000 bps
          Match: protocol secure-http
          Queueing
          queue limit 64 packets
          (queue depth/total drops/no-buffer drops) 0/0/0
          (pkts output/bytes output) 552/333218
          bandwidth 40% (2000 kbps)

        Class-map: class-default (match-any)  
          46047 packets, 38425629 bytes
          5 minute offered rate 907000 bps, drop rate 62000 bps
          Match: any
          
          queue limit 64 packets
          (queue depth/total drops/no-buffer drops) 0/3034/0
          (pkts output/bytes output) 43015/36039122

Ожидал что при любой загрузке канала дефлтным трафиком для host 101.22.88.1 скорость должна быть примерно 1,5 мбит/с
может еще где-то что-то не так делаю? :( Пробовал разные варианты

Dmitriy Zhiznevskiy вт, 04/01/2014 - 01:06
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Всё правильно, и, похоже, всё работает. Можно еще load-interval 30 на интерфейсе поставить, чтобы цифры понятнее были. Пока видно, что на class-default есть дропы и они растут, а трафик MIX обходится почти без потерь. Небольшие потери нормальны, TCP по своей природе любит делать всплески, которые могут превышать CIR. Кроме того, подобная конфигурация будет создавать определенный джиттер, на который может реагировать стек TCP конечных узлов, снижая скорость (а может и не реагировать).

 

А как вы тестируете скорость? Сколько потоков запускаете? Одним неинтересно проверять.

homenet88 вт, 04/01/2014 - 01:20
User Badges:

возможно я тестирую не правильно :)
Тестировал я speedtest.net с адреса 101.22.88.1
Дефолтный трафик загружают другие компьютеры сети.
Потестирую еще.

Спасибо за помощ
 

Dmitriy Zhiznevskiy вт, 04/01/2014 - 01:43
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Тогда в конфигурации ошибка.

permit ip any host 101.22.88.1

Это значит "пакеты на адрес 101.22.88.1". Применяется это наружу, в сторону интернета. Немного странно, что туда вообще что-то попало.

Как отделить трафик speedtest - плохо себе представляю, надо поискать. Можно прогнать тест, в wireshark узнать адрес обмена, добавить его в ACL и перезапустить тест, контролируя, что адрес не изменился. Или просто вписать TCP 80/443, создавая фон торрентами, тогда весь HTTP трафик будет приоритезирован.

 

Еще вариант проверки: с помощью какой-нибудь генерилки пакетов (предпочитаю Ostinato) создать UDP флуд в 10 мегабит большими пакетами куда-нибудь наружу, и одновременно с этим пингать 8.8.8.8. Убедиться, что потери не появились и задержка скачет терпимо. Убрать приоритет ICMP. Убедиться, что потери появились.

homenet88 вт, 04/01/2014 - 01:48
User Badges:

Почему permit ip any host 101.22.88.1 это наружу?
int g0/1 смотрит в локальную сеть
permit ip any host 101.22.88.1 как я понимаю с любого адреса на адрес 101.22.88.1

или нет?
 

Dmitriy Zhiznevskiy вт, 04/01/2014 - 03:16
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Вот оно что... А как вы представляете себе приоритезацию в таких условиях? Ведь к вам уже будет входить порезанный до 7мб/с трафик.

Есть, конечно, варианты, но все они требуют в той или иной степени жертвовать полосой. На мой взгляд, наиболее правильный - в полиси-мапе создать несколько класс-мапов без настроек под приоритетные виды трафика, а в class-default задать police на CIR намного ниже канального. Это хоть как-то будет работать, если потоков не очень много (торренты станут меньше влиять на остальное), но TCP на неприоритетных классах все равно будет периодически пробивать до 7мб/с, толкаясь с остальным трафиком у провайдера.

 

Единственное полностью контролируемое направление - от вас до провайдера.

DmitryPilipchuk чт, 04/24/2014 - 00:15
User Badges:

Добрый день Дмитрий, прочитал всю тему несколько раз, и возникло несколько вопросов. Не поможете разобратся с QOS, вроде как всё прописано но не могу понять где прописать шейпер, у нас есть маршрутизатор 2911 и есть канал L2 10 mb/s на котором необходимо промаркировать и разбить трафик. Так понимаю все QOS и шейпер надо привязывать к этому интерфейсу? Вот часть конфига:

!
class-map match-any AD-Infrastructure
 match access-group name acl_qos_ms-ad
class-map match-any SAP
 match access-group name acl_qos_SAP-Siberia
class-map match-all pm_GE0/0.910_out
class-map match-all cm_smtp
 match access-group name acl_class_smtp
class-map match-any video
 match access-group name aclstd_video
 match access-group name acl_qos_video
class-map match-any 1C_BUH
 match access-group name acl_class_1C_BUH
!
policy-map pm_GE0/0.910_out
 class video
  set ip dscp cs5
  priority percent 15
 class cm_smtp
  set ip dscp cs1
  priority percent 20
 class AD-Infrastructure
  set ip dscp cs5
  priority percent 20
 class SAP
  set ip dscp cs3
  priority percent 5
 class 1C_BUH
  set ip dscp cs2
  priority percent 15
 class class-default
  set ip dscp default
!

ip access-list standard acl_qos_video
 permit ххх.ххх.0.250
!
ip access-list extended acl_class_1C_BUH
 permit tcp any host ххх.ххх.1.41
 permit tcp any host ххх.ххх.1.42
ip access-list extended acl_class_smtp
 permit tcp any any eq smtp
 permit tcp any host ххх.ххх.2.110
ip access-list extended acl_qos_SAP-Siberia
 permit tcp any host ххх.ххх.3.28
 permit tcp any host ххх.ххх.3.31
 permit tcp any host ххх.ххх.3.16
 permit tcp any host ххх.ххх.3.20
 permit tcp any host ххх.ххх.3.41
ip access-list extended acl_qos_ms-ad
 permit tcp any any eq 445
 permit tcp any any eq 135
 permit udp any any eq 88
 permit udp any any eq 389
 permit tcp any any eq 389
 permit tcp any any eq 3268
 permit tcp any any eq 3269
 permit tcp any any eq 636
 permit udp any any eq domain

Если не тяжело подправьте где ошибся. Буду благодарен за уделённое время и внимание.

Dmitriy Zhiznevskiy чт, 04/24/2014 - 00:59
User Badges:
  • Silver, 250 points or more
  • Почетные Знаки Сообщества,

    Выбор участников, Февраль 2014

Делается по аналогии с указанным ниже. Сначала шейпер для искусственного создания очередей, в него вложена приоритезация.

 

policy-map PARENT_pm_GE0/0.910_out
 class class-default
  shape average 1000000
   service-policy pm_GE0/0.910_out

 

int Gi0/0.910
service-policy output PARENT_pm_GE0/0.910_out

Vadim Mikhailov сб, 06/07/2014 - 03:15
User Badges:

Добрый день! Дмитрий подскажите, если необходимо зарезрвировать для телефонного траффика полосу в 5 мб, при условии, что канал 10 мбит, верная ли конфигурация

policy-map Voice
class voip
bandwidth 5000
class class-default
fair-queue

И как собрать весь голосовой траффик:

class-map match-all voip
match protocol rtp audio
match protocol sip
match protocol rtcp

Или необходимо что то еще? Например, match ip dscp ef?

 

Спасибо.

Действия

Информация о дискуссии