Описание по “ALTQ” и основные базовые концепции
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ОДЕССКАЯ НАЦИОНАЛЬНАЯ АКАДЕМИЯ СВЯЗИ ИМ. А. С. ПОПОВА
«КАФЕДРА СЕТЕЙ СВЯЗИ»
Комплексное задание по курсу «АКС»
на тему:
«ОБОСНОВАННЫЙ ВЫБОР ЭКЗЕМПЛЯРА СПЕЦИАЛИЗИРОВАННОГО ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ»
Студента 4-го курса
группы ИК-4.2.02
Могорян Андрея
вариант №14
Проверил Никитченко В.В.
Одесса 2016 г.
Содержание
Исходные данные | |
Введение | |
Общие сведения о ПО | |
Критерии | |
Сравнение продуктов | |
Вывод | |
Литература |
ИСХОДНЫЕ ДАННЫЕ
Тип программного обеспечения:программное обеспечение для управления пропускной способностью каналов (Traffic Shaper)
Исследуемые альтернативы:ALTQ и Traffic Control.
ВВЕДЕНИЕ
В индивидуальном комплексном задании рассмотрим программное обеспечение “Traffic Shaper” и исследуем программные продукты “ALTQ” и “Traffic Control”.
Для чего мы это делаем? Одной из типичных задач, которую решают технические работники вовремя эксплуатации и администрирования информационных сетей и компьютерных систем, является выбор экземпляра программного продукта. Определившись с целевым продуктом, далее можно разрабатывать стратегию внедрения, проводить инсталляцию, настраивать сопровождение. Но сам выбор методики очень усложнён наличием похожих программных продуктов с максимальным набором тех или иных, очень нужным набором функций. Поэтому наиболее важным является вопрос взвешенного и обоснованного выбора программного продукта.
На наше рассмотрение будут представлены два очень похожих программных продукта, которые работают по схожим правилам и имеют огромный выбор функций. Аргументированно рассматриваем их и выбираем критерии, с помощью которых на наш взгляд (т.к. выступаем в роли эксперта) возможно, оценить данные продукты. Критерии могут не совпадать с критериями, представленными в стандарте ISO/IEC 9126, их можно варьировать с целью улучшения понимания разницы между продуктами. Далее оцениваем, необходимы нам продукты по заданным критериям и субкритериям.
Так как задача выбора программного обеспечения слабо структурирована, то для её решения применяются методы много критерийного принятия решений. Мы будем использовать метод непосредственных оценок при сравнении возможностей продуктов. Описание и алгоритм работы данного метода будет приведен в комплексном задании.
Описание заданных продуктов приведём ниже. Данные о реализации контроля пропускной способности канала в этих службах, и какие возможности предоставлены, структурируем и дадим экспертную оценку их соотношений.
ОБЩИЕ СВЕДЕНИЯ ОБ ИСХОДНОМ ПО
Пропускная способность канала.
Наибольшая возможная в данном канале скорость передачи информации называется его пропускной способностью. Пропускная способность канала есть скорость передачи информации при использовании «наилучших» (оптимальных) для данного канала источника, кодера и декодера, поэтому она характеризует только канал.
Номинальная скорость — битовая скорость передачи данных без различия служебных и пользовательских данных. Эффективная скорость — скорость передачи пользовательских данных (нагрузки). Этот параметр зависит от соотношения накладных расходов и полезных данных.
Traffic Shaper (шейпер) это подсистема динамического распределения полосы пропускания и очередности прохождения разных типов трафика.
Traffic Shaper состоит из двух элементов - очередей Queues и планировщиков. Очереди Queues описывают свойства проходящего через них потока данных, его приоритеты и ширину полосы. Планировщик определяет алгоритм взаимодействия и иерархию очередей. Направление трафика в очереди производится в правилах файервола.
Описание по “ALTQ” и основные базовые концепции
Управление пропускной способностью имеет много общего с контролем баланса вашей чековой книжки или обработкой других ресурсов, которые являются дефицитными или доступны в ограниченных количествах. Обычно, ресурсы доступны с жёстким верхних пределов, и вам необходимо выделять ресурсы с максимальной эффективностью, в соответствии с некоторыми приоритетами, установленными вашими политиками или спецификациями.
Ядро управления пропускной способностью ALTQ основано на концепции очередей. Очереди явлются одной из форм буферов для сетевых пакетов. Пакеты будут находиться в очереди до тех пор, пока они де будут либо удалены, либо отправлены по пути их следования, в зависимости от критериев относящихся к очереди и с учётом доступной пропускной способности очереди. Очереди прикреплются к конкретным интерфейсам и управление пропускной способностью осуществлется на базе интерфейса, с разделением доступной пропускной способности в определённых вами очередях.
Очереди выделяют определённую часть из полосы пропускания, а иногда и иерархический приоритет. В данном контексте, приоритет является показателем предпочтений того, какую очередь необходимо обслуживать в кратчайшие сроки. Некоторые очереди могут настраиваться в сочетании выделения полосы пропускания и приоритета. В дальнейшем уточнении, мы рассмотрим некоторые типы очередей, в которых вы сможете выделить часть пропускной способности очереди в подочереди или создать очереди в очередях, которые будут претендовать на долю ресурсов родительских очередей.
После определения очереди вы интегрируете формирование трафиком в ваш набор правил, переписав свои правила пропуска или правила соответствия для назначения трафика на указанные очереди.
Примечание
В установках ALTQ, любой трафик который вы явно не назначали в спецфичную очередь, ставится в очередь по умолчанию.
ALTQ это альтернативная платформа организации очередей для BSD. ALTQ обеспечивает организации очередей, и другие QoS методы, разделение ресурсов Quality of Service. В основном это реализовано на BSD маршрутизаторах.
ALTQ портирован на дистрибутивы FreeBSD, NetBSD, и интегрирован в PF пакетный фильтрOpenBSD.
ALTQ ставит пакеты в очереди с целью управления пропускной способностью. Этот планировщик определяет алгоритм, используемый для решения, какие пакеты будут задержаны, какие отброшены, а какие сразу переданы. Есть три планировщика, в настоящий момент поддерживаемые FreeBSD в реализации ALTQ:
- CBQ Class Based Queueing. Очереди, присоединенные к интерфейсу, создают дерево. Таким образом, у каждой очереди могут быть дальнейшие дочерние очереди. У каждой очереди могут быть приоритет и присвоенная пропускная способность. Приоритет, главным образом, управляет временем, за которое пакеты будут отосланы, в то время как другие будут ждать своей очереди. За счёт этого регулируется пропускная способность.
- PRIQ Priority Queueing. У этих очередей не может быть дочерних очередей. Каждой очереди присваивается уникальный приоритет, в пределах от 0 до 15. Пакеты с высшим номером имеют высший приоритет.
- HFSC Hierarchical Fair Service Curve. В родительской очереди определяется суммарная пропускная способность для всех очередей интерфейса. Указывается общая пропускная способность, предоставляемая провайдером и не зависящая от скорости сетевого интерфейса. В дочерней очереди эта директива определяет максимальную скорость передачи информации в битах, которая будет обработана очередью в любой момент.
Установка ALTQ
Включение ALTQ для использования логики очередей в вашем наборе правил, вам могут понадобиться дополнительные шаги, зависящие от того какую операционную систему вы используете.
ALTQ на OpenBSD
На OpenBSD, все поддерживаемые дисциплины очередей собраны в ядра GENERIC и GENERIC.MP. Для конфигурирования вам необходимо отредактировать ваш pf.conf
ОПИСАНИЕ ПО “TRAFFIC CONTROL”
Подсистема Traffic Control поддерживает множество методов
классификации, приоритезации, разделения и ограничения трафика (как исходящего, так и входящего). Она очень гибка в настройке, но сложна в понимании.
. Подсистема управления трафиком Linux позволяет делать следующее:
- Shaping. Шейпинг — ограничение трафика, задержка пакетов с
целью создания желаемой скорости передачи. Может использоваться не только для"сужения" исходящего канала, но и для сглаживания бросков во время пиковых нагрузок. - Scheduling. Планирование – упорядочивание типов трафика в
канале. Позволяет избегать задержек для критичных типов трафика (QoS). - Policing. Политика входящего трафика. Позволяет ограничить
входящий трафик путем уничтожения превысивших лимит пакетов.
Помогает бороться с DDoS.
Отметим, что ограничение без потерь возможно только в отношении исходящего
трафика. Стек протоколов TCP/IP не предусматривает возможности заставить
удаленную сторону слать пакеты медленнее (и это правильно).
В обработке трафика участвуют три ключевых сущности: дисциплины обработки пакетов, классы и фильтры. Настройка эффективной системы ограничения трафика невозможна без понимания механизмов их работы, роли и связи друг с другом. Мы в подробностях рассмотрим каждую из них:
- Дисциплина обработки пакетов (qdisc) — очередь пакетов и
закрепленный за ней алгоритм обработки.
- Класс (class) — логический контейнер, который может
содержать несколько подклассов или дисциплину.
- Фильтр (filter)— механизм классификации трафика.
- Traffic Control не был бы столь гибким, если бы не позволял разбивать
трафик на классы с помощью классовой дисциплины и набора ее подклассов.
Схематически классовая дисциплина очень похожа на файловую систему, c тем лишь исключением, что ее корень или классы (каталоги) могут содержать либо дисциплину(файл), либо подклассы (подкаталоги). Одно из двух. Классовые дисциплины и классы предназначены для построения дерева выбора. Сначала весь трафик разбивается на несколько общих классов (например, трафик до Отдела-1, трафик до специализированных внутренних серверов и т.д.), а затем каждый из них разбивается на несколько подклассов (например, трафик до DNS-сервера Отдела-1), за которыми уже могут быть закреплены дисциплины.
Утилита tc
Для конфигурирования подсистемы управления трафиком предназначена утилита tc из пакета iproute2. Она принимает набор команд в качестве аргументов, спомощью которых можно создавать классы, привязывать к ним дисциплины и добавлять фильтры. Синтаксис ее похож на синтаксис команды ipfw из операционной системы FreeBSD, так что знакомые с ним быстро освоятся.
Для примера рассмотрим простейший вариант использования:
# tc qdisc add dev eth0 root tbf rate 256kbit \
latency 50ms burst 1540
Эта команда устанавливает ограничение для всего исходящего трафика в 256 Кбит/с. Разберем подробнее все аргументы tc:
· qdisc add — добавляем новую дисциплину (для удаления используй del).
· dev eth0 — указываем устройство, к которому будет привязана дисциплина.
· root — наша дисциплина корневая (будет обрабатываться весь трафик).
· tbf — имя дисциплины.
· rate 256kbit latency 50ms burst 1540 — параметры, специфичные для данной дисциплины: rate — ограничение скорости, latency — максимальный "возраст" пакета в очереди, burst — размер буфера.