По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Мы хотели бы поговорить про Quality of Service (QoS) в VoIP сетях, рассказать что это такое, как это работает, зачем это нужно и как это настраивать. В этой статье мы рассмотрим, какие проблемы мы можем иметь в сети, и как QoS может с ними помочь. Для успешного функционирования VoIP сетей голосовой трафик (voice traffic) должен иметь приоритет над трафиком с данными (data traffic). Quality of Service можно определить как способность сети предоставить лучший или особый сервис для группы пользователей и приложений за счет других пользователей и приложений. Звучит как то, что как раз необходимо для голосового трафика – “лучший” сервис необходим для VoIP не из-за больших требований по пропускной способности (VoIP трафик использует маленькую полосу пропускания, по сравнению с другими приложениями), а из-за требований по задержке. В отличие от трафика с данными, время за которое пакет проходит из одного конца сети в другой имеет значение. Если пакет с данными при прохождении через сеть испытал задержку (delay), то файловый сервер получит файл секундой позже или страничка в браузере будет загружаться чуть дольше, и с точки зрения пользователя не произойдет ничего страшного. Однако если голосовой трафик проходит по сети и испытывает задержку, то голоса начинают перекрываться (например, абонент начинает говорить одновременно с другим абонентом) и продолжать разговор становится невозможно. Чтобы побороть эти проблемы нужно убедиться, что для голосового трафика подходит не только полоса пропускания, но и что голосовой трафик получает первую доступную полосу. Это означает что если бутылочное горлышко (самое узкое место) находится в сети, где маршрутизатор ставит трафик в очередь, то перед тем как его выслать, маршрутизатор будет перемещать голосовой трафик перед трафиком данных, чтобы отправить его в первом доступном интервале. И это как раз задача Quality of Service. QoS, по сути, является не отдельным инструментом, а классом инструментов, направленных на то чтобы дать администратору полный контроль над трафиком внутри сети. Как и когда использовать каждый инструмент QoS зависит от требований к сети от трафика и ее характеристик. Понимание основных проблем Перед тем как применять QoS, нужно разораться с тем, какие проблемы мы пытаемся решить. Рассмотрим основные: Недостаток пропускной способности (Lack of bandwidth) – Множественные потоки голосового трафика и трафика с данными конкурируют за ограниченную полосу пропускания. Задержка (Delay) – Для того чтобы пакет дошел из пункта отправления в пункт назначения требуется какое-то время. Задержка имеет три формы: Фиксированная задержка (Fixed delay) – Значение задержки, которое нельзя изменить. Например, требуется определенное время, чтобы пакет добрался до определенной географической локации. Это значение считается фиксированным и QoS не может повлиять на него. Переменная задержка(Variable delay) – Значения задержки, которые можно изменить. Например, задержка в очереди интерфейса маршрутизатора является переменной, потому что она зависит от того, сколько пакетов находится на данный момент в очереди. На эту задержку можно повлиять поставив голосовые пакеты перед пакетами с данными. Джиттер (Jitter) – Разница задержек между пакетами. Например, первому пакету разговора потребовалось 100 мс чтобы добраться до точки назначения, в то время как второму потребовалось 110 мс. В этой ситуации джиттер составляет 10 мс. Потеря пакетов (Packet loss) – пакеты теряются из-за переполненного или ненадежного сетевого подключения. Очень важно понимать эти проблемы, поскольку они вызывают наложения звука, эхо, потрескивания и разорванные звонки. Механизм QoS предназначен для того, чтобы обеспечить бесперебойную передачу голоса в течение временных перегрузок в сети. Однако это не волшебная палочка, которая сможет решить все проблемы в сети. Например, если в сети есть недостаток пропускной способности, то при добавлении голосовых пакетов не стоит ожидать что QoS сможет все решить – получится что либо приложения с данными будут работать так медленно, что перестанут быть функциональными, либо голосовой трафик будет испытывать проблемы с качеством. Цель QoS – обеспечить постоянную пропускную способность для голосового трафика таким образом, чтобы была низкая постоянная задержка с одного конца сети в другой. Чтобы выполнить это требование необходимо иметь настроенные механизмы QoS в каждой точке сети, где существует перегрузка. Требования к голосовому и видео трафику Разный тип трафика, который используется в сети, имеет разные требования QoS. В отличие от трафика данных, голосовой трафик считается предсказуемым. В то время как трафик данных может значительно увеличиваться при скачивании или передачи большого объема данных, голосовой трафик остается постоянным для каждого звонка поступающего и покидающего сеть. Фактический объем полосы пропускания, требуемый для голоса сильно зависит от используемого кодека. Помимо требований к пропускной способности, голосовой трафик имеет следующие дополнительные требования: Задержка (End-to-end delay) : 150 мс или меньше Джиттер: 30 мс или меньше Потеря пакетов: 1% или меньше Видео трафик имеет такие же требования по задержке, но потребляет большую полосу пропускания. Кроме того ширина полосы пропускания может меняться в зависимости от того, сколько движения происходит в видео (большее количество движений значительно увеличивают необходимую пропускную способность). Требования к трафику данных Невозможно подогнать весь трафик данных под одно требование, потому что каждое отдельное приложение имеет свои QoS требования. Приложения данных можно разделить на несколько категорий: Критически важные приложения (Mission-critical applications) – эти приложения критически важны для организации и требуют выделенной полосы пропускания. Транзакционные приложения (Transactional applications) – эти приложения обычно взаимодействуют с пользователями и требуют быстрого времени отклика. Например, сотрудник техподдержки может использовать приложение базы данных чтобы получать информацию о абоненте на основе ID предыдущих запросов. Низкоприоритетные приложения (Best-effort applications) – эти приложения некритичны или некатегоризированы. Это может быть почта, веб и FTP. “Мусорные ” приложения (Scavenger applications) – это непродуктивные приложения, в которых нет необходимости для работы, но которые поглощают значительные объемы полосы пропускания. Например, это могут быть p2p приложения типа BitTorrent Каждой из этих категорий приложений можно назначить определенный уровень QoS.
img
Понимать состояние ваших серверов с точки зрения их загрузки и производительности - крайне важная задача. В этой статье мы опишем несколько самых популярных методов для проверки и мониторинга загрузки ЦПУ на Linux хосте. Методы проверки Проверяем загрузку процессора с помощью команды top Отличным способом проверки загрузки является команда top. Вывод этой команды выглядит достаточно сложным, зато если вы в нем разберетесь, то точно сможете понять какие процессы занимают большую часть ваших вычислительных мощностей. Команда состоит всего из трех букв: top У вас откроется окно в терминале, которое будет отображать запущенные сервисы в реальном времени, долю системных ресурсов, которую эти сервисы потребляют, общую сводку по загрузке CPU и т.д Будем идти по порядку: первая строчка отображает системное время, аптайм, количество активных пользовательских сессий и среднюю загруженность системы. Средняя загруженность для нас особенно важна, т.к дает понимание о среднем проценте утилизации ресурсов за некоторые промежутки времени. Три числа показывают среднюю загрузку: за 1, 5 и 15 минут соответственно. Считайте, что эти числа - это процентная загрузка, т.е 0.2 означает 20%, а 1.00 - стопроцентную загрузку. Это звучит и выглядит достаточно логично, но иногда там могут проскакивать странные значения - вроде 2.50. Это происходит из-за того, что этот показатель не прямое значение загрузки процессора, а нечто вроде общего количества "работы", которое ваша система пытается выполнить. К примеру, значение 2.50 означает, что текущая загрузка равна 250% и ваша система на 150% перегружена. Вторая строчка достаточна понятна и просто показывает количество задач, запущенных в системе и их текущий статус. Третья строчка позволит вам отследить загрузку ЦПУ с подробной статистикой. Но здесь нужно сделать некоторые комментарии: us: процент времени, когда ЦПУ был загружен и которое было затрачено на user space (созданные/запущенные пользователем процессы) sy: процент времени, когда ЦПУ был загружен и которое было затрачено на на kernel (системные процессы) ni: процент времени, когда ЦПУ был загружен и которое было затрачено на приоритезированные пользовательские процессы (системные процессы) id: процент времени, когда ЦПУ не был загружен wa: процент времени, когда ЦПУ ожидал отклика от устройств ввода - вывода (к примеру, ожидание завершения записи информации на диск) hi: процент времени, когда ЦПУ получал аппаратные прерывания (например, от сетевого адаптера) si: процент времени, когда ЦПУ получал программные прерывания (например, от какого-то приложения адаптера) st: сколько процентов было "украдено" виртуальной машиной - в случае, если гипервизору понадобилось увеличить собственные ресурсы Следующие две строчки показывают сколько занято/свободно оперативно памяти и файла подкачки, и не так релевантны относительно задачи проверки нагрузки на процессор. Под информацией о памяти вы увидите список процессов и процент ЦПУ, который они тратят. Также вы можете нажимать на кнопку t, чтобы прокручивать между различными вариантами вывода информации и использовать кнопку q для выхода из top Немного более модный способ: htop Существует более удобная утилита под названием htop, которая предоставляет достаточно удобный интерфейс с красивым форматированием. Установка утилиты экстремально проста:Для Ubuntu и Debian: sudo apt-get install htop Для CentOS и Red Hat: yum install htop Для Fedora: dnf install htop После установки просто введите команду ниже: htop Как видно на скриншоте, htop гораздо лучше подходит для простой проверки степени загрузки процессора. Выход также осуществляется кнопкой q Прочие способы проверки степени загрузки ЦПУ Есть еще несколько полезных утилит, и одна из них (а точнее целый набор) называется sysstat.Установка для Ubuntu и Debian: sudo apt-get install sysstat Установка для CentOS и Red Hat: yum install sysstat Как только вы установите systat, вы сможете выполнить команду mpstat - опять же, практически тот же вывод, что и у top, но в гораздо лаконичнее. Следующая утилита в этом пакете это sar. Она наиболее полезна, если вы ее вводите вместе с каким-нибудь числом, например 6. Это определяет временной интервал, через который команда sar будет выводить информацию о загрузке ЦПУ. К примеру, проверяем загрузку ЦПУ каждые 6 секунд: sar 6 Если же вы хотите остановить вывод после нескольких итераций, например 10, добавьте еще одно число: sar 6 10 Так вы также увидите средние значения за 10 выводов. Как настроить оповещения о слишком высокой нагрузке на процессор Одним из самых правильных способов является написание простого bash скрипта, который будет отправлять вам алерты о слишком высокой степени утилизации системных ресурсов. #!/bin/bash CPU=$(sar 1 5 | grep "Average" | sed 's/^.* //') CPU=$( printf "%.0f" $CPU ) if [ "$CPU" -lt 20 ] then echo "CPU usage is high!" | sendmail admin@example.com fi Скрипт будет использовать обработчик sed и среднюю загрузку от команды sar. Как только нагрузка на сервер будет превышать 85%, администратор будет получать письмо на электронную почту. Соответственно, значения в скрипте можно изменить под ваши требования - к примеру поменять тайминги, выводить алерт в консоль, отправлять оповещения в лог и т.д. Естественно, для выполнения этого скрипта нужно будет запустить его по крону: crontab -e Для ежеминутного запуска введите: * * * * * /path/to/cpu-alert.sh Заключение Соответственно, лучшим способом будет комбинировать эти способы - например использовать htop при отладке и экспериментах, а для постоянного контроля держать запущенным скрипт.
img
В предыдущей статье мы рассмотрели необходимость перераспределения маршрутов, а также рассмотрели некоторые примеры конфигурации. Эта статья основана на предыдущей конфигурации и рассматривает возможность фильтрации маршрутов с помощью карт маршрутов. В частности, в предыдущем примере показано взаимное перераспределение маршрутов между EIGRP и OSPF, где все маршруты были перераспределены между двумя автономными системами. Однако некоторые сценарии проектирования могут потребовать, чтобы мы предотвратили перераспределение каждого отдельного маршрута. Один из способов сделать эту фильтрацию - использовать карту маршрутов. Для справки, вот топология, с которой мы работаем: Кроме того, с нашей текущей конфигурацией перераспределения маршрутов таблица IP-маршрутизации на роутере OFF1 выглядит следующим образом: Скажем, по какой-то причине мы не хотим, чтобы сеть 192.168.2.0 /24 была перераспределена из EIGRP в OSPF. Один из способов сделать эту фильтрацию - использовать карту маршрутов, которая ссылается на список управления доступом (ACL). Во-первых, давайте перейдем к роутеру CENTR и создадим ACL, который соответствует сети, которую мы хотим отфильтровать. CENTR # conf term Enter configuration commands, one per line. End with CNTL/Z. CENTR (config) access-list 1 permit 192.168.2.0 0.0.0.255 Обратите внимание на использование ключевого слова permit в ACL. В этом контексте слово permit одно из ключевых среди match, notallow. Далее мы будем ссылаться на этот ACL в карте маршрутов, и это карта маршрутов, расскажет, что мы хотим запретить этой сети быть перераспределенной. Вот как мы можем создать эту карту маршрута: CENTR (config)# route-map LAB deny 10 CENTR (config-route-map) # match ip address 1 CENTR (config-route-map) #exit CENTR (config)# route-map LAB permit 20 CENTR (config-route-map) exit CENTR (config)# Обратите внимание, что у нас есть два оператора route-map с порядковыми номерами 10 и 20. Как и в ACL, route-map обрабатываются сверху вниз. В этом примере мы хотим запретить сеть 192.168.2.0 / 24 с порядковым номером 10. Затем, чтобы разрешить перераспределение всего остального трафика, мы создаем инструкцию route-map с порядковым номером 20. Обратите внимание, что в отличие от предыдущего оператора route-map (который содержал ключевое слово deny), этот оператор route-map содержит ключевое слово permit. В результате, без необходимости указывать условие соответствия, мы сопоставляем (и разрешаем) все остальные маршруты. Далее, давайте применим нашу карту маршрута к команде redistribute в нашем процессе маршрутизации OSPF на роутере CENTR. В настоящее время команда redistribute для процесса маршрутизации OSPF выглядит следующим образом: edistribute eigrp 1 metric-type 1 subnets То, что мы хотим сделать - это переписать эту команду, добавив ссылку на нашу недавно созданную карту маршрутов. CENTR (config)# router ospf 1 CENTR (config-router)# redistribute eigrp 1 metric-type 1 subnets route-map LAB CENTR (config-router)#end CENTR# Теперь давайте вернемся к роутеру OFF1 и посмотрим, исчезла ли сеть 192.168.2.0/24 из таблицы IP-маршрутизации. Все отлично! Маршрут 192.168.2.0/24 был успешно отфильтрован. В следующей статье мы рассмотрим, как можно устранить неполадки с перераспределением маршрутов.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59