Протокол обмена маршрутной информации RIP, формат сообщения. Недостатки протокола RIP I

Протокол RIP (Routing Information Protocol) описан в документе RFC 1058. Протокол RIP относится к классу протоколов IGP. Этот протокол является од­ним из первых протоколов обмена маршрутной информацией между маршру­тизаторами в IP-сети. Существует также версия этого протокола для сетей IPX/SPX компании Novell. Впервые протокол RIP появился в 1982 году как часть стека протокола TCP/IP для UNIX, разработанной Berkley Software Dist­ribution. Исторически протокол RIP близко связан с семейством сетевых про­токолов фирмы Xerox. Преимуществом протокола RIP является его простота. Недостатком — увеличение трафика за счет периодической рассылки широко­вещательных сообщений.

Протокол RIP стал стандартным протоколом маршрутизации внутри отдель­ной автономной системы (АС), хотя он существенно ограничивает размер авто­номной системы. Это связано с тем, что протокол RIP не поддерживает длинные пути, которые содержат более 15 переходов.

Протокол RIP использует алгоритм длины вектора (Distance vector algo­rithm). Этот алгоритм основывается на тех же принципах, что и алгоритм Белл-мана-Форда, который был применен в первом протоколе маршрутизации для сетей ARPANET и исходит из предположения, что каждый маршрутизатор может вычислить самый короткий маршрут и соответствующее расстояние до каждой сети. То есть, каждый маршрутизатор выбирает ближайший соседний маршрутизатор, который расположен на этом самом коротком маршруте до полу­чателя. Выбор осуществляется на основании информации о стоимости путей (выбирается путь с меньшей стоимостью). Стоимость вычисляется по инфор­мации, имеющейся в таблицах маршрутизации всех соседних маршрутизаторов (маршрутизаторы регулярно обмениваются между собой таблицами маршрути­зации). Этот алгоритм хорошо работает в небольших сетях. В больших сетях он заполняет сеть широковещательным трафиком. Протокол не всегда точно и быс­тро учитывает изменения сетевой топологии, так как маршрутизаторы не имеют точного представления о топологии сети, а располагают только информацией, полученной от своих соседей. Протокол RIP использует в качестве метрики маршрута количество переходов, то есть число маршрутизаторов, которые долж­на миновать дейтаграмма, прежде чем она достигнет получателя. Маршрутиза­торы с поддержкой протокола RIP всегда выбирают маршрут с наименьшим числом переходов.

Таблица маршрутизации RIP содержит следующие поля:

§ IP-адрес целевой сети;

§ Количество переходов до целевой сети;

§ Адрес первого маршрутизатора на пути к целевой сети;

§ Идентификатор соседнего маршрутизатора, который является источником данной адресной информации в таблице маршрутизации;

§ Таймер для отслеживания времени, прошедшего с момента последнего об­новления записи.

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

Когда сообщения об обновлении маршрута приходят на маршрутизатор, он обновляет свою таблицу маршрутизации в соответствии со следующими прави­лами:

§ Если новое количество переходов меньше, чем текущее (для конкретной записи), маршрутизатор примет новый маршрут. Эта новая запись будет храниться в таблице до тех пор, пока не появится маршрут с еще меньшей метрикой;

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

Реакция протокола RIP на изменения в топологии сети зависит от того, как маршрутизатор информирует своих соседей о модификации его таблицы марш­рутизации. Однако следует учитывать, что если сетевая топология изменяется, то соседи могут перестать быть соседями. Кроме того, если маршрутизатор вы­ходит из строя, он не может известить своих соседей об изменениях в топологии. Таким образом, в случае отсутствия сообщений об обновлении маршрутизации предполагаемый маршрут может не отражать произошедшие изменения.

Все маршрутизаторы, участвующие в обмене сообщениями об обновлении маршрута по протоколу RIP, посылают эти сообщения через определенный ин­тервал, который по умолчанию составляет 30 с. Если маршрутизатор не получа­ет сообщения от маршрутизатора, который отвечает за определенную запись в таблице маршрутизации за временной интервал, равный увеличенному в шесть раз интервалу обмена (по умолчанию 180 с), он предполагает, что либо его со­седний маршрутизатор вышел из строя, либо между ними нарушилась связь. Затем маршрутизатор помечает отказавший маршрут как некорректный и, в ко­нечном счете, удаляет его из своей таблицы маршрутизации. Когда маршрутиза­тор получит информацию о новом маршруте от другого своего соседа, он будет использоваться вместо старого удаленного маршрута. Шестикратное увеличение интервала необходимо для того, чтобы избежать исключения маршрута при слу­чайной потере одного сообщения об обновлении.

