Do not open!
Closed this issue · 0 comments
Основная информация
-
RIP (Routing Information Protocol) - протокол динамической маршрутизации.
-
Дистанционно-векторный алгоритм - алгоритм для определения метрики [роутер, на котором запущен RIP, отправит своим соседям маршрутную информацию (префикс + метрика)](знает информацию только о соседях и насколько далеко до той, или иной подсети)
-
Метрика характеризует удаленность того или иного префикса. Чем больше метрика, тем более удаленная сетка от нас.
-
RIPv1 - протокол классовой маршрутизации (отправляется широковещательно)
-
RIPv2 - протокол бесклассовой маршрутизации IPv4 (в качестве адресата ставит широковещательный адрес [255.255.255.255] или груповой адрес [224.0.0.9])
-
RIPng - протокол бесклассовой маршрутизации IPv6
-
Метрика = кол-во роутеров на пути между узлом-отправителем и узлом-назначения = кол-во L3 переходов.
- Максимальное значение метрики для достижимой сети = 15.
- Если для какого-то префикса метрика = 16, то такой узел недостижим. Следовательно, максимальный диаметр сети - 15 hop-ов.
- Метрика обладает свойством аддитивности - для сложного пути метрики складываются.
Пример
- Трафик между A и B в RIP пойдет напрямую через R1 и R2 т.к. кол-во хопов меньше.
- То, что полоса пропускания R1R2 меньше RIP не учитывает.
- RIP не учитывает скорости каналов.
Таймер
- Update-timer - частота отправки обновлений (все префиксы) протокола, по истечению таймера отправится обновление.
По умолчанию t = 30 сек. - Invalid-timer - если обновление о маршруте не будет получено до истечения данного таймера, маршрут будет помечен как invalid (недостижимая сеть), т.е. с метрикой = 16. По умолчанию t = 180 сек.
- Flush-timer - маршрут, который оказался invalid не удаляется из таблицы маршрутизации сразу, а только если не пришло обновление во время данного таймера, который запускается после update таймера. По умолчанию t = 240 сек.
- Holdown-timer - запуск таймера произойдет после того, как маршрут был помечен, как недоступный (после invalid). До истечения данного таймера маршрут будет находиться в памяти для предотвращения образования маршрутной петли. (роутер отправляет информацию соседям о том, что этот префикс недостижим) По умолчанию t = 180 сек.
Пример
Проблема
- Проблема в медленной сходимости. Сходимость - реагирование на изменения в сети. Бывает такое, что RIP очень долго сходится.
- Что происходит:
- R2 знает маршрут до сети A с метрикой 2.
- Если разорвать кабель между A и R1, то на R1 исчезнет префикс A, R1 объявит в сторону R2, что префикса нет, но R2 сообщает, что этот префикс через R2 (хоть и с метрикой 2 доступен)
- Начинается обмен сообщениями с увеличением метрики
- И так, пока метрика не станет 16. (count to infinity)
Оптимизации
- Метод расщепления горизонта [split horizon] - роутер не отправит update обратно через тот же интерфейс, через который он его получил.
R2 отправит update только на R3 (что есть метрика A = 1). На R1 R2 update не отправляет, иначе будет циклическая ситуация.
-
Poison reverse (усиление оптимизации расщепления горизонта) - в сторону интерфейса, от которого мы получили лучший маршрут (в сторону R1), мы обратно отправим этот же префикс с метрикой 16.
-
Route poisoning - когда понимаем, что какая-то сеть недостижима, то не просто исключаем этот префикс из update-ов, а начинаем рассылать update об этом префиксе с метрикой = 16. Тогда не надо ждать invalid timer.
-
Triggered update - обновления отправляются сразу при изменении маршрута (только о появившихся), вместо того, чтобы ожидать, когда истечет update timer.
-
update о появившихся префиксах быстро распространяется по сети
-
RIP сходится медленно в случае пропадания сети, а в случае появления - быстро
На границе классовых сетей
- Роутер, на котором работал RIP выполняет автоматическую суммаризацию до сети класса (в сторону R2 от R1 будет update о сети A вида 10.0.0.0/8)
- Admin distance (RIP) = 120. () и () - два равноправных маршрута с одинаковой метрикой - оба попадают в таблицу маршрутизации
- R2 выполняет балансировку: часть трафика пойдет в сторону R1 налево, часть в сторону R2 направо. Это называется ECMP - балансировка по множеству путей с одинаковой стоимостью. Т.е. если B захочет связаться с A, то A получит только 1/2 данных, а еще 1/2 уйдем на C.
- Поэтому, если ПК старше, не нужно отключать автоматическую суммаризацию, чтобы R1 и R3 отправлял настоящий маршрут 10.0.1.0/24, а не пытался его подогнать до размера классового. Иначе 50% пакетов улетит не туда.