Jump to content
Калькуляторы

Прошу помочь с правильной реализацией QOS вместе большим количеством IPTV multicast

Всем привет.

 

Вводные данные примерно следующие:

 

Имеется сеть с примерно 10 тыщами Ethrenet абонентов.

Из них, за последний год появилось около 2000 абонентов iptv.

Так же есть L2-VPN по городу, юрики, VOIP и т.д.

т.к. где-то 80% домов подключено по 1G, в целях эксперемента и для жалующихся на качество в остатках непереключенных со 100МБ домов попытался завести на сети QOS.

 

Для этих целей выбрана эксперементальная ветка

 

[luminato streamers]--1G-->[cat6506e-sup720-3b]---1G--->[cat3560G]---1G--->[cat3560-(100mb)]--100Mb-->[cat2950T-24]---100Mb--->[iPSTB-MAG250]

 

Все остальные ветки примерно похожи, где то стоят 2960S на агрегации.

 

Итак конфиги QOS по ветке, от стримера до приставки:

 

6506e SUP720-3B - ядро, в него напрямую включены стримеры и серверы VOD. (Включение qos в целом не создает проблем для абонентов)

 

Тут я маркирую трафик приходящий с портов со стримерами.

 

class-map match-any streamers

match access-group name iptv1

class-map match-any vod

match access-group name vod

!

!

policy-map streamers

class streamers

set dscp af41

class class-default

set dscp default

policy-map vod

class vod

set dscp cs4

class class-default

set dscp default

 

cat6506#sh ip access-lists iptv1

Extended IP access list iptv1

10 permit udp any 239.10.1.0 0.0.0.255

20 permit udp any 239.10.2.0 0.0.0.255

 

interface GigabitEthernet1/23

description *** Luminato strimer ***

switchport

switchport trunk encapsulation dot1q

switchport trunk allowed vlan 73,102,111

switchport mode trunk

mtu 9216

no cdp enable

spanning-tree portfast

service-policy input streamers

 

 

interface GigabitEthernet1/22

description *** VIDEO 1 ***

switchport

switchport access vlan 102

switchport mode access

switchport nonegotiate

mtu 9216

spanning-tree portfast

service-policy input vod

 

 

cat6506#sh policy-map int gi1/23

 

 

GigabitEthernet1/23

 

Service-policy input: streamers

 

class-map: streamers (match-any)

Match: access-group name iptv1

set dscp 34:

Earl in slot 5 :

1855594248 bytes

5 minute offered rate 363517184 bps

aggregate-forwarded 1855594248 bytes

 

class-map: class-default (match-any)

Match: any

set dscp 0:

Earl in slot 5 :

1257 bytes

5 minute offered rate 48 bps

aggregate-forwarded 1257 bytes

 

 

3560G этот коммутатор полностью гигабитный, стоит на аггрегации еще нескольких веток, включение на нем QOS не влияет на просмотр абонентами ТВ.

 

no mls qos rewrite ip dscp

mls qos

 

на аплинке mls qos trust cos

 

на портах смотрящих к абонету mls qos cos override

 

cat3560g-dong#sh ip igmp snooping groups count

Total number of multicast groups: 83 (83 канала люди смотрят в данный момент)

 

 

 

cat3560g-dong#sh mls qos int gi0/24 statistics (Аплинк)

GigabitEthernet0/24

 

cos: incoming

-------------------------------

 

0 - 4 : 89791 0 0 90 200871

5 - 7 : 2282 62 2

 

 

Видим что мультикаст (превалирующий трафик) приходит с cos4

 

cat3560g-dong#sh mls qos int gi0/23 statistics (интерфейс на следующий коммутатор 3560)

GigabitEthernet0/23

 

cos: outgoing

-------------------------------

 

0 - 4 : 281628 0 0 602 436276

5 - 7 : 62852 495 18

 

 

Тут так же понимаем, что мультикаст уходит далее с нужной маркировкой cos

 

cat3560g-dong#sh mls qos maps cos-output-q

Cos-outputq-threshold map:

cos: 0 1 2 3 4 5 6 7

------------------------------------

queue-threshold: 2-1 2-1 3-1 3-1 4-1 1-1 4-1 4-1

 

 

Тут вроде видим, что мультикаст трафик попадает в 4 исходящую очередь.

 

 

Слудющий коммутатор, с3560, аплинк 1G, даунлинки 100Mb (в него включены в основном юрики и наш офис), при включении на нем qos тв становится полностью несмотрибельным. И Если SD каналы еще как-то ворочуются, то HD (около 9 mbps битрейт) становится просто кашей.

 

no mls qos rewrite ip dscp

mls qos

 

на аплинке mls qos trust cos

 

на портах смотрящих к абонету mls qos cos override

 

cat-48d#sh mls qos int gi0/4 statistics (аплинк)

GigabitEthernet0/4 (All statistics are in packets)

 

cos: incoming

-------------------------------

 

0 - 4 : 683901 0 0 1369 1019178

5 - 7 : 61552 1082 60

 

Опять видим что есть нужная маркировка

 

cat-48d#sh mls qos int fa0/22 statistics (Порт смотрящий на аксесный свитч, 100Mb)

FastEthernet0/22 (All statistics are in packets)

 

cos: outgoing

-------------------------------

 

0 - 4 : 111499 0 0 1202 1143801

5 - 7 : 766 1349 48

 

 

output queues enqueued:

queue: threshold1 threshold2 threshold3

-----------------------------------------------

queue 0: 1 0 0

queue 1: 99056 18518 582

queue 2: 1202 0 0

queue 3: 1145077 0 3244

 

output queues dropped:

queue: threshold1 threshold2 threshold3

-----------------------------------------------

queue 0: 0 0 0

queue 1: 2182 12 0

queue 2: 4 0 0

queue 3: 10540 0 0

 

 

Тут мы видим, что куч пакетов попадающая в 4 очередь с cos4 безжалостно дропается

 

 

cat-48d#sh interfaces summary

 

Interface IHQ IQD OHQ OQD RXBS RXPS TXBS TXPS TRTL

-------------------------------------------------------------------------

* FastEthernet0/22 0 0 0 1840132 35000 62 20640000 2043 0 (тут мы это опять видим, дропы в исходящей очереди)

* GigabitEthernet0/4 0 0 0 0 30985000 3659 2285000 1121 0

 

На абонентском порту cat2950 в офисе:

 

wireshark показывает:

1000 00.. = Differentiated Services Codepoint: Class Selector 4 (0x20)

 

 

После того как залил такой конфиг в сеть, сразу же получил шквал звонков в ТП глубокой ночью, пришлось сразу выключить.

Теперь эксперементирую на этой ветке.

На порту который смотрит в наш офис, так же настраивал параметры srr-queue bandwidth share и srr-queue bandwidth shape, толку небыло.

 

Вопрос:

1. Почему трафик с высоким приоритетом дропается при загрузке порта в 20 мегабит?

Я понимаю, что тупо забивается выделенная под iptv очередь при 20% загрузке порта..

 

2. Какую применить модель реализации qos для приоритизации очень большого количества multicast video?

в час пик на некоторые ветки rate мультикаста достигает 500 mbps, все что я выкурил на cisco.com сводится к тому как приоритезировать маленькое количество voip трафика, а у меня ситуация обратная.

 

3. Как сконфигурить qos таким образом, что бы трафик с высоким приоритетом тупо выходил из порта первее чем трафик с низким (voip<iptv<vpn<internet<p2p) не умирая при этом в своей очереди, а дропы происходили только при переполнениее порта (а не на 20% его заполнения) в низкоприоритетном трафике?

 

4. Прошу помочь примерами конфигов, ссылками на профильные доки, советами, т.к. на рабочей сети эксперементировать очень трудно..

 

Заранее спасибо!

 

P.S. при включении qos voip абоненты не жалуются.

 

P.S. Для себя пока решил, что QOS зло. Лобирую скорейшее расширение каналов. Но задачу решить надо.

Share this post


Link to post
Share on other sites

