Маршрутизация. Лекции. Маршрутизация. Задача маршрутизации
Скачать 1.05 Mb.
|
Примеры настройки статической и динамической маршрутизации Слева сеть 192.168.1.0/24 соединенная с левым маршрутизатором (R1), а справа сеть 192.168.2.0/24 соединенная с правым маршрутизатором (R2), соответственно. R1 знает, что добраться до сети 192.168.2.0 можно через соседа R2 и наоборот R2 знает, что добраться до сети 192.168.1.0 можно через соседа R1. Тем самым 500 записей в таблице коммутации заменяются одной в таблице маршрутизации. Как только маршрутизатор включается «с коробки», он создает таблицу маршрутизации. Но самостоятельно он туда может записать только информацию о сетях, с которыми он связан напрямую (connected). На примере в CPT: Добавим маршрутизатор с пустой конфигурацией. Дождемся загрузки и смотрим таблицу маршрутизации: Router#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set Сейчас таблица есть, но она пустая из-за того, что не подключен ни один из интерфейсов и не заданы IP-адреса. Соберем схему. Зададим IP-адресах на интерфейсах маршрутизатора: Router>enable Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface fastEthernet 0/0 Router(config-if)#ip address 192.168.1.1 255.255.255.0 Router(config-if)#no shutdown Router(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up Router(config-if)#exit Router(config)#interface fastEthernet 0/1 Router(config-if)#ip address 192.168.2.1 255.255.255.0 Router(config-if)#no shutdown Router(config-if)# %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up Router(config-if)#end И посмотрим, что изменилось в таблице маршрутизации: Router#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, FastEthernet0/1 В таблице появились две записи. Маршрутизатор автоматически добавил подсети, в которых находятся его интерфейсы. Сверху есть коды, показывающие каким образом маршрут, был добавлен. Настроим обе рабочие станции и проверим связность: Packet Tracer PC Command Line 1.0 PC>ping 192.168.2.2 Pinging 192.168.2.2 with 32 bytes of data: Reply from 192.168.2.2: bytes=32 time=0ms TTL=127 Reply from 192.168.2.2: bytes=32 time=0ms TTL=127 Reply from 192.168.2.2: bytes=32 time=0ms TTL=127 Reply from 192.168.2.2: bytes=32 time=1ms TTL=127 Ping statistics for 192.168.2.2: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms Теперь детально рассмотрим, что происходит с пакетом, когда он попадает на маршрутизатор. Пакет приходит. Маршрутизатор сразу читает IP-адрес назначения в заголовке и сверяет его со своей таблицей. Находит совпадение, изменяет TTL и отправляет на нужный интерфейс. Соответственно, когда ответный пакет придет от PC1, он проделает аналогичную операцию. То есть отличие в том, что маршрутизатор принимает решение исходя из своей таблицы маршрутизации, а коммутатор из таблицы коммутации. Единственное, что важно запомнить: и у коммутатора, и у маршрутизатора есть ARP-таблица. Несмотря на то, что маршрутизатор работает с 3 уровнем по модели OSI и читает заголовки IP-пакетов, он не может игнорировать работу стека и обязан работать на канальном и физическом уровне. В свою ARP-таблицу он записывает соотношения MAC-адреса к IP-адресу и с какого интерфейса к нему можно добраться. Причем ARP-таблица у каждого сетевого устройства своя. Выполняем команду show arp на маршрутизаторе: Router#show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.1.1 - 0060.5C16.3B01 ARPA FastEthernet0/0 Internet 192.168.1.2 6 00E0.F73D.E561 ARPA FastEthernet0/0 Internet 192.168.2.1 - 0060.5C16.3B02 ARPA FastEthernet0/1 Internet 192.168.2.2 7 0002.179D.455A ARPA FastEthernet0/1 Как только PC0 отправил ICMP до PC1 и пакет дошел до маршрутизатора, он увидел в заголовках IP-пакета адрес отправителя (PC0) и его MAC-адрес. Он добавляет его в ARP-таблицу. Следующее, что он видит — это IP-адрес получателя. Он не знает, куда отправлять пакет, так как в его ARP-таблице нет записи. Но видит, что адрес получателя из той же сети, что и один из его интерфейсов. Тогда он запускает ARP с этого интерфейса, чтобы получить MAC-адрес запрашиваемого хоста. Как только приходит ответ, он заносит информацию в ARP-таблицу. Это базовый пример того, как работает маршрутизация. Усложним немного схему. Прописываем IP-адреса устройств. Теперь проверим связность между PC0 и PC1: В консоли PC0 вылезает сообщение о недоступности узла. Но ведь все адреса прописаны и добраться можно. В чем же проблема? Переходим в режим симуляции PC0 формирует ICMP-сообщение. Смотрит на IP-адрес назначения и понимает, что получатель находится в другой сети. Соответственно передать надо своему основному шлюзу, а дальше пускай сам разбирается. Пакет доходит до RT1. Смотрит в Destination IP и сравнивает со своей таблицей маршрутизации. RT1#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set 10.0.0.0/24 is subnetted, 1 subnets C 10.0.1.0 is directly connected, FastEthernet0/1 C 192.168.1.0/24 is directly connected, FastEthernet0/0 Совпадений нет. А значит RT1 понятия не имеет, что делать с этим пакетом. Но так просто отбросить его не может, так как надо уведомить того, кто это послал. Он формирует ответный ICMP с сообщением «Host Unreachable». Как только пакет доходит до PC0, в консоли высвечивается сообщение «Reply from 192.168.1.1: Destination host unreachable.». То есть RT1 (192.168.1.1) говорит о том, что запрашиваемый хост недоступен. Выход из ситуации следующий: нужно «сказать» сетевому устройству, как добраться до конкретной подсети. Причем это можно сделать вручную или настроить все сетевые устройства так, чтобы они переговаривались между собой. Вот на этом этапе маршрутизация делится на 2 категории: Статическая маршрутизация Начнем со статической. В качестве примера возьмем схему выше и добьемся связности между PC0 и PC1. Так как первые проблемы с маршрутизацией начались у RT1, то перейдем к его настройке: RT1#conf t RT1(config)#ip route 192.168.2.0 255.255.255.0 10.0.1.1 Маршрут прописывается командой ip route. Синтаксис прост: «подсеть» «маска» «адрес следующего устройства». После можно набрать команду show ip route и посмотреть таблицу маршрутизации: RT1#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set 10.0.0.0/24 is subnetted, 1 subnets C 10.0.1.0 is directly connected, FastEthernet0/1 C 192.168.1.0/24 is directly connected, FastEthernet0/0 S 192.168.2.0/24 [1/0] via 10.0.1.1 Появился статический маршрут (о чем свидетельствует код S слева). Здесь много различных параметров и о них я расскажу чуть позже. Сейчас задача прописать маршруты на всех устройствах. Перехожу к RT2: RT2(config)#ip route 192.168.1.0 255.255.255.0 10.0.1.2 RT2(config)#ip route 192.168.2.0 255.255.255.0 10.0.2.2 RT2#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set 10.0.0.0/24 is subnetted, 2 subnets C 10.0.1.0 is directly connected, FastEthernet0/0 C 10.0.2.0 is directly connected, FastEthernet0/1 S 192.168.1.0/24 [1/0] via 10.0.1.2 S 192.168.2.0/24 [1/0] via 10.0.2.2 Обратите внимание, что маршрут прописан не только в 192.168.2.0/24, но и 192.168.1.0/24. Без обратного маршрута полноценной связности не будет.Остался RT3: RT3(config)#ip route 192.168.1.0 255.255.255.0 10.0.2.1 RT3(config)#end RT3#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set 10.0.0.0/24 is subnetted, 1 subnets C 10.0.2.0 is directly connected, FastEthernet0/1 S 192.168.1.0/24 [1/0] via 10.0.2.1 C 192.168.2.0/24 is directly connected, FastEthernet0/0 Маршруты на всех устройствах прописаны, а значит PC0 сможет достучаться до PC1 и наоборот PC1 до PC0. Проверим: Обратите внимание на то, что первые 3 запроса потерялись по тайм-ауту (не Unreachable). Это так CPT эмулирует работу ARP. По сути эти 3 потерянных пакета — это следствие того, что каждый маршрутизатор по пути запускал ARP-запрос до своего соседа. В итоге после всех работ PC0 успешно пингует PC1. Проверим обратную связь: Теперь на примере таблицы R3 разберемся, что она из себя представляет: RT3#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set 10.0.0.0/24 is subnetted, 1 subnets C 10.0.2.0 is directly connected, FastEthernet0/1 S 192.168.1.0/24 [1/0] via 10.0.2.1 C 192.168.2.0/24 is directly connected, FastEthernet0/0 Коды (они же легенды) показывают, каким методом данный маршрут попал в таблицу. Их тут много и заострять внимание на все нет смысла (так как ныне не используются). Остановимся на двух — C(connected) и S(static). Как только прописываем IP-адрес и активируем интерфейс, подсеть, к которой он принадлежит, автоматически попадает в таблицу маршрутизации. Поэтому справа от этой строки подписано directly connected и интерфейс, привязанный к этой подсети. Тоже самое с подсетью 192.168.2.0/24. А вот со статически заданным адресом чуть по-другому. Подсеть 192.168.1.0/24 не напрямую подсоединена к текущему маршрутизатору, а доступна через 10.0.2.1. А вот этот next-hop уже принадлежит к 10.0.2.0/24 (которая напрямую доступна). Таким образом можно добраться до удаленной подсети, через знакомую сеть. Тут еще можно заметить, что в строчке со статическим маршрутом присутствует запись [1/0]. Важно просто запомнить, что первое число — это административная дистанция, а второе — метрика. Динамическая маршрутизация И сразу вопрос: В чем сложность этой схемы? На самом деле ни в чем, до того момента, пока не придется это все настраивать. Сейчас мы умеем настраивать статическую маршрутизацию. И за n-ое количество времени поднимем сеть, и она будет работать. А теперь несколько «но»: На одном из маршрутизаторов появилась новая подсеть. Это значит, что нужно на всех маршрутизаторах вручную прописать маршрут до нее. Допустим мы из Router0 ходили до Cloud0 по цепочке 0 -> 1 -> 3 -> 2 -> Cloud0. Теперь внезапно сгорел/умер/украли Router3. Соответственно не было запасного пути и доступ до Cloud0 закрыт. Сеть стоит и компания не может работать. Тут придется подрываться и переписать цепочку по 0 -> 1 -> 4 -> 2 -> Cloud0. То есть нет никакого резерва. Если сеть падает, то без админа ничего не решить. Сеть не может сама перестроиться. Ну и еще один аргумент, почему строить сеть исключительно на статических маршрутах — зло и не практично. Это, конечно, масштабируемость. Практически любая компания рано или поздно растет, расширяется и сетевых узлов становится все больше. А значит, в конечном итоге, сеть со статическими маршрутами начнет превращаться в ад для сетевого инженера. Вот на помощь как раз приходит динамическая маршрутизация. Она оперирует двумя очень созвучными понятиями, но совершенно разными по смыслу: Routing protocols (протоколы маршрутизации) — это как раз те протоколы, о которых чуть ниже поговорим. При помощи этих протоколов, роутеры обмениваются маршрутной информацией и строят топологию. Routed protocols (маршрутизируемые протоколы) — это как раз те протоколы, которые мы маршрутизируем. В данном случае — это IPv4, IPv6. Протоколы динамической маршрутизации делятся на 2 категории: IGP (interior gateway protocols) — внутренние протоколы маршрутизации (RIP, OSPF, EIGRP). Гости этого выпуска. EGP (external gateway protocols) — внешние протоколы маршрутизации (на сегодня BGP). Отличий в них много, но самые главные — IGP запускается внутри одной автономной системы (считайте компании), а EGP запускается между автономными системами (то есть это маршрутизация в Интернете). IGP делятся на несколько категорий: Distance-Vector (дистанционно-векторные) Hybrid or Advanced Distance Vector (гибридные или продвинутые дистанционно-векторные) Link-State (протокол состояния канала) |