Кроме того, маршрутизатору чрезвычайно важно оповестить своих соседей о том, что не существует корректного маршрута к определенному получателю. Протокол RIP позволяет выполнить это с помощью стандартных сообщений об обновлении маршрутизации. Для обозначения недостижимости получателя ко­личество переходов устанавливается равным 16. Это значение можно считать «бесконечностью», так как допустимые маршруты не могут иметь более 15 пере­ходов. Если какая-либо сеть становится недостижимой, все соседние маршрути­заторы установят метрику для этой сети равной 16. В следующем цикле посылки сообщений об обновлении маршрутизаторы передадут эти данные всем своим соседям, указав для них число переходов к недостижимой сети равным 16. На рис. 11.6 показан пример сетевой топологии с вышедшим из строя каналом связи.

Протокол обмена маршрутной информации RIP, формат сообщения. Недостатки протокола RIP I - student2.ru

Рис. 11.6. Обрыв канала связи

Протокол RIP гарантирует, что таблицы маршрутизации за определенное время (время сходимости) станут правильными. Однако алгоритм в текущем своем состоянии не гарантирует, что время сходимости будет мало. Может ока­заться так, что до истечения времени сходимости в сеть будут внесены измене­ния, и тогда все начнется заново. Вопрос о том, сколько времени требуется для сходимости процесса извещения об изменении маршрутов, является достаточно сложным. Когда происходит выход из строя канала связи или возникают другие проблемы в сети, некоторые из существующих маршрутов становятся недоступ­ными или менее подходящими для передачи. Проблема в том, что, в принципе, соседние маршрутизаторы могут обмениваться между собой не вполне правиль­ной информацией. Эта информация будет передана дальше по сети. Она будет исправлена только при следующих итерациях. Медленная сходимость может иметь достаточно серьезные последствия. В частности, может увеличиться объем трафика сообщений об изменениях маршрутов, которыми обмениваются марш­рутизаторы, могут образовываться логические петли маршрутизации и т. д.

На рис. 11.7 показана логическая петля, образованная маршрутизаторами М2 иМЗ.

Протокол обмена маршрутной информации RIP, формат сообщения. Недостатки протокола RIP I - student2.ru

Рис. 11.7. Пример образования логической петли маршрутизации

Маршрутизатор М2 может достигнуть целевой сети через маршрутизатор Ml за 1 переход. Маршрутизатор МЗ получает эту информацию из периодических сообщений об обновлении от маршрутизатора М2. Поэтому МЗ может достиг­нуть целевую сеть через маршрутизатор М2 за 2 перехода. В следующем цикле посылки сообщений об обновлении маршрутизатор МЗ известит маршрутизатор М2 о достижимости целевой сети за 3 перехода. В результате маршрутизатор М2 будет иметь два маршрута в целевую сеть: первый маршрут с использовани­ем маршрутизатора Ml и количеством переходов 1, а второй маршрут с исполь­зованием маршрутизатора МЗ и количеством переходов 3. Маршрутизатор М2 выберет маршрут через маршрутизатор Ml, так как он имеет наименьшую мет­рику.

В случае, если канал связи между маршрутизаторами Ml и М2 выйдет из строя, М2 не получит сообщение об обновлении в требуемый интервал времени и удалит из своей таблицы запись о маршруте в целевую сеть через Ml. В ре­зультате у маршрутизатора М2 будет сформирована запись о маршруте в целе­вую сеть через маршрутизатор МЗ за 3 перехода. Следовательно, М2 будет пересылать весь трафик маршрутизатору МЗ, тот его пошлет обратно М2 и т. д. Таким образом образуется логическая петля маршрутизации. Обмен пакетами между маршрутизаторами будет продолжаться до тех пор, пока поле TTL в за­головке IP-дейтаграммы не станет равно 0. Тогда дейтаграмма будет удалена одним из маршрутизаторов.

Наши рекомендации