Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
В заголовок IP можно поместить заранее определенный список попаданий (маршрутизация от источника). Однако такой способ используется крайне редко (чаще — хакерами, поэтому многие маршрутизаторы конфигурируются на отбрасывание всех датаграмм с маршрутизацией от источника). Обычно датаграммы маршрутизируются посредством выбора следующего попадания для точки назначения в каждом из маршрутизаторов по пути следования.
Маршрутизация по следующему попаданию гибка и надежна. Изменения сетевой топологии обычно проводятся при изменении только в одном или нескольких маршрутизаторах, которые могут информировать друг друга о временных или постоянных изменениях в сети и динамически переключать трафик на альтернативный маршрут.
8.4 Метрики маршрутизации
Для сравнения и выбора лучшего из двух маршрутизаторов используется определенный тип метрик (удаленных изменений).
8.4.1 Протоколы вектора расстояния
Самый простой протокол для сравнения маршрутизаторов использует счет попаданий между конечными точками пути. Некоторые улучшенные варианты оценивают стоимость или вес каждого из участков по пути следования. Например, участок попадания через высокоскоростную локальную сеть имеет вес, равный 1, а участок через низкоскоростной носитель (линия "точка-точка" на 19,2 Кбайт/с) имеет вес 10. Таким образом, путь по скоростному участку предпочтительнее пересылки по низкоскоростной связи. Протокол RIP оценивает маршрут по счетчику попаданий.
При вычислении метрики маршрутизации более совершенные протоколы комбинируют характеристики, подобные полосе пропускания, задержку, надежности, текущей загрузке или стоимости оплаты. Протоколы IGRP и EIGRP используют настраиваемые метрики.
Алгоритмы для принятия решения при маршрутизации, основанные на значениях метрик, называются векторами расстояния (distance vector).
8.4.2 Протоколы по состоянию связи
Ранее большое внимание уделялось алгоритмам маршрутизации по состоянию связи (link state). Работающие по этому принципу маршрутизаторы создают карту сети и исследуют пути от себя до каждой из точек сети.
Для каждой связи карты формируется метрика стоимости. Общая стоимость для каждого начинающегося от маршрутизатора пути вычисляется как сумма стоимостей каждого участка. Затем можно выбрать наилучший путь для направления трафика.
При изменениях в топологии маршрутизаторы посылают сведения об обновлениях другим маршрутизаторам. После обмена пересчитываются стоимости всех путей. Протоколами по состоянию связи являются OSPF и IS-IS.
Алгоритмы вычисления состояния связи часто первым именуют кратчайший путь (Shortest Path First — SPF). Это же название дается компьютерному алгоритму, вычисляющему наиболее короткие пути от одного узла до всех остальных узлов сети.
8.5 Таблицы маршрутизации
При направлении датаграммы в удаленную точку назначения хост или маршрутизатор использует сведения из таблицы маршрутизации. Таблица отражает соответствие между каждой из точек назначения и маршрутизатором следующего попадания на пути к этой точке.
Перечисленные в таблице точки назначения могут включать в себя суперсети (бесклассовый блок IP-адресов с единым префиксом), сети, подсети и отдельные системы.
Точка назначения по умолчанию представляется как 0.0.0.0.
Не существует стандартов на формат таблиц маршрутизации, однако наиболее простая из них должна содержать следующие элементы:
■ Адрес сети, подсети или системы назначения
■ IP-адрес используемого маршрутизатора следующего попадания
■ Сетевой интерфейс для доступа к маршрутизатору следующего попадания
■ Маску для точки назначения
■ Расстояние до точки назначения (количество попаданий)
■ Время в секундах от последнего изменения маршрута
Для сокращения размера таблицы многие или все элементы идентифицируют только суперсети, сети или подсети назначения. Смысл этого в том, что, если известно, как добраться до маршрутизатора сети нужного хоста, а затем до маршрутизатора подсети, то вопрос с маршрутизацией будет решен. Иногда несколько элементов таблицы содержат полные IP-адреса отдельных систем. Для изучения работы таблиц маршрутизации рассмотрим два примера.
8.6 Таблица маршрутизации по протоколу RIP
Элементы маршрутизации таблицы 8.1 получены из университетского маршрутизатора, работающего по протоколу RIP. В таблице перечислены точки назначения и перемещающиеся по пути следования к этим точкам маршрутизаторы (на них нужно направить датаграмму при отправке ее в заданную точку назначения). Кроме того, в таблице хранятся метрики (по вектору расстояния), помогающие маршрутизатору выбрать следующее попадание.
Таблица 8.1 Таблица маршрутизации RIP-маршрутизатора
IP-маршрут назначения Маска IP-маршрута IP-маршрут следующего попадания Тип IP-маршрута Протокол IP-маршрута Метрика IP-маршрута 1 Метрики IP-маршрутов: 2, 3, 4, 5 (совпадают) Индекс ЕСЛИ IP-маршрута Возраст IP-маршрута (секунды) 0.0.0.0 0.0.0.0 128.36.0.2 * rip 2 -1 1 153,84 128.36.0.0 255.255.255.0 128.36.0.62 ** *** 0 -1 1 0 128.36.2.0 255.255.255.0 128.36.0.7 * rip 1 -1 1 30 128.36.11.0 255.255.255.0 128.36.0.12 * rip 1 -1 1 13 128.36.12.0 255.255.255.0 128.36.0.21 * rip 1 -1 1 15 128.36.13.0 255.255.255.0 128.36.0.12 * rip 1 -1 1 14 128.36.14.0 255.255.255.0 128.36.0.21 * rip 1 -1 1 16 128.36.15.0 255.255.255.0 128.36.0.21 * rip 1 -1 1 17 128.36.16.0 255.255.255.0 128.36.0.36 * rip 12 -1 1 24 128.36.17.0 255.255.255.0 128.36.0.12 * rip 1 -1 1 16 128.36.19.0 255.255.255.0 128.36.0.10 * rip 14 -1 1 27 128.36.20.0 255.255.255.0 128.36.0.10 * rip 1 -1 1 28 128.36.21.0 255.255.255.0 128.36.0.5 * rip 1 -1 1 5 128.36.22.0 255.255.255.0 128.36.0.5 * rip 1 -1 1 5 128.36.126.0 255.255.255.0 128.36.0.41 * rip 1 -1 1 23 130.132.0.0 255.255.0.0 128.36.0.2 * rip 2 -1 1 25 192.31.2.0 255.255.255.0 128.36.0.1 * rip 3 -1 1 10 192.31.235.0 255.255.255.0 128.36.0.41 * rip 1 -1 1 25* — косвенный