Каждая реализация протокола маршрутизации имеет две стороны. Первая сторона - внешняя - реализует обмен информацией маршрутизации с удаленными системами. Вторая сторона - внутренняя - обновляет таблицу маршрутизации, используя сведения, полученные от удаленных систем.
Например, когда протокол OSPF обменивается пакетами Hello в поисках соседей, то выполняет внешнюю функцию протокола. Когда протокол OSPF добавляет маршрут в таблицу маршрутизации, то выполняет внутреннюю функцию.
Внешние функции протоколов, реализованные в gated, соответствуют внешним функциям в других реализациях протоколов. Однако внутренняя сторона gated присуща только системам Unix, gated обрабатывает информацию маршрутизации от различных протоколов, каждый из которых имеет собственную метрику для определения лучшего маршрута, и объединяет эту информацию перед тем, как внести обновления в таблицу маршрутизации. До появления gated сосуществующие в системе Unix протоколы обновляли таблицу маршрутизации совершенно независимо друг от друга. В итоге в таблице оказывался маршрут, внесенный последним, - не обязательно лучший.
В случае нескольких протоколов маршрутизации и нескольких сетевых интерфейсов система может получать маршруты одного направления по различным протоколам, gated сравнивает такие маршруты и пытается выбрать лучший. Однако метрики различных протоколов не подлежат прямому сравнению. Каждый протокол использует собственную метрику. Это может быть счетчик транзитных участков, задержка для маршрута либо произвольное значение, указанное администратором. Для выбора лучшего маршрута gated требуется больше, чем метрики протоколов. Демон использует собственную оценку, позволяющую выбирать между маршрутами, полученными от нескольких протоколов или интерфейсов. Данное значение известно ка к значение предпочтения.
Значения предпочтения позволяют gated объединить сведения, полученные из нескольких источников, в одной таблице маршрутизации. В табл. 7.1 перечислены источники маршрутов gated и значения предпочтения, присвоенные каждому из них по умолчанию. Диапазон значений предпочтения - от О до 255, причем наименьшее значение обозначает наиболее предпочтительный маршрут. По этой таблице можно понять, что gated предпочитает маршруты, полученные по OSPF, тем же маршрутам, полученным от BGP.
Тип маршрута | Предпочтение по умолчанию |
Прямой маршрут | 0 |
OSPF | 10 |
IS-IS Level 1 | 15 |
IS-IS Level 2 | 18 |
Внутренний маршрут по умолчанию | 20 |
Перенанравление ICMP | 30 |
Маршрут, полученный из сокета маршрутов | 40 |
Статический маршрут | 60 |
Маршруты SLSP | 70 |
RIP | 100 |
Маршруты интерфейса точка-точка | 110 |
Маршруты, пролегающие через неработающий интерфейс |
120 |
Объединенные и порожденные маршруты | 130 |
Маршруты OSPF ASE | 150 |
BGP | 170 |
EGP | 200 |
Значение предпочтения может фигурировать в целом ряде операторов настройки. Оно может использоваться для расстановки приоритетов маршрутов, полученных через различные сетевые интерфейсы, от различных протоколов маршрутизации либо от различных внешних шлюзов. Значения предпочтения не передаются и не изменяются протоколами, они встречаются только в файле настройки. В следующем разделе мы изучим файл настройки gated (/etc / gated.conf) и хранимые в нем команды настройки.