из того что помню про приоритеты на цысках - у тебя профиль шейпа настроен не тот... Тебе нужно только шедулить весь трафик, а ты его еще и дропаешь ). По этой ссылке красиво расписано

http://www.cisco.com/en/US/products/hw/switches/ps5023/products_tech_note09186a0080883f9e.shtml#concept242

Share this post


Link to post
Share on other sites

из того что помню про приоритеты на цысках - у тебя профиль шейпа настроен не тот... Тебе нужно только шедулить весь трафик, а ты его еще и дропаешь ). По этой ссылке красиво расписано

http://www.cisco.com/en/US/products/hw/switches/ps5023/products_tech_note09186a0080883f9e.shtml#concept242

 

Спасибо! Звучит логично, но по ссылке решения не нашел.

Секция из этой доки - Default Configuration

http://www.cisco.com/en/US/products/hw/switches/ps5023/products_tech_note09186a0080883f9e.shtml#def-config

 

cisco уверяет, что

The egress queue default settings are suitable for most situations.

 

ebd38548a1a9.gif

 

У меня как раз все по дефолту.

 

Дропает пакеты некий механизм под названием Weighted tail drop (WTD)

Weighted tail drop (WTD) is used to manage the queue lengths and to provide drop precedences for different traffic classifications

 

Как его отключить оставив только шедулинг - не понятно, или совсем не возможно. Видимо надо менять значения threshold, что не соответствует заявлению cisco

The egress queue default settings are suitable for most situations.
)) Поэтому прошу еще помощи в решении этого вопроса, как отключить дропы трафика оставив только шедулинг, или если не жалко покажите пример конфигурации, обеспечить прохождение мультикаста (до 50% от полосы интерфейса) что бы при этому не завыли пользователи voip, vpn, интернет и т.д.?

 

p.s. Видимо мозг отказывается напрочь работать в связи с международным женским ))

Еще раз заранее спасибо.

Share this post


Link to post
Share on other sites

In this section, the WTD drop levels are not configured. This means the packets will be dropped if the queue is 100%.

 

Queue Map Configuration:

 

First, CoS values are mapped to the queues. In this section, the threshold values are not configured.

 

 

!--- Assign the frames into the queue based on the CoS value.

 

Distribution1(config)#mls qos srr-queue input cos-map queue 1 0 1

Distribution1(config)#mls qos srr-queue input cos-map queue 2 2 3 4 5 6 7

 

 

!--- Show output.

 

Distribution1#show mls qos maps cos-input-q

Cos-inputq-threshold map:

cos: 0 1 2 3 4 5 6 7

------------------------------------

queue-threshold: 1-1 1-1 2-1 2-1 2-1 2-1 2-1 2-1

 

Distribution1#show mls qos maps dscp-input-q

Dscp-inputq-threshold map:

d1 :d2 0 1 2 3 4 5 6 7 8 9

------------------------------------------------------------

0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01

1 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01

2 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01

3 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01

4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 01-01 01-01

5 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01

6 : 01-01 01-01 01-01 01-01

 

You can see the conflict in the Cos-inputq-threshold and Dscp-inputq-threshold maps. For example, CoS 3 is mapped to queue 2 in the Cos-inputq-threshold table. However, the DSCP value 24 (which corresponds to CoS 3) is mapped to queue 1 in the Dscp-inputq-threshold map. Actually, the Dscp-inputq-threshold map overrides the Cos-inputq-threshold map. These mappings should be as consistent as possible in order to ensure predictable behavior and to simplify troubleshooting. Therefore, the Dscp-inputq-threshold map is configured to sync with the Cos-inputq-threshold map.

 

 

!--- Assign the frames into the queue based on the DSCP value.

 

Distribution1(config)#mls qos srr-queue input dscp-map queue 2 16 17 18 19 20 21 22 23

Distribution1(config)#mls qos srr-queue input dscp-map queue 2 24 25 26 27 28 29 30 31

Distribution1(config)#mls qos srr-queue input dscp-map queue 2 32 33 34 35 36 37 38 39

