- •Содержание
- •1 Алгоритмы поиска кратчайшего пути
- •1.1 Исходные данные
- •1.2 Алгоритм дейкстры
- •1.3 Алгоритм Беллмана-Форда
- •1.4 Расчёт пути с минимальным количеством переходов
- •1.5 Выводы по главе 1
- •2 Маршрутизация
- •2.1 Основы маршрутизации
- •2.2 Протокол rip
- •2.3. Схема сети
- •2.4. Построение маршрутных таблиц
- •2.5 Адаптация к изменениям состояния сети
- •2.5.1 Проблема адаптации rip
- •2.5.2 Отключение тупиковой сети
- •2.6 Технологии ускорения сходимости
- •2.7 Выводы по главе 2
- •Список использованной литературы
2.2 Протокол rip
Протокол RIP (Routing Information Protocol) описан в документе RFC 1058. Он представляет собой один из старейших протоколов обмена маршрутной информацией между маршрутизаторами в сети, построенной на базе протокола IP. Помимо версии протокола RIP для сетей IP существует также версия этого протокола для сетей IPX/SPX компании Novell. Сообщения об обновлении таблиц маршрутизации в этом протоколе касаются только устройств, которые разделяют общую сеть. Эти устройства называются соседями. В этом протоколе все сети имеют номера. При этом способ образования номера зависит от используемого в сети протокола сетевого уровня. А все маршрутизаторы имеют свои идентификаторы.
При использовании протокола RIP работает эвристический алгоритм динамического программирования Беллмана — Форда. Решение, найденное с его помощью, является близким к оптимальному. Преимуществом протокола RIP является его вычислительная простота. Недостатком — увеличение трафика при периодической рассылке широковещательных сообщений.
Протокол RIP относится к классу протоколов ЮР. Хотя не существует строгих требований к использованию определенного протокола маршрутизации внутри отдельной автономной системы, протокол RIP стал стандартом де-факто. Однако при этом накладывается существенное ограничение на размер автономной системы (АС) — она должна быть умеренного размера, так как RIP имеет ограничение — наибольший путь в сети не может превышать 15 переходов.
Протокол RIP построен с использованием алгоритма маршрутизации, известного как алгоритм длины вектора. Данный алгоритм получил свое название в результате его возможности вычислять наилучший маршрут в том случае, если в качестве информации, которой обмениваются маршрутизаторы, выступает список достижимых сетей и расстояния до них. Алгоритм основывается на предположении, что каждый маршрутизатор может вычислить маршрут и соответствующее расстояние до каждой сети с помощью выбора соседа, имеющего наикратчайший путь. Этот алгоритм хорошо работает в небольших сетях. В больших сетях он «засоряет» каналы связи широковещательным трафиком. Изменения в сетевой топологии могут быть обработаны по этому алгоритму не всегда корректно, так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают только обобщенной информацией, полученной от соседей. Работа маршрутизатора с таким протоколом напоминает работу моста.
Протокол RIP использует в качестве метрики маршрута количество переходов, или число маршрутизаторов, которые должна пересечь дейтаграмма, прежде чем она достигнет получателя. Маршрутизаторы с поддержкой протокола RIP всегда выбирают маршрут с наименьшим числом переходов.
В маршрутизаторе, работающем с протоколом RIP, вся информация хранится в виде записей в таблице маршрутизации, содержащей следующие поля:
IP-адрес целевой сети;
количество переходов к целевой сети;
адрес первого маршрутизатора в пути к целевой сети;
идентификатор соседнего маршрутизатора, который является
источником этой информации в таблице маршрутизации;
таймер для отслеживания времени, прошедшего с последнего момента обновления записи.
При включении маршрутизатора таблица маршрутизации инициализируется с описанием сетей, которые напрямую подключены к данному маршрутизатору. Таблица будет обновляться в соответствии с информацией, полученной в сообщениях от соседних маршрутизаторов.
Периодически каждый маршрутизатор будет посылать сообщения об обновлении маршрутизации каждому из своих соседей. Эти сообщения содержат информацию из таблицы маршрутизации. Если информация в таблице маршрутизации слишком большая для помещения в одно сообщение протокола RIP, она будет разделена на части и помещена в такое число сообщений, которое необходимо для передачи целиком таблицы маршрутизации. Перед передачей сообщений об обновлении маршрутизации соседним маршрутизаторам исходный маршрутизатор будет увеличивать значение количества переходов до получателя на единицу.
Когда сообщения об обновлении маршрутизации будут приходить от соседнего маршрутизатора, получатель будет обновлять информацию, содержащуюся в его таблице маршрутизации, в соответствии со следующими правилами:
если новое, вычисленное количество переходов меньше, чем существующее, маршрутизатор будет принимать новый марш рут. Эта новая запись будет содержаться в таблице до тех пор, пока не появится маршрут с еще меньшей метрикой;
если передающий маршрутизатор является источником информации для существующей записи, то маршрутизатор будет использовать новое значение количества переходов, даже если оно больше, чем старое.
