Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
zender
Зарегистрирован: 27.12.2006 Сообщения: 23 Откуда: Киев
|
Добавлено: Вс Фев 08 2009 02:50 Заголовок сообщения: Cisco QoS для IP-VPN трех класов обслуживания |
|
|
Всем привет.
У меня существуют проблемы с передачей голоса (H.323) по IP-VPN провайдера.
Немного слов о топологии:
------------------------------------------------------------------------------
Есть три офиса в одном городе - офис А, офис B и офис С.
Также еще есть офис в другом городе - офис D.
Офисы свзаны между собой арендуемым у провайдера Golden Telecom каналом IP-VPN.
Офиса А является центральным.
Между офисами имеются линки:
A-----3Мб-----Провайдер
Провайдер------1Мб------В
Провайдер------512Кб----С
Провайдер------1,5Мб----D
В центральном офисе А у меня стоит Сisco 2821 (по скольку бортовые порты заняты для подклбчения ВПН я использовал 4-х портовый switch-модуль HWIC-4ESW, не
маршрутизируемые порты).
В офисе B стоит Сisco 2801 c тем же самым модулем.
В офисе D стоит Cisco 8211 c тем же самым модулем.
В офисе С ничего не стоит, сеть маленькая, 8 портовый switch включен тупо в модем провайдера, голос здесь не бегает по сети.
Между офисами A-B-D бегает VoIP (H.323).
(АТС----isdn----Cisco----ip----Провайдер----ip----Cisco----isdn----АТС)
------------------------------------------------------------------------------
Суть проблемы:
На участке А----D у меня все хороше.
На участке А----В у меня все плохо.
Что значит плохо? - это обрывы и пропадания человека на другой стороне во время разговора. Вот говоришь говоришь, а потом тишина полная секунд на 5-8 и
далее Пи-Пи-Пи...(обрыв). Или пропадают слова во время разговора, говориши и слышишь через слово. Так не всегда - иногда половину дня нормально, иногда пару
часов, но что бы за день кого-то не оборвало во время разговора, так небывает.
------------------------------------------------------------------------------
Я долго с провайдером боролся - приводил ему данные по статистике загрузки интерфейсов, пинги, графики снятые через snmp для IP SLA.
Короче втирал ему что канал полное Г...вно. И наконец он мне за дополнительную плату перевел канал на канал с приоретизацией. У Golden telecom Киев есть три
тарифа для IP-VPN:
REA - realtime (ef)
PRE - premium (af31)
STD - standart (default)
У меня на центральном роутере один порт работает в режиме транка для двух VLAN.
VLAN512 - Local_VPN (плечо А--В и А--С) и VLAN513 - National_VPN (плечо А--D).
В VLAN512 провайдер выделил три указаных выше типа трафика. В VLAN513 нет приоретизации, весь трафика из класа STD.
До приоретизации была вообще полная Ж с голосом.... после перехода на трафик с приоертизацией - Ж уменьшилась в два раза, тоесть траблы всеравно остались.
Я настроил QoS и как сказал мне провайдер попытался определить приоритетный трафик и промаркировать его как трафик с меткой DSCP - EF (5) для типа REA.
Другой тип трафика я промаркировал как AF31 (3) для типа PRE. А все остальное маркируется по умолчанию (у провайдера этому трафику присваивается значеие
precedence level 0) для типа STD.
Я просмотрел свою статистику по загрузке канала VLAN512 (плечо А---В) и выявил превышения, то есть канал периодически подвергается перегрузкам и причем очень
существенно. (я пришел к такому выводу только после анали загрузки интерфейсов с помощью Netflow, до этого я собирал даные с помошью snmp и видел лишь
короткие превышения, просто в упор не мог увидеть пергрузки и думал что все ОК ).
По этому что я попытался сделать в первую очередь, так это применить QoS к интерфейсам. А также прикрутил IP SLA udp-jitter test для анализа Jittera потерь и
собственно задержек. В начале я видел огромные джитер до 250-400мс , потом перешли на приоретизацию включили QoS и jitter уменьшился, вот пример текущего
значения максимального Jittra за 07.02.2009:
http://i.piccy.info/i3/7b/1e/d46dfdfb67aab87cc027daeb68c3.png
А вот пример из моего конфига:
--------------------------------------------------------------------------------------------------------
interface FastEthernet0/0/1
switchport access vlan 513
switchport mode trunk
duplex full
interface Vlan512
description $=Golden-Local-VPN=$
bandwidth 1536
ip address 10.0.1.2 255.255.255.252
ip nbar protocol-discovery
ip flow ingress
ip flow egress
max-reserved-bandwidth 100
service-policy output POL-Local-VPN-QoS-ACL
interface Vlan513
description $=Golden-National-VPN=$
bandwidth 1536
ip address 10.0.0.2 255.255.255.252
ip nbar protocol-discovery
ip flow ingress
ip flow egress
max-reserved-bandwidth 100
service-policy output POL-Local-VPN-QoS
!
class-map match-any ALL-Traffic
match any
class-map match-any PRE-ACL
match access-group 121
class-map match-any REA-ACL
match access-group 120
match protocol rtp audio
class-map match-any PRE
match protocol snmp
match protocol syslog
match protocol telnet
match protocol ssh
match protocol ldap
match protocol kerberos
match protocol ntp
match protocol dhcp
match protocol secure-ldap
match protocol secure-telnet
match protocol ipsec
class-map match-any SDM-Streaming-Video-2
match dscp cs4
class-map match-any REA
match protocol rtcp
match protocol h323
match protocol rtsp
match protocol sip
match protocol skinny
match protocol mgcp
match dscp cs6
match dscp cs4
match dscp af41
match protocol rtp
match dscp ef
policy-map Local-VPN-QoS-ACL
class REA-ACL
bandwidth percent 20
set ip dscp ef
random-detect
class PRE-ACL
bandwidth percent 10
set ip dscp af31
random-detect
class class-default
fair-queue
random-detect
policy-map Local-VPN-QoS
class REA
set ip dscp ef
bandwidth percent 20
class PRE
bandwidth percent 10
random-detect
set ip dscp af31
class class-default
fair-queue
random-detect
policy-map POL-Local-VPN-QoS
class ALL-Traffic
shape average 1536000
shape max-buffers 1024
service-policy Local-VPN-QoS
policy-map POL-Local-VPN-QoS-ACL
class ALL-Traffic
shape average 1536000
shape max-buffers 1200
service-policy Local-VPN-QoS-ACL
(Тест для учаска А---D)
ip sla 1
udp-jitter 10.0.0.14 20001 source-ip 10.0.0.2 source-port 20001 codec g729a codec-size 36
frequency 30
ip sla schedule 1 life forever start-time now
(Тест для участка А---B)
ip sla 2
udp-jitter 10.0.1.6 20002 source-ip 10.0.0.2 source-port 20002 codec g729a codec-size 36
frequency 30
ip sla schedule 2 life forever start-time now
access-list 120 permit tcp any any eq 389
access-list 120 permit udp any any range 16384 32768
access-list 120 permit udp any any range 3478 3479
access-list 120 permit udp any any range 3230 3235
access-list 120 permit udp any any eq 1718
access-list 120 permit tcp any any range 3230 3235
access-list 120 permit tcp any any eq 1720
access-list 120 permit udp any any eq 1720
access-list 120 permit tcp any any eq 1731
access-list 120 permit tcp any any range 11000 11999
access-list 120 permit udp any any eq 2427
access-list 120 permit tcp any any eq 2427
access-list 120 permit tcp any any eq 2428
access-list 120 permit tcp any any range 2000 2002
access-list 120 permit udp any any eq 1719
access-list 120 permit udp any any eq 5060
access-list 120 permit tcp any any eq 5060
access-list 120 permit udp any any eq 5004
access-list 120 permit udp any any range 8000 8001
access-list 121 permit tcp any any eq 161
access-list 121 permit udp any any eq snmp
access-list 121 permit tcp any any eq 162
access-list 121 permit udp any any eq snmptrap
access-list 121 permit udp any any eq syslog
access-list 121 permit tcp any any eq 22
access-list 121 permit tcp any any eq telnet
Пример вывода команды sh policy-map interface vlan 512
-----------------------------------------------------------------------------------------
Vlan512
Service-policy output: POL-Local-VPN-QoS-ACL
Class-map: ALL-Traffic (match-any)
854695 packets, 95741510 bytes
5 minute offered rate 23000 bps, drop rate 0 bps
Match: any
Traffic Shaping
Target/Average Byte Sustain Excess Interval Increment
Rate Limit bits/int bits/int (ms) (bytes)
1536000/1536000 9600 38400 38400 25 4800
Adapt Queue Packets Bytes Packets Bytes Shaping
Active Depth Delayed Delayed Active
- 0 458577 35958372 0 0 no
Service-policy : Local-VPN-QoS-ACL
Class-map: REA-ACL (match-any)
588489 packets, 45539402 bytes
5 minute offered rate 22000 bps, drop rate 0 bps
Match: access-group 120
588489 packets, 45539402 bytes
5 minute rate 22000 bps
Match: protocol rtp audio
0 packets, 0 bytes
5 minute rate 0 bps
QoS Set
dscp ef
Packets marked 588489
Queueing
Output Queue: Conversation 73
Bandwidth 20 (%)
Bandwidth 307 (kbps)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
exponential weight: 9
mean queue depth: 0
class Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
0 0/0 0/0 0/0 20 40 1/10
1 0/0 0/0 0/0 22 40 1/10
2 0/0 0/0 0/0 24 40 1/10
3 0/0 0/0 0/0 26 40 1/10
4 0/0 0/0 0/0 28 40 1/10
5 588489/45539402 0/0 0/0 30 40 1/10
6 0/0 0/0 0/0 32 40 1/10
7 0/0 0/0 0/0 34 40 1/10
rsvp 0/0 0/0 0/0 36 40 1/10
Class-map: PRE-ACL (match-any)
17638 packets, 1641729 bytes
5 minute offered rate 1000 bps, drop rate 0 bps
Match: access-group 121
17638 packets, 1641729 bytes
5 minute rate 1000 bps
QoS Set
dscp af31
Packets marked 17638
Queueing
Output Queue: Conversation 74
Bandwidth 10 (%)
Bandwidth 153 (kbps)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
exponential weight: 9
mean queue depth: 0
class Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
0 0/0 0/0 0/0 20 40 1/10
1 0/0 0/0 0/0 22 40 1/10
2 0/0 0/0 0/0 24 40 1/10
3 17638/1641729 0/0 0/0 26 40 1/10
4 0/0 0/0 0/0 28 40 1/10
5 0/0 0/0 0/0 30 40 1/10
6 0/0 0/0 0/0 32 40 1/10
7 0/0 0/0 0/0 34 40 1/10
rsvp 0/0 0/0 0/0 36 40 1/10
Class-map: class-default (match-any)
248568 packets, 48560379 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64
(total queued/total drops/no-buffer drops) 0/0/0
exponential weight: 9
class Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
0 247615/48459775 0/0 0/0 20 40 1/10
1 0/0 0/0 0/0 22 40 1/10
2 0/0 0/0 0/0 24 40 1/10
3 479/56742 0/0 0/0 26 40 1/10
4 0/0 0/0 0/0 28 40 1/10
5 455/42532 0/0 0/0 30 40 1/10
6 19/1330 0/0 0/0 32 40 1/10
7 0/0 0/0 0/0 34 40 1/10
rsvp 0/0 0/0 0/0 36 40 1/10
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
-----------------------------------------------------------------------------------------
Я пробывал реализовать два способа QoS:
1. Выделить конкретные протоколы для маркировки с помощью match protocol в class-map.
2. Отделить трафик c помощью ACL.
Во втором случае я с ACL регистрировалось еле заметно улутшение качества связи.
Я често говоря вообще с QoS столкнулся не давно и могу где-то натупить.
Вообщем сейчас включен QoS на основе ACL.
Странно то, что после перехода на канал с приоретизацией и включение QoS показания jitter MAX Source-Destination уменьшились и стали вполне нормальными (см.
вложенную ссылку на график.) - в районе 150-170 мс (мне главное что бы покаазнания не выходили за предел размера адаптивного буфера в 250 мс) Если выше то
это уже очень плохо.
Короче сейчас показания находятся в нормальных приделах (иногда прыгают но это бывает) от жалоб уже уши опухли... Не так ак было раньше, но жалобы есть.
Интересно что второй канал VLAN513(А---D), в котором весь трафик типа STD проброшен в другой город, показания jitter MAX Source-Destination находятся на
уровне 200мс, то есть по видимым признакам он хуже, а жалоб на него нет, разговоры не обрываются, все довольны.
Вообщем мой вопрос заключается в следующем - Оптимально ли я настроил QoS под опреторскую модель трех класов. Можно ли предложить другую схему если я сделал
не правильно. Или может я не по тем параметрам определяю качество канала. Может нужно что-то другое тестить и подкручивать. Я думал попробывать сменить
кодек, сейчас у меня используется G.729. Думал попробовать сменить на G.711 но это не экономичный кодек, а мне нужно 4-ре одновременных соединения.
Не знаю как решить проблему с качеством связи.
Я уже ищу другого провайдера, но это не быстро, а за расширение канала они много денег хотят. Вот и приходится пытаться подкрутить что можно.
Если что нужно еще показать из конфига так не вопрос - покажу по запросу.
Помогите кто чем может... |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Фев 09 2009 02:34 Заголовок сообщения: |
|
|
Курс Cisco ONT стоит 40 тыс. рублей. Вероятно это дешевле, чем переходить на другого провайдера.
Рекомендую курс пройти и получить ответы на свои вопросы.
Рассказывать вам здесь азы ну уж очень мне лениво. Вы слишком многого не знаете. |
|
Вернуться к началу |
|
|
zender
Зарегистрирован: 27.12.2006 Сообщения: 23 Откуда: Киев
|
Добавлено: Пн Фев 09 2009 11:48 Заголовок сообщения: |
|
|
Я с вами польность согласен, я много не знаю, я уже рассматриваю ваше предложения по курсу Cisco ONT, но может хотя бы подскажете направление по моей проблеме, что лутше использовать. Например LLQ или CBWFQ, а я уже сам попытаюсь разобраться... Ведь форумы для этого и сущевствуют... если бы все все знали то между нами сейчас бы не было этой переписки... |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Фев 09 2009 12:07 Заголовок сообщения: |
|
|
LLQ и CBWFQ - это немного разный способ обработки очередей.
LLQ - это очередь с низкой задержкой. Отличается от CBWFQ тем, что в LLQ можно задать класс с самой низкой задежкой, который будет круче всех прочих равных. Вот туда голос пихать и надо. Голос и только его, а не все подряд, как у вас сейчас. Поглядите в ACL 120, 121. У вас там каша, а не приоритезация и классификация. Такое ощущение, что вы мало понимаете что делаете, слямзили пример, воткнули, авось прокатит. Не прокатило.
CBWFQ - это для случая правильной нарезки трафика, где все должно быть поровну или с каким-то приоритетом.
В курсе Cisco ONT об этом подробно рассказывают. Еще есть специализированый курс по QoS, но вряд ли он вам сейчас будет интересен. |
|
Вернуться к началу |
|
|
zender
Зарегистрирован: 27.12.2006 Сообщения: 23 Откуда: Киев
|
Добавлено: Пн Фев 09 2009 14:06 Заголовок сообщения: |
|
|
Спасибо я разссмотрю применения LLQ. А на счет ACL вот сдесь еще вопрос - Я нигде не встретил четкого определения ACL для голоса. Везде все пишут по-разному. А мне нужно выделить и H.323 и SIP, sip используют реже, есть свои особенности использования, почему так не буду углублятся я просто обьясняю почему каша в ACL. Я таке понимаю что типы трафика Voice i signaling имеют разные приоритеы и метки соответсвенно но посчитал нужным запихнуть их в один тип трафика во избежание вытеснений в боле низком приоритете при перегрузках в канале, потомучто у провайдера очень плохие показания по REA, PRE, STD. :
для трафика REA:
Delay 30 ms
Jitter 10 ms
для трафика PRE:
Delay 40 ms
А для STD - вообще ничего не говорят.
Поэтому и посчитал нужным что пускай signaling , бегает вместе с Voice. |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Фев 09 2009 21:34 Заголовок сообщения: |
|
|
Ну опять же все от незнаний. Вы посчитали сколько требуется пропускной способности для голоса? Нет? А почему тогда лихо зарезервировали под него 10% Думаете этого достаточно для одного соединения с кодеком H.323?
Как классифицировать трафик? Ну вы включили автосбор статиcтики. ip nbar discovery. Либо надейтесь на него, либо читайте доки по протоколам. Там указано по каким протоколам и портам работает тот или иной кодек, то или иное приложение.
Тема эта большая. Ей богу почитайте лучше доку. Здесь слепой метод получится/не получится не годится. |
|
Вернуться к началу |
|
|
zender
Зарегистрирован: 27.12.2006 Сообщения: 23 Откуда: Киев
|
Добавлено: Вт Фев 17 2009 15:49 Заголовок сообщения: |
|
|
Спасибо. |
|
Вернуться к началу |
|
|
|