Протоколы маршрутизации. Routing Information Protocol (RIP)
Так как теории у протокола RIP мало и работает он относительно просто, то предлагаю начать этот раздел с рассказа о том, что же такое протоколы маршрутизации (routing protocol), а так же некоторые интересные моменты заполнения и использования таблицы маршрутизации.
Протоколы маршрутизации
Протоколы маршрутизации позволяют маршрутизаторам обмениваться информацией о существующих маршрутах. Самые популярные на сегодняшний день протоколы маршрутизации - RIP, EIGRP, OSPF и BGP.
- RIP - вероятно, самый старый (относительно перечисленных) протокол маршрутизации. Используется в маленьких сетях. Имеет ряд недостатков по сравнению с другими протоколами маршрутизации, однако настраивается гораздо проще, чем его конкуренты.
- EIGRP - патентованный (proprietary) протокол маршрутизации, работает исключительно на устройствах фирмы Cisco. Легко поддерживается и настраивается.
- OSPF - стандартизированный протокол маршрутизации. Может использоваться в больших сетях, относительно быстро реагирует на изменения в топологии сети, но по сравнению с EIGRP, немного трудноват в понимании.
- BGP - стандартизированный протокол маршрутизации. Обычно используется для обмена информацией на роутерах в глобальной сети Интернет. Очень сложен для понимания.
Мы уже проходили, что такое Administrative Distance (здесь), и знаем его значение для статических (static) и подключенных (connected) маршрутов. В таблице 7.1 представлены источники, откуда узнали о маршруте и значение Administrative Distance (AD).
Таблица 7.1 Основные значения Administrative Distance
Источник | Administrative Distance |
---|---|
Подключен напрямую (connected) | 0 |
Статика (static) | 1 |
BGP | 20 |
EIGRP | 90 |
OSPF | 110 |
RIP | 120 |
External EIGRP | 170 |
iBGP | 200 |
Не определено | 255 |
Глядя на эту таблицу можно сказать, что если один и тот же маршрут определен статически и найден через протокол RIP, то в таблицу маршрутизации будет добавлен статический маршрут. Или еще пример, если один и тот же маршрут найден при помощи протоколов маршрутизации EIGRP и OSPF, то в таблице маршрутизации появится маршрут узнанный через EIGRP. Что такое External EIGRP и iBGP мы разберем в одном из следующих разделов.
Routing Information Protocol (RIP)
RIP относится к разряду протоколов с кодовым названием distance-vector. В качестве метрики он использует количество "прыжков" (hop count, в американской терминологии пакеты не передаются между роутерами, а "прыгают") до каждого маршрута.Рисунок 7.1 показывает как роутеры определяю количество "прыжков" до подсети 10.99.1.0/24.
Версии протокола RIP
- RIP version 1 - протокол опубликован 1988. Может работать только с классовой адресацией. Обновления рассылаются используя broadcast адресс.
- RIP version 2 - протокол обновлен, добавлена поддержка бесклассовой адресации (поддержка VLSM, Variable Length Subnet Masks), так же добавлена поддержка авторизации обновлений. Обновления рассылаются с использованием multicast адреса 224.0.0.9.
- RIPng (RIP next generation) - добавлена поддержка IPv6.
RIP таймеры
По умолчанию роутер отправляет обновления каждые 30 секунд. В обновлениях содержатся не только маршруты, которые подключены к нему напрямую, но и маршруты узнанные от других роутеров посредством протокола RIP.
Если в течении 180 секунд роутер не получает обновлений, то маршруты, полученные при помощи предыдущих обновлений, помечаются как "необновленные". А если обновления так и не пришли в течении 240 секунд, то помеченные маршруты удаляются (240 секунд, это 4 минуты, пользователи за это время вас просто съедят, это один из недостатков протокола RIP).Наш Спонсор
Практика
Начальные данные
Все "манипуляции" можно осуществлять только при помощи ADMIN_G33 (либо с других ПК в сети).
В данной практической работе сеть уже спланирована, адресация распределена и настроен DHCP. На сетевом оборудовании настроен telnet-сервер, пароль - gurkin33.ru. Роутеры ISP - Internet Server Provider, доступа к ним нет. Сокращения в именах: Br - Branch; HO -Head Office; CE - Customer Edge. Настроенные DNS-записи (Server1):- bigbranch.lol - 172.16.12.2
- bigbranch2.lol - 172.16.14.2
- cer1.gurkin33 - 10.1.1.5
- cer2.gurkin33 - 10.1.1.9
- r2.gurkin33 - 10.77.2.1
- r3.gurkin33 - 10.77.2.254
- br_r1.gurkin33 - 10.1.2.2
- br_r2.gurkin33 - 10.1.2.6
- br_sw1.gurkin33 - 172.16.14.10
- sbr_r1.gurkin33 - 10.1.3.2
- sbr_sw0.gurkin33 - 192.168.10.10
- gurkin33.lol - 10.77.2.5
Цели
- Понять представленную топологию
-
Настроить RIP на роутерах: R2, Br_R2, Small_Br_R1. Разобрать команду
show ip route
-
Разобрать команду
show ip rip database
-
Разобрать команду
passive-interface
. Добавить статический маршрут
Выполнение
-
Понять представленную топологию
Прежде всего дадим определения цветным прямоугольникам. Синий прямоугольник обозначает границы сети "Главного офиса", зеленый - границы сети "Филиала", а оранжевый - границы сети "Отделения". "Филиал" и "Отделение" присоединены к "Главному офису" за счет предоставление провайдером L2-каналов (L2VPN), т.е, грубо говоря, провайдер предоставляет нам провод между "Главным офисом" и "Филиалом".
Также следует отметить, что на роутерах R2 и R3 настроен DHCP для сети 10.77.2.0/23. При этом роутер R2 выдает диапазон 10.77.2.255 - 10.77.3.99, с шлюзом (gateway) 10.77.2.1, а R3 выдает диапазон 10.77.3.100 - 10.77.3.199 с шлюзом 10.77.2.254. Так сделано для резервирования. В данной практической работе представлена относительно маленькая сеть, но она уже вызывает трудность при написании статических маршрутов (особенно если их надо резервировать). Поэтому мы будем использовать протокол маршрутизации. На данный момент на всех роутерах настроен протокол маршрутизации RIP, кроме тех, которые будут рассматриваться в следующем пункте. -
Настроить RIP на роутерах: R2, Br_R2, Small_Br_R1
Предлагаю в начале настроить R2, а после разобрать все используемые команды по порядку. Чтобы подключиться к R2, можно использовать компьютер ADMIN_G33, выполнив команду
telnet r2.gurkin33
. (Желательно перед настройкой изучить командуshow ip route
)PC>telnet r2.gurkin33 Trying 10.77.2.1 ...Open User Access Verification Password: R2# R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#router rip R2(config-router)#ver 2 R2(config-router)#network 10.0.0.0 R2(config-router)#no auto-summary R2(config-router)#exit R2(config)#exit R2#sh runn Building configuration... Current configuration : 1492 bytes ! version 15.1 ... ! router rip version 2 network 10.0.0.0 no auto-summary ! ...
Чтобы включить протокол маршрутизации на роутере, надо использовать команду
Теперь изучим таблицу маршрутизации.router rip
, при помощи нее мы так же попадаем в режим настройки этого протокола. Первое, что мы сделали - определили версию протокола. По умолчанию версия 1, которая поддерживает только классовую адресацию. Нам это не подходит поэтому при помощи командыversion 2
, мы установили вторую версию протокола RIP. Далее мы указали сеть в которой должен работать этот протокол -network 10.0.0.0
. Команда состоит из слова network и классового номера сети. Как бы вы не старались вписать сюда бесклассовый номер сети, роутер преобразует его в классовый и добавит конфигурацию. Указав сеть, протокол RIP запускается на тех интерфейсах, которые попадают под указанный классовый диапазон. В нашем случае диапазон 10.0.0.1 - 10.255.255.254, под который попадают все интерфейсы роутера R2 (нам же легче). И последняя команда, которая использовалась при настройке -no auto-summary
. Auto-summary - это автоматической суммирование маршрутов (очень опасная штука 😊). Например, у роутера есть информация о двух подключенных к нему маршрутах - 10.1.1.0/24 и 10.2.1.0/24, а если указано, что маршруты можно "суммировать", то роутер будет объявлять только один маршрут - 10.0.0.0/8, что не очень правильно. Всегда подумайте прежде чем использовать auto-summary и не забывайте ее отключать!R2#sh ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP ... Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 10 subnets, 3 masks R 10.1.1.0/30 [120/1] via 10.1.1.5, 00:00:08, GigabitEthernet0/1 C 10.1.1.4/30 is directly connected, GigabitEthernet0/1 L 10.1.1.6/32 is directly connected, GigabitEthernet0/1 R 10.1.1.8/30 [120/1] via 10.77.2.254, 00:00:13, Vlan1 C 10.1.2.0/30 is directly connected, GigabitEthernet0/0 L 10.1.2.1/32 is directly connected, GigabitEthernet0/0 R 10.1.2.4/30 [120/1] via 10.1.2.2, 00:00:09, GigabitEthernet0/0 R 10.1.3.0/30 [120/1] via 10.77.2.254, 00:00:13, Vlan1 C 10.77.2.0/23 is directly connected, Vlan1 L 10.77.2.1/32 is directly connected, Vlan1 R2#
Супер! Как было сказано ранее, на большинстве роутеров RIP уже настроен, именно поэтому мы видим, что таблица маршрутизации заполнилась. Напротив каждого маршрута узнанного через RIP стоит буква R. Теперь разберем, что такое [120/1]. Первое число, это Administrative Distance, второе количество "прыжков" до указанной подсети - метрика, которую использует RIP. Рядом с каждым маршрутом есть время - отсчет времени с последнего обновления маршрута.
Теперь настроим роутер Br_R2. К сожалению, с компьютера ADMIN_G33 подключиться не получится. Зато получится подключиться с роутера Br_R1.PC>telnet br_r1.gurkin33 Trying 10.1.2.2 ...Open User Access Verification Password: Br_R1# Br_R1#telnet br_r2.gurkin33 Trying 10.1.2.6 ...Open User Access Verification Password: Br_R2# Br_R2#conf t Enter configuration commands, one per line. End with CNTL/Z. Br_R2(config)#router rip Br_R2(config-router)#ver 2 Br_R2(config-router)#no auto Br_R2(config-router)#net 10.0.0.0 Br_R2(config-router)#net 172.16.14.1 Br_R2(config-router)#exit Br_R2(config)#exit Br_R2#sh runn Building configuration... Current configuration : 1223 bytes ! version 15.1 ... ! router rip version 2 network 10.0.0.0 network 172.16.0.0 no auto-summary ! ...
В целом настройка Br_R2 ничем не отличается от настройки R2. Единственное мы попробовали указать ip адрес в качестве номера сети, но как видно из
До завершения этой части осталось настроить RIP на роутере Small_Br_R1. Попасть на него можно с роутера R3. Ниже представлен "копипаст" для его настройки.show runn
, ip адрес был преобразован в номер сети, при том классовый номер.router rip version 2 network 10.0.0.0 network 192.168.10.0 no auto-summary
-
Разобрать команду
show ip rip database
Для изучения команды
show ip rip database
, был выбран роутер CE_R2, так же нам понадобится таблица маршрутизации.CE_R2#sh ip rip database 10.1.1.0/30 auto-summary 10.1.1.0/30 directly connected, FastEthernet0/1 10.1.1.4/30 auto-summary 10.1.1.4/30 [1] via 10.1.1.1, 00:00:21, FastEthernet0/1 10.1.1.8/30 auto-summary 10.1.1.8/30 directly connected, FastEthernet0/0 10.1.2.0/30 auto-summary 10.1.2.0/30 [2] via 10.1.1.1, 00:00:21, FastEthernet0/1 [2] via 10.1.1.10, 00:00:19, FastEthernet0/0 10.1.2.4/30 auto-summary 10.1.2.4/30 [3] via 10.1.1.10, 00:00:19, FastEthernet0/0 [3] via 10.1.1.1, 00:00:21, FastEthernet0/1 10.1.3.0/30 auto-summary 10.1.3.0/30 [1] via 10.1.1.10, 00:00:19, FastEthernet0/0 10.77.2.0/23 auto-summary 10.77.2.0/23 [1] via 10.1.1.10, 00:00:19, FastEthernet0/0 172.16.12.0/30 auto-summary 172.16.12.0/30 [4] via 10.1.1.1, 00:00:21, FastEthernet0/1 [4] via 10.1.1.10, 00:00:19, FastEthernet0/0 172.16.14.0/24 auto-summary 172.16.14.0/24 [4] via 10.1.1.1, 00:00:21, FastEthernet0/1 [4] via 10.1.1.10, 00:00:19, FastEthernet0/0 192.168.10.0/24 auto-summary 192.168.10.0/24 [2] via 10.1.1.10, 00:00:19, FastEthernet0/0 CE_R2#
CE_R2#sh ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP ... Gateway of last resort is 4.4.4.1 to network 0.0.0.0 4.0.0.0/29 is subnetted, 1 subnets C 4.4.4.0 is directly connected, FastEthernet1/0 10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks C 10.1.1.0/30 is directly connected, FastEthernet0/1 R 10.1.1.4/30 [120/1] via 10.1.1.1, 00:00:26, FastEthernet0/1 C 10.1.1.8/30 is directly connected, FastEthernet0/0 R 10.1.2.0/30 [120/2] via 10.1.1.1, 00:00:26, FastEthernet0/1 [120/2] via 10.1.1.10, 00:00:23, FastEthernet0/0 R 10.1.2.4/30 [120/3] via 10.1.1.10, 00:00:23, FastEthernet0/0 [120/3] via 10.1.1.1, 00:00:26, FastEthernet0/1 R 10.1.3.0/30 [120/1] via 10.1.1.10, 00:00:23, FastEthernet0/0 R 10.77.2.0/23 [120/1] via 10.1.1.10, 00:00:23, FastEthernet0/0 172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks R 172.16.12.0/30 [120/4] via 10.1.1.1, 00:00:26, FastEthernet0/1 [120/4] via 10.1.1.10, 00:00:23, FastEthernet0/0 R 172.16.14.0/24 [120/4] via 10.1.1.1, 00:00:26, FastEthernet0/1 [120/4] via 10.1.1.10, 00:00:23, FastEthernet0/0 R 192.168.10.0/24 [120/2] via 10.1.1.10, 00:00:23, FastEthernet0/0 S* 0.0.0.0/0 [1/0] via 4.4.4.1 CE_R2#
Команда
show ip rip database
показывает все маршруты, о которых знает протокол RIP. Сразу оговорим, что строки со словом auto-summary нам не интересны, потому что мы отключили "суммаризацию маршрутов". Как можно заметить, в этой базе маршрутов содержится не только маршруты узнанные от других роутеров, но и маршруты подключенные напрямую к этому роутеру. Именно эту таблицу роутер рассылает каждые 30 секунд. Теперь разберем маршруты узнанные от других роутеров, например, для номера сети 10.1.2.4/30. В квадратных скобках ([3]) указывается метрика (кол-во "прыжков"), далее указывается кто прислал информацию об этом маршруте (via 10.1.1.10). Обратите внимание, что к этой подсети имеется два маршрута, через 10.1.1.10 и через 10.1.1.1, оба с метрикой 3 (путь к подсети 10.1.2.4/30 проходит через 3 роутера). Теперь найдем подсеть 10.1.2.4/30, в таблице маршрутизации (show ip route
), как можно заметить добавлены оба маршрута. Очень важно, если в таблице маршрутизации появляются два маршрута к одной и той же подсети, то роутер выполняет балансировку (load balancing). К сожалению, рассмотрения типов балансировки и более тонкая настройка протокола RIP рассмотрена не будет (т.к. Packet Tracer попросту не имеет достаточного количества команд). -
Разобрать команду
passive-interface
. Добавить статический маршрутПри помощи команды
passive-interface
можно указать интерфейс, который не будет рассылать базу маршрутов, но при этом будет принимать обновления. В нашем примере это удобно сделать на границе сетей "Главного офиса" и "Филиала", так что роутер R2 будет принимать информацию о маршрутах от роутера Br_R1, но не будет передавать информацию о своей базе маршрутов. Чтобы такая схема заработала, придется добавить на Br_R1 один статический маршрут. В начале добавим статический маршрут на Br_R1, после установимpassive-interface
и посмотрим как изменилась база маршрутов протокола RIP на Br_R1.Br_R1(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.1
R2(config)#router rip R2(config-router)#passive-interface gig 0/0
Интерфейс Gi0/0 роутера R2 "смотрит" на роутрер Br_R1, теперь от в режиме passive-interface - принимает информацию о маршрутах, но не рассылает. Теперь посмотрим таблицу маршрутизации на Br_R1, предварительно надо ее очистить командой
clear ip route *
(таким образом роутеру надо будет заново собрать всю информацию о маршрутах).Br_R1#clear ip route * Br_R1#sh ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP ... Gateway of last resort is 10.1.2.1 to network 0.0.0.0 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks C 10.1.2.0/30 is directly connected, GigabitEthernet0/0 L 10.1.2.2/32 is directly connected, GigabitEthernet0/0 C 10.1.2.4/30 is directly connected, GigabitEthernet0/1 L 10.1.2.5/32 is directly connected, GigabitEthernet0/1 172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks R 172.16.12.0/30 [120/1] via 10.1.2.6, 00:00:22, GigabitEthernet0/1 R 172.16.14.0/24 [120/1] via 10.1.2.6, 00:00:22, GigabitEthernet0/1 S* 0.0.0.0/0 [1/0] via 10.1.2.1
Супер, теперь на Br_R1 компактная таблица маршрутизации, при этом у роутера есть маршрут по умолчанию, указывающий на R2. Вы можете самостоятельно убедиться, что таблица маршрутизации на R2 имеет маршруты к сети "Филиала". Также, чтобы все корректно работало, надо добавить маршрут по умолчанию на Br_R2 -
Как было отмечено в части с теорией - "если имеется несколько идентичных маршрутов, в таблицу маршрутизации попадает маршрут с наименьшей метрикой (AD)". Но что если мы добавим пересекающийся маршрут? Предлагаю поэкспериментировать. Сейчас передача данных между "Филиалом" (172.16.14.0/24) и "Отделением" (192.168.10.0/24) происходит по такой схеме: "Филиал" -> R2 -> R3 -> "Отделение" Теперь, добавив один единственный маршрут, мы изменим путь для части адресов (не для всей подсети).ip route 0.0.0.0 0.0.0.0 10.1.2.5
(!!обязательный пункт, перед выполнением дальнейшего задания!!).R2(config)#ip route 192.168.10.0 255.255.255.240 10.1.1.5
CE_R1(config)#ip route 192.168.10.0 255.255.255.240 10.1.1.2
Прежде чем объяснять, выполним трассировку до двух адресов 192.168.10.10 (Small_Br_SW0) и 192.168.10.50 (ПК1) c ПК2, рисунки 7.3 и 7.4.
Начнем с рисунка 7.3, трассировка показывает ожидаемый путь. Как и было указано выше путь такой:
"Филиал" (172.16.14.0/24) → Br_R2 ← 10.1.2.2/30 → Br_R1 ← 10.1.2.0/30 → R2 ← 172.16.2.0/23→ R3 ← 10.1.3.0/30→ "Отделение" (192.168.10.0/24) Добавив маршрут для подсети 192.168.10.0/28, на роутеры R2 и CE_R1, часть пакетов будет идти другим путем, а именно пакеты с адресом получателя из диапазона 192.168.10.0 - 192.168.10.15. Таким образом, когда мы выполняем трассировку до адреса 192.168.10.10, трассировка увеличилась на два роутера: "Филиал" (172.16.14.0/24) → Br_R2 ← 10.1.2.2/30 → Br_R1 ← 10.1.2.0/30 → R2 ← 10.1.1.4/30 → CE_R1 ← 10.1.1.0/30 → CE_R2 ← 172.16.2.0/23→ R3 ← 10.1.3.0/30→ "Отделение" (192.168.10.0/24) Если взглянуть на таблицу маршрутизации R2, то можно увидеть два пересекающихся маршрута к подсети 192.168.10.0/24 и 192.168.10.0/28. Теперь вы должны были понять, что мы обсуждали в теоретической части - "при передаче пакетов роутер смотрит на ip адрес получателя и ищет маршрут с самым "длинным совпадением" (longest match)"(или минимальным префиксом). И еще один интересный факт. После добавления маршрутов, данные до адреса 192.168.10.10 будут проходить 7 роутеров, но ответ будет передаваться только через 5 роутеров. Попробуйте догадаться, почему.
Наш Спонсор
Лабораторка
Начальные данные
Все "манипуляции" можно осуществлять только при помощи ADMIN_G33 (либо с других устройств). Пароль от оборудования gurkin33.ru, подключаться используя telnet. Для доступа на сетевое оборудование, используйте адресацию представленную на схеме, так же настроены dns-записи (представлены ниже). В сети используется протокол маршрутизации RIP.
Настроенные DNS-записи (Server1):- bigbranch.lol - 172.16.12.2
- bigbranch2.lol - 172.16.14.2
- cer1.gurkin33 - 10.1.1.5
- cer2.gurkin33 - 10.1.1.9
- r2.gurkin33 - 10.77.2.1
- r3.gurkin33 - 10.77.2.254
- br_r1.gurkin33 - 10.1.2.2
- br_r2.gurkin33 - 10.1.2.6
- br_sw1.gurkin33 - 172.16.14.10
- sbr_r1.gurkin33 - 10.1.3.2
- sbr_sw0.gurkin33 - 192.168.10.10
- gurkin33.lol - 10.77.2.5
- 100puds.lol - 1.1.1.2
- guru-buru.lol - 2.2.2.2
Задание
- В сеть филиала добавили сервер bigbranch3.lol (172.16.16.6), все настроено, но почему-то он не доступен из головного офиса. Надо это поправить.
- Настроить NAT/PAT для сети "Филиала" (172.16.14.0/24), выход в Интернет будет осуществляться через сеть "Головного офиса" (через роутер CE_R1).
-
Настроить две статические трансляции (PAT):
- tcp 172.16.16.6:80 -- 3.3.3.2:8080;
- tcp 10.77.2.5:80 -- 3.3.3.2:80.
Если вы нашли в тексте ошибку, выделите текст и нажмите Ctrl + Enter.