Cisco IP SLA
Один из самых простых примеров теста: проверка доступности ресурса с помощью простого “ping” (отправки ICMP-запроса и ожидания ICMP-ответа).
Тесты также могут быть и более сложными. Например, проверка качества канала по таким характеристикам как jitter и delay.
Содержание
[править] Параметры
Рекомендации Cisco по настройке параметров (frequency, timeout, threshold) для тестов IP SLA UDP jitter:
- (frequency seconds) > ((timeout milliseconds) + N)
- (timeout milliseconds) > (threshold milliseconds)
где N = (num-packets number-of-packets) * (interval interpacket-interval)
Рекомендации Cisco по настройке параметров (frequency, timeout, threshold) для других тестов IP SLA:
- (frequency seconds) > (timeout milliseconds) > (threshold milliseconds)
[править] Threshold
Параметр threshold используется для указания верхнего порогового значения времени.
Значение по умолчанию 5000ms. Значение threshold не должно превышать значение параметра timeout.
Значение параметра threshold для операции:
- IP SLA UDP jitter:
- устанавливает верхнее пороговое значение для среднего значения jitter
- устанавливает верхнее пороговое значение для измерения RTT (round-trip time)
IP SLA, соответственно, высчитывает количество раз, когда среднее значение jitter или RTT превышало указанное значение threshold.
[править] Responder
В зависимости от теста, на стороне получателя может быть, или любое устройство с соответствующим сервисом, или оборудование Cisco.
IP SLA, за время существования, сменил несколько вариантов настройки. Поэтому, настройка в другой версии IOS может отличаться от указанной.
[править] Операции
[править] ICMP echo
Часто такого рода тесты привязываются с помощью track к другим объектам. Например, к статическим маршрутам.
Технология Cisco IOS IP SLA.
О необходимости обеспечивать высокое качество, наряду с контролем, передачи данных по сети Интернет сказано много. Появление сервисов, таких как VoIP и IPTV диктуют свои условия. Данная статья, дает представление о возможностях оценки качества, мониторинга сети, а также принятия решений оборудованием Cisco с помощью технологии Cisco IOS IP SLA.
На текущий день существует множество программных и аппаратных решений контроля качества передачи данных по сети Интернет. Я не буду проводить обзор существующих решений. Возможности Cisco IP SLA часто используется для оценки качественных характеристик сети различными программными продуктами, предназначенными для мониторинга состояния сети. Однако не все программные продукты мониторинга сети поддерживают эту технологию. Описываемые методы могут быть использованы как для построения своей системы мониторинга, так и для расширения существующей.
Аббревиатура SLA расшифровывается как Service Level Agreements, что можно перевести как соглашения об уровне обслуживания. Первоначально технология называлась RTR Round Trip Reporter – что можно перевести как агент, информирующий о задержках. В зависимости от версии IOS команды по конфигурированию устройства могут различаться. Подробно об этом можно почитать здесь. Я буду описывать все на примере IOS выше 12.4. Команды конфигурирования могут отличаться в различных версиях IOS-а.
Суть технологии.
В Cisco IOS встроены программные тесты состояния сети. На текущий момент существует более десятка тестов. Различные IOS поддерживают различные наборы тестов. Например мой Cisco 2821 поддерживает следующие тесты:
c2821(config)#ip sla monitor 19
c2821(config-sla-monitor)#type ?
dhcp DHCP Operation
dlsw DLSW Operation
dns DNS Query Operation
echo Echo Operation
frame-relay Perform frame relay operation
ftp FTP Operation
http HTTP Operation
jitter Jitter Operation
pathEcho Path Discovered Echo Operation
pathJitter Path Discovered Jitter Operation
slm SLM Operation
tcpConnect TCP Connect Operation
udpEcho UDP Echo Operation
voip Voice Over IP measurementПодробно о каждом тесте говорить смысла нет. Способы конфигурирования и что можно получить, используя тот либо иной тест, можно узнать на сайте Cisco. В общем же случае, Cisco умеет:
- выполнять тест
- можно вывести результаты теста с помощью командной строки
- результаты тестов сохраняются и доступ к ним можно получить по SNMP
- можно настроить отправку SNMP trap и syslog сообщений, информирующих о неудовлетворительных и удовлетворительных результатах тестов
- можно сконфигурировать Cisco, так чтобы он принимал решения о маршрутизации на основе результатов тестов.
IP SLA и принятие решений маршрутизации.
На текущий день не редки ситуации, когда у конечного пользователя Интернет существует множество Интернет каналов предоставляемых одним или несколькими провайдерами. Главное преимущество наличия нескольких каналов связи это минимизирование рисков простоя в случае сбоев. В случае наличия нескольких каналов связи решение о том, через какой из них маршрутизировать трафик можно принимать на основе доступности канала. В классической ситуации, без IP SLA тестов, о доступности канала связи можно судить по состоянию интерфейса. Однако состояние интерфейса не всегда однозначно говорит о доступности канала передачи данных. Например, если у вас маршрутизатор подключен к DSL модему по Ethernet, то в случае сбоя связи в DSL вы не сможете его выявить стандартными способами. Наличие различных IP SLA тестов позволяет выявлять подобные ситуации. На текущий, день в IOS существует возможность принимать решения о маршрутизации на основе результатов IP SLA тестов. Описывать, как все настраивается, я не берусь, так как не использовал такие методы. Однако на сайте Cisco все, как всегда, понятно описано. Вот пример для Policy Based Routing with the Multiple Tracking Options Feature
ip sla или как сделать чтобы красиво работал основный\бэкапный каналы без BGP.
Итак, у нас есть маршрутизатор Cisco и 2 канала, основной и бэкапный.
1. чтобы когда отваливался основной, работал бэкапный (и когда основной
поднялся, маршрут обратно переписывался на него)2. чтобы нагрузка между ними балансировалась (и с PBR в том числе).
Опять же, при падении провайдера трафик не него не должен ходить.Оба провайдера у нас через ethernet, и статический маршрут не исчезнет
при падении провайдера.Настроим IP SLA для проверки доступности провайдеров
(пингуем наши дефолт-гейтвеи)ip sla 1
icmp-echo 80.91.170.13 source-interface GigabitEthernet0/1
timeout 2000
frequency 3
ip sla schedule 1 life forever start-time nowip sla 2
icmp-echo 83.218.239.13 source-interface GigabitEthernet0/2
timeout 2000
frequency 3
ip sla schedule 2 life forever start-time nowtrack 1 rtr 1 reachability
track 2 rtr 2 reachabilityМетод icmp-echo не очень хорош, т.к. при пропадании одного icmp пакета,
что случается чаще чем я думал (можно глянуть коммандой show track),
идёт переключение маршрута(об этом чуть позже). Лучше использовать, icmp-jitter
(доступен с только с 12.4Т), тк. он пускает несколько пакетов.
Например:ip sla 1
icmp-jitter 80.91.170.13 source-ip 80.91.170.14 num-packets 5
timeout 2
frequency 4
ip sla schedule 2 life forever start-time nowip sla 2
icmp-jitter 83.218.239.13 source-ip 83.218.239.14 num-packets 5
timeout 2
frequency 4
ip sla schedule 2 life forever start-time nowИ собственно добавим статические маршруты на провайдеров.
Если нету ответа на эхо запрос от провайдера, статический маршрут
убирается.При отсутствии AD (Administrative Distance) в ip route у статических маршрутов будет load blancing
(per destanation, при влючённом ip cef. Т.е. на один dst-ip всё поёдет через одного провайдера, на другой dst-ip через другого)Добавим еще PolicyBasedRouting (если у нас не симметричные каналы, или мы хотим чтобы
некоторые внутренние хосты выходили через конкретного провайдера, а в
случае его падения через бэкапного). В route-map выставляется приоритет
на лучшего провайдера.рисуем рoут мап
указывем в acl внутренних хостов
На интерфейс который смотрит в локалку.
При такой конфигурации переход на живого провайдера происходит примерно
за время timeout в ip sla, т.е. 2 секунды.IP SLA на маршрутизаторах Cisco
Read the article IP SLA ON CISCO ROUTER in
English
Рано или поздно, но каждая компания сталкивается с проблемой выхода из строя канала связи с интернет. И сразу же после этого встает вопрос об организации резервного канала. Но какие настройки нужно сделать для автоматического переключения на него в случае аварии?
В этой статье описаны настройки для маршрутизаторов Cisco 881 и подобных моделей. Если у вас Cisco ASA, то настройки для них написаны в статье Dual WAN на Cisco ASA.
Один из самых простых и эффективных способов для маршрутизаторов Cisco – использование ip sla monitor. Устройство будет отслеживать доступность основного интернет провайдера и, как только связь пропадет (некий адрес не будет отвечать на icmp запросы в течение нескольких секунд), начнет пересылать трафик через резервный канал.
Рассмотрим настройки на примере стандартной модели маршрутизаторов для небольшого офиса Cisco 881.
- В интерфейс 3 уровня Fa 4 подключен основной оператор связи;
- В интерфейс Fa 0 (Vlan 1) подключена локальная сеть офиса;
- В интерфейс FastEthernet 3 (Vlan 3) подключен резервный провайдер.
Если у вас иная модель, то отличие будет только в названии интерфейсов, но не в сути настроек.
Задача: настроить отказоустойчивое подключение к Интернет (dual wan).
Шаг 1. Проверка маршрутов
Проверяем текущие маршруты на устройстве. Для удобства командой sh run | inc route
выводим строки текущей конфигурации, содержащие слово «route»
R-DELTACONFIG-1# sh run | inc route
Ip route 0.0.0.0 0.0.0.0 10.10.10.1 1Если переводить с языка устройства на «человеческий», то получится следующее:
«Перенаправлять все пакеты, о которых я не знаю, в сторону интерфейса outside через шлюз 10.10.10.1»
Маршрутизатор «знает» только о тех сетях, которые подключены к нему напрямую (connected) или для которых имеются подобные строки маршрутов.Шаг 2. Настройка для резервного провайдера
На межсетевом экране уже настроен интерфейс outside (Ethernet 1/Vlan 2), к которому подключен Основной провайдер. В текущей конфигурации (просмотреть командой sh run) будут присутствовать подобные строки:
R-DELTACONFIG-1# sh run
…
interface Fastethernet 4
ip address 10.10.10.2 255.255.255.252Добавим настройки для Резервного канала, который подключен к Ethernet 3/Vlan 3
Для этого сначала необходимо создать Vlan для подключения резервного оператора, привязать его к одному из свободных портов и после этого задать ip адрес.Создание Vlan 3
R-DELTACONFIG-1 #
vlan database
R-DELTACONFIG-1 (vlan)#
vlan 3 name BACKUP_ISPПроверить текущие настройки можно командой sh current, не выходя из режима настройки Vlan. Достаточно, чтобы Vlan с порядковым номером 3 был в перечне существующих.
R-DELTACONFIG-1 (vlan)#
sh currentДля привязки Vlan 3 к интерфейсу FastEthernet 3 необходимо выйти из режима настройки Vlan и далее зайти в обычный режим конфигурирования conf t. После этого привязать Vlan 3 к интерфейсу FastEthernet 3 и активировать его командой no shut.
R-DELTACONFIG-1 (vlan)#
exit
conf t
R-DELTACONFIG-1 (config)#
interface FastEthernet 3
switchport access vlan 3
no shutА после создания задать ip адрес и активировать интерфейс командой no shut
R-DELTACONFIG-1 (config)#
interface Vlan 3
ip address 20.20.20.2 255.255.255.252
ip nat outside
no shutЕсли все провода подключены и настройки корректны, то для маршрутизатора должен быть доступен шлюз Резервного провайдера.
R-DELTACONFIG-1 # ping 20.20.20.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.20.20.1, timeout is 2 seconds:
.
Success rate is 100 percent (5/5) , round-trip min/avg/max = 1/2/4 msШаг 3. Настройка отслеживания доступности провайдера
Для того чтобы маршрутизатор Cisco 881 следил за доступностью Основного канала, необходимо настроить функцию ip sla monitor. С ней через равные временные промежутки будет посылаться ping (icmp запрос) на адрес провайдера 1 (основного). Получение ответного пакета (icmp ответ) будет означать доступность канала.
Что проверять?
В большинстве случаев адрес внешнего интерфейса и шлюза провайдера заранее известны. Поэтому будет достаточно проверять доступность адреса шлюза провайдера. Но здесь есть один подвох. Что произойдет, если шлюз будет все так же доступен, но неисправность будет где-то дальше на сети провайдера? То есть «интернет не работает», но шлюз доступен. Ответ – ничего. Маршрутизатор не сможет распознать неисправность и не переключится на резерв. Сюда же подходят случаи, когда провайдер предоставляет динамический адрес, например, по технологии pppoe.
Чтобы это обойти, часто выбирается какой-то стабильно работающий адрес в Интернете, который вполне может быть в любой точке мира. Далее на маршрутизаторе задается статический маршрут до выбранного адреса через интерфейс основного провайдера. И уже наличие шлюза по умолчанию в сторону основного провайдера ставится в зависимость от доступности выбранного адреса. Тогда, что бы ни случилось со связью, будь то неполадки с настройками маршрутизатора, сбои у оператора связи и другие причины, механизм переключения сработает автоматически. При этом минусом такого подхода будет то, что заветный адрес будет всегда недоступен вместе с основным провайдером. Для этих целей советую использовать адрес 1.1.1.1, который стабильно доступен, но крайне редко используется в повседневной работе пользователей или устройств.
Сложно написано, не так ли? Давайте упростим до алгоритма действий маршрутизатора:
- Маршрутизатор, знай, что хост 1.1.1.1 всегда находится за шлюзом основного провайдера 10.10.10.1
- Маршрутизатор, проверяй доступность хоста 1.1.1.1 один раз в 10 секунд
- Если хост 1.1.1.1 доступен, то шлюз по умолчанию – адрес провайдера 1
- Если хост 1.1.1.1 недоступен, то шлюз по умолчанию – адрес провайдера 2
Задаем статический маршрут через основного провайдера до адреса 1.1.1.1
R-DELTACONFIG-1 (config)#
ip route 1.1.1.1 255.255.255.255 10.10.10.1Активируем функцию ip sla
R-DELTACONFIG-1 (config)#
ip sla 1
icmp-echo 1.1.1.1 source-interface Fa 4
threshold 10000ip sla schedule 1 life forever start-time now
track 1 ip sla 1 reachability
Для справки:
threshold 10000 – Запросы будут посылаться 1 раз в 10 секунд.Шаг 4. Проверка работы механизма отслеживания
Для проверки работы отслеживания ip sla используется команда sh ip sla statistics
R-DELTACONFIG-1# sh ip sla statistics
IPSLAs Latest Operation Statistics
IPSLA operation id: 1
Latest RTT: 4 milliseconds
Latest operation start time: 14:07:40 MSK Thu Aug 8 2019
Latest operation return code: Over threshold
Number of successes: 15
Number of failures: 0
Operation time to live: ForeverNumber of successes: 15 – показывает количество успешных icmp запросов
Number of failures: 0 – показывает количество неудачных запросовПеред выполнением дальнейших шагов обязательно проверьте вывод этой команды несколько раз, чтобы убедиться, что счетчик успешных срабатываний (successes) растет со временем. Это означает, что основной канал работает стабильно и можно продолжать настройку без риска потерять связь с Интернет.
Шаг 5. Шлюз по умолчанию для Резервного провайдера.
Для Резервного провайдера требуется указать шлюз по умолчанию, куда маршрутизатор Cisco 881 будет отправлять все пакеты, но с одним отличием – этот маршрут не должен учитываться, когда доступен Основной провайдер. Для этого следует понизить приоритет этого маршрута, который здесь называется «административным расстоянием». Необходимо сделать его больше (дороже).
По умолчанию значение административного расстояния для статического маршрута – 1. Зададим для Резервного канала значение, близкое к максимальному – 250
R-DELTACONFIG-1 (config)#
ip route 0.0.0.0 0.0.0.0 20.20.20.1 250После добавления в конфигурации маршрутизатора Cisco 881 должно быть 2 маршрута по умолчанию
R-DELTACONFIG-1# sh run | inc route
ip route 1.1.1.1 255.255.255.255 10.10.10.1
ip route 0.0.0.0 0.0.0.0 10.10.10.1 1
ip route 0.0.0.0 0.0.0.0 20.20.20.1 250Шаг 6. Активация переключения
Финальный шаг – привязать основной маршрут к функции слежения за доступностью канала (ip sla).
Добавляем новую строку для шлюза по умолчанию с пометкой track 1 и удаляем старуюR-DELTACONFIG-1 (config)#
ip route 0.0.0.0 0.0.0.0 10.10.10.1 1 track 1
no ip route 0.0.0.0 0.0.0.0 10.10.10.1 1После этого в итоговой конфигурации останутся две строчки для шлюзов по умолчанию
R-DELTACONFIG-1# sh run | inc route
ip route 1.1.1.1 255.255.255.255 10.10.10.1
ip route 0.0.0.0 0.0.0.0 10.10.10.1 1 track 1
ip route 0.0.0.0 0.0.0.0 20.20.20.1 250Важно!
Если существуют строки маршрутов для каких-то сетей, кроме шлюза по умолчанию, то следует учесть их наличие при настройке, продумав логику переключения аналогично шлюзу по умолчанию.Шаг 7. Корректировка NAT
Самое главное, чем отличается настройка dual wan на маршрутизаторах Cisco 881 и Cisco ASA – это необходимость перенастройки трансляции адресов NAT (преобразование внутренних «серых» адресов в «белый» адрес внешнего интерфейса). Если для Cisco ASA достаточно продублировать настройки NAT для резервного провайдера, то для маршрутизаторов Cisco необходимо перенастраивать логику команд.
«Обычные» настройки NAT для доступа в сеть Интернет для пользователей сводится к указанию диапазона внутренних адресов и добавления правила «транслируй «эти адреса» в адрес внешнего интерфейса». Фактически описывается трафик ДО попадания на внутренний интерфейс маршрутизатора.
ip access-list standard ACL_NAT
permit 192.168.10.0 0.0.0.255Interface Vlan 1
ip nat insideInterface Fa 4
ip nat outsideip nat inside source list ACL_NAT interface fa4
В случае с реализацией отказоустойчивого переключения на резервный канал с помощью ip sla необходимо использовать route-map. Это расширенная функция управления потоком трафика, в настройках которой указывается условие (какой трафик) и действие (что с ним делать).
В нашем случае для каждого из провайдеров создается route-map только с «условиями», в качестве которых выступают:- заранее созданный список доступа ACL_NAT, в котором отражен трафик для всех внутренних хостов)
- Выходной интерфейс (свой для каждого из провайдеров
route-map ROUTE_ISP_MAIN permit 10
match ip address ACL_NAT
match interface FastEthernet 4route-map ROUTE_ISP_BACKUP permit 10
match ip address ACL_NAT
match interface Vlan 3Далее необходимо добавить правила для NAT, в которых сослаться на route-map
ip nat inside source route-map ROUTE_ISP_MAIN interface FastEthernet 4 overload
ip nat inside source route-map ROUTE_ISP_BACKUP interface Vlan 3 overloadВажно!
не забудьте проверить, что на каждом из трех интерфейсов, через которые проходит трафик, есть строки о принадлежности к NAT
Interface Vlan 1
ip nat inside
Interface Fa 4
ip nat outside
interface Vlan 3
ip nat outsideПонятие Cisco IOS IP SLA и его роль в измерениях производительности сети
Cisco IP SLA является функцией программного обеспечения Cisco IOS, которая предоставляет пользователям возможность анализировать уровень обслуживания IP для приложений и сервисов. Для этого IP SLA использует метод активного тестирования за счет непрерывной генерации трафика надежным и предсказуемым методом. Активное тестирование позволяет проводить измерения ключевых показателей качества сети передачи данных на базе протокола IP. С Cisco IP SLA операторы связи могут измерять и контролировать SLA предоставляемых услуг, а их клиенты в реальном времени получать информацию о соответствии уровня сервисов SLA. Cisco IP SLA позволяет: