Базовая работа протокола RIP
Эта серия статей подробно объясняет основные понятия, принципы и операции протокола маршрутизации RIP с примерами. Узнайте, как работает RIP (Routing Information Protocol) и как обновляет таблицу маршрутизации из широковещательного сообщения шаг за шагом.
Маршрутизаторы используют таблицу маршрутизации для принятия решения о переадресации. Таблица маршрутизации содержит информацию о сетевых путях. Сетевой путь — это простой фрагмент информации, который говорит, какая сеть подключена к какому интерфейсу маршрутизатора.
Всякий раз, когда маршрутизатор получает пакет данных, он ищет в таблице маршрутизации адрес назначения. Если маршрутизатор найдет запись сетевого пути для адреса назначения, он переадресует пакет из связанного интерфейса. Если маршрутизатор не найдет никакой записи для адреса назначения, он отбросит пакет.
Существует два способа обновления таблицы маршрутизации: статический и динамический. В статическом методе мы должны обновить его вручную. В динамическом методе мы можем использовать протокол маршрутизации, который будет обновлять его автоматически. RIP — это самый простой протокол маршрутизации. В этой статье мы узнаем, как RIP обновляет таблицу маршрутизации.
В протоколе RIP маршрутизаторы узнают о сетях назначения от соседних маршрутизаторов через процесс совместного использования. Маршрутизаторы, работающие по протоколу RIP, периодически транслируют настроенные сети со всех портов. Список маршрутизаторов обновит их таблицу маршрутизации на основе этой информации.
Давайте посмотрим, как работает процесс RIP шаг за шагом. Следующий рисунок иллюстрирует простую сеть, работающую по протоколу маршрутизации RIP.
Когда мы запускаем эту сеть, маршрутизаторы знают только о непосредственно подключенной сети.
- OFF1 знает, что сеть 10.0.0.0/8 подключена к порту F0/1, а сеть 192.168.1.252/30 подключена к порту S0/0.
- OFF2 знает, что сеть 192.168.1.252/30 подключена к порту S0/0, а сеть 192.168.1.248/30 подключена к порту S0/1.
- OFF3 знает, что сеть 20.0.0.0/8 подключена к порту F0/1, а сеть 192.168.1.248/30 подключена к порту S0/0.
В отличие от статической маршрутизации, где мы должны настроить все маршруты вручную, в динамической маршрутизации все, что нам нужно сделать, это просто сообщить протоколу маршрутизации, какой маршрут мы хотим объявить. А остальное будет сделано автоматически, запустив динамический протокол. В нашей сети мы используем протокол маршрутизации RIP, поэтому он будет обрабатываться RIP.
Иногда RIP также известен как маршрутизация прослушки. Потому что в этом протоколе маршрутизации маршрутизаторы изучают информацию о маршрутизации от непосредственно подключенных соседей, а эти соседи учатся от других соседних маршрутизаторов.
Протокол RIP будет совместно использовать настроенные маршруты в сети через широковещательные передачи. Эти широковещательные передачи называются обновлениями маршрутизации. Прослушивающие маршрутизаторы обновят свою таблицу маршрутизации на основе этих обновлений.
Маршрутизатор выполняет несколько измерений, обрабатывая и помещая новую информацию о маршруте в таблицу маршрутизации. Мы объясним их позже в этой статье. Если маршрутизатор обнаружит новый маршрут в обновлении, он поместит его в таблицу маршрутизации.
Через 30 секунд (интервал времени по умолчанию между двумя обновлениями маршрутизации) все маршрутизаторы снова будут транслировать свои таблицы маршрутизации с обновленной информацией.
В данный момент времени:
- OFF1 будет транслироваться для 10.0.0.0/8, 192.168.1.248/30 и 192.168.1.252/30.
- OFF2 будет транслировать для 10.0.0.0/8, 20.0.0.0/8, 192.168.1.248/30 и 192.168.1.252/30.
- OFF3 будет транслироваться для 20.0.0.0/8, 192.168.1.248/30 и 192.168.1.252/30.
- OFF1 узнает о сети 20.0.0.0/8 из трансляции OFF2.
- У OFF2 нет ничего, чтобы обновить из трансляции OFF1 и OFF2.
- OFF3 узнает о сети 10.0.0.0/8 из трансляции OFF2.
Через 30 секунд маршрутизатор снова будет транслировать новую информацию о маршрутизации. На этот раз маршрутизаторам нечего обновлять. Эта стадия называется конвергенцией.
КОНВЕРГЕНЦИЯ
Конвергенция — это термин, который относится к времени, затраченному всеми маршрутизаторами на понимание текущей топологии сети.
МЕТРИКА ПРОТОКОЛА МАРШРУТИЗАЦИИ RIP
У нас может быть два или более путей для целевой сети. В этой ситуации RIP использует измерение, называемое метрикой, чтобы определить наилучший путь для целевой сети. RIP использует подсчет прыжков как метрику. Прыжки — это количество маршрутизаторов, необходимое для достижения целевой сети.
Например, в приведенной выше сети OFF1 есть два маршрута для достижения сети 20.0.0.0/8.
- Маршрут 1: — через OFF3 [на интерфейсе S0/1]. С прыжком — один.
- Маршрут 2: — через OFF2-OFF3 [на интерфейсе S0/0]. С прыжком — два.
Итак, по какому маршруту OFF1 доберется до места назначения? Маршрут 1 имеет один прыжок, в то время как маршрут 2 имеет два прыжка. Маршрут 1 имеет меньшее количество переходов, поэтому он будет помещен в таблицу маршрутизации.
Терминология протокола RIP (Routing Information Protocol)
Эта статья подробно объясняет функции и терминологию протокола RIP (административное расстояние, метрики маршрутизации, обновления, пассивный интерфейс и т.д.) с примерами.
RIP — это протокол маршрутизации вектора расстояния. Он делится информацией о маршруте через локальную трансляцию каждые 30 секунд.
Маршрутизаторы хранят в таблице маршрутизации только одну информацию о маршруте для одного пункта назначения. Маршрутизаторы используют значение AD и метрику для выбора маршрута.
АДМИНИСТРАТИВНАЯ ДИСТАНЦИЯ
В сложной сети может быть одновременно запущено несколько протоколов маршрутизации. Различные протоколы маршрутизации используют различные метрики для расчета наилучшего пути для назначения. В этом случае маршрутизатор может получать различную информацию о маршрутах для одной целевой сети. Маршрутизаторы используют значение AD для выбора наилучшего пути среди этих маршрутов. Более низкое значение объявления имеет большую надежность.
Давайте разберемся в этом на простом примере: А маршрутизатор изучает два разных пути для сети 20.0.0.0/8 из RIP и OSPF. Какой из них он должен выбрать?
Ответ на этот вопрос скрыт в приведенной выше таблице. Проверьте объявленную ценность обоих протоколов. Административное расстояние — это правдоподобие протоколов маршрутизации. Маршрутизаторы измеряют каждый источник маршрута в масштабе от 0 до 255. 0 — это лучший маршрут, а 255-худший маршрут. Маршрутизатор никогда не будет использовать маршрут, изученный этим (255) источником. В нашем вопросе у нас есть два протокола RIP и OSPF, и OSPF имеет меньшее значение AD, чем RIP. Таким образом, его маршрут будет выбран для таблицы маршрутизации.
МЕТРИКИ МАРШРУТИЗАЦИИ
У нас может быть несколько линий связи до целевой сети. В этой ситуации маршрутизатор может изучить несколько маршрутов, формирующих один и тот же протокол маршрутизации. Например, в следующей сети у нас есть два маршрута между ПК-1 и ПК-2.
ПК-1 [10.0.0.0/8] == Маршрутизатор OFF1 [S0/1 — 192.168.1.254] = = Маршрутизатор OFF3 [S0/1-192.168.1.253] = = ПК-2 [20.0.0.0/8]
ПК-1 [10.0.0.0/8] == Маршрутизатор OFF1 [S0/0 — 192.168.1.249] == Маршрутизатор OFF2 [S0/0 — 192.168.1.250] == Маршрутизатор OFF2 [S0/1 — 192.168.1.246] == Маршрутизатор OFF3 [S0/0 — 192.168.1.245] == ПК-2 [20.0.0.0/8]
В этой ситуации маршрутизатор использует метрику для выбора наилучшего пути. Метрика — это измерение, которое используется для выбора наилучшего пути из нескольких путей, изученных протоколом маршрутизации. RIP использует счетчик прыжков в качестве метрики для определения наилучшего пути. Прыжки — это количество устройств уровня 3, которые пакет пересек до достижения пункта назначения.
RIP (Routing Information Protocol) — это протокол маршрутизации вектора расстояния. Он использует расстояние [накопленное значение метрики] и направление [вектор], чтобы найти и выбрать лучший путь для целевой сети. Мы объяснили этот процесс с помощью примера в нашей первой части этой статьи.
Хорошо, теперь поймите концепцию метрики; скажите мне, какой маршрут будет использовать OFF1, чтобы достичь сети 20.0.0.0/8? Если он выбирает маршрут S0/1 [192.168.1.245/30], он должен пересечь устройство 3 уровня. Если он выбирает маршрут S0/0 [19.168.1.254/30], то ему придется пересечь два устройства уровня 3 [маршрутизатор OFF! и последний маршрутизатор OFF3], чтобы достичь целевой сети.
Таким образом, он будет использовать первый маршрут, чтобы достигнуть сети 20.0.0.0/8.
МАРШРУТИЗАЦИЯ ПО СЛУХАМ
Иногда RIP также известен как маршрутизация по протоколу слухов. Потому что он изучает информацию о маршрутизации от непосредственно подключенных соседей и предполагает, что эти соседи могли изучить информацию у своих соседей.
ОБНОВЛЕНИЯ ОБЪЯВЛЕНИЙ
RIP периодически транслирует информацию о маршрутизации со всех своих портов. Он использует локальную трансляцию с IP-адресом назначения 255.255.255.255. Во время вещания ему все равно, кто слушает эти передачи или нет. Он не использует никакого механизма для проверки слушателя. RIP предполагает, что, если какой-либо сосед пропустил какое-либо обновление, он узнает об этом из следующего обновления или от любого другого соседа.
ПАССИВНЫЙ ИНТЕРФЕЙС
По умолчанию RIP транслирует со всех интерфейсов. RIP позволяет нам контролировать это поведение. Мы можем настроить, какой интерфейс должен отправлять широковещательную передачу RIP, а какой нет. Как только мы пометим любой интерфейс как пассивный, RIP перестанет отправлять обновления из этого интерфейса.
РАСЩЕПЛЕНИЕ ГОРИЗОНТА
Split horizon-это механизм, который утверждает, что, если маршрутизатор получает обновление для маршрута на любом интерфейсе, он не будет передавать ту же информацию о маршруте обратно маршрутизатору-отправителю на том же порту. Разделенный горизонт используется для того, чтобы избежать циклов маршрутизации.
Чтобы понять эту функцию более четко, давайте рассмотрим пример. Следующая сеть использует протокол RIP. OFF1-это объявление сети 10.0.0.0/8. OFF2 получает эту информацию по порту S0/0.
Как только OFF2 узнает о сети 10.0.0.0/8, он включит ее в свое следующее обновление маршрутизации. Без разделения горизонта он будет объявлять эту информацию о маршруте обратно в OFF1 на порту S0/0.
Ну а OFF1 не будет помещать этот маршрут в таблицу маршрутизации, потому что он имеет более высокое значение расстояния. Но в то же время он не будет игнорировать это обновление. Он будет предполагать, что OFF1 знает отдельный маршрут для достижения сети 10.0.0.0/8, но этот маршрут имеет более высокое значение расстояния, чем маршрут, который я знаю. Поэтому я не буду использовать этот маршрут для достижения 10.0.0.0/8, пока мой маршрут работает. Но я могу воспользоваться этим маршрутом, если мой маршрут будет недоступен. Так что это может сработать как запасной маршрут для меня.
Это предположение создает серьезную сетевую проблему. Например, что произойдет, если интерфейс F0/1 OFF1 выйдет из строя? OFF1 имеет прямое соединение с 10.0.0.0/8, поэтому он сразу же узнает об этом изменении.
В этой ситуации, если OFF1 получает пакет для 10.0.0.0/8, вместо того чтобы отбросить этот пакет, он переадресует его из S0/0 в OFF2. Потому что OFF1 думает, что у OFF2 есть альтернативный маршрут для достижения 10.0.0.0/8.
OFF2 вернет этот пакет обратно в OFF1. Потому что OFF2 думает, что у OFF1 есть маршрут для достижения 10.0.0.0/8.
Это создаст сетевой цикл, в котором фактический маршрут будет отключен, но OFF1 думает, что у OFF2 есть маршрут для назначения, в то время как OFF2 думает, что у OFF1 есть способ добраться до места назначения. Таким образом, этот пакет будет бесконечно блуждать между OFF1 и OFF2. Чтобы предотвратить эту проблему, RIP использует механизм подсчета прыжков (маршрутизаторов).
КОЛИЧЕСТВО ПРЫЖКОВ
RIP подсчитывает каждый переход (маршрутизатор), который пакет пересек, чтобы добраться до места назначения. Он ограничивает количество прыжков до 15. RIP использует TTL пакета для отслеживания количества переходов. Для каждого прыжка RIP уменьшает значение TTL на 1. Если это значение достигает 0, то пакет будет отброшен.
Это решение только предотвращает попадание пакета в петлю. Это не решает проблему цикла маршрутизации.
Split horizon решает эту проблему. Если расщепление горизонта включено, маршрутизатор никогда не будет вещать тот же маршрут обратно к отправителю. В нашей сети OFF2 узнал информацию о сети 10.0.0.0/8 от OFF1 на S0/0, поэтому он никогда не будет транслировать информацию о сети 10.0.0.0/8 обратно в OFF1 на S0/0.
Это решает нашу проблему. Если интерфейс F0/1 OFF1 не работает, и OFF1, и OFF2 поймут, что нет никакого альтернативного маршрута для достижения в сети 10.0.0.0/8.
МАРШРУТ ОТРАВЛЕНИЯ
Маршрут отравления работает противоположном режиме расщепления горизонта. Когда маршрутизатор замечает, что какой-либо из его непосредственно подключенных маршрутов вышел из строя, он отравляет этот маршрут. По умолчанию пакет может путешествовать только 15 прыжков RIP. Любой маршрут за пределами 15 прыжков является недопустимым маршрутом для RIP. В маршруте, находящимся в неисправном состоянии, RIP присваивает значение выше 15 к конкретному маршруту. Эта процедура известна как маршрутное отравление. Отравленный маршрут будет транслироваться со всех активных интерфейсов. Принимающий сосед будет игнорировать правило разделения горизонта, передавая тот же отравленный маршрут обратно отправителю. Этот процесс гарантирует, что каждый маршрутизатор обновит информацию об отравленном маршруте.
ТАЙМЕРЫ RIP
Для лучшей оптимизации сети RIP использует четыре типа таймеров.
- Таймер удержания (Hold down timer)— RIP использует удерживающий таймер, чтобы дать маршрутизаторам достаточно времени для распространения отравленной информации о маршруте в сети. Когда маршрутизатор получает отравленный маршрут, он замораживает этот маршрут в своей таблице маршрутизации на период таймера удержания. В течение этого периода маршрутизатор не будет использовать этот маршрут для маршрутизации. Период удержания будет прерван только в том случае, если маршрутизатор получит обновление с той же или лучшей информацией для маршрута. Значение таймера удержания по умолчанию составляет 180 секунд.
- Route Invalid Timer — этот таймер используется для отслеживания обнаруженных маршрутов. Если маршрутизатор не получит обновление для маршрута в течение 180 секунд, он отметит этот маршрут как недопустимый маршрут и передаст обновление всем соседям, сообщив им, что маршрут недействителен.
- Route Flush Timer — этот таймер используется для установки интервала для маршрута, который становится недействительным, и его удаления из таблицы маршрутизации. Перед удалением недопустимого маршрута из таблицы маршрутизации он должен обновить соседние маршрутизаторы о недопустимом маршруте. Этот таймер дает достаточно времени для обновления соседей, прежде чем недопустимый маршрут будет удален из таблицы маршрутизации. Таймер Route Flush Timer по умолчанию установлен на 240 секунд.
- Update Timer -В RIP широковещательная маршрутизация обновляется каждые 30 секунд. Он будет делать это постоянно, независимо от того, изменяется ли что-то в маршрутной информации или нет. По истечении 30 секунд маршрутизатор, работающий под управлением RIP, будет транслировать свою информацию о маршрутизации со всех своих интерфейсов.
RIP — это самый старый протокол вектора расстояний. Для удовлетворения текущих требований к сети он был обновлен с помощью RIPv2. RIPv2 также является протоколом вектора расстояния с максимальным количеством прыжков 15.
Вы все еще можете использовать RIPv1, но это не рекомендуется. В следующей таблице перечислены ключевые различия между RIPv1 и RIPv2.
