Протокол RIP (Routing Information Protocol — протокол маршрутной информации) был одним из первых протоколов внутренней маршрутизации, применявшихся в Интернете; он и в наши дни по-прежнему популярен. Своим происхождением и названием он обязан архитектуре XNS (Xerox Network Systems). Широкое распространение протокола RIP было во многом вызвано тем, что он был включен в версию 1982 года операционной системы Berkeley UNIX, поддерживающей стек протоколов TCP/IP. Протокол RIP версии 1 определен в RFC 1058, обратно совместимая версия 2 этого протокола определена в RFC 2453.
Протокол RIP работает по дистанционно-векторному алгоритму и очень напоминает идеализированный протокол, рассматривавшийся нами в подразделе «Алгоритм дистанционно-векторной маршрутизации» раздела «Основы маршрутизации». Версия протокола RIP, специфицированная в RFC 1058, в качестве единиц измерения стоимости маршрутов использует количество ретрансляционных участков, то есть стоимость каждой линии считается равной 1. Максимальная стоимость пути ограничена значением 15, таким образом, диаметр автономной системы, поддерживаемой протоколом RIP, не может превышать 15 ретрансляционных участков. Вспомним также, что в дистанционно-векторных протоколах соседние маршрутизаторы обмениваются друг с другом информацией о маршрутах. В протоколе RIP обмен новыми сведениями между соседними маршрутизаторами происходит приблизительно через каждые 30 с, для чего используются так называемые ответные RIP-сообщения (RIP response messages). Ответное RIP-сообщение, посылаемое маршрутизатором или хостом, содержит список, в котором указаны до 25 сетей-адресатов в пределах автономной системы, а также расстояния до каждой из этих сетей от отправителя. Ответные RIP-сообщения также иногда называют RIP-объявлениями.
Рассмотрим работу RIP-объявлений на простом примере. На рис. 4.28 показан фрагмент автономной системы. Линии, соединяющие маршрутизаторы, обозначают сети. Для удобства мы будем рассматривать только несколько выделенных маршрутизаторов (А, В, С и D) и сетей (w, х, у и z). Пунктирные линии означают, что автономная система не ограничивается помеченными маршрутизаторами и сетями, а распространяется дальше.
Предположим теперь, что таблица продвижения данных маршрутизатора D выглядит так, как показано в табл. 4.5. Обратите внимание, что в этой таблице три столбца. В первом столбце указана сеть-адресат, во втором — идентификатор следующего маршрутизатора на кратчайшем пути к сети-адресату, в третьем — количество ретрансляционных участков (хопов) до сети-адресата на кратчайшем пути, то есть количество сетей, отделяющих отправителя от получателя, включая сеть-адресат.
Видно, что для отправки дейтаграммы от маршрутизатора D в сеть w дейтаграмму сначала нужно переправить соседнему маршрутизатору А. Кроме того, сеть-адресат w находится на расстоянии двух ретрансляционных участков по самому кратчайшему пути. Аналогично, до сети z семь ретрансляционных участков через маршрутизатор В. В принципе, в таблице продвижения данных содержится по одной строке для каждой сети в автономной системе, хотя версия 2 протокола RIP допускает агрегацию маршрутов к сетям при помощи метода, схожего с теми, которые мы рассматривали в подразделе «Адресация в протоколе IPv4» раздела «Интернет-протокол». В таблице продвижения данных также содержится, по меньшей мере, по одной строке для пути к каждой сети за пределами автономной системы. Таким образом, табл. 4.5 и последующие таблицы продвижения данных, представленные в этом подразделе, являются полными только отчасти.
Теперь предположим, что 30 с спустя маршрутизатор D получает от маршрутизатора А объявление, показанное в табл. 4.6. Обратите внимание, что это объявление представляет собой не что иное, как информацию из таблицы продвижения данных маршрутизатора А! Эта информация указывает, в частности, что сеть z находится на расстоянии всего четырех ретрансляционных участков от маршрутизатора А. Получив это объявление, маршрутизатор D узнает, что теперь появился путь от маршрутизатора А до сети z, который короче, чем путь через маршрутизатор В.
Таким образом, маршрутизатор D обновляет свою таблицу продвижения данных, чтобы учесть более короткий кратчайший путь, как показано в табл. 4.7. Как же так, возможно, спросите вы, кратчайший путь к сети z стал еще короче? Возможно, децентрализованный дистанционно-векторный алгоритм все еще находился в процессе схождения (см. раздел «Основы маршрутизации») или в него были добавлены новые линии и/или маршрутизаторы, в результате чего в сети появились новые кратчайшие маршруты.
На рис. 4.29 изображена схема типичной реализации протокола RIP в операционной системе UNIX, например на рабочей станции, играющей роль маршрутизатора. Протокол RIP исполняет процесс, называемый routed; он обрабатывает информацию о маршрутах и обменивается сообщениями с такими же процессами, работающими на соседних маршрутизаторах. Поскольку протокол RIP реализован как процесс прикладного уровня (хотя и весьма специфический, например, он способен управлять таблицами продвижения данных, находящихся в ядре операционной системы UNIX), он может отправлять и получать сообщения через стандартный сокет и использовать стандартный транспортный протокол. Таким образом, протокол RIP представляет собой протокол прикладного уровня (см. главу 2), работающий поверх протокола UDP.
Наконец, рассмотрим реальную таблицу продвижения данных протокола RIP
(табл. 4.8), взятую с маршрутизатора _giroflee.eurecom.fr, работающего
под управлением операционной системы UNIX. Если в операционной системе
UNIX выполнить команду netstat -rn, вы можете увидеть таблицу
продвижения данных (в действительности называемую в документации netstat
«таблицей маршрутизации») для данного хоста или маршрутизатора.
Источник.
Комментариев нет:
Отправить комментарий