Протокол внешних роутеров (Exterior Gateway Protocol-EGP) является протоколом междоменной досягаемости, который применяется в Internet - международной сети, об'единяющей университеты, правительственные учреждения, научно-исследовательские организации и частные коммерческие концерны. EGP документально оформлен в Запросах для Комментария (RFC) 904, опубликованных в апреле 1984 г.
Являясь первым протоколом внешних роутеров, который получил широкое признание в Internet, EGP сыграл важную роль. К сожалению, недостатки EGP стали более очевидными после того, как Internet стала более крупной и совершенной сетью. Из-за этих недостатков EGP в настоящее время не отвечает всем требованиям Internet и заменяется другими протоколами внешних роутеров, такими, как Протокол граничных роутеров (Border Gateway Protocol - BGP) и Протокол междоменной маршрутизации (Inter-Domain Routing Protocol - IDRP) (смотри Главу 27 "BGP" и Главу 28 "Маршрутизация OSI").
EGP первоначально предназначался для передачи информации о досягаемости в стержневые роутеры ARPANET и получения ее от них. Информация передавалась из отдельных узлов источника, находящихся в различных административных доменах, называемых автономными системами (AS), вверх в стержневые роутеры, которые передавали эту информацию через стержневую область до тех пор, пока ее можно было передать вниз к сети пункта назначения, находящейся в пределах другой AS. Эти взаимоотношения между EGP и другими компонентами ARPANET показаны на Рис. 26-1.
Несмотря на то, что EGP является динамическим протоколом маршрутизации, он использует очень простую схему. Он не использует показатели, и следовательно, не может принимать по настоящему интеллектуальных решений о маршрутизации. Корректировки маршрутизации EGP содержат информацию о досягаемости сетей. Другими словами, они указывают, что в определенные сети попадают через определенные роутеры.
EGP имеет три основных функции. Во-первых, роутеры, работающие с EGP, организуют для себя определенный набор соседей. Соседи - это просто другие роутеры, с которыми какой-нибудь роутер хочет коллективно пользоваться информацией о досягаемости сетей; какие-либо указания о географическом соседстве не включаются. Во-вторых, роутеры EGP опрашивают своих соседей для того, чтобы убедиться в их работоспособности. В-третьих, роутеры EGP oтправляют сообщения о корректировках, содержащих информацию о досягаемости сетей в пределах своих AS.
Пакет EGP представлен на Рис. 26-2.
Первым полем в заголовке пакета EGP является поле номера версии EGP (EGP version number). Это поле обозначает текущую версию EGP и проверяется приемными устройствами для определения соответствия между номерами версий отправителя и получателя.
Следующим полем является поле типа (type), которое обозначает тип сообщения. EGP выделяет 5 отдельных типов сообщения. Они показаны в таблице.
Message | Function |
Poll | |
Error | |
За полем типа следует поле кода (code). Это поле определяет различие между подтипами сообщений.
Следующее поле - поле состояния (status), которое содержит информацию о состоянии, зависящую от сообщения. В число кодов состояния входят коды недостатка ресурсов (insufficient resources), неисправных параметров (parameter problem), нарушений протокола (protocol violation), и другие.
За полем состояния идет поле контрольной суммы (checksum). Контрольная сумма используется для обнаружения возможных проблем, которые могли появиться в пакете в результате транспортировки.
За полем контрольной суммы идет поле номера автономной системы (autonomous system number). Оно обозначает AS, к которой принадлежит роутер-отправитель.
Последним полем заголовка пакета EGP является поле номера последовательности (sequence number). Это поле позволяет двум роутерам EGP, которые oбмениваются сообщениями, согласовывать запросы с ответами. Когда определен какой-нибудь новый сосед, номер последовательности устанавливается в исходное нулевое значение и инкрементируется на единицу с каждой новой транзакцией запрос-ответ.
За заголовком EGP идут дополнительные поля. Содержимое этих полей различается в зависимости от типа сообщения (определяемого полем типа).
За заголовком EGP идут дополнительные поля. Содержимое этих полей различается в зависимости от типа сообщения (определяемого полем типа).
Приобретение соседа
Сообщение "приобретение соседа" включает в себя интервал
приветствия
(hello interval) и интервал опроса (poll interval).
Поле интервала
приветствия определяет период интервала проверки работоспособности
соседей. Поле интервала опроса определяет частоту корректировки
маршрутизации.
Досягаемость соседа
Сообщения о досягаемости соседа не имеют отдельных полей в числе
полей, идущих за заголовком EGP. Эти сообщения используют поле кода
для указания различия между приветственным сообщением и ответом на
приветственное сообщение. Выделение функции оценки досягаемости из
функции корректировки маршрутизации уменьшает сетевой трафик, т.к.
изменения о досягаемости сетей обычно появляются чаще, чем изменения
параметров маршрутизации. Любой узел EGP заявляет об отказе одного из
своих соседей только после того, как от него не был получен
определенный процент сообщений о досягаемости.
Опрос
Чтобы обеспечить правильную маршрутизацию между AS, ЕGP должен знать
об относительном местоположении отдаленных хостов.
Сообщение опроса позволяет роутерам EGP получать
информацию о досягаемости сетей, в которых находятся эти машины. Такие
сообщения имеют только одно поле помимо обычного заголовка - поле сети
источника IP (source network). Это поле определяет сеть, которая должна
использоваться в качестве контрольной точки для запроса.
Корректиравка маршрутизации
Сообщения о корректировке маршрутизации дают роутерам EGP
возможность указывать местоположение различных сетей в пределах своих
AS. В дополнение к обычному заголовку эти сообщения включают несколько
дополнительных полей. Поле числа внутренних роутеров (number of
interior gateways) указывает на число внутренних роутеров,
появляющихся в сообщении. Поле числа внешних роутеров (number of
exterior gateways) указывает на число внешних роутеров,
появляющихся в сообщении. Поле сети источника IP (IP source network)
обеспечивает адрес IP той сети, от которой измерена досягаемость. За
этим полем идет последовательность блоков роутеров (gateway
blocks). Каждый блок роутеров обеспечивает адрес IP какого-нибудь
роутера и перечень сетей, а также расстояний, связанных с
достижением этих сетей.
В пределах одного блока роутера EGP перечисляет сети по расстояниям. Например, на расстоянии три может быть четыре сети. Эти сети перечислены по адресам. Следующей группой сетей могут быть сети, находящиеся на расстоянии 4, и т.д.
ЕGP не расшифровывает показатели расстояния, содержащиеся в сообщениях о корректировке маршрутов. EGP фактически использует поле расстояния для указания существования какого-либо маршрута; значение расстояния может быть использовано только для сравнения трактов, если эти тракты полностью находятся в пределах одного конкретного AS. По этой причине EGP является скорее протоколом досягаемости, чем протоколом маршрутизации. Это ограничение приводит также к ограничениям в структуре Internet. Характерно, что любая часть EGP сети Internet должна представлять собой структуру дерева, у которого стержневой роутер является корнем, и в пределах которого отсутствуют петли между другими AS. Это ограничение является основным ограничением EGP; оно стало причиной его постепенного вытеснения другими, более совершенными протоколами внешних роутеров.
Сообщения о неисправностях
Сообщения о неисправностях указывают на различные сбойные ситуации.
В дополнение к общему заголовку EGP сообщения о неисправностях
обеспечивают поле причины (reason), за которым следует заголовок
сообщения о неисправности (message header). В число типичных
неисправностей (причин) EGP входят неисправный формат заголовка EGP
(bad EGP header format), неисправный формат поля данных EGP (bad EGP
data field format), чрезмерная скорость опроса (excessive polling
rate) и невозможность достижения информации (unavailability of
reachability information). Заголовок сообщения о неисправности состоит
из первых трех 32-битовых слов заголовка EGP.