Distribution1(config)#mls qos srr-queue input dscp-map queue 2 48 49 50 51 52 53 54 55

Distribution1(config)#mls qos srr-queue input dscp-map queue 2 56 57 58 59 60 61 62 63

 

Distribution1#show mls qos maps dscp-input-q

Dscp-inputq-threshold map:

d1 :d2 0 1 2 3 4 5 6 7 8 9

------------------------------------------------------------

0 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01

1 : 01-01 01-01 01-01 01-01 01-01 01-01 02-01 02-01 02-01 02-01

2 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01

3 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01

4 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01

5 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01

6 : 02-01 02-01 02-01 02-01

 

Queue Configuration:

 

The IOS allocates default space in the buffer to queue ingress packets after QoS is enabled. Both the ingress queues, queue1 and queue 2, share this buffer space. In the Catalyst 3750 Switch, you can configure the percentage of this buffer space that each queue can use. 67% of the total available memory for ingress queue is allocated to queue 1 and 33% is allocated to queue 2.

 

Distribution1(config)#mls qos srr-queue input buffers 67 33

 

Distribution1(config)#do show mls qos input

Queue : 1 2

----------------------------------------------

buffers : 67 33

bandwidth : 4 4

priority : 0 10

threshold1: 100 100

threshold2: 100 100

 

Scheduler Configuration:

 

This configuration is performed with the mls qos srr-queue input bandwidth command. Here, this bandwidth states that the amount of bits serviced by SRR on the queues.

 

Distribution1(config)#mls qos srr-queue input bandwidth 90 10

Distribution1(config)#mls qos srr-queue input priority-queue 2 bandwidth 20

 

Distribution1(config)#do show mls qos input

Queue : 1 2

----------------------------------------------

buffers : 67 33

bandwidth : 90 10

priority : 0 20

threshold1: 100 100

threshold2: 100 100

 

By default, queue 2 is the priority queue and 10% of total internal ring bandwidth is allocated to the priority queue. You can also configure queue 1 as the priority queue. However, you cannot configure both the queues as the priority queue.

 

If you have the bandwidth of the ring to 10Gbps, SRR services 20% of 10Gbps to queue 2 first which is 2 Gbps. The remaining 8 Gbps ring bandwidth is shared by queue 1 and queue 2. As per the configuration, queue 1 is serviced 90% of 8 Gbps and queue 2 is again serviced 10% of 8 Gbps. This 8 Gbps bandwidth is serviced by SRR in shared mode. This means the percentages of bandwidth configured are guaranteed but not limited to it.

 

Note: You can disable the priority queue with the mls qos srr-queue input priority-queue 2 bandwidth 0 command.

 

 

там же ты можешь изменить процентное соотношение трафика для queue

Edited by martini

Share this post


Link to post
Share on other sites

martini

Это понятно, тут про input queue, а у меня дропы в output queue, при этом все настроено по дефолту.

Share this post


Link to post
Share on other sites

по дефолту делится все на четыре queue, вот у тебя и 20-25 мегабит в каждом queue !! почитай ниже, там же написано как srr-queue bandwidth share выставить !

Share this post


Link to post
Share on other sites

martini

 

В том и дело, что выставлял srr-queue bandwidth share и srr-queue bandwidth shape на исходящем интерфейсе, выставлял глядя в телевизор, сперва по мануалу потом уже просто методом тыка, ставя очень большие цифры в нужную очередь, типа srr-queue bandwidth share 3 3 3 91, толку 0, картинка возвращалась только после отключения mls qos...

Share this post


Link to post
Share on other sites

У меня мультик попадает сразу на 3560G долго мучался с разнообразными настройками пока в сети не нашел такой конфиг:

