RIP как дистанционно-векторный протокол маршрутизации

RIP как дистанционно-векторный протокол маршрутизации

RIP (Routing Information Protocol) — это дистанционно-векторный протокол маршрутизации и самый простой протокол маршрутизации, с которого стоит начать изучать маршрутизацию. Начнем с того, что рассмотрим класс дистанционно-векторных протоколов. Что означает дистанционно-векторный?

Расстояние: в мире маршрутизации это как далеко находиться удаленная сеть. Для оценки расстояния можно использовать метрики.

Вектор: в мире маршрутизации это когда мы определяем в каком направлении и с какого интерфейса отправлять пакеты и определяем IP-адрес следующего перехода.

Я не знаю, катались ли вы когда-нибудь на велосипеде, но в Нидерландах, есть хорошие «грибные указатели», рассказывающие вам, куда и сколько двигаться (в километрах). Тот же принцип применяется к дистанционно-векторным протоколам маршрутизации.

 

RIP как дистанционно-векторный протокол маршрутизации

 

Если вам не нравится кататься на велосипеде, то вы предпочтете дорожные знаки:

 

Достаточно о велоспорте и шоссе, давайте посмотрим, как работают дистанционные протоколы маршрутизации.

 

RIP как дистанционно-векторный протокол маршрутизации

 

На этом рисунке у нас есть три маршрутизатора, и мы запускаем дистанционно-векторный протокол маршрутизации RIP. Включаем питание, маршрутизаторы по умолчанию строят таблицу маршрутизации, но единственное, что они знают, это их непосредственно подключенные интерфейсы. Вы можете видеть, что эта информация находится в их таблице маршрутизации. В красном цвете вы можете видеть тип интерфейса, а зеленый указывает на метрику. RIP использует подсчет переходов в качестве показателя, который является не более чем подсчетом количества маршрутизаторов (переходов), которые вы должны пройти, чтобы добраться до места назначения.

Теперь я собираюсь включить дистанционно-векторный протокол, то есть маршрутизацию RIP. Что произойдет, так это то, что наши маршрутизаторы скопируют свою таблицу маршрутизации и передадут непосредственно соседнему маршрутизатору. R1 скопирует таблицу маршрутизации и передаст маршрутизатору R2. А R2 скопирует свою таблицу маршрутизации и передаст R3 и наоборот.

Если маршрутизатор получает информацию о сети, о которой он еще не знает, он добавит эту информацию в свою таблицу маршрутизации:

 

distance-vector-copy-rt

 

Взгляните на R1, и вы увидите, что он узнал о сети 192.168.23.0/24 и 3.3.3.0/24 от R2. Вы видите, что он добавил интерфейс (Fa1/0), как добраться до этих сетей (векторная часть), и вы видите, что он добавил метрику (количество переходов) для этих сетей (дистанционная часть).

192.168.23.0/24 — один переход, 3.3.3.0/24 — два перехода.

Потрясающие! Вы также видите, что R2 и R3 заполнили свои таблицы маршрутизации.

Каждые 30 секунд наши маршрутизаторы отправляют полную копию своей таблицы маршрутизации своим соседям, которые могут обновлять свою собственную таблицу маршрутизации.

Пока все хорошо, наши маршрутизаторы работают, и мы знаем как добраться ко всем нашим сетям … Однако, дистанционно-векторные протоколы маршрутизации уязвимы и имеют некоторые проблемы. Давайте посмотрим, что может пойти не так:

 

RIP как дистанционно-векторный протокол маршрутизации

 

Интерфейс FastEthernet 1/0 на R3 становится недоступен, поэтому маршрутизатор изменит свою таблицу маршрутизации. Его статус измениться с up на down.

Каждые 30 секунд наши маршрутизаторы отправляют полную копию своей таблицы маршрутизации своим соседям, и получается, что настало время для R2 отправить свою копию. R2 отправляет свою полную таблицу маршрутизации в сторону R3. Как думаете, что произойдет?

 

distance-vector-routing-update

 

R3 получает таблицу маршрутизации от R2 и увидит, что R2 объявляет сеть 3.3.3.0/24 с переходом, равным единице. Превосходно, что R3 думает, что количество переходов 1. Это лучше, чем отсутствие сети вообще, R3 добавит эту информацию в свою таблицу маршрутизации.

 

RIP как дистанционно-векторный протокол маршрутизации

 

Через несколько секунд R3 отправит свою таблицу маршрутизации на соседний R2. R2 придет к следующему выводу:

