Чтение онлайн

на главную - закладки

Жанры

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Для решения данной задачи используется понятие метрики. Значение метрики, определяющее стоимость передачи пакета по сети, содержится в стандартной таблице маршрутизации Linux, которая заполняется с помощью команды route. На рис. 24.2 показано содержимое простой таблицы маршрутизации (на реальных маршрутизаторах размер таблицы гораздо больше, но ее формат остается неизменным). Обратите внимание на столбец под названием

Metric
. В нем указано, что число маршрутизаторов, которые пакет посетит по пути следования в сети 127.0.0.0/8 (
localhost
) и 192.168.1.0/24 (локальная сеть), равно нулю, а оставшийся маршрут проходит через один маршрутизатор. Данный пример чрезвычайно прост. Для маршрутизаторов, показанных на рис. 24.1, в таблице маршрутизации
содержалась бы информация о разных маршрутах, отличающихся значениями в поле
Metric
. К сожалению, стандартные средства маршрутизации системы Linux игнорируют значение метрики; для того, чтобы метрика учитывалась, необходимо использовать один из протоколов маршрутизации, рассматриваемых в данной главе.

Рис. 24.2. Значение в поле

Metric
определяет стоимость передачи пакета по данному маршруту

Протоколы маршрутизации позволяют маршрутизаторам обмениваться информацией о маршрутах, в том числе передавать значения метрики. Если все маршрутизаторы, показанные на рис. 24.1, будут поддерживать протокол маршрутизации, они сообщат друг другу сведения об имеющихся маршрутах и каждый из них построит таблицу маршрутизации, в которой будут указаны реальные значения метрики. Если один из маршрутизаторов выйдет из строя, остальные маршрутизаторы получат информацию об этом и перенаправят трафик в обход неисправного участка сети.

Протоколы маршрутизации используют следующие алгоритмы.

• Дистанционно-векторный алгоритм. Этот алгоритм отслеживает число маршрутизаторов, находящихся между текущим маршрутизатором и узлом назначения. При передаче пакета в некоторую сеть выбирается такой путь, на котором число маршрутизаторов будет минимальным. Данный алгоритм используется при работе протокола RIP (Routing Information Protocol — протокол маршрутной информации).

• Алгоритм маршрутизации по состоянию канала. Данный алгоритм связывает информацию о стоимости передачи пакета с каждым соединением. Маршрутизатор, использующий такой алгоритм, выбирает путь к целевой сети, для которого значение стоимости минимально. Стоимость не обязательно должна быть равна числу маршрутизаторов, при ее определении могут также учитываться различия в быстродействии сетевых соединений. Данный алгоритм используется при работе протокола OSPF (Open Shortest Path First — первоочередное открытие кратчайших маршрутов).

Использование

routed

В системе UNIX традиционно используется протокол RIP. В Linux он реализуется демоном

routed
, входящим в состав одноименного пакета. Маршрутизаторы, поддерживающие RIP, обмениваются адресами сетей (например, 172.22.0.0) и связанными с ними метриками (в качестве метрики принимается число маршрутизаторов между маршрутизатором, который должен отправить пакет, и целевой сетью). Значения метрики могут лежать в пределах от 0 до 15. Если на пути к целевой сети лежит больше 15 маршрутизаторов, длина маршрута считается бесконечной и информация об этом маршруте удаляется из таблицы. При работе протокола RIP используется дистанционно-векторный алгоритм, а значение метрики оценивается очень грубо. Протокол RIP в основном применяется в небольших и средних сетях; для управления передачей данных по магистралям Internet он не используется.

Когда маршрутизатор получает информацию от другого маршрутизатора, он либо добавляет запись о маршруте в таблицу, либо заменяет существующую запись с более высоким значением метрики, либо удаляет маршрут, если полученное значение метрики, увеличенное на единицу, превышает 15.

При использовании программы

routed
в системе Linux обычно не возникает проблем. Для ее запуска применяются средства, рассмотренные в главе 4. Работой сервера управляет конфигурационный файл
/etc/gateways
, в котором содержится список начальных маршрутов. Пример записи в файле
/etc/gateways
приведен ниже.

net 0.0.0.0 gateway 172.22.7.1 metric 1 active

В

данном примере определяется маршрут по умолчанию (
net 0.0.0.0
), для которого задан шлюз 172.22.7.1. Метрика маршрута равна 1. Ключевое слово
active
указывает на то, что этот маршрут может быть обновлен. Если вы хотите, чтобы маршрут сохранялся в таблице в неизменном виде, надо заменить ключевое слово
active
на
passive
. Для работы
routed
можно использовать файл
/etc/gateways
, поставляемый в составе пакета. В процессе работы демон
routed
может, передавая широковещательные запросы, находить другие маршрутизаторы, использующие протокол RIP. После обнаружения маршрутизатора с ним начинается обмен информацией о маршрутах.

Использование GateD

Несмотря на то что протокол RIP традиционно используется в системе UNIX, область его применения ограничена. Одно из ограничений связано с тем, что пакет не может быть передан по маршруту, насчитывающему больше маршрутизаторов; это не позволяет использовать данный протокол в больших сетях. Еще одна проблема связана с медленной сходимостью алгоритма. При изменении структуры сети для достижения стабильного состояния таблицы маршрутизации может потребоваться несколько минут. И наконец, RIP не поддерживает маски подсетей, поэтому он может использоваться только для сетей, соответствующих классам А, В и С. Если, например, сеть класса С разбита на несколько подсетей, маршрутизатор, поддерживающий RIP, передает адрес подсети как адрес всей сети класса С. В результате возникают проблемы при обмене данными между различными подсетями.

В версии 2 протокола RIP (RIPv2) была добавлена поддержка маски подсети. Для хранения данных о маске использовалось поле, которое в исходном варианте RIP было зарезервировано. Протокол RIPv2 реализован в программе GateD (

http://www.gated.net
). Работой GateD управляет конфигурационный файл
/etc/gated.conf
. Для изменения конфигурации GateD используется утилита
gdc
, которая поставляется в составе того же пакета. Настройка GateD не требует много усилий. В процессе выполнения программа взаимодействует с другими маршрутизаторами, поддерживающими протокол RIP или RIPv2, и модифицирует содержимое таблицы маршрутизации. Подобно другим демонам, GateD запускается с помощью сценария SysV либо локального сценария запуска.

Помимо RIP и RIPv2, GateD также поддерживает протокол маршрутизации OSPF. Другие средства маршрутизации, например Zebra, также поддерживают несколько протоколов.

Использование Zebra

Наряду с рассмотренными выше программами маршрутизации в Linux инструмент Zebra, который представляет собой пакет, состоящий из нескольких доменов и поддерживающий следующие протоколы.

• RIP. Zebra поддерживает протоколы RIP и RIPv2, а также версию RIP для IPv6, которая называется RIPng. Для взаимодействия по протоколам RIP и используется сервер

ripd
, а поддержка RIPng реализована в программе
ripngd
.

• OSPF. Для работы по протоколу OSPF используется программа

ospfd
, а вариант OSPF для IPv6 реализован в программе
ospf6d
. Подобно RIP, OSPF применяется для маршрутизации пакетов в сетевых структурах, насчитывающих несколько локальных сетей.

• BGP (Border Gateway Protocol — пограничный шлюзовый протокол) широко используется в Internet. Для поддержки данного протокола предназначен сервер

bgpd
.

Общее управление работой пакета осуществляет программа

zebra
. Серверы, входящие в состав пакета, используют ее для обновления таблицы маршрутизации.
zebra
выполняется как сервер; обратиться к ней можно с помощью клиентской программы
telnet
.

Поделиться:
Популярные книги

Я Гордый Часть 3

Машуков Тимур
3. Стальные яйца
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я Гордый Часть 3

Лейтенант космического флота

Борчанинов Геннадий
1. Звезды на погонах
Фантастика:
боевая фантастика
космическая фантастика
космоопера
рпг
фэнтези
фантастика: прочее
5.00
рейтинг книги
Лейтенант космического флота

Двойник короля 18

Скабер Артемий
18. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 18

Комендант некромантской общаги 2

Леденцовская Анна
2. Мир
Фантастика:
юмористическая фантастика
7.77
рейтинг книги
Комендант некромантской общаги 2

Ермак. Противостояние. Книга одиннадцатая

Валериев Игорь
11. Ермак
Фантастика:
попаданцы
альтернативная история
4.50
рейтинг книги
Ермак. Противостояние. Книга одиннадцатая

Бастард Императора. Том 15

Орлов Андрей Юрьевич
15. Бастард Императора
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Бастард Императора. Том 15

Законы Рода. Том 14

Андрей Мельник
14. Граф Берестьев
Фантастика:
аниме
фэнтези
эпическая фантастика
5.00
рейтинг книги
Законы Рода. Том 14

Камень. Книга шестая

Минин Станислав
6. Камень
Фантастика:
боевая фантастика
7.64
рейтинг книги
Камень. Книга шестая

Отморозок 1

Поповский Андрей Владимирович
1. Отморозок
Фантастика:
попаданцы
5.00
рейтинг книги
Отморозок 1

Двойник Короля 5

Скабер Артемий
5. Двойник Короля
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Двойник Короля 5

Я до сих пор не князь. Книга XVI

Дрейк Сириус
16. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я до сих пор не князь. Книга XVI

Офицер империи

Земляной Андрей Борисович
2. Страж [Земляной]
Фантастика:
боевая фантастика
попаданцы
альтернативная история
6.50
рейтинг книги
Офицер империи

Жена неверного ректора Полицейской академии

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного ректора Полицейской академии

Deus vult

Зот Бакалавр
9. Герой Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Deus vult