mls qos map cos-dscp 0 8 16 24 32 46 48 56
mls qos srr-queue input bandwidth 80 20
mls qos srr-queue input threshold 1 8 16
mls qos srr-queue input threshold 2 34 66
mls qos srr-queue input buffers 67 33
mls qos srr-queue input cos-map queue 1 threshold 2 1
mls qos srr-queue input cos-map queue 1 threshold 3 0
mls qos srr-queue input cos-map queue 2 threshold 1 2
mls qos srr-queue input cos-map queue 2 threshold 2 4 6 7
mls qos srr-queue input cos-map queue 2 threshold 3 3 5
mls qos srr-queue input dscp-map queue 1 threshold 2 9 10 11 12 13 14 15
mls qos srr-queue input dscp-map queue 1 threshold 3 0 1 2 3 4 5 6 7
mls qos srr-queue input dscp-map queue 1 threshold 3 8 32
mls qos srr-queue input dscp-map queue 2 threshold 1 16 17 18 19 20 21 22 23
mls qos srr-queue input dscp-map queue 2 threshold 2 33 34 35 36 37 38 39 48
mls qos srr-queue input dscp-map queue 2 threshold 2 49 50 51 52 53 54 55 56
mls qos srr-queue input dscp-map queue 2 threshold 2 57 58 59 60 61 62 63
mls qos srr-queue input dscp-map queue 2 threshold 3 24 25 26 27 28 29 30 31
mls qos srr-queue input dscp-map queue 2 threshold 3 40 41 42 43 44 45 46 47
mls qos srr-queue output cos-map queue 1 threshold 3 5
mls qos srr-queue output cos-map queue 2 threshold 3 3 6 7
mls qos srr-queue output cos-map queue 3 threshold 3 2 4
mls qos srr-queue output cos-map queue 4 threshold 2 1
mls qos srr-queue output cos-map queue 4 threshold 3 0
mls qos srr-queue output dscp-map queue 1 threshold 3 40 41 42 43 44 45 46 47
mls qos srr-queue output dscp-map queue 2 threshold 3 24 25 26 27 28 29 30 31
mls qos srr-queue output dscp-map queue 2 threshold 3 48 49 50 51 52 53 54 55
mls qos srr-queue output dscp-map queue 2 threshold 3 56 57 58 59 60 61 62 63
mls qos srr-queue output dscp-map queue 3 threshold 3 16 17 18 19 20 21 22 23
mls qos srr-queue output dscp-map queue 3 threshold 3 32 33 34 35 36 37 38 39
mls qos srr-queue output dscp-map queue 4 threshold 1 8
mls qos srr-queue output dscp-map queue 4 threshold 2 9 10 11 12 13 14 15
mls qos srr-queue output dscp-map queue 4 threshold 3 0 1 2 3 4 5 6 7
mls qos queue-set output 1 buffers 10 10 60 20      
mls qos queue-set output 2 buffers 10 10 60 20 

Не загружая голову разбором что куда и как применил его резко полегчало. В последствии погуглив на предмет настроек куоса пришел к выводу что действительно для данной модели коммутаора оптимальные настройки.

Share this post


Link to post
Share on other sites

garycat Спасибо! Я до данного конфига недогуглил, пошел своим путем, на днях применю все на сетке, посмотрю на реакцию абонов, если все хорошо, то выложу сюда.

Share this post


Link to post
Share on other sites
Guest Denisko
В последствии погуглив на предмет настроек куоса пришел к выводу что действительно для данной модели коммутаора оптимальные настройки.

 

Что значит оптимальные для коммутатора? В QOS настройка оптимальна не для коммутатора а для коммутатора с определенным типом трафика. Так что обратите внимание, что если ваш трафик маркируется неправильно или не тем dscp/cos то и работать это все будет через пень-колоду.

 

И для чего в данном конфиге

mls qos queue-set output 2 buffers 10 10 60 20
мне не понятно. Если вы не собираетесь использовать разный конфиг для разных интерфейсов, т.е. пускать разный трафик на оутпут в разные очереди на разных интерфейсах, то данная строчка теряет смысл.

 

А вообще рад, что вам это помогло.

 

Кстати чем пользуетесь для маркирования трафика? (cos/dscp)

Share this post


Link to post
Share on other sites

немного не в тему, MAXmks, Вы не пробовали настраивать резервирование IP выходов на Luminato? У нас никак не получается.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this