Поддержка группового вещания
Как правило, в Internet-взаимодействии участвуют два компьютера, например, клиент обращается к Web-серверу, а Web-сервер возвращает клиенту ответ на его запрос. При этом пакет, передаваемый по сети, предназначен только одному получателю. Существует также широковещательная передача данных, когда передаваемый пакет адресован всем узлам локальной сети. Для широковещательной передачи в пределах локальной сети используется адрес получателя 255.255.255.255, который определяет все компьютеры, подключенные к этой сети. Если широковещательный пакет направляется в другую сеть, адрес получателя формируется путем замены части адреса, соответствующего узлу сети, на число, состоящее из единиц. Например, широковещательный адрес для сети 192.168.34.0/24 будет иметь вид 192.168.34.255. Широковещательный адрес используют клиенты DHCP для обращения к серверу DHCP. Кроме того, широковещательная передача применяется при работе некоторых других протоколов.
При групповом вещании пакеты адресуются одновременно нескольким получателям (но не всем узлам сети). Такой способ передачи информации применяется для трансляции аудио- и видеоданных. Для организации группового вещания предназначена система Multicast Backbone (MBONE; http://www.cs.columbia.edu/~hgs/internet/mbone-faq.html
). Данная система реализует групповое вещание в пределах Internet. Существуют также средства группового вещания с ограниченными возможностями; такой тип группового вещания называется
Если вы хотите, чтобы ваш маршрутизатор поддерживал групповое вещание, установите опцию IP: Multicast Routing. Кроме того, для управления групповым вещанием также предусмотрены две подопции данной опции: IP: PIM-SM Version 1 Support и IP: PIM-SM Version 2 Support. Они управляют передачей сообщений группового вещания по сетям с ограниченной пропускной способностью.
Помимо опций ядра, для поддержки группового вещания должно использоваться специализированное программное обеспечение, например mrouted
. Этот инструмент предназначен для настройки базовых средств группового вещания Linux. Если данная программа не входит в состав дистрибутивного пакета, вы можете получить ее, обратившись по адресу ftp://ftp.rge.com/pub/communications/ipmulti/beta-test/
; подробная информация о ней приведена в документе http://jukie.net/~bart/multicast/Linux-Mrouted-MiniHOWTO.html
. Если у вас установлена опция IP: PIM-SM Version 2 Support, вам понадобится программа pimd
(http://netweb.usc.edu/pim/pimd/
).
Качество сервиса
В большинстве случаев средства маршрутизации Linux обрабатывают пакеты по принципу 'первый пришёл/первый обработан' (first-come/first-served). Такая процедура дает хорошие результаты в тех случаях, когда пропускная способность линий достаточна для передачи всех пакетов с минимальной задержкой и когда нет необходимости предоставлять некоторым пакетам более высокий приоритет по сравнению с остальными. Если нагрузка на маршрутизатор велика, приходится использовать другие способы обработки пакетов, которые позволяют уменьшить поток данных на некоторые узлы или гарантировать своевременную доставку информации определенным пользователям или приложениям. Для установки подобных режимов маршрутизации в системе Linux предусмотрен ряд опций. Они объединены в подменю QoS and/or Fair Queueing, которое вызывается с помощью одноименного пункта меню Networking Options.
Активизация опций меню QoS and/or Fair Queueing сама по себе не приведет к изменению работы системы. Подобно другим опциям, которые управляют средствами расширенной маршрутизации, эти опции предполагают использование пакета iproute2
. Если вы не уверены в том, что данные средства понадобятся вам, скомпилируйте компоненты ядра, предназначенные для их поддержки, в виде модулей. В результате соответствующие компоненты не будут занимать ресурсы компьютера, но вы всегда сможете воспользоваться ими.
Перед компиляцией ядра внимательно ознакомьтесь с документацией. В ядре 2.4.17 опция, реализующая алгоритм CSZ, работает некорректно. Активизация этой опции может привести к ненадежной работе маршрутизатора.
Использование iproute2
Пакет iproute2
входит в состав многих дистрибутивных пакетов Linux. Часто он поставляется под именем iproute
. Вы можете скопировать данный пакет с FTP-узла, предназначенного для его поддержки, обратившись по адресу ftp://ftp.inr.ac.ru/ip-routing/
. Пакет iproute2
содержит несколько программ, две из которых (ip
и tc
) рассматриваются в данной главе.
Использование ip
Программа ip
предназначена для управления таблицами маршрутизации, в частности, правилами, определенными в них. Выполнение данной программы зависит от значений некоторых подопций опции IP: Advanced Router. Программа ip
вызывается следующим образом:
ip
В утилите ip
предусмотрено несколько команд. Наиболее важная из них — команда rule
. Она позволяет добавлять (add
), удалять (del
) правила маршрутизации или отображать информацию о существующих правилах (list
). Правила определяются с помощью селектора, который имеет структуру
[from
Элементы from
и to
определяют IP-адреса, а элемент tos
задает тип сервиса (тип сервиса представляет собой число, например 4). Элемент dev
определяет имя сетевого устройства (например, eth0
), a pref
задает номер предпочтения. Набор элементов сообщает Linux о том, как идентифицируются пакеты, к которым должно быть применено данное правило. Действие, указываемое в команде, задается в следующем формате:
[table
Идентификатор таблицы — это число, которое идентифицирует таблицу маршрутизации, элемент