«Я могу достичь 3.3.3.0/24, перейдя на R3, и мой счетчик переходов должен быть 1. Я получаю таблицу маршрутизации от R3, и теперь объявляю, что количество переходов составляет 2 … Мне нужно обновить себя, чтобы включить это изменение».

Счетчик переходов на R2 теперь равен 3, он получил 2 от R3 плюс добавляет переход к R3.

R2 также отправит копию своей таблицы маршрутизации в сторону R1, которая также обновит себя.

Вы видите, что происходит? Эти маршрутизаторы будут постоянно обновлять себя до бесконечности.

Что произойдет, когда мы отправим IP-пакет в сеть 3.3.3.0/24?

 

distance-vector-routing-loop

 

Посмотрите на таблицу маршрутизации R2 и R3, они указывают друг на друга. Дамы и господа … у нас есть петля маршрутизации! Это нехорошо, у IP-пакетов есть поле TTL (Time to Live), то есть они не будут зацикливаться навсегда, как это делают Ethernet-кадры.

 

 

RIP как дистанционно-векторный протокол маршрутизации

 

Чтобы маршрутизаторы не обновлялись снова и снова, у нас есть число максимальное число переходов. Для дистанционно-векторного протокола RIP это число переходов 16. 16 считается недостижимым, поэтому максимальное количество переходов, которое у вас в сети может быть, составляет 15.

Эта проблема называется счет до бесконечности (counting to infinity).

Есть кое-что еще, что мы используем для борьбы с проблемой счета до бесконечности. В нашем примере R3 объявлял сеть 3.3.3.0/24 в направлении R2. Насколько полезно, чтобы R2 объявлял эту сеть по направлению к R3?

В маршрутизации это не очень эффективно. Тоже самое, если вы что-то узнаете от своего соседа, вы не будете ему это же пересказывать. Мы называем этот механизм расщепление горизонта (split horizon).

 

distance-vector-route-poison

 

Как только сеть станет недоступной (3.3.3.0/24 в нашем примере), маршрутизатор немедленно отправит инициированное обновление (triggered update) для обновления таблиц маршрутизации у своих соседей.

Сгенерированное обновление будет содержать сеть, которая стала недоступна и бесконечную метрику (16 в случае RIP). Отправка обновления для этой сети с помощью бесконечной метрики называется отравление маршрута (route poisoning).

 

RIP как дистанционно-векторный протокол маршрутизации

 

Чтобы убедиться, что R3 не обновляет свою таблицу маршрутизации через какой-либо другой маршрутизатор/путь в сети, R2 отправит обратное отравление (poison reverse) в ответ на предыдущее сообщение маршрутизатора, который он получил от R3.

Я только что объяснил вам, что расщепление горизонта … «не рассказывайте все, что вы узнали от своего соседа, назад ему же».

 

distance-vector-holddown-timer

 

Есть еще одна вещь, которую мы используем с протоколами маршрутизации на основе вектора расстояния. Когда R2 и R1 узнают, что сеть 3.3.3.0/24 недоступна, они также запустят таймер удержания (holddown timer). Этот таймер удержания будет работать в течение 180 секунд, и он выполняет следующие действия:

  • Если мы получаем информацию о сети 3.3.3.0/24 от другого маршрутизатора с той же или худшей метрикой, которую мы имеем в настоящее время, мы игнорируем эту информацию.
  • Если мы получаем информацию о сети 3.3.3.0/24 от другого маршрутизатора с лучшей метрикой, мы останавливаем таймер удержания и обновляем нашу таблицу маршрутизации этой новой информацией.
  • Если мы ничего не получаем и таймер удержания истекает, мы удаляем эту сеть из таблицы маршрутизации.

Как вы думаете? Это много информации о протоколе маршрутизации RIP и дистанционно-векторных протоколах?

Позвольте мне закончить эту статью, предоставив вам сравнение RIP версии 1 и версией 2. Они схожи с несколькими отличиями:

 

Rip Версия 1 Версия 2
Класс Классовый Бесклассовый
Тип адресса Широковещательный Многоадресный
Поддержка ручной суммаризации нет да
Поддержка аутентификации нет да

 

RIP версии 1 является классовым, поэтому он не отправляет маску подсети вместе с  обновлениями маршрутизации, RIP версии 2 является бесклассовым, поэтому он будет отправлять маску подсети. RIP версии 1 отправляет все, используя широковещательные рассылки. RIP версии 2 использует многоадресную рассылку (вы также можете использовать одноадресную).

Теперь вы знаете, что такое RIP как дистанционно-векторный протокол маршрутизации.

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню