Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями

Статический маршрут на примере домашних роутеров

Всем привет! Статическая маршрутизация – это по сути специальный выделенный путь, по которому должен пройти пакет информации из пункта А в пункт Б. Напомню, что у нас в сети чаще всего встречаются два устройства: маршрутизаторы и коммутаторы. Напомню, что коммутаторы работают на канальном уровне, а маршрутизаторе на сетевом. Далее я коротко расскажу, про Static Route и как это настроить на домашнем устройстве.

Коротко про маршрутизацию

Маршрутизатор, исходя из названия, имеет у себя таблицу маршрутизации, а коммутатор коммутации. Все логично, не правда ли. Но есть небольшая проблема коммутации. Представим, что у нас есть две сети по 250 машин и между ними стоят 2 свича.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Если вы помните в таблице коммутации содержатся MAC-адреса. Да они уникальны, поэтому для работы сети нужно, чтобы каждый свич знал, как минимум 500 таких адресов, что не так мало. И тут встает проблема масштабируемости сети, при добавлении новых машин.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

А что если установить вместо коммутаторов маршрутизаторы. В итоге у нас есть две сети:

И чтобы пакету добраться из одной сети в другую, нужна одна запись в таблице маршрутизации, а именно о соседнем роутере, который уже в свою очередь знает компьютеры «из своего района». Это и удобно, и экономично в плане хранения нужной информации, так как не нужно хранить таблицу из MAC-адресов всех участников сети.

СОВЕТ! Для большей картины понимания самой темы, советую почитать дополнительные материалы про то, что такое маршрутизатор, коммутатор и про модель OSI.

И тут у нас появляются два понятия:

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

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Смотрим на картинку выше. У нас есть второй роутер (router 2), который имеет доступ к интернету (он же является основным шлюзом). У нас есть компьютер (PC), который подключен сначала к коммутатору. Коммутатор подключен к двум роутерам.

Проблема в том, что ПК должен иметь доступ к серверу (172.30.30.1), но при запросе на router 2, у него в таблице маршрутизации нет данных об этих серверах. Теперь давайте попробуем вписать эти настройки в маршрутизатор.

ШАГ 1: Заходим в настройки роутера

Вот мы и перешли непосредственно к настройке статической маршрутизации. Подключаемся к сети интернет-центра через кабель или по Wi-Fi. Далее нужно ввести DNS или IP-адрес роутера в адресную строку любого браузера. Настройку мы будем делать через Web-интерфейс. Подсказка: адрес можно подсмотреть на этикетке под корпусом аппарата. Чаще всего используют адреса:

Если вы ранее его настраивали, вводим логин и пароль – их также можно подсмотреть на той же самой бумажке. Чаще всего используют комбинации:

ШАГ 2: Настройка

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

Надеюсь я примерно объяснил, как именно статический маршрут нужно заполнять. Теперь приступим непосредственно к практике. Смотрите главу по своей модели.

TP-Link

Старая прошивка

Слева находим раздел «Дополнительные настройки маршрутизации», и в открывшемся списке нажимаем по пункту «Список статических маршрутов». Нажимаем по кнопке «Добавить».

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Новая прошивка

«Дополнительные настройки» – «Сеть» – «Расширенные настройки маршрутизации». Нажимаем по плюсику и вписываем нужную информацию.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

D-Link

В классическом светлом интерфейсе нужно перейти в «Дополнительно» и нажать по «Маршрутизации».

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

В темной прошивке все делается также, только сначала нужно перейти в «Расширенные настройки».

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Переходим в раздел «Локальная сеть», открываем вкладку «Маршруты» и вписываем наши данные. В конце не забудьте нажать на плюсик, правее таблички и нажать на кнопку «Применить».

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

ZyXEL Keenetic

Новая прошивка

Переходим на страницу «Маршрутизации» и нажимаем по кнопке добавления правила.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Теперь вводим данные:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Старая прошивка

Нажимаем по значку плакетки в самом низу и переходим на вкладку «Маршруты». Нажимаем по кнопке добавления и вводим нужные вам данные.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Добавление целого списка маршрутов

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

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Файлик должен иметь расширение типа BAT. И иметь вид как на скрине ниже. Его спокойно можно создать в блокноте.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Вид достаточно простой:

route ADD IP-адрес назначения MASK указываем маску указываем адрес шлюза

route ADD 172.30.30.1 MASK 255.255.255.0 192.168.0.2

ПРИМЕЧАНИЕ! Каждый новый адрес должен начинаться с новой строки, а после последнего указанного IP не должен стоять пробел.

Netis

Переходим в раздел «Advanced» (кнопкам в правом верхнем углу) – «Расширенные» – «Статический маршрут.» – вводим каждый пункт и нажимаем по кнопке «Добавить».

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Tenda

Нужный нам пункт находится в разделе «Расширенные настройки».

Объединение сегментов сети статическими маршрутами

From DD-WRT Wiki

Объединение сегментов сети статическими маршрутами

Contents

[edit] Введение

[edit] Создание подсетей

Существует множество способов создания подсетей в DD-WRT. По умолчанию только порт WAN не объединен в сетевой мост с другими интерфейсами, а коммутатор LAN (который является аппаратным мостом) и беспроводные интерфейсы объединены друг с другом программным обеспечением.

Способы создания дополнительных подсетей включают в себя:

[edit] Пример

Теперь предположим, что у вас есть три маршрутизатора Router1..3, соединенных вместе. Порт WAN маршрутизатора Router1 подключен к Интернету, что делает его шлюзом всей локальной сети, а маршрутизаторы Router2 и 3 имеют порты WAN, подключенные к портам LAN Router1. Маршрутизатор Router2 и/или 3 также может использовать режим клиента (Client mode) или повторителя (Repeater mode) (без сетевого моста!).

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

По умолчанию все эти маршрутизаторы будут работать в режиме маршрутизации ‘Gateway’ («Шлюз»), что означает, что они выполняют преобразование сетевых адресов (Network Address Translation, NAT), что делает компьютеры в подсети LAN невидимыми со стороны интерфейса WAN. Поскольку каждый маршрутизатор имеет интерфейс, подключенный к подсети 192.168.1.0/24, все они имеют маршруты к этой подсети. Однако маршрутизатор Router1 не имеет маршрута к 192.168.2.0/24 или 192.168.3.0/24, Router2 не имеет маршрута к 192.168.3.0/24, а Router3 не имеет маршрута к 192.168.2.0/24.

[edit] Настройка статических маршрутов

Для этой конкретной топологии только маршрутизатор Router1 должен быть настроен со статическими маршрутами, потому что у двух других есть маршруты по умолчанию, которые указывают им направлять трафик к Router1 для любой подсети, к которой у них явно нет маршрутов.

Статические маршруты настраиваются со следуюшими параметрами на странице Setup → Advanced Routing веб-интерфейса DD-WRT:

Настройте маршрутизатор Router1 так, как указано на следующих изображениях:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

С настроенными статическими маршрутами теперь можно безопасно отключить преобразование сетевых адресов NAT на маршрутизаторах Router2 и Router3, переключив их режим работы Operating Mode с «Gateway» на «Router» на странице Setup → Advanced Routing веб-интерфейса.

Также понадобится использовать команды Iptables, чтобы разрешить трафик через брандмауэры маршрутизаторов Router2 и Router3, чтобы обеспечить полноценную связь между подсетями. Команды Iptables необходимо сохранить в сценарии брандмауэра (firewall script) на странице Administration → Commands веб-интерфейса. Вот несколько примеров того, как это можно сделать:

[edit] Готово

Если вы хотите, чтобы компьютеры отображались в сетевом окружении Windows, необходимо настроить сервер WINS и настроить DHCP-сервер для объявления сервера WINS.

Тренинг Cisco 200-125 CCNA v3.0. День 20. Статическая маршрутизация

Сегодня мы поговорим о статической маршрутизации и рассмотрим три темы: что такое статическая маршрутизация, как она настраивается и какая у неё альтернатива. Вы видите топологию сети, которая включает в себя компьютер с IP-адресом 192.168.1.10, подсоединенный через свитч к шлюзу, или роутеру. Для этого соединения используется порт роутера f0/0 с IP-адресом 192.168.1.1.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Второй порт этого роутера f0/1 с IP-адресом 192.168.2.1 подключен к порту f0/0 другого роутера, и этот интерфейс имеет адрес 192.168.2.2. Второй роутер соединен портом f0/1 с адресом 192.168.3.2 с третьим роутером, который использует для этого соединения порт f0/0 с IP-адресом 192.168.3.3.

Наконец, третий роутер соединен со вторым свитчем через порт f0/1 с адресом 192.168.4.3, а свитч подсоединен ко второму компьютеру с IP-адресом 192.168.4.10.
Если вы знаете, как по IP-адресам можно разделить подсети, то определите, что участок от первого компьютера до первого роутера относится к одной подсети, участок межу первым и вторым роутером – ко второй сети, между вторым и третьим роутером – к третьей сети и между третьим роутером и вторым компьютером – к четвертой сети. Таким образом, у нас имеется 4 различных сети.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Если компьютер 192.168.1.10 хочет связаться с компьютером 192.168.4.10, то сначала он должен послать свои данные шлюзу 192.168.1.1. Он создает фрейм, в который помещает IP-адрес источника и назначения, MAC-адрес источника и назначения и отсылает его роутеру. Тот отбрасывает информацию 2-го уровня, то есть MAC-адреса, и смотрит на информацию 3-го уровня. Узнав, что данные адресованы устройству с IP-адресом 192.168.4.10, роутер понимает, что такое устройство к нему не подсоединено, поэтому он просто должен пропустить этот фрейм через себя дальше по сети. Он обращается к своей таблице маршрутизации и видит, что данные для сети 4. нужно посылать устройству с IP-адресом 192.168.2.2.

Аналогично второй роутер сверяется со своей таблицей маршрутизации, узнает, что данные для сети 4. нужно отправить на IP-адрес 192.168.3.3, и отправляет фрейм третьему роутеру. Наконец, третий роутер сверяется со своей таблицей, определяет, что сеть 4. подсоединена к нему самому, и отправляет фрейм второму компьютеру.

Давайте рассмотрим, как создается таблица маршрутизации. Для этого используем Cisco Packet Tracer и посмотрим, как реализуется концепция роутинга. Здесь изображена та же топология сети, и сейчас я присвою роутерам соответствующие IP-адреса, указав также адреса шлюзов по умолчанию.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Мы ничего не делаем со свитчем, потому что он работает с настройками по умолчанию и использует VLAN1. Приступим к настройкам первого роутера Router0. Сначала присвоим ему имя хоста R1, после чего пропишем IP-адрес и маску подсети для интерфейса f0/0. Затем нужно применить команду no shutdown. Вы видите, как маркер интерфейса сменился с красного на зеленый, то есть порт включился в сеть.

Далее нам нужно настроить второй порт роутера f0/1, при этом имя хоста остается прежним, мы просто добавляем IP-адрес 192.168.2.1 и маску подсети 255.255.255.0. Здесь нет ничего нового, это простая настройка, вы уже знаете все команды, поэтому я быстро пробегусь по остальным роутерам. По мере того, как я буду присваивать IP-адреса и использовать команду no shut, порты роутеров будут изменять цвет на зеленый, показывая, что связь между устройствами установлена. При этом я создаю сети 1., 2., 3. и 4. Последний октет IP-адреса порта роутера указывает на номер самого роутера, а предпоследний октет – на номер сети, подключенной к этому порту.

Таким образом, у первого роутера адреса портов будут 192.168.1.1 (первый роутер, первая сеть) и 192.168.2.1 (первый роутер, вторая сеть), у второго роутера — 192.168.2.2 (второй роутер, вторая сеть) и 192.168.3.2 (второй роутер, третья сеть) и у третьего роутера — 192.168.3.3 (третий роутер, третья сеть) и 192.168.4.3 (третий роутер, четвертая сеть). По-моему, это довольно легко запомнить, однако в реальности адреса могут формироваться по-другому, в зависимости от правил, принятых в вашей компании. Вы должны придерживаться правил компании, потому что вашему коллеге будет легче устранять неисправности в вашей сети, если вы будете формировать ее в соответствии с правилами.

Итак, я закончил присваивать портам роутера IP-адреса, и вы видите, что порт второго свитча также поменял цвет на зеленый, так как соединение между ним и вторым компьютером создалось автоматически.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Теперь я вызову терминал командной строки первого компьютера и пропингую второй компьютер по адресу 192.168.4.10. Перейдем к режиму симуляции – теперь вы видите анимированное движение пакетов пинга по участкам сети. Сейчас я ещё раз запущу пингование, чтобы вы смогли внимательно посмотреть, что при этом происходит. Справа в таблице вы видите ICMP, Internet Control Message Protocol – так обозначается пинг. Пинг – это протокол, который мы используем для проверки соединения.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

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

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Вы видите данные 3 уровня OSI – это IP-адреса источника и назначения пинга, данные 2-го уровня в виде соответствующих MAC-адресов и данные 1-го уровня в виде обозначения порта (портов) – это FastEthernet0. Вы также можете взглянуть на формат фрейма пинга: заголовок, тип и тело пакета.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Фрейм направляется к свитчу, свитч анализирует MAC-адреса и отправляет его дальше по сети роутеру. Роутер видит IP-адрес 192.168.4.10 и отбрасывает пакет, потому что не знает такого адреса. Давайте посмотрим, что происходит в режиме реального времени, для чего вернемся к пингу в окне командной строки.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Вы видите, что попытке пропинговать компьютер 192.168.4.10 все 4 пакета были потеряны – от роутера 192.168.1.1 был получен ответ, что хост назначения не доступен. Вернемся в окно интерфейса командной строки роутера и введем команду show ip route. Вы видите самую важную часть – таблицу маршрутизации, а введенная мной команда это одна из основных команд роутинга Cisco. В настоящий момент эта таблица содержит 2 записи. В начале таблицы находится список используемых сокращений, из которого видно, что буквой С обозначаются соединения. Первая запись сообщает, что сеть 192.168.1.0/24 напрямую подсоединена к порту FastEthernet0/0, а сеть 192.168.2.0/24 напрямую подсоединена к порту FastEthernet0/1. Это значит, что в данный момент роутер знает только эти две сети.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Значение 192.168.1.0/24 является идентификатором сети. Когда мы создавали подсети, мы одновременно создавали их идентификаторы. Эти идентификаторы говорят роутеру, что все устройства, IP-адреса которых находятся в диапазоне от 192.168.1.1 до 192.168.1.254, расположены в данной подсети. Таким образом, все эти устройства технически должны быть доступны для роутера, поскольку он подсоединен к данной сети.

Если в конце идентификатора расположено значение /24, это означает, что всем устройствам данной сети от 1 до 254-го будет рассылаться широковещательный запрос. Итак, к данному роутеру подсоединены только сети 1. и 2., поэтому он знает только об этих сетях. Поэтому когда пинг с адресом 192.168.4.10 попадает к роутеру, он не знает, что этот адрес доступен по маршруту Router0- Router1- Router2.

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

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Сейчас я покажу вам, что это означает. Мы используем для этой команды режим глобальной конфигурации настроек роутера. Я набираю ip route 192.168.4.0 255.255.255.0 – это означает, что сюда попадает любой трафик для устройств сети, чей IP-адрес имеет значение последнего октета от 1 до 254, и далее набираю либо IP-адрес, либо обозначение порта, куда должен отправляться этот трафик. В данном случае я набираю обозначение интерфейса f0/1, то есть команда приобретает такой вид: ip route 192.168.4.0 255.255.255.0 f0/1.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Вместо интерфейса шлюза я могу указать его IP-адрес, тогда команда статической маршрутизации будет выглядеть как ip route 192.168.4.0 255.255.255.0 192.168.2.2.

Давайте теперь посмотрим на таблицу маршрутизации, использовав команду do show ip address. Вы видите, что в ней появилась новая запись, озаглавленная буквой S, то есть static.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Эта запись говорит о том, что если имеется трафик для сети 192.168.4.0/24, его нужно пересылать адресату через устройство с IP-адресом 192.168.2.2. Вернемся к командной строке компьютера и пропингуем нужный адрес еще раз. Теперь трафик должен пройти через первый роутер и достигнуть второго роутера, который должен отбросить пакеты.

В первом случае роутер не просто отбросил пакеты, он еще и ответил компьютеру, что IP-адрес 192.168.4.10 недоступен. Однако второй роутер может ответить только первому роутеру, от которого получил трафик. Давайте посмотрим на таблицу маршрутизации второго роутера. Здесь сказано, что Router1 знает только сети 2. и 3. и ничего не знает о сети 4., куда он должен отправить пакеты первого компьютера. Он бы отправил назад сообщение, что хост назначения не доступен, но не знает, как связаться с компьютером, который послал эти пакеты, потому что ничего не знает о сети 1. Вот почему вместо сообщения о недоступности хоста назначения мы получили сообщение Request timed out – время ожидания запроса истекло. Различные сетевые устройства имеют различные значения TTL, поэтому, когда IP пакеты достигают этого значения, они уничтожаются. При этом происходит обратный отсчет – совершается один хоп, и счетчик TTL меняется с 16 до 15, второй – с 15 до 14 и так далее, пока значение TTL не достигнет 0 и пакет будет уничтожен.

Так работает механизм предотвращения зацикленности IP-пакетов. Таким образом, если устройство не получает запрос в установленное время, система выдаёт подобное сообщение. Поэтому давайте перейдем к настройкам второго роутера и покажем ему, как можно достичь четвертой подсети. Для этого я использую команду ip route 192.168.4.0 255.255.255.0 192.168.3.3. Теперь соответствующая запись появилась в таблице маршрутизации, которую мы вызвали командой do show ip route.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Теперь Router1 знает, как отправлять трафик адресатам четвертой подсети. Он отправляет его третьему роутеру. Третий роутер Router2, поскольку к нему подсоединена сеть 4., определенно знает, как отправить пакет второму компьютеру.

Что произойдет, если я еще раз отправлю пинг? Ведь теперь все сетевые устройства знают, как достичь второго компьютера. Будет ли теперь пингование IP-адреса 192.168.4.10 удачным? Нет, не будет!

Как я уже говорил, ICMP представляет собой протокол двусторонней коммуникации, поэтому, если кто-то посылает пакеты пинга, они должны вернуться обратно. Маршрутизация заключается в том, что каждое сетевое устройство должно не только знать, как отправить кому-либо сообщение, оно также должно знать, как доставить ответное сообщение отправителю запроса. Итак, пакет, отправленный первым компьютером, успешно достиг второго компьютера. Второй компьютер думает: «отлично, я получил ваше сообщение и теперь должен выслать вам ответ». Этот ответ, адресованный устройству с IP-адресом 192.168.1.10, добирается до роутера Router2. Третий роутер видит, что должен отправить пакет в первую подсеть, но в его таблице маршрутизации есть записи только о третьей и четвертой подсети. Поэтому мы должны создать статический маршрут с помощью команды ip route 192.168.1.0 255.255.255.0 192.168.3.2. Данная команда говорит, что трафик, предназначенный для сети с идентификатором 192.168.1.0 должен быть отправлен второму роутеру с IP-адресом 192.168.3.2.

Что произойдет после этого? Второй роутер знает про сети 2., 3. и 4., но ничего не знает о первой сети. Поэтому нужно зайти в настройки второго роутера Router1 и использовать команду ip route 192.168.1.0 255.255.255.0 192.168.2.1, то есть указать, что трафик для сети 1. должен быть отправлен по сети 2. первому роутеру Router0.

После этого пакет достигает первого роутера, который знает об устройстве 192.168.1.10, потому что первая сеть, в которой находится этот компьютер, подключена к порту этого роутера. Замечу, что теперь первый роутер ничего не знает о сети 3., а третий роутер ничего не знает о второй сети. Это может создать проблему, потому что эти роутеры не знают о существовании промежуточных подсетей.

Я еще раз пингую адрес 192.168.4.0, и вы видите, что на этот раз пингование прошло успешно. Пакеты прошли весь путь от первого до второго компьютера и ответ вернулся отправителю. В окне командной строки видно сообщение о том, что каждый из 4-х ответных пакетов 192.168.4.0 представляет собой 32 байта, TTL= 125 мс, и успешность пинга составляет 100%. Это означает, что источник передачи получил ответ от хоста назначения. Таким образом, даже если устройства не знают о существовании некоторых промежуточных сетей, это не имеет значения, если они работают по принципу «конечный отправитель – конечный получатель». Первый компьютер знает, как добраться до второго компьютера, а второй – как добраться до первого.

Давайте рассмотрим другую ситуацию. Итак, первый компьютер может успешно общаться со вторым компьютером, при этом трафик проходит через все эти устройства. Посмотрим, сможет ли PC0 связаться с третьим роутером Router2 по адресу 192.168.3.3 – это порт сети 3 третьего роутера. Пинг показывает, что это невозможно – хост назначения недоступен.

Посмотрим, в чем причина. Открыв таблицу маршрутизации первого роутера, мы видим, что он знает только 3 сети – первую, вторую и четвертую, но ничего не знает о третьей сети. Поэтому, если я хочу связаться с этой сетью, для неё нужно задать статический маршрут.

Итак, мы рассмотрели, как можно настроить статическую маршрутизацию для трех роутеров. Если у вас имеется 10 роутеров и 50 различных подсетей, ручная настройка статической маршрутизации займет очень много времени. Вот зачем нам нужна динамическая маршрутизация.
Сейчас я удалю все маршруты, которые создал. Для этого я поочередно вызову таблицы маршрутизации всех роутеров и допишу слово «no» в начале каждой записи статической маршрутизации, то есть использую команду отрицания. Теперь мы можем рассмотреть, что представляет собой динамическая маршрутизация.

Для динамической маршрутизации я должен активировать протокол RIP, это очень быстрый протокол. Но сегодня мы не будем обсуждать RIP, наша тема – это статическая маршрутизация, и я хотел показать вам, насколько это кропотливое и утомительное дело. Я все же быстро продемонстрирую вам, как работает RIP, который мы подробно рассмотрим на следующем уроке.
На примере первого роутера я использую команду router rip, затем введу ver 2, чтобы указать версию протокола, и затем отдельными строками перечислю сети, для которых нужно использовать протокол динамической маршрутизации: 192.168.1.0, 192.168.2.0, после чего перейду ко второму роутеру и поступлю с ним аналогично. Технически я просто указываю сети, которые подключены к данному устройству, поэтому для второго роутера я укажу 192.168.2.0 и 192.168.3.0, а для третьего после команды rip ver 2 – адреса 192.168.3.0 и 192.168.4.0. Затем я вернусь к первому роутеру и посмотрю на таблицу маршрутизации.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Вы видите, что в ней волшебным образом появились все сети, две первые – это те, что подсоединены непосредственно к роутеру, а две остальные – те, связь с которыми осуществляется по протоколу динамической маршрутизации RIP. Аналогичная ситуация наблюдается в таблицах маршрутизации второго и третьего роутеров. Если я подсоединю ко второму роутеру сети 5. и 6., то все устройства, использующие RIP, будут знать об этих новых сетях. Вот в чем заключается преимущество динамической маршрутизации.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Если я сейчас пропингую второй компьютер, связь будет работать без проблем. Я могу пропинговать третий роутер, и пинг будет успешным, потому что первый роутер благодаря RIP знает обо всех устройствах всех сетей. Аналогичным «знанием» будут обладать второй и третий роутеры. Я не говорю, что RIP самый лучший протокол, но он способен эффективно выполнять множество вещей. Пока что я просто хочу, чтобы вы поняли, что такое маршрутизация и как она работает, что такое таблица маршрутизации и в чем заключено её значение.

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

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

Сети для самых маленьких. Часть третья. Статическая маршрутизация

Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.

Итак, поворотный момент в истории компании “Лифт ми Ап”. Руководство понимает, что компания, производящая лифты, едущие только вверх, не выдержит борьбы на высококонкурентном рынке. Необходимо расширять бизнес. Принято решение о покупке двух заводов: в Санкт-Петербурге и Кемерово.
Нужно срочно организовывать связь до новых офисов, а у вас ещё даже локалка не заработала.
Сегодня:
1. Настраиваем маршрутизацию между вланами в нашей сети (InterVlan routing)
2. Пытаемся разобраться с процессами, происходящими в сети, и что творится с данными.
3. Планируем расширение сети (IP-адреса, вланы, таблицы коммутации)
4. Настраиваем статическую маршрутизацию и разбираемся, как она работает.
5. Используем L3-коммутатор в качестве шлюза

InterVlan Routing

Чуточку практики для взбадривания.
В предыдущий раз мы настроили коммутаторы нашей локальной сети. На данный момент устройства разных вланов не видят друг друга. То есть фактически ФЭО и ПТО, например, находятся в совершенно разных сетях и не связаны друг с другом. Так же и серверная сеть существует сама по себе. Надо бы исправить эту досадную неприятность.
В нашей московской сети для маршрутизации между вланами мы будем использовать роутер cisco 2811. Иными словами он будет терминировать вланы. Кадры здесь заканчивают свою жизнь: из них извлекаются IP-пакеты, а заголовки канального уровня отбрасываются.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Процесс настройки маршрутизатора очень прост:

0) Сначала закончим с коммутатором msk-arbat-dsw1. На нём нам нужно настроить транковый порт в сторону маршрутизатора, чего мы не сделали в прошлый раз.

msk-arbat-dsw1(config)#interface FastEthernet0/24
msk-arbat-dsw1(config-if)# description msk-arbat-gw1
msk-arbat-dsw1(config-if)# switchport trunk allowed vlan 2-3,101-104
msk-arbat-dsw1(config-if)# switchport mode trunk

1) Назначаем имя маршрутизатора командой hostname, а для развития хорошего тона, надо упомянуть, что лучше сразу же настроить время на устройстве. Это поможет вам корректно идентифицировать записи в логах.

Router0#clock set 12:34:56 7 august 2012
Router0# conf t
Router0(config)#hostname msk-arbat-gw1

Желательно время на сетевые устройства раздавать через NTP (любую циску можно сделать NTP-сервером, кстати)

2) Далее переходим в режим настройки интерфейса, обращённого в нашу локальную сеть и включаем его, так как по умолчанию он находится в состоянии Administratively down.

msk-arbat-gw1(config)#interface fastEthernet 0/0
msk-arbat-gw1(config-if)#no shutdown

msk-arbat-gw1(config)#interface fa0/0.2
msk-arbat-gw1(config-if)#description Management

Логика тут простая. Сначала указываем обычным образом физический интерфейс, к которому подключена нужная сеть, а после точки ставим некий уникальный идентификатор этого виртуального интерфейса. Для удобства, обычно номер сабинтерфейса делают аналогичным влану, который он терминирует.

4) Теперь вспомним о стандарте 802.1q, который описывает тегирование кадра меткой влана. Следующей командой вы обозначаете, что кадры, исходящие из этого виртуального интерфейса будут помечены тегом 2-го влана. А кадры, входящие на физический интерфейс FastEthernet0/0 с тегом этого влана будут приняты виртуальным интерфейсом FastEthernet0/0.2.

5) Ну и как на обычном физическом L3-интерфейсе, определим IP-адрес. Этот адрес будет шлюзом по умолчанию (default gateway) для всех устройств в этом влане.

msk-arbat-gw1(config-if)#ip address 172.16.1.1 255.255.255.0

msk-arbat-gw1(config)#interface FastEthernet0/0.101
msk-arbat-gw1(config-if)#description PTO
msk-arbat-gw1(config-if)#encapsulation dot1Q 101
msk-arbat-gw1(config-if)#ip address 172.16.3.1 255.255.255.0

и теперь убедимся, что с компьютера из сети ПТО мы видим сеть управления:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Работает и отлично, настройте пока все остальные интерфейсы. Проблем с этим возникнуть не должно.

Физика и логика процесса межвланной маршрутизации

Что происходит в это время с вашими данными?

Мы рассуждали в прошлый раз, что происходит, если вы пытаетесь связаться с устройством из той же самой подсети, в которой находитесь вы.
Под той же самой подсетью мы понимаем следующее.
Например, на вашем компьютере настроено следующее:
IP: 172.16.3.2
Mask: 255.255.255.0
GW: 172.16.3.1

Потом ваши полезные данные упаковываются в IP-пакет, где в качестве получателя ставится тот адрес, который вы указали в команде/приложении, затем в Ethernet-кадр, в заголовок которого помещается полученный ARP-запросом MAC-адрес. Далее кадр отправляется на коммутатор, который согласно своей таблице MAC-адресов, решает, в какой порт его переправить дальше.

Проследим за ходом событий.

1) ПК с адресом 172.16.3.2/24 хочет отправить данные компьютеру с адресом 172.16.4.5.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Он видит, что адрес из другой подсети, следовательно, данные должны уйти на шлюз по умолчанию. Но в таком случае, ПК нужен MAC-адрес шлюза. ПК проверяет свой ARP-кэш в поисках соответствия IP-адрес шлюза — MAC-адрес и не находит нужного
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

2) ПК отправляет широковещательный ARP-запрос в локальную сеть. Структура ARP-запроса:
— на канальном уровне в качестве получателя — широковещательный адрес ( FF:FF:FF:FF:FF:FF), в качестве отправителя — MAC-адрес интерфейса устройства, пытающегося выяснить IP
— на сетевом — собственно ARP запрос, в нем содержится информация о том, какой IP и кем ищется.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

3) Коммутатор, на который попал кадр, рассылает его копии во все порты этого влана (того, которому принадлежит изначальный хост), кроме того, откуда он получен.

4) Все устройства, получив этот кадр и, видя, что он широковещательный, предполагают, что он адресован им.

5) Распаковав кадр, все хосты, кроме маршрутизатора, видят, что в ARP-запросе не их адрес. А маршрутизатор посылает unicast’овый ARP-ответ со своим MAC-адресом.

6) Изначальный хост получает ARP-ответ, теперь у него есть MAC-адрес шлюза. Он формирует пакет из тех данных, что ему нужно отправить на 172.16.4.5. В качестве MAC-адреса получателя ПК ставит адрес шлюза. При этом IP-адрес получателя в пакете остаётся 172.16.4.5

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

7) Кадр посылается в сеть, коммутаторы доставляют его на маршрутизатор.

8) На маршрутизаторе, в соответствии с меткой влана, кадр принимается конкретным сабинтерфейсом. Данные канального уровня откидываются.

9) Из заголовка IP-пакета, рутер узнаёт адрес получателя, а из своей таблицы маршрутизации видит, что тот находится в непосредственно подключенной к нему сети на определённом сабинтерфейсе (в нашем случае FE0/0.102).

C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.16/30 is directly connected, FastEthernet0/1.5
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104

10) Маршрутизатор отправляет ARP-запрос с этого сабинтерфейса — узнаёт MAC-адрес получателя.

11) Изначальный IP-пакет, не изменяясь инкапсулируется в новый кадр, при этом:

— в качестве MAC-адреса источника указывается адрес интерфейса шлюза
— IP-адрес источника — адрес изначального хоста (в нашем случае 172.16.3.2)
— в качестве MAC-адреса получателя указывается адрес конечного хоста
— IP-адрес получателя — адрес конечного хоста (в нашем случае 172.16.4.5)

и отправляется в сеть с сабинтерфейса FastEthernet0/0.102, получая при этом метку 102-го влана.

12) Кадр доставляется коммутаторами до хоста-получателя.

Планирование расширения

Теперь обратимся к планированию. В нулевой части мы уже затронули эту тему, но тогда речь была только о двух офисах в Москве, теперь же сеть растёт.

Будет она вот такой:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

То есть прибавляются две точки в Санкт-Петербурге: небольшой офис на Васильевском острове и сам завод в Озерках — и одна в Кемерово в районе Красная горка.

Для простоты у нас будет один провайдер “Балаган Телеком”, который на выгодных условиях предоставит нам L2VPN до обеих точек.
В одном из следующих выпусков мы тему различных вариантов подключения раскроем в красках. А пока вкратце: L2VPN — это, очень грубо говоря, когда вам провайдер предоставляет влан от точки до точки (можно для простоты представить, что они включены в один коммутатор).

Следует сказать несколько слов об IP-адресации и делении на подсети.
В нулевой части мы уже затронули вопросы планирования, весьма вскользь надо сказать.
Вообще, в любой более или менее большой компании должен быть некий регламент — свод правил, следуя которому вы распределяете IP-адреса везде. Сеть у нас сейчас разрастается и разработать его очень важно.

Ну вот к примеру, скажем, что для офисов в других городах это будет так:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Это весьма упрощённый регламент, но теперь мы во всяком случае точно знаем, что у шлюза всегда будет 1-й адрес, до 12-го мы будем выдавать коммутаторам и всяким wi-fi-точкам, а все сервера будем искать в диапазоне 172.16.х.13-172.16.х.23. Разумеется, по своему вкусу вы можете уточнять регламент вплоть до адреса каждого сервера, добавлять в него правило формирования имён устройств, доменных имён, политику списков доступа и т.д.
Чем точнее вы сформулируете правила и строже будете следить за их выполнением, тем проще разбираться в структуре сети, решать проблемы, адаптироваться к ситуации и наказывать виновных.
Это примерно, как схема запоминания паролей: когда у вас есть некое правило их формирования, вам не нужно держать в голове несколько десятков сложнозапоминаемых паролей, вы всегда можете их вычислить.
Вот так же и тут. Я некогда работал в средних размеров холдинге и знал, что если я приеду в офис где-нибудь в забытой коровами деревне, то там точно x.y.z.1 — это циска, x.y.z.2 — дистрибьюшн-свитч прокурва, а x.y.z.101 — компьютер главного бухгалтера, с которого надо дать доступ на какой-нибудь контур-экстерн. Другой вопрос, что надо это ещё проверить, потому что местные ИТшники такого порой наворотят, что слезами омываешься сквозь смех.

Было дело парнишка решил сам управлять всем доступом в интернет (обычно это делал я на маршрутизаторе). Поставил proxy-сервер, случайно поднял на нём NAT и зарулил туда трафик локальной сети, на всех машинах прописав его в качестве шлюза по умолчанию, а потом я минут 20 разбирался, как так: у них всё работает, а мы их не видим.

IP-план

Теперь нам было бы весьма кстати составить IP-план. Будем исходить из того, что на всех трёх точках мы будем использовать стандартную сеть с маской 24 бита (255.255.255.0) Это означает, что в них может быть 254 устройства.

Почему это так? И как вообще понять все эти маски подсетей? В рамках одной статьи мы не сможем этого рассказать, иначе она получится длинная, как палуба Титаника и запутанная, как одесские катакомбы. Крайне рекомендуем очень плотно познакомиться с такими понятиями, как IP-адрес, маска подсети, их представления в двоичном виде и CIDR (Classless InterDomain Routing) самостоятельно. Мы же далее будем только аргументировать выбор конкретного размера сети. Как бы то ни было, полное понимание придёт только с практикой.
Вообще, очень неплохо эта тема раскрыта в этой статье: http://habrahabr.ru/post/129664/

В данный момент (вспомним нулевой выпуск) у нас в Москве использованы адреса 172.16.0.0-172.16.6.255. Предположим, что сеть может ещё увеличиться здесь, допустим, появится офис на Воробьёвых горах и зарезервируем ещё подсети до 172.16.15.0/24 включительно.
Все эти адреса: 172.16.0.0-172.16.15.255 — можно описать так: 172.16.0.0/20. Эта сеть (с префиксом /20) будет так называемой суперсетью, а операция объединения подсетей в суперсети называется суммированием подсетей (суммированием маршрутов, если быть точным, route summarization)

Очень наглядный IP-калькулятор. Я и сейчас им периодически пользуюсь, хотя со временем приходит интуитивное и логическое понимание соответствия между длиной маски и границами сети.

Теперь обратимся к Питеру. В данный момент в этом прекрасном городе у нас 2 точки и на каждой из них подсети /24. Допустим это будут 172.16.16.0/24 и 172.16.17.0/24. Зарезервируем адреса 172.16.18.0-172.16.23.255 для возможного расширения сети.

172.16.16.0-172.16.23.255 можно объединить в 172.16.16.0/21 — в общем-то исходя именно из этого мы и оставляем в резерв именно такой диапазон.

В Кемерово нам нет смысла оставлять такие огромные запасы /21, как в Питере (2048 адресов или 8 подсетей /24), или тем более /20, как в Москве (4096 или 16 подсетей /24). А вот 1024 адреса и 4 подсети /24, которым соответствует маска /22 вполне рационально.

Таким образом сеть 172.16.24.0/22 (адреса 172.16.24.0-172.16.27.255) будет у нас для Кемерово.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Тут надо бы заметить: делать такой запас в общем-то необязательно и то, что мы зарезервировали вполне можно использовать в любом другом месте сети. Нет табу на этот счёт. Однако в крупных сетях именно так и рекомендуется делать и связано это с количеством информации в таблицах маршрутизации.
Понимаете ли дело вот в чём: если у вас несколько подряд идущих подсетей разбросаны по разным концам сети, то каждой из них соответствует одна запись в таблице маршрутизации каждого маршрутизатора. Если при этом вы вдруг используете только статическую маршрутизацию, то это ещё колоссальный труд по настройке и отслеживанию корректности настройки.
А если же они у вас все идут подряд, то несколько маленьких подсетей вы можете суммировать в одну большую.
Поясним на примере Санкт-Петербурга. При настройке статической маршрутизации мы могли бы делать так:

ip route 172.16.16.0 255.255.255.0 172.16.2.2
ip route 172.16.17.0 255.255.255.0 172.16.2.2
ip route 172.16.18.0 255.255.255.0 172.16.2.2
……
ip route 172.16.23.0 255.255.255.0 172.16.2.2

Это 8 команд и 8 записей в таблице. Но при этом пришедший на маршрутизатор пакет в любую из сетей 172.16.16.0/21 в любом случае будет отправлен на устройство с адресом 172.16.2.2.
Вместо этого мы поступим так:

И вместо восьми возможных сравнений будет только одно.
Для современных устройств ни в плане процессорного времени ни использования памяти это уже не является существенной нагрузкой, однако такое планирование считается правилами хорошего тона и в конечном итоге вам же самим проще разобраться.
Но, положа руку на сердце, такое планирование скорее исключение, нежели правило: так или иначе фрагментация маршрутов с ростом сети неизбежна.

Теперь ещё несколько слов о “линковых” сетях. В среде сетевых администраторов так называются сети точка-точка (Point-to-Point) между двумя маршрутизаторами.
Вот опять же в примере с Питером. Два маршрутизатора (в Москве и в Петербурге) соединены друг с другом прямым линком (неважно, что у провайдера это сотня коммутаторов и маршрутизаторов — для нас это просто влан). То есть кроме вот этих 2-х устройств здесь не будет никаких других. Мы знаем это наверняка. В любом случае на интерфейсах обоих устройств (смотрящих в сторону друг друга) нужно настраивать IP-адреса. И нам точно незачем назначать на этом участке сеть /24 с 254 доступными адресами, ведь 252 в таком случае пропадут почём зря. В этом случае есть прекрасный выход — бесклассовая IP-адресация.

Почему она бесклассовая? Если вы помните, то в нулевой части мы говорили о трёх классах подсетей: А, В и С. По идее только их вы и могли использовать при планировании сети. Бесклассовая междоменная маршрутизация (CIDR) позволяет очень гибко использовать пространство IP-адресов.

Мы просто берём сеть с самой маленькой возможной маской — 30 (255.255.255.252) — это сеть на 4 адреса. Почему мы не можем взять сеть с ещё более узкой маской? Ну 32 (255.255.255.255) по понятными причинам — это вообще один единственный адрес, сеть 31 (255.255.255.254) — это уже 2 адреса, но один из них (первый) — это адрес сети, а второй (последний) — широковещательный. В итоге на адреса хостов у нас и не осталось ничего. Поэтому и берём маску 30 с 4 адресами и тогда как раз 2 адреса остаются на наши два маршрутизатора.

Вообще говоря, самой узкой маской для подсетей в cisco таки является /31. При определённых условиях их можно использовать на P-t-P-линках.
Что же касается маски /32, то такие подсети, которые суть один единственный хост используются для назначения адресов Loopback-интерфейсам.

Именно так мы и поступим. Для этого, собственно, в нулевой части мы и оставили сеть 172.16.2.0/24 — её мы будем дробить на мелкие сетки /30. Всего их получится 64 штуки, соответственно можно назначить их на 64 линка.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Здесь мы поступили так же, как и в предыдущем случае: сделали небольшой резерв для Питера, и резерв для Кемерово. Вообще резерв — это всегда очень хорошо о чём бы мы ни говорили. 😉

Принципы маршрутизации

Перед началом настройки стоит определиться с тем, для чего нужна маршрутизация вообще.
Рассмотрим такую сеть:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Вот к примеру с компьютера ПК1 — 172.16.3.2 я хочу подключиться по telnet к L3-коммутатору с адресом 172.16.17.1.
Как мой компьютер узнает что делать? Куда слать данные?

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

2) По уже известной вам схеме компьютер с помощью ARP-запроса добывает MAC-адрес маршрутизатора.

3) Далее он формирует кадр с инкапсулированным в него пакетом и отсылает его в порт. После того, как кадр отправлен, компьютеру уже по барабану, что происходит с ним дальше.

4) А сам кадр при этом попадает сначала на коммутатор, где решается его судьба согласно таблице MAC-адресов. А потом достигает маршрутизатора RT1.

5) Поскольку маршрутизатор ограничивает широковещательный домен — здесь жизнь этого кадра и заканчивается. Циска просто откидывает заголовок канального уровня — он уже не пригодится — извлекает из него IP-пакет.

6) Теперь маршрутизатор должен принять решение, что с ним делать дальше. Разумеется, отправить его на какой-то свой интерфейс. Но на какой?
Для этого существует таблица маршрутизации, которая есть на любом рутере. Выяснить, что у нас в данный момент находится в таблице маршрутизации, можно с помощью команды show ip route:

172.16.0.0/16 is variably subnetted, 10 subnets, 3 masks
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
S 172.16.17.0/24 [1/0] via 172.16.2.2

Каждая строка в ней — это способ добраться до той или иной сети.
Вот к примеру, если пакет адресован в сеть 172.16.17.0/24, то данные нужно отправить на устройство с адресом 172.16.2.2.
Таблица маршрутизации формируется из:
— непосредственно подключенных сетей (directly connected) — это сети, которые начинаются непосредственно на нём. В примере 172.16.3.0/24 и 172.16.2.0/30. В таблице они обозначаются буквой C
— статический маршруты — это те, которые вы прописали вручную командой ip route. Обозначаются буквой S
— маршруты, полученные с помощью протоколов динамической маршрутизации (OSPF, EIGRP, RIP и других).

7) Итак, данные в сеть 172.16.17.0 (а мы хотим подключиться к устройству 172.16.17.1) должны быть отправлены на следующий хоп — следующий прыжок, которым является маршрутизатор 172.16.2.2. Причём из таблицы маршрутизации видно, что находится следующий хоп за интерфейсом FE0/1.4 (подсеть 172.16.2.0/30).

8)Если в ARP-кэше циски нет MAC-адреса, то надо снова выполнить ARP-запрос, чтобы узнать MAC-адрес устройства с IP-адресом 172.16.2.2. RT1 посылает широковещательный кадр с порта FE0/1.4. В этом широковещательном домене у нас два устройства, и соответственно только один получатель. RT2 получает ARP-запрос, отбрасывает заголовок Ethernet и, понимая из данных протокола ARP, что искомый адрес принадлежит ему отправляет ARP-ответ со своим MAC-адресом.

9) Изначальный IP-пакет, пришедший на RT1 не меняется, он инкапсулируется в совершенно новый кадр и отправляется в порт FE0/1.4, получая при этом метку 4-го влана.

10) Полностью аналогичные действия происходят на следующем маршрутизаторе. И на следующем и следующем (если бы они были), пока пакет не дойдёт до последнего, к которому и подключена нужная сеть.

11) Последний маршрутизатор видит, что искомый адрес принадлежит ему самому, а извлекая данные транспортного уровня, понимает, что это телнет и передаёт все данные верхним уровням.

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

Настройка

Каким образом мы организуем каналы связи? Как мы уже сказали выше, в нашем офисе на Арбате есть некий провайдер Балаган-Телеком. Он обещает нам предоставить всё, что мы только захотим почти задарма. И мы заказываем у него две услуги L2VPN, то есть он отдаст нам два влана на Арбате в Москве, и по одному в Питере и Кемерово.
Вообще говоря, номера вланов вам придётся согласовывать с вашим провайдером по той простой причине, что у него они могут быть просто заняты. Поэтому вполне возможно, что у вас будет влан, например, 2912 или 754. Но предположим, что нам повезло, и мы вольны сами выбирать номер.

Москва. Арбат

msk-arbat-gw1(config)#interface FastEthernet 0/1.4
msk-arbat-gw1(config-subif)#description Saint-Petersburg
msk-arbat-gw1(config-subif)#encapsulation dot1Q 4
msk-arbat-gw1(config-subif)#ip address 172.16.2.1 255.255.255.252

msk-arbat-gw1(config)#interface FastEthernet 0/1.5
msk-arbat-gw1(config-subif)#description Kemerovo
msk-arbat-gw1(config-subif)#encapsulation dot1Q 5
msk-arbat-gw1(config-subif)#ip address 172.16.2.17 255.255.255.252

Провайдер

Разумеется, мы не будем строить всю сеть провайдера. Вместо этого просто поставим коммутатор, ведь по сути сеть провайдера с нашей точки зрения будет одним огромным абстрактным коммутатором.

Тут всё просто: принимаем транком линк с Арбата в один порт и с двух других портов отдаём их на удалённые узлы. Ещё раз хотим подчеркнуть, что все эти 3 порта не принадлежат одному коммутатору — они разнесены на сотни километров, между ними сложная MPLS-сеть с кучей коммутаторов.

Настраиваем “эмулятор провайдера”:

Switch(config)#vlan 4
Switch(config-vlan)#vlan 5
Switch(config)#interface fa0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan 4-5
Switch(config-if)#exit
Switch(config)#int fa0/2
Switch(config-if)#switchport trunk allowed vlan 4
Switch(config-if)#int fa0/3
Switch(config-if)#switchport trunk allowed vlan 5

Санкт-Петербург. Васильевский остров

Теперь обратимся к нашему spb-vsl-gw1. Тут у нас тоже 2 порта, но решим вопрос нехватки портов иначе: добавим сюда плату. Плата с двумя FastEthernet-портам и двумя слотами для WIC вполне подойдёт.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Пусть встроенные порты будут для локальной сети, а порты на дополнительной плате мы используем для аплинка и связи с Озерками.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Здесь вы можете увидеть отличие в нумерации портов и понять их смысл.
FastEthernet — это тип порта (Ethernet, Fastethernet, GigabitEthernet, POS, Serial или другие)
x/y/z.w=Slot/Sub-slot/Interface.Sub-interface.

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

spb-vsl-gw1(config)interface FastEthernet1/0.4
spb-vsl-gw1(config-if)description Moscow
spb-vsl-gw1(config-if)encapsulation dot1Q 4
spb-vsl-gw1(config-if)ip address 172.16.2.2 255.255.255.252

spb-vsl-gw1(config)#int fa0/0
spb-vsl-gw1(config-if)#description LAN
spb-vsl-gw1(config-if)#ip address 172.16.16.1 255.255.255.0

Вернёмся в Москву. С msk-arbat-gw1 мы можем увидеть адрес 172.16.2.2:

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/7/13 ms

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.16.1, timeout is 2 seconds:

Success rate is 0 percent (0/5)

Gateway of last resort is not set

172.16.0.0/16 is variably subnetted, 8 subnets, 2 masks
C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104

msk-arbat-gw1(config)#ip route 172.16.16.0 255.255.255.0 172.16.2.2

msk-arbat-gw1#sh 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

172.16.0.0/16 is variably subnetted, 9 subnets, 2 masks
C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
C 172.16.2.16/30 is directly connected, FastEthernet0/1.5
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104
S 172.16.16.0/24 [1/0] via 172.16.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.16.1, timeout is 2 seconds:
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/10/24 ms

Вот, казалось бы оно — счастье, но проверим связь с компьютера:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

В чём дело?!
Компьютер знает, куда отправлять пакет — на свой шлюз 172.16.3.1, маршрутизатор тоже знает — на хост 172.16.2.2. Пакет уходит туда, принимается spb-vsl-gw1, который знает, что пингуемый адрес 172.16.16.1 принадлежит ему. А обратно нужно отправить пакет на адрес 172.16.3.3, но в сеть 172.16.3.0 у него нет маршрута. А пакеты, сеть назначения которых неизвестна, просто дропятся — отбрасываются.

Gateway of last resort is not set

172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.2.0/30 is directly connected, FastEthernet1/0.4
C 172.16.16.0/24 is directly connected, FastEthernet0/0

Но, почему же, спросите вы, с msk-arbat-gw1 до 172.16.16.1 пинг был? Какая разница 172.16.3.1 или 172.16.3.2? Всё просто.
Из таблицы маршрутизации всем видно, что следующий хоп — 172.16.2.2, при этом адрес из 172.16.2.1 принадлежит интерфейсу этого маршрутизатора, поэтому он и ставится в заголовок в качестве IP-адреса отправителя, а не 172.16.3.1. Пакет отправляется на spb-vsl-gw1, тот его принимает, передаёт данные приложению пинг, которое формирует echo-reply. Ответ инкапсулируется в IP-пакет, где в качестве адреса получателя фигурирует 172.16.2.1, а 172.16.2.0/30 — непосредственно подключенная к spb-vsl-gw1 сеть, поэтому без проблем пакет доставляется по назначению. То етсь в сеть 172.16.2.0/30 маршрут известен, а в 172.16.3.0/24 нет.

Для решения этой проблемы мы можем прописать на spb-vsl-gw1 маршрут в сеть 172.16.3.0, но тогда придётся прописывать и для всех других сетей. Для всех сетей в Москве, потом в Кемерово, потом в других городах — очень большой объём настройки.
И тут стоить заметить, что по сути у нас только один выход в мир — через Москву. Узел в Озерках — тупиковый, а других нет. То есть в основном все данные будут уходить в Москву, где большая часть подсетей и будет выход в интернет.
Чем нам это может помочь? Есть такое понятие — маршрут по умолчанию, ещё он носит романтическое название шлюз — последней надежды. И второму есть объяснение. Когда маршрутизатор решает, куда отправить пакет, он просматривает всё таблицу маршрутизации и, если не находит нужного маршрута, пакет отбрасывается — это если у вас не настроен шлюз последней надежды, если же настроен, то сиротливые пакеты отправляются именно туда — просто не глядя, предоставляя право уже следующему хопу решать их дальнейшую судьбу. То есть если некуда отправить, то последняя надежда — маршрут по умолчанию.
Настраивается он так:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

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

Санкт-Петербург. Озерки

Теперь озаботимся Озерками. Здесь мы поставим L3-коммутатор. Допустим, связаны они у нас будут арендованным у провайдера волокном (конечно, это идеализированная ситуация для маленькой компании, но можно же помечтать).
Использование коммутаторов третьего уровня весьма удобно в некоторых случаях. Во-первых, интервлан роутинг в этом случае делается аппаратно и не нагружает процессор, в отличие от маршрутизатора. Кроме того, один L3-коммутатор обойдётся вам значительно дешевле, чем L2-коммутатор и маршрутизатор по отдельности. Правда, при этом вы лишаетесь ряда функций, естественно. Поэтому при выборе решения будьте аккуратны.

Настроим маршрутизатор на Васильевском острове, согласно плану:

spb-vsl-gw1(config)interface fa1/1
spb-vsl-gw1(config-if)#description Ozerki
spb-vsl-gw1(config-if)#ip address 172.16.2.5 255.255.255.252

spb-vsl-gw1(config)#ip route 172.16.17.0 255.255.255.0 172.16.2.6

В качестве некст хопа ставим адрес, который мы выделили для линковой сети на Озерках — 172.16.2.6

Теперь перенесёмся в сами Озерки:

Подключим кабель в уже настроенный порт fa1/1 на стороне Васильевского острова и в 24-й порт 3560 в Озерках.
По умолчанию все порты L3-коммутатора работают в режиме L2, то есть это обычные “свитчёвые” порты, на которых мы можем настроить вланы. Но любой из них мы можем перевести в L3-режим, сделав портом маршрутизатора. Тогда на нём мы сможем настроить IP-адрес:

Switch(config)#hostname spb-ozerki-gw1
spb-ozerki-gw1(config)#interface fa0/24
spb-ozerki-gw1(config-if)#no switchport
spb-ozerki-gw1(config-if)#ip address 172.16.2.6 255.255.255.252

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.5, timeout is 2 seconds:
.
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/18/61 ms

spb-ozerki-gw1(config)#vlan 2
spb-ozerki-gw1(config-vlan)#name LAN
spb-ozerki-gw1(config-vlan)#exit
spb-ozerki-gw1(config)#interface vlan 2
spb-ozerki-gw1(config-if)#description LAN
spb-ozerki-gw1(config-if)#ip address 172.16.17.1 255.255.255.0
spb-ozerki-gw1(config)#interface fastEthernet 0/1
spb-ozerki-gw1(config-if)#description Pupkin
spb-ozerki-gw1(config-if)#switchport mode access
spb-ozerki-gw1(config-if)#switchport access vlan 2

После этого все устройства во втором влане будут иметь шлюзом 172.16.17.1

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Чтобы коммутатор превратился в почти полноценный маршрутизатор, надо дать ещё одну команду:

Таким образом мы включим возможность маршрутизации.

Никаких других маршрутов, кроме как по умолчанию нам тут не надо:

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.16.1, timeout is 2 seconds:
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/50/234 ms

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.1, timeout is 2 seconds:

Success rate is 0 percent (0/5)

spb-ozerki-gw1#traceroute 172.16.3.1
Type escape sequence to abort.
Tracing the route to 172.16.3.1

1 172.16.2.5 4 msec 2 msec 5 msec
2 * * *
3 * * *
4 *

Gateway of last resort is not set

172.16.0.0/16 is variably subnetted, 9 subnets, 2 masks
C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
C 172.16.2.16/30 is directly connected, FastEthernet0/1.5
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104
S 172.16.16.0/24 [1/0] via 172.16.2.2

msk-arbat-gw1(config)#no ip route 172.16.16.0 255.255.255.0 172.16.2.2
msk-arbat-gw1(config)#ip route 172.16.16.0 255.255.248.0 172.16.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.17.1, timeout is 2 seconds:
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/10/18 ms

Но странной неожиданностью для вас может стать то, что с spb-ozerki-gw1 вы не увидите Москву по-прежнему:

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.1, timeout is 2 seconds:

Success rate is 0 percent (0/5)

spb-ozerki-gw1#ping
Protocol [ip]:
Target IP address: 172.16.3.1
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: ping172.16.17.1
% Invalid source
Source address or interface: 172.16.17.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.17.1
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/9/14 ms

И даже с компьютера 172.16.17.26 связь есть:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как же так? Ответ, вы не поверите, так же прост — проблемы с маршрутизацией.

Дело в том, что msk-arbat-gw1 о подсети 172.16.17.0/24 знает, а о 172.16.2.4/30 нет. А именно адрес 172.16.2.6 — адрес ближайшего к адресату интерфейса (или интерфейса, с которого отправляется IP-пакет) подставляет по умолчанию в качестве источника. Об этом забывать не нужно.

msk-arbat-gw1(config)#ip route 172.16.2.4 255.255.255.252 172.16.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.3.1, timeout is 2 seconds:
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 7/62/269 ms

spb-vsl-gw1(config)#ip route 172.16.3.0 255.255.255.0 172.16.2.6

В РТ вы этого не увидите, почему-то, но в реальной жизни получится кольцо маршрутизации. Сети 172.16.3.0/24 и 172.16.16.0/21 не будут видеть друг друга:
пакет идущий с spb-ozerki-gw1 в сеть 172.16.3.0 попадает в первую очередь на spb-vsl-gw1, где сказано: “172.16.3.0/24 ищите за 172.16.2.6”, а это снова spb-ozerki-gw1, где сказано: “172.16.3.0/24 ищите за 172.16.2.5” и так далее. Пакет будет шастать туда-обратно, пока не истечёт значение в поле TTL.
Дело в том, что при прохождении каждого маршрутизатора поле TTL в IP-заголовке, изначально имеющее значение 255, уменьшается на 1. И если вдруг окажется, что это значение равно 0, то пакет погибает, точнее маршрутизатор, увидевший это, задропит его.
Таким образом обеспечивается стабильность сети — в случае возникновения петли пакеты не будут жить бесконечно, нагружая канал до его полной утилизации.
Кстати, в Ethernet такого механизма нет и если получается петля, то коммутатор только и будет делать, что плодить широковещательные запросы, полностью забивая канал — это называется широковещательный шторм (эта проблема решается с помощью специальной технологии\протокола STP- об этом в следующем выпуске).

В общем, если вы пускаете пинг из сети 172.16.17.0 на адрес 172.16.3.1, то ваш IP-пакет будет путешествовать между двумя маршрутизаторами, пока не истечёт срок его жизни, пройдя при этом по линку между Озерками и Васильевским островом 254 раза.
Кстати, следствием из работы этого механизма является то, что не может существовать связная сеть, где между узлами больше 255 маршрутизаторов. Впрочем это и не очень актуальная потребность. Сейчас даже самый долгий трейс занимает пару-тройку десятков хопов.

Кемерово. Красная горка

Рассмотрим последний небольшой пример — маршрутизатор на палочке (router on a stick).

Название навеяно схемой подключения:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Маршрутизатор связан с коммутатором лишь одним кабелем и по разным вланам внутри него передаётся трафик и локальной сети, и внешний. Делается это, как правило, для экономии средств (на маршрутизаторе только один порт и не хочется покупать дополнительную плату).

Подключим следующим образом:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Настройка коммутатора уже не должна для вас представлять проблем. На UpLink-интерфейсе настраиваем оговоренный с провайдером 5-й влан транком:

Switch(config)#hostname kmr-gorka-sw1
kmr-gorka-sw1(config)#vlan 5
kmr-gorka-sw1(config-vlan)#name Moscow

kmr-gorka-sw1(config)#int fa0/24
kmr-gorka-sw1(config-if)#description Moscow
kmr-gorka-sw1(config-if)#switchport mode trunk
kmr-gorka-sw1(config-if)#switchport trunk allowed vlan 5

kmr-gorka-sw1(config)#vlan 2
kmr-gorka-sw1(config-vlan)#name LAN
kmr-gorka-sw1(config)#int fa0/1
kmr-gorka-sw1(config-if)#description syn_generalnogo
kmr-gorka-sw1(config-if)#switchport mode access
kmr-gorka-sw1(config-if)#switchport access vlan 2

Транк в сторону маршрутизатора, где 5-ым вланом будут тегироваться кадры внешнего трафика, а 2-м — локального.

kmr-gorka-sw1(config)#int fa0/23
kmr-gorka-sw1(config-if)#description kmr-gorka-gw1
kmr-gorka-sw1(config-if)#switchport mode trunk
kmr-gorka-sw1(config-if)#switchport trunk allowed vlan 2,5

Router(config)#hostname kmr-gorka-gw1
kmr-gorka-gw1(config)#int fa0/0.5
kmr-gorka-gw1(config-subif)#description Moscow
kmr-gorka-gw1(config-subif)#encapsulation dot1Q 5
kmr-gorka-gw1(config-subif)#ip address 172.16.2.18 255.255.255.252

kmr-gorka-gw1(config)#int fa0/0
kmr-gorka-gw1(config-if)#no sh

kmr-gorka-gw1(config)#int fa0/0.2
kmr-gorka-gw1(config-subif)#description LAN
kmr-gorka-gw1(config-subif)#encapsulation dot1Q 2
kmr-gorka-gw1(config-subif)#ip address 172.16.24.1 255.255.255.0

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

Дополнительно

msk-arbat-gw1#sh ip route 172.16.17.0
Routing entry for 172.16.16.0/21
Known via «static», distance 1, metric 0
Routing Descriptor Blocks:
* 172.16.2.2
Route metric is 0, traffic share count is 1

Несмотря на то, что в таблице маршрутизации нет отдельной записи для подсети 172.16.17.0, маршрутизатор покажет вам, какой следующий хоп.

И ещё хотелось бы повторить самые важные вещи:

— Когда блок данных попадает на маршрутизатор, заголовок Ethernet полностью отбрасывается и при отправке формируется совершенно новый кадр. Но IP-пакет остаётся неизменным.

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

— Поиск в таблице идёт НЕ до первой попавшейся подходящей записи, а до тех пор, пока не будет найдено самое точное соответствие (самая узкая маска). Например, если у вас таблица маршрутизации выглядит так:

172.16.0.0/16 is variably subnetted, 6 subnets, 3 masks
S 172.16.0.0/16 [1/0] via 172.16.2.22
C 172.16.2.20/30 is directly connected, FastEthernet0/0
C 172.16.2.24/30 is directly connected, FastEthernet0/0.2
C 172.16.2.28/30 is directly connected, FastEthernet0/0.3
S 172.16.10.0/24 [1/0] via 172.16.2.26
S 172.16.10.4/30 [1/0] via 172.16.2.30

И вы передаёте данные на 172.16.10.5, то он не пойдёт ни по маршруту через 172.16.2.22 ни через 172.16.2.26, а выберет самую узкую маску (самую длинную) /30 через 172.16.2.30.

— Если IP-адресу получателя не будет соответствовать ни одна запись в таблице маршрутизации и не настроен маршрут по умолчанию (шлюз последней надежды), пакет будет просто отброшен.

На этом первое знакомство с маршрутизацией можно закончить. Нам кажется, что читатель сам видит, сколько сложностей поджидает его здесь, может предположить, какой объём работы предстоит ему, если сеть разрастётся до нескольких десятков маршрутизаторов. Но надо сказать, что в современном мире статическая маршрутизация, не то чтобы не используется, конечно, ей есть место, но в подавляющем большинстве сетей, крупнее районного пионер-нета внедрены протоколы динамической маршрутизации. Среди них OSPF, EIGRP, IS-IS, RIP, которым мы посвятим отдельный выпуск и, скорее всего, не один. Но настройка статической маршрутизации в значительной степени поможет вашему общему пониманию маршрутизации.

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

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Материалы выпуска

Приносим извинения за гигантские простыни, видео тоже с каждым разом становится всё длиннее и невыносимее. Постараемся в следующий раз быть более компактными.

Все заинтересованные, но незарегистрированные приглашаются на беседу в ЖЖ.
За подготовку статьи большое спасибо моему соавтору thegluck и моей жене за львиное терпение.

Основы компьютерных сетей. Тема №9. Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Всем привет! Спустя продолжительное время возвращаемся к циклу статей. Долгое время мы разбирали мир коммутации и узнали о нем много интересного. Теперь пришло время подняться чуть повыше и взглянуть на сторону маршрутизации. В данной статье поговорим о том, зачем нужна маршрутизация, разберем отличие статической от динамической маршрутизации, виды протоколов и их отличие. Тема очень интересная, поэтому приглашаю всех-всех к прочтению.

P.S. Возможно, со временем список дополнится.

В предыдущих статьях мы разбирали отличия сетевых устройств. А именно, чем коммутатор отличается от маршрутизатора (можно почитать здесь и здесь). То есть коммутатор в классическом понимании — это устройство, которое получает Ethernet-кадры на одном интерфейсе и передает эти кадры на другие интерфейсы, базируясь на заголовках и своей таблицы коммутации. Работает коммутатор канальном уровне.
Маршрутизаторы работают аналогично. Только оперируют IP-пакетами. И работают на сетевом уровне. Хочу заметить, что есть коммутаторы и маршрутизаторы, которые работают и на более высоких уровнях, но мы сейчас говорим о классических устройствах.
Встает вопрос. Почему мы не можем просто коммутировать весь трафик? И зачем требуются IP-адреса и маршрутизация. Ведь что MAC-адреса, что IP-адреса уникальны у каждого сетевого устройства (ПК, телефон, сервер и т.д.). Сейчас отвечу более развернуто.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
На рисунке представлены 2 коммутатора, к которым подключено по 250 пользователей. Соответственно, чтобы обеспечить связность между всеми участниками, коммутаторы должны знать MAC-адреса всех участников сети. То есть таблица каждого коммутатора будет содержать 500 записей. Это уже не мало.
А если представить, что таким образом будет работать Интернет, в котором миллиарды устройств? Следовательно нужно искать выход. Проблема коммутации заключается в том, что она плохо масштабируется. И тяжело соблюдать иерархию.
Теперь посмотрим на эту ситуацию с точки зрения маршрутизации.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Здесь вводится понятие IP-адресации. Слева сеть 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:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Добавляю маршрутизатор с пустой конфигурацией. Дожидаюсь загрузки и смотрю таблицу маршрутизации:

Сейчас таблица есть, но она пустая из-за того, что не подключен ни один из интерфейсов и не заданы IP-адреса. Соберем схему.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Зададим IP-адресах на интерфейсах маршрутизатора:

И посмотрим, что изменилось в таблице маршрутизации:

В таблице появились 2 записи. Маршрутизатор автоматически добавил подсети, в которых находятся его интерфейсы. Сверху есть коды, показывающие каким образом маршрут был добавлен.
Настроим обе рабочие станции и проверим связность:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Теперь детально рассмотрим, что происходит с пакетом, когда он попадает на маршрутизатор.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Пакет приходит. Маршрутизатор сразу читает IP-адрес назначения в заголовке и сверяет его со своей таблицей.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Находит совпадение, изменяет TTL и отправляет на нужный интерфейс. Соответственно, когда ответный пакет придет от PC1, он проделает аналогичную операцию.
То есть отличие в том, что маршрутизатор принимает решение исходя из своей таблицы маршрутизации, а коммутатор из таблицы коммутации. Единственное, что важно запомнить: и у коммутатора, и у маршрутизатора есть ARP-таблица. Несмотря на то, что маршрутизатор работает с 3 уровнем по модели OSI и читает заголовки IP-пакетов, он не может игнорировать работу стека и обязан работать на канальном и физическом уровне. В свою ARP-таблицу он записывает соотношения MAC-адреса к IP-адресу и с какого интерфейса к нему можно добраться. Причем ARP-таблица у каждого сетевого устройства своя. Пишу команду show arp на маршрутизаторе:

Как только PC0 отправил ICMP до PC1 и пакет дошел до маршрутизатора, он увидел в заголовках IP-пакета адрес отправителя (PC0) и его MAC-адрес. Он добавляет его в ARP-таблицу. Следующее, что он видит — это IP-адрес получателя. Он не знает, куда отправлять пакет, так как в его ARP-таблице нет записи. Но видит, что адрес получателя из той же сети, что и один из его интерфейсов. Тогда он запускает ARP с этого интерфейса, чтобы получить MAC-адрес запрашиваемого хоста. Как только приходит ответ, он заносит информацию в ARP-таблицу.
Это базовый пример того, как работает маршрутизация. Прикладываю ссылку на скачивание.
Усложним немного схему.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
На ней представлены 2 рабочие станции и 3 маршрутизатора. Не буду заострять внимание на том, как прописать IP-адрес на интерфейс, а лишь покажу итоговую конфигурацию:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Все устройства сконфигурированы. Теперь проверим связность между PC0 и PC1:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
В консоли PC0 вылезает сообщение о недоступности узла. Но ведь все адреса прописаны и добраться можно. В чем же проблема? Переходим в режим симуляции и копаем глубже:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
PC0 формирует ICMP-сообщение. Смотрит на IP-адрес назначения и понимает, что получатель находится в другой сети. Соответственно передать надо своему основному шлюзу, а дальше пускай сам разбирается.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Пакет доходит до RT1. Смотрит в Destination IP и сравнивает со своей таблицей маршрутизации.

И вуаля. Совпадений нет. А значит RT1 понятия не имеет, что делать с этим пакетом.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Но так просто отбросить его не может, так как надо уведомить того, кто это послал. Он формирует ответный ICMP с сообщением «Host Unreachable».
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Как только пакет доходит до PC0, в консоли высвечивается сообщение «Reply from 192.168.1.1: Destination host unreachable.». То есть RT1 (192.168.1.1) говорит о том, что запрашиваемый хост недоступен.
Выход из ситуации следующий: нужно «сказать» сетевому устройству, как добраться до конкретной подсети. Причем это можно сделать вручную или настроить все сетевые устройства так, чтобы они переговаривались между собой. Вот на этом этапе маршрутизация делится на 2 категории:

Начнем со статической. В качестве примера возьмем схему выше и добьемся связности между PC0 и PC1. Так как первые проблемы с маршрутизацией начались у RT1, то перейдем к его настройке:

Маршрут прописывается командой ip route. Синтаксис прост: «подсеть» «маска» «адрес следующего устройства».
После можно набрать команду show ip route и посмотреть таблицу маршрутизации:

Появился статический маршрут (о чем свидетельствует код S слева). Здесь много различных параметров и о них я расскажу чуть позже. Сейчас задача прописать маршруты на всех устройствах. Перехожу к RT2:

Обратите внимание, что маршрут прописан не только в 192.168.2.0/24, но и 192.168.1.0/24. Без обратного маршрута полноценной связности не будет.
Остался RT3:

Маршруты на всех устройствах прописаны, а значит PC0 сможет достучаться до PC1 и наоборот PC1 до PC0. Проверим:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Обратите внимание на то, что первые 3 запроса потерялись по тайм-ауту (не Unreachable). Это так CPT эмулирует работу ARP. По сути эти 3 потерянных пакета — это следствие того, что каждый маршрутизатор по пути запускал ARP-запрос до своего соседа. В итоге после всех работ PC0 успешно пингует PC1. Проверим обратную связь:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
И с этой стороны все прекрасно.
Ссылка на скачивание.

Теперь на примере таблицы R3 объясню, что она из себя представляет:

Коды (они же легенды) показывают, каким методом данный маршрут попал в таблицу. Их тут много и заострять внимание на все нет смысла (так как ныне не используются). Остановимся на двух — 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-ое количество времени поднимем сеть и она будет работать. А теперь несколько но:

Вот на помощь как раз приходит динамическая маршрутизация. Она оперирует двумя очень созвучными понятиями, но совершенно разными по смыслу:

Протоколы динамической маршрутизации делятся на 2 категории:

Отличий в них много, но самые главные — IGP запускается внутри одной автономной системы (считайте компании), а EGP запускается между автономными системами (то есть это маршрутизация в Интернете. При помощи него автономные системы связываются между собой). Сейчас представитель EGP остался один — это BGP. Я не буду долго на нем останавливаться, так как он выходит за рамки CCNA. Да и по нему лучше делать отдельную статью, чтобы не смешивать и так довольно емкий материал.

Теперь про IGP. Это прозвучит смешно, но и они делятся на несколько категорий:

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

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Чтобы не загромождать статью однообразными настройками, я заранее сконфигурировал устройства. А именно прописал IP-адреса и включил интерфейсы. Оставлю под спойлерами настройки:

Router0#show running-config
Building configuration.

Current configuration : 622 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router0
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.1.1.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router1#show running-config
Building configuration.

Current configuration : 622 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router1
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.2.2.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Единственное, что может показаться новым — это Loopback интерфейсы. Он практически не отличается от других интерфейсов, за исключением того, что не представлен физически и к нему ничего нельзя воткнуть. Он программно создан внутри самого устройства. Такой интерфейс есть и на многих ОС, как Windows и Linux-подобных. На примере он используется для того, чтобы не рисовать множество маршрутизаторов со своими подсетями.
Сейчас таблицы маршрутизации выглядят следующим образом:

То есть у каждого в таблице маршрут общий с соседом (192.168.1.0/24) и недоступный другому соседу (10.1.1.0 и 10.2.2.0 соответственно).
Теперь для связности 2 маршрутизатора должны обменяться своими маршрутными информациями. И вот тут поможет протокол RIP.
Переключаю PT в режим симуляции и перехожу к настройкам:
Router0:

Сразу оговорюсь, что протокол RIP (также как EIGRP и OSPF) не анонсирует подсети таким образом. Он включает протокол на данном интерфейсе. То есть нельзя анонсировать то, что устройство не знает. И замечу, что включена вторая версия протокола и отключено автосуммирование. Изначально RIP был придуман для сетей с классовой адресацией. Поэтому суммирование он выполняет по тем же правилам, что не корректно в применении к бесклассовой. После перехода на бесклассовую адресацию, нужно было изменить работу протокола RIP. И вот во второй версии помимо подсети, передается еще и маска.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
На схеме сразу же оба маршрутизатора что-то сгенерировали:

Первый пакет:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Это первый пакет, который генерирует роутер, при включении RIP. Тут важный аспект, что ничего не анонсируется и метрика = 16. (0x10 в шестнадцатиричном значение = 16 в десятичном).

Второй пакет:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
А вот этот пакет уже несет полезную информацию.

1) ADDR FAMILY: 0x2 — означает IP протокол. В большинстве случаев это поле не меняется.
2) NETWORK: 10.1.1.0 — подсеть, которая анонсируется.
3) SUBNET: 255.255.255.0 — маска
4) NEXT HOP: 192.168.1.1 — следующий узел для достижимости анонсированной подсети.
5) METRIC: 0x1 — стоимость пути (в данном случае 1).

С обратной стороны придет точно такой же анонс (только будет соответствующая подсеть, nexthop).

В итоге после получения анонсов, таблицы у обоих роутеров будут выглядеть следующим образом:

В таблице появилась пометка с кодом R. То есть получен по протоколу RIP.
Если пустить пинги:

Анонсируемые подсети достижимы. Еще важный аспект, при работе с протоколами маршрутизации — это просмотр сформированной базы. Таблица маршрутизации — это конечный итог, куда заносится маршрут. Посмотреть базу можно командой show ip rip database:

Эта команда полезна, когда маршруты никак не заносятся в таблицу, при этом вроде как RIP включен и настроено все верно. Если маршрута нет в базе, значит он никак не попадет в таблицу и тут надо копать глубже. У циски, к счастью, есть хороший инструмент для дебага, который позволяет практически моментально понять, что происходит. В CPT он урезан и многое не показать, но на реальных железках, он прекрасен.
Например:

Посмотрим, что происходит в RIP:

Сейчас все хорошо. Видно, что приходят/уходят апдейты и записи обновляются. Из за того, что дебажный инструмент обширен, лучше явно указывать что нужно ловить (как представлено выше). Иначе можно достаточно хорошо пригрузить устройство. Важно помнить про команду undebug all. Она отключает весь дебаг на устройстве.

Ссылка на скачивание лабы. Можете добавить еще один маршрутизатор к существующей схеме и связать их через RIP.

Теперь усложним схему и посмотрим в чем преимущество динамической маршрутизации.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Добавился Router2, который соединен с ранее созданными маршрутизаторами и анонсирует подсеть 10.3.3.0/24.

Настраиваются аналогично предыдущему примеру. Поэтому покажу только конфигурации:

Router0#show running-config
Building configuration…

Current configuration: 736 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router0
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.1.1.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.3.1 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router rip
version 2
network 10.0.0.0
network 192.168.1.0
network 192.168.3.0
no auto-summary
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router1#show running-config
Building configuration…

Current configuration: 736 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router1
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.2.2.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.4.1 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router rip
version 2
network 10.0.0.0
network 192.168.1.0
network 192.168.4.0
no auto-summary
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router2#show running-config
Building configuration…

Current configuration: 736 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router2
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.3.3.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.3.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.4.2 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router rip
version 2
network 10.0.0.0
network 192.168.3.0
network 192.168.4.0
no auto-summary
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Итого на Router0 мы имеем следующую таблицу маршрутизации:

Из новых маршрутов — это 10.3.3.0/24, который доступен через 192.168.3.2 (т.е. Router2). И второй маршрут — это 192.168.4.0/24, который доступен через 192.168.1.2 (т.е. Router1) и 192.168.3.2 (т.е. Router2).
Вот в тех случаях, когда маршруты от разных устройств до одной подсети приходят с одинаковой метрикой, оба заносятся в таблицу. Такой случай называют балансировкой или ECMP (Equal-cost multi-path routing).
Если пройтись по нему через traceroute:

То есть меняется next-hop по очереди. Сама тема балансировки заслуживает отдельного внимания, т.к. у балансировки есть несколько стратегий по выбору оптимального пути. Случай, когда балансировка работает по очереди, как в нашем случае — называют Round-Robin.
Посмотрим базу RIP на Router0:

То есть нет никакого запасного маршрута, на случай выхода из строя 192.168.3.2. Теперь переключаю в режим симуляции и смотрю, что произойдет, если отключить на Router0 интерфейс fa0/1:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Видим, что отключился линк на Router0 и Router2. И сразу оба устройства генерируют сообщения:
Router0:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Router1:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Сразу сообщают, что данные маршруты теперь недостижимы. Делают они это, при помощи метрики, которая становится равной 16. Исторически так сложилось, что протокол RIP был рассчитан на работу с 15 транзитными участками. В то время никто не подразумевал, что сеть может быть настолько большой:-). Называется этот механизм Poison Reverse.
Таким образом сосед, получивший такой апдейт должен удалить этот маршрут из таблицы.
Вот, что происходит на Router1:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
И самое интересное, что после этого Router1 отправит Router0 следующее:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
То есть я больше не знаю о 192.168.3.0/24.

На данный момент таблица на Router0 выглядит следующим образом:

То есть знает о своих подсетях и тех, что анонсировал Router1.
Двигаемся дальше:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Видим, что Router1 генерирует пакет с кучей подсетей и отправляет соседям. В том числе там подсеть 10.4.4.0.
И в таблице Router0 теперь:

Замечу, что в таблице она записана с метрикой 2. Потому что данный маршрут направлен не напрямую от соседа, породившего его, а через транзитный маршрутизатор, который добавил 1.
Проверим доступность:

Пинги проходят, а через traceroute видим, что пакет сначала попадает на Router1, а дальше маршрутизируется на Router2.
То есть видно очевидное преимущество динамического протокола маршрутизации над статическими. При падении линка и наличии резервного пути, топология сама перестроилась. На сегодняшний день мало кто использует данный протокол. И на это есть множество причин. Одна из них — это количество транзитных маршрутов. Вдобавок ко всему — это время сходимости. По умолчанию все маршрутизаторы отправляют друг другу апдейты каждые 30 секунд. Если обновление не приходит в течении 180 секунд, маршрут помечается, как Invalid. А как время простоя доходит до 240 секунд, он удаляется. Конечно таймеры можно подкрутить. Но проблема еще в том, что в большой сети, при наличии проблемы где-нибудь по середине, апдейт с одного конца до другого может просто-напросто не дойти. Хотя он доступен. Есть еще одна проблема. RIP хранит только лучший маршрут. Поэтому когда отключился линк, маршрут пропал и резервного пути не было. А значит, пока никто из соседей не проанонсирует подсеть, она будет недоступной. Это очень ощутимо для сетей, в которых простой стоит дорого. В связи с этим были придуманы протоколы, у которых время сходимости выше и есть резервные пути. О них и поговорим. Хочу также отметить, что RIP — протокол не плохой (уж явно лучше, чем использование только статических маршрутов в растущей сети). Поэтому изучение лучше начать с него. Таким образом концепция динамической маршрутизации уляжется лучше. Да что тут говорить, если Cisco сначала убрала RIP из своих экзаменов, а теперь снова включила.

Теперь перейдем к EIGRP. Если RIP уже давно является открытым протоколом, то EIGRP был проприетарным и работал только на устройствах Cisco. Но в 2016 году Cisco решила все же открыть его, оставив авторство за собой. Ссылка на RFC7868.
Cisco называет его гибридным (имея в виду, что он взял что-то от Distance-Vector, а что-то от Link-State). В отличии от RIP он работает более «умно». В том плане, что у него есть резервные маршруты и он «хранит некую топологию сети» (хотя это верно очень частично).
Оперирует он 3-мя таблицами:

1) EIGRP Neighbor Table: Здесь представлены все напрямую соединенные соседи (то есть кто Next-Hop и с какого интерфейса к нему добраться).

2) EIGRP Topology Table: Здесь представлены все изученные маршруты от соседей (с точкой назначения и метрикой)

3) Global Routing Table: Общая для всех таблица и сюда попадают лучшие маршруты из предыдущей таблицы.

Соберем топологию и запустим на ней EIGRP. Попутно буду рассказывать, что происходит, чтобы совместить минимум теории с максимумом практики.
Топологию возьмем ту же, что и с RIP. На ней настроены все IP-адреса, подняты интерфейсы, но не запущен протокол маршрутизации.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Router0#show running-config
Building configuration…

Current configuration: 635 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router0
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.1.1.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.3.1 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router1#show running-config
Building configuration…

Current configuration: 635 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router1
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.2.2.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.4.1 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router2#show running-config
Building configuration…

Current configuration: 635 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router2
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.3.3.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.3.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.4.2 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Сейчас в маршрутных таблицах роутеров только Connected подсети.
Переходим в настройки EIGRP.

Как описал выше, при включении EIGRP, ему присваивается номер AS. И он должен совпадать на всех соседях. В настройках анонса сети теперь добавляется wildcard маска. Если не вдаваться в подробности — это обратная запись маски (т.е. 0.0.0.255 — это 255.255.255.0). И отключение автосуммирования (наследие классовых сетей).

В итоге видим следующую картину:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Посмотрим, что сгенерировал Router0:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Видим кучу полей и попробуем разобраться, что в них. Мы помним, что RIP был не самым надежным вариантом. Он не понимал какой номер пакета, не было механизма отслеживания, подтверждения и прочего. Да и плюс нижестоящий протокол был UDP, который тоже не имеет механизма надежности. EIGRP вообще работает сразу поверх IP (не используя механизмы транспортного уровня). Поэтому все механизмы по отслеживанию ложатся на его поля.
Из важного: появились флаги, SEQ. NUM (номер отправляемого пакета), ACK.NUM (подтверждение на принятый пакет), номер автономной системы (заданный при создании), и параметры K. Вот тут остановлюсь. В RIP метрика считалась тривиально. Пакет пришел, добавляю единицу и передаю дальше. В EIGRP метрика считается исходя из K значений:

1) K1 — bandwidth (или пропускная способность)
2) K2 — load (загруженность)
3) K3 — delay (задержка)
4) K4 — reliability (надежность)
5) K5 — MTU (Maximum Transmission Unit).

Но как правило, при расчете используются только K1 и K3.
Формула таким образом выглядит:
.
Запоминать ее наизусть не надо. Просто важно понимать, как происходит расчет метрики.
Вот, что происходит, когда пакет доходит до Router0:

К сожалению CPT наглухо тормозит от количества пакетов, поэтому покажу, что происходит в непосредственно таблицах Router0 (в остальных будет аналогично. Поэтому покажу на одном). А после подробно покажу процесс установления соседства в режиме дебага между двумя маршрутизаторами:

Из важного. Здесь показан сосед, интерфейс (за которым он находится), hold (таймер, по истечении которого, произойдет разрыв соседства. При получении пакета от соседа, он повышается), uptime (как долго живет соседство), SRTT (время между отправкой и подтверждением), RTO (интервал между отправкой) и номер пакета.

2) Router0#show ip eigrp topology

Тут все просто. Если все хорошо с полученным маршрутом, то он становится Passive. О других полях и их значениях расскажу чуть позже. Сейчас достаточно того, что в данной таблице все хорошо. Из нового — вводится понятие Successor. Successor-ом выбирается тот, у кого наименьшая стоимость до конкретной подсети. Сейчас на каждый маршрут по одному Successor-у и только на маршрут 192.168.4.0 их два. Причем они оба выбраны Successor-ами из за одинаковой метрики (следовательно будет работать балансировка). Теперь обращу внимание на странные числа у каждого Successor-а.
EIGRP при расчете метрики оперирует 2-мя понятиями: Advertised Distance и Feasible Distance. Оба рассчитываются той страшной формулой:

1) Advertised Distance — это анонс стоимости от соседа. То есть сколько стоит от него (соседа) и до точки назначения.
2) Feasible Distance — это стоимость от самого роутера до точки назначения. То есть — это Adverticed Distance + стоимость линка до соседа.

Возьмем для примера запись от маршрута 10.2.2.0:

Число 128256 — это Advertised Distance, а 156160 — это Feasible Distance.
Соответственно, чем меньше Feasible Distance, тем выгоднее маршрут и такой сосед объявляется Successor-ом. После записи о количестве successors, всегда пишется какая FD была выбрана.
На текущий момент он работает приблизительно также, как и RIP. Только почему то метрика стала сложнее и добавилось больше таблиц. Но вот у EIGRP есть несколько фокусов в кармане. Один из них — это Feasible Successor (не путать с Feasible Distance). Это как раз тот самый резервный путь на случай отказа Successor. Сейчас у нас нет резервного пути (например до маршрута 10.2.2.0). Если падает 192.168.1.2, этот маршрут теряется до момента, пока о нем не расскажет другой сосед. Но мы прекрасно знаем, что о нем может рассказать Router2 (пусть и с худшей метрикой). Но EIGRP все же основан на неких правилах, что не позволяет ему так сделать. А правило заключается в следующем:
.
То есть стоимость анонсируемая от Feasible Successor (потенциально backup-роутера) должна быть меньше, чем Feasible Distance Successor (то есть полная стоимость через основного).
Звучит тяжело, но если проще. Взять тот же маршрут 10.2.2.0. Через него FD = 156160. Значит AD от Feasible Successor должна принять любое число меньшее 156160. Причем не важно сколько стоит линк от текущего роутера до соседа (хоть 1000000). Главное, чтобы backup-сосед анонсировал с меньшей метрикой, чем successor. Это правило используется для предотвращения петель.
Чтобы понять, как это работает, внесем изменения в топологию.
Сейчас на Router0 таблица топологии выглядит следующим образом:

Маршрут до 10.2.2.0/24 доступен через 192.168.1.2, что верно, так как Router1 его породил и так добраться быстрее всего. Поэтому Router2 не сможет проанонсировать лучше, так как его AD будет всегда выше.
Теперь переведем скорость интерфейсов между Router0 и Router1 на 10Мбит/с. Таким образом ухудшим канал, и внесем изменения в пересчет топологии.

Таким образом на Router0:

Видим, что до 10.2.2.0 теперь 2 пути, но Successor выбирается тот, у кого FD выгоднее. А выгоднее, через 192.168.3.2 (то есть Router2), так как у него скорость интерфейсов 100Мбит/с, хоть и преодолеть придется 2 хопа. А теперь обратим внимание, почему попали 2 записи в этот маршрут.

А потому что AD у 192.168.1.2 лучше, чем FD у 192.168.3.2 (128256 Router0

Router0#show running-config
Building configuration…

Current configuration: 622 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router0
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.1.1.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router1#show running-config
Building configuration…

Current configuration: 622 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router1
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.2.2.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Vlan1
no ip address
shutdown
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Теперь включаю OSPF для интерфейсов FastEthernet0/0 и Loopback1 обоих роутеров:

Конфигурация простая. Указывается подсеть, wildcard маска и номер зоны. После видим сообщения:

Соседство, судя по сообщению установилось. Но, если обратить внимание, то почему то соседство выбрано между адресами из Loopback интерфейсов. Это на самом деле не адрес, а идентификатор или Router ID. Если в самом процессе он явно не указывается, то выбирается автоматически. Если настроены Loopback интерфейсы, то выбирается наибольший IP-адрес из них. Если Loopback не настроены, то выбирается наибольший IP-адрес из обычного физического интерфейса. У нас Loopback был настроен, а значит он и будет выбран RID.
Так как процессы на обоих роутерах одинаковые, покажу на примере Router0:
Так как соседство установлено, посмотрим список соседей.

Видим 10.2.2.1 (Router1). Статус Full (чуть ниже расскажу и об этом), роль BDR (то есть Router0 выбран DR). Его физический IP-адрес и с какого интерфейса доступен.
Теперь посмотрим на базу данных OSPF:

Подробное ее содержание изучается в курсе CCNP Route, поэтому расскажу вкратце. Есть несколько типов LSA-сообщений. В нашей схеме используются только Type1 (Router) и Type2(Network). Первое генерится каждым маршрутизатором в пределах зоны и дальше зоны не уходит. Второй тип генерируется DR-ом и содержит адрес DR и инфу о всех маршрутизаторах в зоне.
Например, так выглядит Type1 с консоли Router0:

То есть LSA каждого маршрутизатора, в которых он сообщает о своих сетях.

То есть как раз адрес DR (кому отправлять свои LSA и список маршрутизаторов в зоне).
И теперь можно посмотреть на таблицу маршрутизации:

Видим букву O (это значит, что маршрут получен из той же зоны, что и данный маршрутизатор). Можно заметить, что в таблицу записан с маской /32. Это потому что адрес из Loopback интерфейса и обычно такие адреса служат для всяких RID и прочих идентификаторов. Это не подсеть, а значит нет смысла анонсировать с тем же префиксом, что и сам интерфейс. Но такое поведение работает не на всех цисках. Поэтому тут надо быть внимательнее. Рядом видим привычную административную дистанцию (у циски это 110, но можно поменять) и метрику, которая равна 2-ум. Здесь метрика считается проще, чем у EIGRP. Формула:
.
Reference Bandwidth — это некое заданное число (здесь по-умолчанию 100). Оно прошито внутри логики и меняется командой auto-cost reference-bandwidth число в настройках OSPF процесса.
А вот Interface Bandwidth берется ровно такое, какая пропускная способность у интерфейса. На нашем интерфейсе это 100, поэтому метрика = 1. Так как Router1 анонсирует уже с метрикой 1, то накладывая свою стоимость в 1-цу, получаем 2.
OSPF для меня в свое время менялся в сложности понимания. Сначала казалось все легко, включил и все работает. Дальше, когда начинаешь углубляться в структуру LSA и как происходит формирование и расчет, теряешься. А после понимания, он снова становится легким. Его понимание приходит только после практики. Поэтому можете потренироваться на этой топологии. Ссылка на нее.
Пару слов по балансировке. Здесь она строго эквивалентная. Нельзя делать, как в EIGRP. Всего в кандидатах может быть до 16 маршрутов, но в таблицу попадут только 4.
Если предыдущая схема понятна, то двигаемся дальше. Добавим еще один маршрутизатор и соединим их, при помощи коммутатора:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Я взял за основу предыдущую, адреса все те же самые, включен OSPF. На Router2 также включен OSPF и настроены адреса согласно схеме. Теперь смотрим, что произошло со стороны того же Router0. Ввожу команду просмотра соседей:

И вижу нового соседа, но с пометкой DROTHER. Это значит, что маршрутизатор Router2 (новый) не является DR или BDR. Обратите внимание, что DR (Router0) установил Full соседство со всеми соседями.
Ввожу нового игрока на поле — Router3:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Единственное, что у него настроено — это IP-адрес 192.168.1.4/24 на FastEthernet 0/0 и включен OSPF. Он тут для наглядности.
Со стороны Router0:

Так как нет адреса на Loopback интерфейсе и не задан вручную RID, выбран адрес с физического интерфейса. А теперь переходим к Router2 и смотрим на его список соседей:

Видим, что с ним у него не Full отношения, а 2Way. Почему не Full? На этом остановлюсь и расскажу про процесс установления соседства. В хорошо работающей сети процесс соседства происходит настолько быстро, что все состояния вы не успеете увидеть. Я только опишу их, для общего понимания:
1) Down — это самый старт, когда маршрутизатор еще не предпринял попытку соседства и ничего в ответ не получает.
2) Init — маршрутизатор переходит в это состояние после отправки Hello-сообщения, до момента получения ответа.
3) 2-WAY — маршрутизатор переходит в это состояние, если получает ответный Hello и видит внутри него свой RID. Это как раз момент установления соседства. В сетях множественного доступа (типа Ethernet) это состояние конечное между «не DR/BDR» маршрутизаторами. Как раз в этом состоянии осталось соседство между Router2 и Router3.
4) ExStart — это состояние выбора DR/BDR. Маршрутизатор с наилучшим RID берет на себя эту роль. Он начинает первым процесс обновления LSDB у всех соседей.
5) Exсhange — состояние, в котором маршрутизаторы отправляют друг другу состояние своих LSDB.
6) Loading — если маршрутизатор видит, что в присланном сообщении есть подсеть, о которой он не знает, он запрашивает информацию о ней. И вот пока запрашиваемая инфа не дойдет до него, он будет висеть в этом состоянии.
7) Full — конечное состояние. Наступает оно в том случае, когда LSDB между соседями синхронизировано.
Стоит упомянуть, что в OSPF есть таймеры соседства. Нужно для того, чтобы узнать жив ли сосед или пора исключить его. Поэтому каждые 10 секунд маршрутизаторы отсылают друг другу Hello-пакеты, чтобы подтвердить свое существование. Если в течении 40 секунд от соседа ничего не поступало, соседство с ним разрывается.
Посмотреть на таймеры и другие параметры интерфейса, на котором включен OSPF, можно командой show ip ospf interface:

Если интересно, как происходит весь процесс установления соседства, откройте топологию по ссылке. Переключитесь в режим симуляции и перезагрузите один из маршрутизаторов. Все сразу особого смысла нет. Скорее быстрее заглючит CPT, нежели получиться разобраться.

И последнее, что стоит рассмотреть из раздела OSPF — это Multiarea OSPF (или многозонный OSPF).
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Теперь есть 3 маршрутизатора. Router0 находится в нулевой зоне, Router1 в 0-ой и 1-ой зоне и Router2 в 1-ой зоне. Конфигурация проста. Я оставлю ее под спойлерами:

Router0#show running-config
Building configuration…

Current configuration: 734 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router0
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.1.1.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Vlan1
no ip address
shutdown
!
router ospf 1
log-adjacency-changes
network 192.168.1.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.255 area 0
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router1#show running-config
Building configuration…

Current configuration: 693 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router1
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.2.1 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router ospf 1
log-adjacency-changes
network 192.168.1.0 0.0.0.255 area 0
network 192.168.2.0 0.0.0.255 area 1
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Router2#show running-config
Building configuration…

Current configuration: 734 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Router2
!
!
!
!
!
!
!
!
ip cef
no ipv6 cef
!
!
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
!
!
!
!
!
!
interface Loopback1
ip address 10.2.2.1 255.255.255.0
!
interface FastEthernet0/0
ip address 192.168.2.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Vlan1
no ip address
shutdown
!
router ospf 1
log-adjacency-changes
network 192.168.2.0 0.0.0.255 area 1
network 10.2.2.0 0.0.0.255 area 1
!
ip classless
!
ip flow-export version 9
!
!
!
!
!
!
!
line con 0
!
line aux 0
!
line vty 0 4
login
!
!
!
end

Отличие от предыдущих схем только в том, что для Router1 и Router2 добавляется другой номер зоны, при включении.
Если посмотреть таблицу маршрутизации c Router0:

То добавились маршруты OIA (или OSPF inter area). То есть маршрут из другой зоны. Если посмотреть базу:

Здесь появился Summary LSA или Type3. Его генерирует маршрутизатор, который находится на границе двух зон. Такой маршрутизатор называют пограничным или ABR (от англ. Area Border Gateway).
Если посмотреть на него поглубже:

То можно заметить, что анонсирует его 192.168.2.1 (это RID Router1).
Если же посмотреть на таблицу маршрутизации со стороны ABR (т.е. Router1):

То для него все маршруты помечены O. Все потому что он находится в обеих зонах и для него они локальны.
А если посмотреть базу:

То тут их больше. Все потому, что у него представлены эти LSA на каждую зону, а также он генерирует Type3 в обе стороны. Для самостоятельного ознакомления лабу можно скачать по данной ссылке.

Таким образом OSPF можно делить на зоны. То есть маршрутизатор видит соседей в своей зоне и просчитывает лучший путь сам. А вот межзоннные маршруты (Type3) диктует ABR. Поэтому на границу чаще ставят производительные маршрутизаторы. На самом деле EIGRP и OSPF уж очень много всего умеют. И заслуживают отдельных статей. Более подробно они разбираются уже в топиках CCNP. Так что для основ достаточно.
В итоге мы разобрались с маршрутизацией и встает вопрос: что использовать? Однозначного ответа тут нет. Если у вас вся сеть построена на цисках, то можно выбирать EIGRP. Если у вас сеть мультивендорная, то тут однозначно OSPF. Да, циска вроде как открыла стандарт, но относительно старые железки (не циски) не получат поддержку этого протокола, да и не на всех новых его внедрят. Более того, могу сказать, что даже в сетях построенных исключительно на цисках, выбирают OSPF. Аргументируя это тем, что OSPF более гибок в настройке, нежели EIGRP. Да и нельзя быть уверенным, что в какой то момент придется ставить сетевое устройство другого вендора. А значит внедрение такого устройства пройдет безболезненно и без перенастройки всей сети.

Подводя итоги, можно сказать, что это самая долгая статья из всех, что я писал. Все потому, что писал я ее больше 2-х лет. Постоянно что-то стопорило ее написание, а когда садился, то не мог сконцентрироваться и написать больше 2-х предложений. Но теперь она написана и можно спокойно выдохнуть. Ее как раз не хватало для основ компьютерных сетей, ведь предыдущие статьи концентрировались в большинстве на L2 уровне. Столь длительное написание привело к тому, что циска уже меняет программу своего экзамена. А значит некоторые темы, которые я хотел далее осветить, уже не актуальны. Поэтому я уберу из содержания будущие темы и буду выкладывать статьи, исходя из актуальности.

Спасибо всем, кто ждал статью и интересовался.

Как настроить маршрутизацию между двумя сетями

Маршрутизация в WindowsКак настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Маршрутизация – это процесс передачи IP-трафика адресатам в сети, то есть процесс передачи пакетов от хоста-источника к хосту-адресату через промежуточные маршрутизаторы. Изучая эту статью предполагается что вы изучили материал основы компьютерных сетей.

Изучим как работает маршрутизация в Windows, что бы понять как она работает, а не просто прочитать и забыть, вам необходимо несколько виртуальных машин, а именно:

Учтите, что при настройке виртуальных машин, в настройках сети нужно указать «Внутренняя сеть» и задать одинаковое имя сети для всех машин.

Если вы не поленитесь и установите три виртуальные машины, а так же изучите этот материал до конца, то у вас будет практическое понимание работы сети в операционных системах семейства Windows.

Для простоты передачи данных хост-источник и маршрутизатор принимают решения о передаче пакетов на основе своих таблиц IP-маршрутизации. Записи таблицы создаются при помощи:

По сути, таблица маршрутизации – это база данных, которая хранится в памяти всех IP-узлов. Цель таблицы IP-маршрутизации это предоставление IP-адреса назначения для каждого передаваемого пакета для следующего перехода в сети.

Пример маршрутизации в Windows

Допустим, у нас есть три узла:

Хост XP имеет один сетевой адаптер (интерфейс) с IP-адресом 192.168.0.2 и маской подсети 255.255.255.0. Маршрутизатор Server1 имеет два интерфейса с IP-адресами 192.168.0.1 и 192.168.1.1 и масками подсети 255.255.255.0. Маршрутизатор Server2 также имеет 2 сетевых адаптера с IPадресами 192.168.1.2 и 192.168.2.1 и масками подсети 255.255.255.0. Таким образом, мы имеем 3 сети: сеть с IP-адресом 192.168.0.0 (Net 1), сеть с IP-адресом 192.168.1.0 (Net 2), сеть с IP-адресом 192.168.2.0 (Net 3).

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Таблица маршрутизации

Таблица маршрутизации по умолчанию создается на узле автоматически с помощью программного обеспечения стека TCP/IP.

При настройке сетевого подключения на хосте XP были статически заданы IP-адрес 192.168.0.2 и маска подсети 255.255.255.0, основной шлюз задан не был. Программное обеспечение стека TCP/IP автоматически создало таблицу маршрутизации по умолчанию.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Таблица маршрутизации содержит для каждой записи следующие поля: Сетевой адрес (Network Destination), Маска сети (Netmask), Адрес шлюза (Gateway), Интерфейс (Interface) и Метрика (Metric). Разберем каждое поле подробнее.

Сетевой адрес. Поле определяет диапазон IP-адресов достижимых с использованием данной таблицы.

Маска сети. Битовая маска, которая служит для определения значащих разрядов в поле Сетевой адрес. Маска состоит из непрерывных единиц и нулей, отображается в десятичном коде. Поля Сетевой адрес и Маска определяют один или несколько IP-адрес.

Адрес шлюза. В этом поле содержаться IP-адрес, по которому должен быть направлен пакет, если он соответствует данной записи таблицы маршрутизации.

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

Метрика. Используется для выбора маршрута, в случае если имеется несколько записей, которые соответствуют одному адресу назначения с одной и той же маской, то есть в случае если одного адресата можно достичь разными путями, через разные маршруты. При этом, чем меньше значение метрики тем короче маршрут.

На начальном этапе работы (т.е. с таблицами маршрутизации по умолчанию) маршрутизатор (хост) знает только, как достичь сетей, с которыми он соединен непосредственно. Пути в другие сети могут быть «выяснены» следующими способами:

Рассмотрим каждый из способов по порядку.

Статическая маршрутизация

Статические маршруты задаются вручную. Плюс статических маршрутов в том, что они не требуют рассылки широковещательных пакетов с маршрутной информацией, которые занимают полосу пропускания сети.

Минус статических маршрутов состоит в том, что при изменении топологии сети администратор должен вручную изменить все статические маршруты, что довольно трудоемко, в случае если сеть имеет сложную структуру с большим количеством узлов.

Второй минус заключается в том, что при отказе какого-либо канала статический маршрут перестанет работать, даже если будут доступны другие каналы передачи данных, так как для них не задан статический маршрут.

Но вернемся к нашему примеру. Наша задача, имя исходные данные, установить соединения между хостом XP и Server2 который находится в сети Net3, то есть нужно что бы проходил пинг на 192.168.2.1.

Начнем выполнять на хосте XP команды ping постепенно удаляясь от самого хоста. Выполните в Командной строке команды ping для адресов 192.168.0.2, 192.168.0.1, 192.168.1.1.

Мы видим, что команды ping по адресу собственного интерфейса хоста XP и по адресу ближайшего интерфейса соседнего маршрутизатора Server1 выполняются успешно.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Однако при попытке получить ответ от второго интерфейса маршрутизатора Server1 выводится сообщение «Заданный узел недоступен» или «Превышен интервал ожидания для запроса».

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Это связано с тем, что в таблице маршрутизации по умолчанию хоста XP имеются записи о маршруте к хосту 192.168.0.2 и о маршруте к сети 192.168.0.0, к которой относится интерфейс маршрутизатора Server1 с адресом 192.168.0.1. Но в ней нет записей ни о маршруте к узлу 192.168.1.1, ни о маршруте к сети 192.168.1.0.

Добавим в таблицу маршрутизации XP запись о маршруте к сети 192.168.1.0. Для этого введем команду route add с необходимыми параметрами:

route add [адресат] [mask маска] [шлюз] [metric метрика] [if интерфейс]

Параметры команды имеют следующие значения:

Индекс интерфейса можно определить из секции Список интерфейсов (Interface List) выходных данных команды route print.

Теперь, зная индекс физического интерфейса, на хосте добавьте нужный маршрут, выполнив следующую команду:

route add 192.168.1.0 mask 255.255.255.0 192.168.0.1 metric 2 if 0x2

Данная команда сообщает хосту XP о том, что для того, чтобы достичь сети 192.168.1.0 с маской 255.255.255.0, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x2, причем сеть 192.168.1.0 находится на расстоянии двух транзитных участка от хоста XP.

Выполним пинг на 192.168.1.1 и убедимся, что связь есть.

Продолжим пинговать серверы, теперь проверьте отклик от второго маршрутизатора, присоединенного к сети Net2 (Server2). Он имеет IP-адрес 192.168.1.2.

Получаем сообщение «Превышен интервал ожидания запроса». В данном случае это означает что наш хост XP знает как отправлять данные адресату, но он не получает ответа.

Это происходит по тому, что хост Server2 не имеет информации о маршруте до хоста 192.168.0.1 и до сети 192.168.0.0 соответственно, поэтому он не может отправить ответ.

Для этого необходимо выполнить команду route add с соответствующими параметрами, однако сначала необходимо узнать индекс интерфейса с адресом 192.168.1.2.

На Server2 выполним команду route print и посмотрим индекс первого физического интерфейса. Далее, с помощью команды route add добавьте на Server2 маршрут до сети Net1, аналогично тому, как мы добавляли маршрут хосту XP.
В моем случае это команда:

route add 192.168.0.0 mask 255.255.255.0 192.168.1.1 metric 2 if 0x10003

0x10003 — это индекс физического интерфейса сервера 2.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Индекс физического интерфейса может быть разным, обязательно обращайте на него внимание.

После того, как удостоверитесь в наличии связи между узлами XP и Server2, выполните команду ping 192.168.2.1, т.е. проверьте наличие маршрута узла XP до сети Net3 (192.168.2.1 – IP-адрес маршрутизатора Server2 в сети Net3).

Вместо ответа вы получите сообщение «Заданный узел недоступен». С этой проблемой мы сталкивались еще в самом начале лабораторной работы, машина XP не знает путей до сети 192.168.2.0.

Добавьте в таблицу маршрутизации хоста XP запись о маршруте к сети 192.168.2.0. Это можно сделать путем ввода в командной строке хоста XP команды route add с соответствующими параметрами:

route add 192.168.2.0 mask 255.255.255.0 192.168.0.1 metric 3 if 0x2

Я не буду подробно описывать как полностью настроить статическую маршрутизацию между узлами, думаю что суть ясна. Если у вас появились вопросы — задавайте их в комментариях.

Маршрутизация по умолчанию

Второй способ настройки маршрутизации в Windows — то маршрутизация по умолчанию.

Для маршрутизации по умолчанию необходимо задать на всех узлах сети маршруты по умолчанию.

Для добавления такого маршрута на хосте XP выполните следующую команду:

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 0x10003

Это так называемый маршрут по умолчанию.

Проверьте работоспособность с помощью команды ping.

Динамическая маршрутизация, протокол RIP

Протокол RIP (Routing Information Protocol или Протокол передачи маршрутной информации) является одним из самых распространенных протоколов динамической маршрутизации.

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

Есть две версии протокола RIP. Версия 1 не поддерживает маски, поэтому между сетями распространяется только информация о сетях и расстояниях до них. При этом для корректной работы RIP на всех интерфейсах всех маршрутизаторов составной сети должна быть задана одна и та же маска.

Протокол RIP полностью поддерживается только серверной операционной системой, тогда как клиентская операционная система (например, Windows XP) поддерживает только прием маршрутной информации от других маршрутизаторов сети, а сама передавать маршрутную информацию не может.

Настраивать RIP можно двумя способами:

Рассмотрим настройку в режиме командной строки с помощью утилиты netsh.

Netsh – это утилита командной строки и средство выполнения сценариев для сетевых компонентов операционных систем семейства Windows (начиная с Windows 2000).

Введите в командной строке команду netsh, после появления netsh> введите знак вопроса и нажмите Enter, появиться справка по команде.

Введите последовательно команды:

Вы увидите, что среди доступных команд этого контекста есть команда add interface, позволяющая настроить RIP на заданном интерфейсе. Простейший вариант этой команды – add interface «Имя интерфейса».

Настроим RIP на Server1. Но сначала нужно выключит брандмауэр.

Теперь в оснастке «Маршрутизация и удаленный доступ» в контекстном меню пункта SERVER1 (локально) выберите пункт «Настроить и включить Маршрутизация ЛВСКак настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямимаршрутизацию и удаленный доступ».

В появившемся окне мастера нажмите «Далее».
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

На следующем этапе выберите «Особая конфигурация» и нажмите «Далее».
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

После чего нужно выбрать «Маршрутизация ЛВС» и завершить работу мастера.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

То же самое нужно выполнить на Server2.

Настройка через оснастку

В контекстном меню вкладки «Общие» (SERVER1 –> IP-маршрутизация –> Общие) нужно выбрать пункт «Новый протокол маршрутизации».

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Затем выделяем строку «RIP версии 2 для IP».
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
В контекстном меню появившейся вкладки «RIP» выберите «Новый интерфейс». Выделите строку «Подключение по локальной сети» и нажмите ОК.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
Перед вами появиться окно.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

В появившемся окне необходимо задать следующие настройки:

Оставьте оставшиеся настройки по умолчанию и нажмите ОК.

Далее необходимо выполнить эти действия для второго сетевого интерфейса.

После выполните те же действия для Sever2.

Проверьте, с помощью команды ping, работу сети.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Поздравляю! Маршрутизация в Windows изучена.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.

5 комментариев к записи “ Маршрутизация в Windows: основы ”

Начнем выполнять на хосте XP команды ping постепенно удаляясь от самого хоста. Выполните в Командной строке команды ping для адресов 192.168.0.2, 192.168.0.1, 192.168.1.1.

Но после этого идут скриншоты 192.168.0.2, 192.168.1.1, 192.168.1.2

Вы правы, скриншоты не те. Нужно выполнять по тексту. Сейчас пока времени нет, но постараюсь сделать и заменить скриншоты.

И ещё дополнение. На дворе 2022 год. А у вас в примерах Win XP. Интересно было бы рассмотреть пример на основе Win10.

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 0x10003

Эта команда сообщает хосту XP о том, что для того, чтобы достичь любой сети, маршрут к которой отсутствует в таблице маршрутизации, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x10003.
===========================================
а должен быть интерфейс с индексом 0x2 для хоста XP

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 2 if 0x10003
========================================
Эта команда сообщает хосту Server2 о том, что для того, чтобы достичь любой сети, маршрут к которой отсутствует в таблице маршрутизации, необходимо использовать шлюз 192.168.1.1 и интерфейс с индексом 0x10003.

Сети для самых маленьких. Часть шестая. Динамическая маршрутизация

Сеть “Лифт ми Ап” вместе со своим штатом разрастается вдоль и поперёк. Обслуживание ИТ-инфраструктуры вынесли в отдельную специально созданную организацию “Линк ми Ап”.
Буквально на днях были куплены ещё четыре филиала в различных городах и инвесторы открыли для себя новые измерения движения лифтов. А сеть выросла с четырёх маршрутизаторов сразу до десяти. При этом количество подсетей теперь увеличилось с 9 до 20, не считая линков точка-точка между маршрутизаторами. И тут во весь рост встаёт управления всем этим хозяйством. Согласитесь, добавлять на каждом из узлов маршруты во все сети вручную — мало удовольствия.
Ситуация усложняется тем, что сеть в Калининграде уже имеет свою адресацию и на ней запущен протокол динамической маршрутизации EIGRP.
Итак, сегодня:
— Разбираемся с теорией протоколов динамической маршрутизации.
— Внедряем в сеть “Лифт ми Ап” протокол OSPF
— Настраиваем передачу (редистрибуцию) маршрутов между OSPF и EIGRP
— В этом выпуске мы добавляем раздел “Задачи”. Идентифицировать по ходу статьи их будут такие пиктограммы:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Уровень сложности будет разный. Ко всем задачам будут ответы, которые можно посмотреть на сайте цикла. В некоторых из них вам понадобится подумать, в других почитать документацию, в третьих разобраться в топологии и, может, даже смотреть отладочную информацию. Если задача нереализуема в РТ, мы сделаем специальную пометку об этом.

Теория протоколов динамической маршрутизации

Для начала разберемся с понятием “динамическая маршрутизация”. До сего момента мы использовали так называемую статическую маршрутизацию, то есть прописывали руками таблицу маршрутизации на каждом роутере. Использование протоколов маршрутизации позволяет нам избежать этого нудного однообразного процесса и ошибок, связанных с человеческим фактором. Как понятно из названия, эти протоколы призваны строить таблицы маршрутизации сами, автоматически, исходя из текущей конфигурации сети. В общем, вещь нужная, особенно когда ваша сеть это не 3 роутера, а 30, например.
Помимо удобства есть и другие аспекты. Например, отказоустойчивость. Имея сеть со статической маршрутизацией, вам крайне сложно будет организовать резервные каналы — некому отслеживать доступность того или иного сегмента.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Например, если в такой сети разорвать линк между R2 и R3, то пакеты с R1 будут уходить по прежнему на R2, где будут уничтожены, потому что их некуда отправить.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Протоколы динамической маршрутизации в течение нескольких секунд (а то и миллисекунд) узнают о проблемах на сети и перестраивают свои таблицы маршрутизации и в вышеописанном случае пакеты будут отправляться уже по актуальному маршруту

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

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

Ну и внедрение динамической маршрутизации сильно облегчает масштабирование сети. Когда вы добавляете новый элемент в сеть или подсеть на существующем маршрутизаторе, вам нужно выполнить всего несколько действий, чтобы всё заработало и вероятность ошибки минимальна, при этом информация об изменениях мгновенно расходится по всем устройствам. Ровно то же самое можно сказать и о глобальных изменениях топологии.

Все протоколы маршрутизации можно разделить на две большие группы: внешние (EGP — Exterior Gateway Protocol) и внутренние (IGP — Interior Gateway Protocol). Чтобы объяснить различия между ними, нам потребуется термин “автономная система”. В общем смысле, автономной системой (доменом маршрутизации) называется группа роутеров, находящихся под общим управлением.
В случае нашей обновлённой сети AS будет такой:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Так вот, протоколы внутренней маршрутизации используются внутри автономной системы, а внешние — для соединения автономных систем между собой. В свою очередь, внутренние протоколы маршрутизации подразделяются на Distance-Vector (RIP, EIGRP) и Link State (OSPF, IS-IS). В этой статье мы не будем пинать трупы затрагивать протоколы RIP и IGRP в силу их почтенного возраста, а так же IS-IS в силу его отсутствия в ПТ.

Коренные различия между этими двумя видами состоят в следующем:
1) типе информации, которой обмениваются роутеры: таблицы маршрутизации у Distance-Vector и таблицы топологии у Link State,
2) процессе выбора лучшего маршрута,
3) количестве информации о сети, которое “держит в голове” каждый роутер: Distance-Vector знает только своих соседей, Link State имеет представление обо всей сети.

Как мы видим, количество протоколов маршрутизации невелико, но все же не один-два. А что будет, если на роутере запустить несколько протоколов одновременно? Может оказаться, что у каждого протокола будет свое мнение о том, как лучше добраться до определенной сети. А если у нас еще и статические маршруты настроены? Кому роутер отдаст предпочтение и чей маршрут добавит в таблицу маршрутизации? Ответ на этот вопрос связан с новым термином: административная дистанция (на нащ вкус, довольно посредственная калька с английского Аdministrative distance, но лучше выдумать не смогли). Аdministrative distance это целое число от 0 до 255, выражающее “меру доверия” роутера к данному маршруту. Чем меньше AD, тем больше доверия. Вот табличка такого доверия с точки зрения Cisco:

ПротоколАдминистративная дистанция
Connected interface0
Static route1
Enhanced Interior Gateway Routing Protocol (EIGRP) summary route5
External Border Gateway Protocol (BGP)20
Internal EIGRP90
IGRP100
OSPF110
Intermediate System-to-Intermediate System (IS-IS)115
Routing Information Protocol (RIP)120
Exterior Gateway Protocol (EGP)140
On Demand Routing (ODR)160
External EIGRP170
Internal BGP200
Unknown255

В сегодняшней статье мы разберём OSPF и EIGRP. Первый вам будет встречаться везде и постоянно, а второй очень хорош в сетях, где присутствует только оборудование Cisco.
У каждого из них есть свои достоинства и недостатки. Можно сказать, что EIGRP выигрывает перед OSPF, но все плюсы нивелируются его проприетарностью. EIGRP — фирменный протокол Cisco и больше никто его не поддерживает.
На самом деле у EIGRP много недостатков, но об этом не особо распространяются в популярных статьях. Вот только одна из проблем: SIA

Статей и видео о том, как настроить OSPF горы. Гораздо меньше описаний принципов работы. Вообще, тут такое дело, что OSPF можно просто настроить согласно мануалам, даже не зная про алгоритмы SPF и непонятные LSA. И всё будет работать и даже, скорее всего, прекрасно работать — на то он и рассчитан. То есть тут не как с вланами, где приходилось знать теорию вплоть до формата заголовка.
Но инженера от эникейщика отличает то, что он понимает, почему его сеть функционирует так, а не иначе, и не хуже самогo OSPF знает, какой маршрут будет выбран протоколом.
В рамках статьи, которая уже на этот момент составляет 8 000 символов, мы не сможем погрузиться в глубины теории, но рассмотрим принципиальные моменты.
Очень просто и понятно, кстати, написано про OSPF на xgu.ru или в английской википедии.
Итак, OSPFv2 работает поверх IP, а конкретно, он заточен только под IPv4 (OSPFv3 не зависит от протоколов 3-го уровня и потому может работать с IPv6).

Рассмотрим его работу на примере вот такой упрощённой сети:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Для начала надо сказать, что для того, чтобы между маршрутизаторами завязалась дружба (отношения смежности) должны выполниться следующие условия:

1) в OSPF должны быть настроены одинаковые Hello Interval на тех маршрутизаторах, что подключены друг к другу. По умолчанию это 10 секунд в Broadcast сетях, типа Ethernet. Это своего рода KeepAlive сообщения. То есть каждые 10 секунд каждый маршрутизатор отправляет Hello пакет своему соседу, чтобы сказать: “Хей, я жив”,
2) Одинаковыми должны быть и Dead Interval на них. Обычно это 4 интервала Hello — 40 секунд. Если в течение этого времени от соседа не получено Hello, то он считается недоступным и начинается ПАНИКА процесс перестроения локальной базы данных и рассылка обновлений всем соседям,
3) Интерфейсы, подключенные друг к другу, должны быть в одной подсети,
4) OSPF позволяет снизить нагрузку на CPU маршрутизаторов, разделив Автономную Систему на зоны. Так вот номера зон тоже должны совпадать,
5) У каждого маршрутизатора, участвующего в процессе OSPF есть свой уникальный индентификатор — Router ID. Если вы о нём не позаботитесь, то маршрутизатор выберет его автоматически на основе информации о подключенных интерфейсах (выбирается высший адрес из интерфейсов, активных на момент запуска процесса OSPF). Но опять же у хорошего инженера всё под контролем, поэтому обычно создаётся Loopback интерфейс, которому присваивается адрес с маской /32 и именно он назначается Router ID. Это бывает удобно при обслуживании и траблшутинге.
6) Должен совпадать размер MTU

Далее пьеса в восьми частях.

1) Штиль. Состояние OSPF — DOWN
В это короткое мгновение в сети ничего не происходит — все молчат.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

2) Поднимается ветер: маршрутизатор рассылает Hello-пакеты на мультикастный адрес 224.0.0.5 со всех интерфейсов, где запущен OSPF. TTL таких сообщений равен одному, поэтому их получат только маршрутизаторы, находящиеся в том же сегменте сети. R1 переходит в состояние INIT.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

И отправляет на R1 уже юникастом новое сообщение Hello, где содержится Router ID этого маршрутизатора, а в списке Neigbors перечислены все его соседи. В числе прочих соседей в этом списке есть Router ID R1, то есть R2 уже считает его соседом.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

3) Дружба. Когда R1 получает это сообщение Hello от R2, он пролистывает список соседей и находит в нём свой собственный Router ID, он добавляет R2 в свой список соседей.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Теперь R1 и R2 друг у друга во взаимных соседях — это означает, что между ними установлены отношения смежности и маршрутизатор R1 переходит в состояние TWO WAY.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Далее происходит выбор DR и BDR, но мы не будем на этом останавливаться, хоть это и довольно важные вещи.

4) Затишье перед бурей. Далее все переходят в состояние EXSTART. Здесь все соседи решают между собой, кто босс. Им становится маршрутизатор с наибольшим Router ID — R2.

5) Когда выбран Батька, соседи переходят в состояние Exchange и обмениваются DBD-сообщениями (или DD) — Data Base Description, которые содержат описание LSDB (Link State Data Base), мол, я знаю про вот такие подсети.
Тут надо пояснить, что такое LSDB. Если перевести на русский дословно: база данных о состоянии линков. В изначальном состоянии маршрутизатор знает только о тех линках (интерфейсах), на которых запущен процесс OSPF. По ходу пьесы, каждый маршрутизатор собирает всю информацию о сети и составляет топологию. Именно она и будет являться LSDB, которая должна быть одинакова на всех членах зоны.
Первым отсылает свою DBD маршрутизатор, выбранный главным на данном интерфейсе — 2.2.2.2. Следом за ним то же делает и 1.1.1.1.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

6) Получив сообщение, маршрутизаторы R1 и R2 отправляют подтверждение о приёме DBD (LSAck), а затем сравнивают новую информацию с той, что содержится у них в LSDB и, если есть отличия, посылают LSR (Link State Request) друг другу, тем самым переходя в новое состояние LOADING. В LSR они говорят — “Я про вот эту сеть ничего не знаю. Расскажи мне подробнее”.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

7) R2, получив LSR от R1, высылает LSU (Link State Update), которые содержат в себе LSA (Link State Advertisement) c детальной информацией о нужных подсетях.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

И вот, как только R1 получит последнюю порцию данных о всех подсетях и сформирует свою LSDB, он переходит в своё конечное состояние FULL STATE.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

К тому моменту, как все маршрутизаторы зоны придут к состоянию Full State на всех на них должна быть полностью одинаковая LSDB — они же одну и ту же сеть изучали. То есть фактически это означает, что маршрутизатор знает всю вашу сеть, что, как и куда подключено.

8) Итак, сейчас у нас все маршрутизаторы знают всё о сети, но это знание не помогает в маршрутизации.
Следующим шагом OSPF, используя алгоритм Дейкстры (или его ещё называют SPF — Shortest Path First), вычисляет кратчайший маршрут до каждого маршрутизатора в зоне — он ведь знает всю топологию. В этом ему помогают метрики. Чем она ниже, тем маршрут лучше. Метрика — это стоимость движения по маршруту.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Например, в такой сети из R1 в R3 можно добраться напрямую или через R2.

Естественно первый вариант будет стоить меньше. Но это при условии, что у вас везде одинаковый тип интерфейсов. А если, например, между R1 и R3 у вас модемное соединение в 56к или крайне нестабильный GPRS линк? Тогда у них будет очень высокая стоимость и OSPF предпочтёт более длинный, но быстрый путь.
Найденный путь потом добавляется в таблицу маршрутизации.

Теперь каждые 10 секунд каждый маршрутизатор будет отправлять Hello-пакеты, а каждые 30 минут рассылаются LSA — это типа данные уже считаются устаревшими, надо бы обновить, даже если изменений не было.

В идеальном мире на этом бы и установилось равновесие. Но мы живём в мире жестоком и равнодушном, где инженер — это итшник, а то и компьютерщик вообще, а лифты научились ездить вниз всего три выпуска назад И в этом будничном мире кипят страсти: рвут оптику, вырубают питание, мыши перегрызают ножки процессоров (или это не в этом мире?) — иными словами, топология непрестанно меняется. И чем больше сеть, тем чаще и глобальнее изменения.

Разумеется, было бы несколько странно ждать 40 секунд (Dead Interval) и только потом начинать перестраивать таблицу. Это было бы простительно ещё RIP’у, но не протоколу, который используется в огромном количестве современных сетей. Итак, как только падает какой-либо из линков (или несколько), маршрутизатор изменяет свою LSDB и генерирурет LSU, присваивая ей номер больше, чем он был прежде (у каждой LSDB есть номер, который берётся из последнего полученного LSA).

Это LSU сообщение рассылается на мультикастовый адрес 224.0.0.5. Маршрутизаторы получившие его, проверяют номер LSA, содержащихся в LSU.
1) Если номер больше, чем номер текущей LSA маршрутизатора — LSDB меняется. (Версия LSDB старая, информация новая),
2) Если номер такой же, ничего не происходит. Этот маршрутизатор уже получил данный LSA по какому-то другому пути,
3) Если номер полученного LSA меньше локальной LSDB, это означает, что у маршрутизатора уже более актуальная информация, и он посылает новый LSA (на основе своей LSDB) отправителю прежнего.

После произведённых (или непроизведённых) действий соседу, от которого пришёл LSU пересылаются LSAck (мол, «посылку получили — всё в порядке»), а другим соседям отправляется изначальный LSU без изменений. На данном маршрутизаторе снова запускается алгоритм SPF и, при необходимости, обновляется таблица маршрутизации.

В общем, всё это происходит в целях поддержания актуальности информации на всех устройствах — LSDB должна быть одинаковой у всех.

Тут надо оговориться, что маршрутизатор замечает изменения только при прямом подключении к своему соседу. Если между ними будет, например, коммутатор, то устройство не обнаружит падения физического интерфейса и ничего не будет делать. Для таких ситуаций есть два решения.
1) Настроить таймеры. Для OSPF их можно уменьшить до уровня мс.
2) Использовать очень крутой протокол BFD (Bidirectional Forwarding Detection). Он позволяет отслеживать состояние линков также на миллисекундном уровне. В конфигурации BFD связывается с другими протоколами и позволяет очень быстро сообщить кому надо, что есть проблемы на сети. Конкретно с BFD мы будем разбираться в другой части.

Как вы заметили, на все сообщения есть подтверждения: либо это LSAck, либо ответ Hello на Hello. Это плата за отказ от TCP — как-то ведь надо убеждаться в успешной доставке.

Всего существует 7 типов LSA, которые очень завязаны на зоны, коих тоже 5 штук. Маршрутизаторы тоже бывают четырёх типов. А так же есть понятия Designated Router (DR) и Backup DR (BDR), ABR и ASBR. Есть формулы расчёт метрик и прочее, прочее. Оставляем это на самостоятельное изучение.

Практика OSPF

Помните, как мы мучились, настраивая маршрутизацию в прошлый раз: на каждом устройстве до каждой сети и не дай бог что-нибудь забыть. Теперь это в прошлом — да здравствуют IGP!
Не будем терять время, объясняя отдельно команды, а сразу окунёмся в удивительный мир конфигурации.
Такс, имеет место сейчас следующая логическая схема:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Пока нас интересует вот это большое Сибирское кольцо через Красноярск, Хабаровск и Владивосток. Здесь и на нашей уже построенной сети мы запустим OSPF. Там, где прежде была статика, нам придётся от неё отказаться и плавно перейти на динамические протоколы.
Предположим, что Красноярск у нас так же подключен через «Балаган телеком», как и предыдущие точки, а далее через разных провайдеров нам организованы линки к другим городам. Кольцо замыкается в Москве через провайдера “Филькин сертификат”. Предположим, что везде между городами у нас куплен L2-VPN и IP-трафик ходит прозрачно.

Что внедрение IGP даст конкретно нашей сети?
1) Простоту конфигурации, разумеется. На каждом узле нужно знать только локальные сети, вопросом их распространения озадачится OSPF.
2) Избыточные линки, которые обеспечат нам резервирование каналов связи. Если, например, бомжи срежут оптику между Москвой и Красноярском, ни один филиал не останется без связи: весь трафик пойдёт через Владивосток

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

3) Автоматическое обнаружение проблем, перестроение топологии и изменение таблицы маршрутизации. Именно это обеспечивает возможность выполнения пункта 2.
4) Нет опасности создать петлю маршрутизации, когда пакет у нас будет метаться между двумя узлами, пока TTL не истечёт. При статической настройке такая ситуация более, чем возможна.
5) Удобство расширения. Представьте, что вам нужно добавить новый филиал, например в Томске и подключать его будете через Кемерово. Тогда статические маршруты вам придётся прописывать в Москве, Кемерово и в самом Томске. При использовании динамики вы настраиваете только новый маршрутизатор… и всё.

IP-план подсетей филиалов и линков Point-to-Point мы уже подготовили Предположим, что и все начальные настройки тоже выполнили на всех узлах:
— hostname
— параметры безопасности (пароли на телнет, ssh)
— IP-адреса линковых интерфейсов
— IP адреса подсетей LAN
— IP-адреса Loopback-интерфейсов.

Мы тут вводим новое понятие Loopback-интерфейса. Он будет сконфигурирован на каждом маршрутизаторе. Для этого выделена специальная подсеть 172.16.255.0/24. Нужно оно нам сейчас для OSPF, а в будущем может понадобиться для BGP, MPLS.
Положа руку на сердце, сам долгое время не понимал значения этих интерфейсов. Вообще говоря, это виртуальный интерфейс, состояние которого всегда UP, независимо от состояния физических интерфейсов (если только на нём самом shutdown не выполнили). Попытаемся объяснить одну из его ролей:
Вот, к примеру, есть у вас сервер мониторинга Nagios. В нём вы завели для наблюдения маршрутизатор R1 и для связи с ним использовали адрес интерфейса FE0/0 — 10.1.0.1.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

На первый взгляд все прекрасно — всё работает. Но предположим теперь, что этот кабель порвали.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Благодаря динамической маршрутизации, связь до роутера А не нарушится, и он будет доступен через FE0/1. А в Nagios’е у вас будет авария, всё будет красное, повалятся смс и почта. При падении линка, IP-адрес этого интерфейса становится недоступен.
А вот если вы настроите в Nagios’е адрес Loopback-интерфейса, то тем или иным путём он всегда будет доступен, опять же благодаря динамической маршрутизации.

В качестве маски IP-адреса Loopback-интерфейса практически всегда выбирается /32, то есть 11111111.11111111.11111111.1111111 — один единственный адрес — а больше и не надо.

Поскольку все приготовления уже закончились, перед нами стоит очень простая задача: пройтись по всем маршрутизаторам и активировать процесс OSPF.

1) Первое, что нам нужно сделать — запустить процесс OSPF маршрутизаторе:

Первым словом указываем, что запускаем протокол динамической маршрутизации, далее указываем какой именно и в последнюю очередь номер процесса (теоретически их может быть несколько на одном роутере).

Сразу после этого автоматически назначается router ID. По умолчанию это наибольший адрес Loopbaсk-интерфейсов.

2) Не оставляем это дело на самотёк. Главное правило: Router ID обязан быть уникальным. Нет, вы, конечно, можете их сделать и одинаковыми, но в этом случае у вас начнутся странности.

Одна из моих заявок была такой: на оборудовании заканчиваются метки LDP. Из 8 с гаком тысяч осталась только одна свободная. Никакие новые VPN не создавались и не работали. Разбирались, разбирались и в итоге увидели что процесс OSPF создаёт и удаляет тысячи записей в минуту в таблице маршрутизации. Топология постоянно перестраивается и на каждое такое перестроение выделяются новые метки LDP, после чего не освобождаются. А всё дело в случайно настроенных одинаковых Router ID.

Настраивать его можно, в принципе, как угодно, можно даже не настраивать, маршрутизатор назначит его сам, но для порядку мы это сделаем — в будущем обслуживать будет проще. Назначаем его в соответствии с адресом Loopback-интерфейса.

3) Теперь мы объявляем, какие сети мы будем анонсировать (передавать соседям OSPF). Обратите внимание, что в этой команде используется wildcard- маска, как в ACL

msk-arbat-gw1(config-router)#network 172.16.0.0 0.0.255.255 area 0

Тут остановимся подробно. Командой network мы задаём не ту сеть, что будет вещать наш маршрутизатор, мы определяем интерфейсы, участвующие в процессе.
Все интерфейсы маршрутизатора, IP адреса которых попадают в настроенный диапазон 172.16.0.0 0.0.255.255 (172.16.0.0-172.16.255.255), включатся в процесс.
Это означает следующее:
а) с данных интерфейсов будут рассылаться Hello-сообщения, через них будут устанавливаться отношения соседства и отправляться обновления о топологии сети.
б) OSPF изучает подсети данных интерфейсов и именно их будет аносировать и следить за их состоянием. То есть не 172.16.0.0 0.0.255.255, как мы настроили, а те, что удовлетворяют этому диапазону
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

В нашем случае не имеет значения как мы настроим:

msk-arbat-gw1(config-router)#network 172.16.0.0 0.0.255.255 area 0

msk-arbat-gw1(config-router)#network 172.16.0.0 0.0.15.255 area 0

msk-arbat-gw1(config-router)#network 172.16.0.0 0.0.255.255 area 0
msk-arbat-gw1(config-router)#network 172.16.1.0 0.0.255.255 area 0
msk-arbat-gw1(config-router)#network 172.16.2.0 0.0.255.255 area 0
……
msk-arbat-gw1(config-router)#network 172.16.15.0 0.0.255.255 area 0

Все эти команды сработают одинаково в нашем случае.
Поскольку у нас все локальные сети имеют адреса из сети 172.16.0.0/16, то мы будем использовать наиболее общую запись. При этом туда, разумеется, не попадёт внешний интерфейс в интернет FastEthernet0/1.6, потому что его адрес — 198.51.100.2 — не из этого диапазона.
При такой настройке любой новый интерфейс, на котором вы укажете адрес из диапазона 172.16.0.0 — 172.16.255.255, автоматически становится участником процесса OSPF. Плохо это или хорошо, зависит от ваших желаний.
area 0 означает принадлежность данных подсетей зоне с номером ноль (в наших примерах только такая и будет).

Area 0 это не простая зона- это так называемая Backbone-area. Это означает, что она объединяет все остальные зоны, т.е. пакет, идущий от любой ненулевой зоны в любую ненулевую, обязан проходить через area 0

Как только вы задали команду network с правильных интерфейсов слетают слова приветствия, но отвечать на них пока некому — соседей нет:

kmr-gorka-gw1(config)#router OSPF 1
kmr-gorka-gw1(config-router)#router-id 172.16.255.48
kmr-gorka-gw1(config-router)#network 172.16.0.0 0.0.255.255 area 0

02:27:33: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.255.1 on FastEthernet0/0.5 from LOADING to FULL, Loading Done

02:27:33: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.255.48 on FastEthernet0/1.5 from LOADING to FULL, Loading Done.

Здесь вы можете видеть, что были успешно установлены отношения смежности и произошёл обмен LSA. Каждый маршрутизатор построил свою LSDB.

Подробная информация по соседу:

msk-arbat-gw1#sh ip OSPF neighbor detail
Neighbor 172.16.255.48, interface address 172.16.2.18
In the area 0 via interface FastEthernet0/1.5
Neighbor priority is 1, State is FULL, 4 state changes
DR is 172.16.2.17 BDR is 172.16.2.18
Options is 0x00
Dead timer due in 00:00:38
Neighbor is up for 00:02:51
Index 1/1, retransmission queue length 0, number of retransmission 0
First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
Last retransmission scan length is 0, maximum is 0
Last retransmission scan time is 0 msec, maximum is 0 msec

Тут вся ключевая информация о состоянии соседа:
Его router-id (172.16.255.48), который суть loopback, адрес интерфейса удалённой стороны, через который установлено соседство (172.16.2.18), тип и номер физического интерфейса (FastEthernet0/1.5), текущий статус (FULL) и Dead timer. Последний не доходит до нуля, если вы за ним понаблюдаете. Его значение уменьшается, уменьшается, а потом Оп! и снова 40. Это потому что каждые 10 секунд маршрутизаторы получают сообщения Hello и обсороколяют обнуляют Dead-интервал.

Командой show ip route мы можем посмотреть, как изменилась таблица маршрутизации:

msk-arbat-gw1#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 198.51.100.1 to network 0.0.0.0

172.16.0.0/16 is variably subnetted, 17 subnets, 5 masks
C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
S 172.16.2.4/30 [1/0] via 172.16.2.2
C 172.16.2.16/30 is directly connected, FastEthernet0/1.5
C 172.16.2.32/30 is directly connected, FastEthernet0/1.7
C 172.16.2.128/30 is directly connected, FastEthernet0/1.8
C 172.16.2.196/30 is directly connected, FastEthernet1/0.911
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104
S 172.16.16.0/21 [1/0] via 172.16.2.2
S 172.16.24.0/22 [1/0] via 172.16.2.18
O 172.16.24.0/24 [110/2] via 172.16.2.18, 00:13:03, FastEthernet0/1.5
C 172.16.255.1/32 is directly connected, Loopback0
O 172.16.255.48/32 [110/2] via 172.16.2.18, 00:13:03, FastEthernet0/1.5
198.51.100.0/28 is subnetted, 1 subnets
C 198.51.100.0 is directly connected, FastEthernet0/1.6
S* 0.0.0.0/0 [1/0] via 198.51.100.1

interface FastEthernet0/0.2
ip address 172.16.24.1 255.255.255.0

Gateway of last resort is 172.16.2.17 to network 0.0.0.0

172.16.0.0/16 is variably subnetted, 14 subnets, 3 masks
O 172.16.0.0/24 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.1.0/24 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.2.0/30 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5

C 172.16.2.16/30 is directly connected, FastEthernet0/0.5
O 172.16.2.32/30 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.2.128/30 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.2.196/30 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.3.0/24 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.4.0/24 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.5.0/24 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
O 172.16.6.0/24 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5

C 172.16.24.0/24 is directly connected, FastEthernet0/0.2
O 172.16.255.1/32 [110/2] via 172.16.2.17, 00:32:42, FastEthernet0/0.5
C 172.16.255.48/32 is directly connected, Loopback0
S* 0.0.0.0/0 [1/0] via 172.16.2.17

Первая цифра — это административная дистанция, которая у OSPF значительно больше, чем у статики и, соответственно, приоритет ниже.

На самом деле до подсети 172.16.24.0/24 трафик уже пошёл по маршруту предоставленному OSPF, потому что у него более узкая маска (24 против 22).
Но попробуем удалить статические маршруты и посмотрим, что получится.

Совершенно предсказуемо всё работает:

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.24.1, timeout is 2 seconds:
.
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/10/15 ms

spb-vsl-gw1(config)#router OSPF 1
spb-vsl-gw1(config-router)#router-id 172.16.255.32
spb-vsl-gw1(config-router)#network 172.16.0.0 0.0.255.255 area 0

Настройки, как видите, везде предельно простые. При этом замечу, что номер процесса OSFP на разных маршрутизаторах не обязательно должен быть одинаковым, но лучше, если это будет так.

На msk-arbat-gw1 у нас теперь два соседа

Neighbor ID Pri State Dead Time Address Interface
172.16.255.32 1 FULL/DROTHER 00:00:39 172.16.2.2 FastEthernet0/1.4
172.16.255.48 1 FULL/DROTHER 00:00:31 172.16.2.18 FastEthernet0/1.5

Neighbor ID Pri State Dead Time Address Interface
172.16.255.1 1 FULL/DR 00:00:34 172.16.2.1 FastEthernet1/0.4

Дело в том, что отношения смежности устанавливаются только между непосредственно подключенными устройствами, а spb-vsl-gw1 коммуницирует с kmr-gorka-gw1 через msk-arbat-gw1, поэтому их нет в соседях друг у друга.

Последний оплот консерватизма — spb-ozerki-gw1 сдастся вам без особых проблем, как и три маршрутизатора Сибирского кольца. Делается всё по аналогии — по сути меняется только Router ID. И не забудьте удалить статические маршруты.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиЗадача №1
Между маршрутизаторами в Питере надо уменьшить время обнаружения пропажи соседа. Маршрутизаторы должны отправлять сообщения Hello каждые 3 секунды, и считать друг друга недоступными, если 12 секунд не было сообщение Hello от соседа.
Ответ

Общий совет по всем задачам:

Даже если Вы сразу не знаете ответа и решения, постарайтесь подумать к чему относится условие задачи:
— К каким особенностям, настройкам протокола?
— Глобальные эти настройки или привязаны к конкретному интерфейсу?
Если Вы не знаете или забыли команду, такие размышления, скорее всего, приведут Вас к правильному контексту, где Вы просто, с помощью подсказки в командной строке, можете догадаться или вспомнить как настроить то, что требуется в задании.
Постарайтесь поразмышлять в таком ключе прежде чем пойдете в гугл или на какой-то сайт в поиске команд.

На реальной сети при выборе диапазона анонсируемых подсетей нужно руководствоваться регламентом и насущными потребностями.

Прежде чем мы перейдём к тестированию резервных линков и скорости, сделаем ещё одну полезную вещь.
Если бы у нас была возможность отловить трафик на интерфейсе FE0/0.2 msk-arbat-gw1, который смотрит в сторону серверов, то мы бы увидели, что каждые 10 секунд в неизвестность улетают сообщения Hello. Ответить на Hello некому, отношения смежности устанавливать не с кем, поэтому и пытаться рассылать отсюда сообщения смысла нет.
Выключается это очень просто:

msk-arbat-gw1(config)#router OSPF 1
msk-arbat-gw1(config-router)#passive-interface fastEthernet 0/0.2

Такую команду нужно дать для всех интерфейсов, на которых точно нет соседей OSPF (в том числе в сторону интернета).
В итоге картина у вас будет такая:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями
*Не представляю, как вы до сих пор не запутались*

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

Теперь займёмся самым интересным — тестированием.
Ничего сложного нет в настройке OSPF на всех маршрутизаторах в Сибирском кольце — сделаете сами.
И после этого картина должна быть следующей:

Neighbor ID Pri State Dead Time Address Interface
172.16.255.32 1 FULL/DR 00:00:31 172.16.2.2 FastEthernet0/1.4
172.16.255.48 1 FULL/DR 00:00:31 172.16.2.18 FastEthernet0/1.5
172.16.255.80 1 FULL/BDR 00:00:36 172.16.2.130 FastEthernet0/1.8
172.16.255.112 1 FULL/BDR 00:00:37 172.16.2.197 FastEthernet1/0.911

Gateway of last resort is 198.51.100.1 to network 0.0.0.0

172.16.0.0/16 is variably subnetted, 25 subnets, 6 masks
C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
S 172.16.2.4/30 [1/0] via 172.16.2.2
C 172.16.2.16/30 is directly connected, FastEthernet0/1.5
C 172.16.2.32/30 is directly connected, FastEthernet0/1.7
C 172.16.2.128/30 is directly connected, FastEthernet0/1.8
O 172.16.2.160/30 [110/2] via 172.16.2.130, 00:05:53, FastEthernet0/1.8
O 172.16.2.192/30 [110/2] via 172.16.2.197, 00:04:18, FastEthernet1/0.911
C 172.16.2.196/30 is directly connected, FastEthernet1/0.911
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104
S 172.16.16.0/21 [1/0] via 172.16.2.2
S 172.16.24.0/22 [1/0] via 172.16.2.18
O 172.16.24.0/24 [110/2] via 172.16.2.18, 00:24:03, FastEthernet0/1.5
O 172.16.128.0/24 [110/2] via 172.16.2.130, 00:07:18, FastEthernet0/1.8
O 172.16.129.0/26 [110/2] via 172.16.2.130, 00:07:18, FastEthernet0/1.8
C 172.16.255.1/32 is directly connected, Loopback0
O 172.16.255.32/32 [110/2] via 172.16.2.2, 00:24:03, FastEthernet0/1.4
O 172.16.255.48/32 [110/2] via 172.16.2.18, 00:24:03, FastEthernet0/1.5
O 172.16.255.80/32 [110/2] via 172.16.2.130, 00:07:18, FastEthernet0/1.8
O 172.16.255.96/32 [110/3] via 172.16.2.130, 00:04:18, FastEthernet0/1.8
[110/3] via 172.16.2.197, 00:04:18, FastEthernet1/0.911
O 172.16.255.112/32 [110/2] via 172.16.2.197, 00:04:28, FastEthernet1/0.911
198.51.100.0/28 is subnetted, 1 subnets
C 198.51.100.0 is directly connected, FastEthernet0/1.6
S* 0.0.0.0/0 [1/0] via 198.51.100.1

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

msk-arbat-gw1#traceroute 172.16.128.1
Type escape sequence to abort.
Tracing the route to 172.16.128.1

1 172.16.2.130 35 msec 8 msec 5 msec

msk-arbat-gw1(config-subif)#do sh ip ro 172.16.128.0
Routing entry for 172.16.128.0/24
Known via «OSPF 1», distance 110, metric 4, type intra area
Last update from 172.16.2.197 on FastEthernet1/0.911, 00:00:53 ago
Routing Descriptor Blocks:
* 172.16.2.197, from 172.16.255.80, 00:00:53 ago, via FastEthernet1/0.911
Route metric is 4, traffic share count is 1

vld-gw1#sh ip route 172.16.128.0
Routing entry for 172.16.128.0/24
Known via «OSPF 1», distance 110, metric 3, type intra area
Last update from 172.16.2.193 on FastEthernet1/0, 00:01:57 ago
Routing Descriptor Blocks:
* 172.16.2.193, from 172.16.255.80, 00:01:57 ago, via FastEthernet1/0
Route metric is 3, traffic share count is 1

msk-arbat-gw1#traceroute 172.16.128.1
Type escape sequence to abort.
Tracing the route to 172.16.128.1

1 172.16.2.197 4 msec 10 msec 10 msec
2 172.16.2.193 8 msec 11 msec 15 msec
3 172.16.2.161 15 msec 13 msec 6 msec

То есть теперь Красноярска трафик достигает таким путём:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

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

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиЗадача №2
После настройки OSPF на маршрутизаторах в сибирском кольце, все сети, которые находятся за маршрутизатором в центральном офисе в Москве (msk-arbat-gw1), для Хабаровска доступны по двум маршрутам (через Красноярск и через Владивосток). Но, так как канал через Красноярск лучше, то надо изменить настройки по умолчанию таким образом, чтобы Хабаровск использовал канал через Красноярск, когда он доступен. И переключался на Владивосток только если что-то случилось с каналом на Красноярск.
Ответ

Как любой хороший протокол, OSPF поддерживает аутентификацию — два соседа перед установлением соотношений соседства могут проверять подлинность полученных OSPF-сообщений. Оставляем на самостоятельное изучение — довольно просто.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиЗадача №3
С провайдером «Филькин сертификат» случилась неприятная история. Из-за их ошибки в настройках VPN на маршрутизатор во Владивостоке начали приходить какие-то непонятные маршруты, вероятно, от другого клиента или внутренние самого сети провайдера. Некоторые сети пересекались с локальными сетями и была потеряна связь с некоторыми участками сети. После этого случая было решено защититься на будущее от подобных ситуаций.
Ситуация, вообще говоря, надуманная и маловероятная, но в качестве задачки подойдёт.
На участке между Москвой и Владивостоком необходимо настроить маршрутизаторы таким образом, чтобы они, при установке отношений соседства, проверяли ещё и установленный пароль. Пароль должен быть: MskVladPass и передаваться он должен в виде хеша md5 (номер ключа 1).
Ответ

EIGRP

Теперь займёмся другим очень важным протоколом

Итак, чем хорош EIGRP?
— прост в конфигурации
— быстрое переключение на заранее просчитанный запасной маршрут
— требует меньше ресурсов роутера (по сравнению с OSPF)
— суммирование маршрутов на любом роутере (в OSPF только на ABR\ASBR)
— балансировка трафика на неравноценных маршрутах (OSPF только на равноценных)

Мы решили перевести одну из записей блога Ивана Пепельняка, в которой разбирается ряд популярных мифов про EIGRP:
— “EIGRP это гибридный протокол маршрутизации”. Если я правильно помню, это началось с первой презентации EIGRP много лет назад и обычно понимается как «EIGRP взял лучшее от link-state и distance-vector протоколов». Это совершенно не так. У EIGRP нет никаких отличительных особенностей link-state. Правильно будет говорить «EIGRP это продвинутый distance-vector- протокол маршрутизации».

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

— “EIGRP сложен во внедрении и обслуживании”. Неправда. В свое время, EIGRP в больших сетях с низкоскоростными линками было сложновато правильно внедрить, но ровно до того момента, как были введены stub routers. С ними (а также несколькими исправлениями работы DUAL-алгоритма), он не чуть не хуже, чем OSPF.

— “Как и LS протоколы, EIGRP хранит таблицу топологии маршрутов, которыми обменивается”. Просто удивительно, насколько это неверно. EIGRP не имеет вообще никакого понятия о том, что находится дальше ближайших соседей, в то время как LS протоколы точно знают топологию всей области, к которой они подключены.

— “EIGRP это DV протокол, который действует, как LS”. Неплохая попытка, но по-прежнему, абсолютно неверно. LS протоколы строят таблицу маршрутизации, проходя через следующие шаги:
— каждый маршрутизатор описывает сеть, исходя из информации, доступной ему локально (его линки, подсети, в которых он находится, соседи, которых он видит) посредством пакета (или нескольких), называемого LSA (в OSPF) или LSP (IS-IS)
— LSA распространяются по сети. Каждый маршрутизатор должен получить каждую LSA, созданную в его сети. Информация, полученная из LSA, заносится в таблицу топологии.
— каждый маршрутизатор независимо анализирует свою таблицу топологии и запускает SPF алгоритм для подсчета лучших маршрутов к каждому из других маршрутизаторов
Поведение EIGRP даже близко не напоминает эти шаги, поэтому непонятно, с какой стати он «действует, как LS»

Единственное, что делает EIGRP — это хранит информацию, полученную от соседа (RIP сразу же забывает то, что не может быть использовано в данный момент). В этом смысле, он похож на BGP, который тоже хранит все в таблице BGP и выбирает лучший маршрут оттуда. Таблица топологии (содержащая всю информацию, полученную от соседей), дает EIGRP преимущество перед RIP – она может содержать информацию о запасном (не используемом в данный момент) маршруте.

Теперь чуть ближе к теории работы:

Каждый процесс EIGRP обслуживает 3 таблицы:
— Таблицу соседей (neighbor table), в которой содержится информация о “соседях”, т.е. других маршрутизаторах, непосредственно подключенных к текущему и участвующих в обмене маршрутами. Можно посмотреть с помощью команды show ip eigrp neighbors
— Таблицу топологии сети (topology table), в которой содержится информация о маршрутах, полученная от соседей. Смотрим командой show ip eigrp topology
— Таблицу маршрутизации (routing table), на основе которой роутер принимает решения о перенаправлении пакетов. Просмотр через show ip route

Метрика.
Для оценки качества определенного маршрута, в протоколах маршрутизации используется некое число, отражающее различные его характеристики или совокупность характеристик- метрика. Характеристики, принимаемые в расчет, могут быть разными- начиная от количества роутеров на данном маршруте и заканчивая средним арифметическим загрузки всех интерфейсов по ходу маршрута. Что касается метрики EIGRP, процитируем Jeremy Cioara: “у меня создалось впечатление, что создатели EIGRP, окинув критическим взглядом свое творение, решили, что все слишком просто и хорошо работает. И тогда они придумали формулу метрики, что бы все сказали “ВАУ, это действительно сложно и профессионально выглядит”. Узрите же полную формулу подсчета метрики EIGRP: (K1 * bw + (K2 * bw) / (256 — load) + K3 * delay) * (K5 / (reliability + K4)), в которой:
— bw это не просто пропускная способность, а (10000000/самая маленькая пропускная способность по дороге маршрута в килобитах) * 256
— delay это не просто задержка, а сумма всех задержек по дороге в десятках микросекунд * 256 (delay в командах show interface, show ip eigrp topology и прочих показывается в микросекундах!)
— K1-K5 это коэффициенты, которые служат для того, чтобы в формулу “включился” тот или иной параметр.

Страшно? было бы, если бы все это работало, как написано. На деле же из всех 4 возможных слагаемых формулы, по умолчанию используются только два: bw и delay (коэффициенты K1 и K3=1, остальные нулю), что сильно ее упрощает — мы просто складываем эти два числа (не забывая при этом, что они все равно считаются по своим формулам). Важно помнить следующее: метрика считается по худшему показателю пропускной способности по всей длине маршрута.

Интересная штука получилась с MTU: довольно часто можно встретить сведения о том, что MTU имеет отношение к метрике EIGRP. И действительно, значения MTU передаются при обмене маршрутами. Но, как мы можем видеть из полной формулы, никакого упоминания об MTU там нет. Дело в том, что этот показатель принимается в расчет в довольно специфических случаях: например, если роутер должен отбросить один из равнозначных по остальным характеристикам маршрутов, он выберет тот, у которого меньший MTU. Хотя, не все так просто (см. комментарии).

Определимся с терминами, применяемыми внутри EIGRP. Каждый маршрут в EIGRP характеризуется двумя числами: Feasible Distance и Advertised Distance (вместо Advertised Distance иногда можно встретить Reported Distance, это одно и то же). Каждое из этих чисел представляет собой метрику, или стоимость (чем больше-тем хуже) данного маршрута с разных точек измерения: FD это “от меня до места назначения”, а AD- “от соседа, который мне рассказал об этом маршруте, до места назначения”. Ответ на закономерный вопрос “Зачем нам надо знать стоимость от соседа, если она и так включена в FD?”- чуть ниже (пока можете остановиться и поломать голову сами, если хотите).

У каждой подсети, о которой знает EIGRP, на каждом роутере существует Successor- роутер из числа соседей, через который идет лучший (с меньшей метрикой), по мнению протокола, маршрут к этой подсети. Кроме того, у подсети может также существовать один или несколько запасных маршрутов (роутер-сосед, через которого идет такой маршрут, называется Feasible Successor). EIGRP- единственный протокол маршрутизации, запоминающий запасные маршруты (в OSPF они есть, но содержатся, так сказать, в “сыром виде” в таблице топологии- их еще надо обработать алгоритмом SPF), что дает ему плюс в быстродействии: как только протокол определяет, что основной маршрут (через successor) недоступен, он сразу переключается на запасной. Для того, чтобы роутер мог стать feasible successor для маршрута, его AD должно быть меньше FD successor’а этого маршрута (вот зачем нам нужно знать AD). Это правило применяется для того, чтобы избежать колец маршрутизации.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

С точки зрения R1, R2 является Successor’ом для подсети 192.168.2.0/24. Чтобы стать FS для этой подсети, R4 требуется, чтобы его AD была меньше FD для этого маршрута. FD у нас ((10000000/1544)*256)+(2100*256) =2195456, AD у R4 (с его точки зрения это FD, т.е. сколько ему стоит добраться до этой сети) = ((10000000/100000)*256)+(100*256)=51200. Все сходится, AD у R4 меньше, чем FD маршрута, он становится FS. *тут мозг такой и говорит: “БДЫЩЬ”*. Теперь смотрим на R3- он анонсирует свою сеть 192.168.1.0/24 соседу R1, который, в свою очередь, рассказывает о ней своим соседям R2 и R4. R4 не в курсе, что R2 знает об этой подсети, и решает ему рассказать. R2 передает информацию о том, что он имеет доступ через R4 к подсети 192.168.1.0/24 дальше, на R1. R1 строго смотрит на FD маршрута и AD, которой хвастается R2 (которая, как легко понять по схеме, будет явно больше FD, так как включает и его тоже) и прогоняет его, чтобы не лез со всякими глупостями. Такая ситуация довольно маловероятна, но может иметь место при определенном стечении обстоятельств, например, при отключении механизма “расщепления горизонта” (split-horizon). А теперь к более вероятной ситуации: представим, что R4 подключен к сети 192.168.2.0/24 не через FastEthernet, а через модем на 56k (задержка для dialup составляет 20000 usec), соответственно, добраться ему стоит ((10000000/56)*256)+(2000*256)= 46226176. Это больше, чем FD для этого маршрута, поэтому R4 не станет Feasible Successor’ом. Но это не значит, что EIGRP вообще не будет использовать данный маршрут. Просто переключение на него займет больше времени (подробнее об этом дальше).

соседство

Роутеры не разговаривают о маршрутах с кем попало — прежде чем начать обмениваться информацией, они должны установить отношения соседства. После включения процесса командой router eigrp с указанием номера автономной системы, мы, командой network говорим, какие интерфейсы будут участвовать и одновременно, информацию о каких сетях мы желаем распространять. Незамедлительно, через эти интерфейсы начинают рассылаться hello-пакеты на мультикаст- адрес 224.0.0.10 (по умолчанию каждые 5 секунд для ethernet). Все маршрутизаторы с включенным EIGRP получают эти пакеты, далее каждый маршрутизатор-получатель делает следующее:
— сверяет адрес отправителя hello-пакета, с адресом интерфейса, из которого получен пакет, и удостоверяется, что они из одной подсети
— сверяет значения полученных из пакета K-коэффициентов (проще говоря, какие переменные используются в подсчете метрики) со своими. Понятно, что если они различаются, то метрики для маршрутов будут считаться по разным правилам, что недопустимо
— проверяет номер автономной системы
— опционально: если настроена аутентификация, проверяет соответствие ее типа и ключей.

Теперь вернемся к предыдущей схеме с модемом.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

R2 по каким-то причинам потерял связь с 192.168.2.0/24. До этой подсети у него нет запасных маршрутов (т.е. отсутствует FS). Как всякий ответственный роутер с EIGRP, он хочет восстановить связь. Для этого он начинает рассылать специальные сообщения (query- пакеты) всем своим соседям, которые, в свою очередь, не находя нужного маршрута у себя, расспрашивают всех своих соседей, и так далее. Когда волна запросов докатывается до R4, он говорит “погодите-ка, у меня есть маршрут к этой подсети! Плохонький, но хоть что-то. Все про него забыли, а я-то помню”. Все это он упаковывает в reply-пакет и отправляет соседу, от которого получил запрос (query), и дальше по цепочке. Понятное дело, это все занимает больше времени, чем просто переключение на Feasible Successor, но, в итоге, мы получаем связь с подсетью.

А сейчас опасный момент: может, вы уже обратили внимание и насторожились, прочитав момент про эту веерную рассылку. Падение одного интерфейса вызывает нечто похожее на широковещательный шторм в сети (не в таких масштабах, конечно, но все-таки), причем чем больше в ней роутеров, тем больше ресурсов потратится на все эти запросы-ответы. Но это еще пол-беды. Возможна ситуация и похуже: представим, что роутеры, изображенные на картинке- это только часть большой и распределенной сети, т.е. некоторые могут находится за много тысяч километров от нашего R2, на плохих каналах и прочее. Так вот, беда в том, что, послав query соседу, роутер обязан дождаться от него reply. Неважно, что в ответе- но он должен прийти. Даже если роутер уже получил положительный ответ, как в нашем случае, он не может поставить этот маршрут в работу, пока не дождется ответа на все свои запросы. А запросы-то, может, еще где-нибудь на Аляске бродят. Такое состояние маршрута называется stuck-in-active. Тут нам нужно познакомится с терминами, отражающими состояние маршрута в EIGRP: active\passive route. Обычно они вводят в заблуждение. Здравый смысл подсказывает, что active значит маршрут “активен”, включен, работает. Однако тут все наоборот: passive это “все хорошо”, а состояние active означает, что данная подсеть недоступна, и маршрутизатор находится в активном поиске другого маршрута, рассылая query и ожидая reply. Так вот, состояние stuck-in-active (застрял в активном состоянии) может продолжатся до 3 минут! По истечение этого срока, роутер обрывает отношения соседства с тем соседом, от которого он не может дождаться ответа, и может использовать новый маршрут через R4. Подробно о проблеме

История, леденящая кровь сетевого инженера. 3 минуты даунтайма это не шутки. Как мы можем избежать инфаркта этой ситуации? Выхода два: суммирование маршрутов и так называемая stub-конфигурация.

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

Как мы уже упоминали, в EIGRP суммирование маршрутов можно проводить на любом роутере. Для иллюстрации, представим, что к нашему многострадальному R2 подключены подсети от 192.168.0.0/24 до 192.168.7.0/24, что очень удобненько суммируется в 192.168.0.0/21 (вспоминаем binary math). Роутер анонсирует этот суммарный маршрут, и все остальные знают: если адрес назначения начинается на 192.168.0-7, то это к нему. Что будет происходить, если одна из подсетей пропадет? Роутер будет рассылать query-пакеты с адресом этой сети (конкретным, например, 192.168.5.0/24), но соседи, вместо того, чтобы уже от своего имени продолжить порочную рассылку, будут сразу в ответ слать отрезвляющие реплаи, мол, это твоя подсеть, ты и разбирайся.

Второй вариант- stub- конфигурация. Образно говоря, stub означает “конец пути”, “тупик” в EIGRP, т.е., чтобы попасть в какую-то подсеть, не подключенную напрямую к такому роутеру, придется идти назад. Роутер, сконфигурированный, как stub, не будет пересылать трафик между подсетями, которые ему стали известны от EIGRP (проще говоря, которые в show ip route помечены буквой D). Кроме того, его соседи не будут отправлять ему query-пакеты. Самый распространенный случай применения- hub-and-spoke топологии, особенно с избыточными линками. Возьмем такую сеть: слева- филиалы, справа- основной сайт, главный офис и т.п. Для отказоустойчивости избыточные линки. Запущен EIGRP с дефолтными настройками.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

А теперь “внимание, вопрос”: что будет, если R1 потеряет связь с R4, а R5 потеряет LAN? Трафик из подсети R1 в подсеть главного офиса будет идти по маршруту R1->R5->R2(или R3)->R4. Будет это эффективно? Нет. Будет страдать не только подсеть за R1, но и подсеть за R2 (или R3), из-за увеличения объемов трафика и его последствий. Вот для таких-то ситуаций и придуман stub. За роутерами в филиалах нет других роутеров, которые вели бы в другие подсети, это “конец дороги”, дальше только назад. Поэтому мы с легким сердцем можем сконфигурировать их как stub’ы, что, во-первых, избавит нас от проблемы с “кривым маршрутом”, изложенной чуть выше, а во-вторых, от флуда query-пакетов в случае потери маршрута.

Существуют различные режимы работы stub-роутера, задаются они командой eigrp stub:

R1(config)#router eigrp 1
R1(config-router)#eigrp stub?
connected Do advertise connected routes
leak-map Allow dynamic prefixes based on the leak-map
receive-only Set IP-EIGRP as receive only neighbor
redistributed Do advertise redistributed routes
static Do advertise static routes
summary Do advertise summary routes

По умолчанию, если просто дать команду eigrp stub, включаются режимы сonnected и summary. Интерес представляет режим receive-only, в котором роутер не анонсирует никаких сетей, только слушает, что ему говорят соседи (в RIP есть команда passive interface, которая делает то же самое, но в EIGRP она полностью отключает протокол на выбранном интерфейсе, что не позволяет установить соседство).

Практика EIGRP

“Лифт ми Ап” купили фабрику в Калининграде. Там производят мозги лифтов: микросхемы, ПО. Фабрика очень крупная — три точки по городу — три маршрутизатора соединены в кольцо.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Но вот незадача — на них уже запущен EIGRP в качестве протокола динамической маршрутизации. Причём адресация конечных узлов совсем из другой подсети — 10.0.0.0/8. Все другие параметры (линковые адреса, адреса лупбэк интерфейсов) мы поменяли, но несколько тысяч адресов локальной сети с серверами, принтерами, точками доступа — работа не на пару часов — отложили на потом, а в IP-плане зарезервировали на будущее для Калининграда подсеть 172.16.32.0/20.

Сейчас у нас используются такие сети:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиКак настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Как настраивается это чудо? Незамысловато, на первый взгляд:

router eigrp 1
network 172.16.0.0 0.0.255.255
network 10.0.0.0

В EIGRP обратную маску можно задавать, указывая тем самым более узкие рамки, либо не задавать, тогда будет выбрана стандартная маска для этого класса (16 для класса B — 172.16.0.0 и 8 для класса 8 — 10.0.0.0)

Такие команды даются на всех маршрутизаторах Автономной Системы. АС определяется цифрой в команде router eigrp, то есть в нашем случае имеем АС №1. Эта цифра должна быть одинаковой на всех маршрутизаторах (в отличии от OSPF).

Но есть в EIGRP серьёзный подвох: по умолчанию включено автоматическое суммирование маршрутов в классовом виде (в версиях IOS до 15).
Сравним таблицы маршрутизации на трёх калининградских маршрутизаторах:

Сеть 10.0.0.1/24 подключена у нас к klgr-center-gw1 и он о ней знает:

klgr-center-gw1:
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
D 10.0.0.0/8 is a summary, 00:35:23, Null0
C 10.0.0.0/24 is directly connected, FastEthernet1/0

Но не знает о 10.0.1.0/24 и 10.0.2.0/24/

klgr-balt-gw1 знает о своих двух сетях 10.0.1.0/24 и 10.0.2.0/24, но вот сеть 10.0.0.0/24 он куда-то спрятал.

10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
D 10.0.0.0/8 is a summary, 00:42:05, Null0
C 10.0.1.0/24 is directly connected, FastEthernet1/1.2
C 10.0.2.0/24 is directly connected, FastEthernet1/1.3

Они оба создали маршрут 10.0.0.0/8 с адресом next hop Null0.

А вот klgr-center-gw2 знает, что подсети 10.0.0.0/8 находятся за обоими его WAN интерфейсами.

D 10.0.0.0/8 [90/30720] via 172.16.2.41, 00:42:49, FastEthernet0/1
[90/30720] via 172.16.2.45, 00:38:05, FastEthernet0/0

Во всём виновато автоматическое суммирование. Это самое большое зло EIGRP. Рассмотрим более подробно, что происходит. klgr-center-gw1 и klgr-balt-gw1 имеют подсети из 10.0.0.0/8, они их суммируют по умолчанию, когда передают соседям.
То есть, например, msk-balt-gw1 передаёт не две сети 10.0.1.0/24 и 10.0.2.0/24, а одну обобщённую: 10.0.0.0/8. То есть его сосед будет думать, что за msk-balt-gw1 находится вся эта сеть.
Но, что произойдёт, если вдруг на balt-gw1 попадёт пакет с адресатом 10.0.50.243, о котором тот ничего не знает? На этот случай и создаётся так называетмый Blackhole-маршрут:
10.0.0.0/8 is a summary, 00:42:05, Null0
Полученный пакет будет выброшен в эту чёрную дыру. Это делается во избежание петель маршрутизации.
Так вот оба эти маршрутизатора создали свои blackhole-маршруты и игнорируют чужие анонсы. Реально на такой сети эти три девайса друг друга так и не смогут пинговать, пока… пока вы не отключите auto-summary.

Первое, что вы должны сделать при настройке EIGRP:

На всех устройствах. И всем будет хорошо:

10.0.0.0/24 is subnetted, 3 subnets
C 10.0.0.0 is directly connected, FastEthernet1/0
D 10.0.1.0 [90/30720] via 172.16.2.37, 00:03:11, FastEthernet0/0
D 10.0.2.0 [90/30720] via 172.16.2.37, 00:03:11, FastEthernet0/0

10.0.0.0/24 is subnetted, 3 subnets
D 10.0.0.0 [90/30720] via 172.16.2.38, 00:08:16, FastEthernet0/1
C 10.0.1.0 is directly connected, FastEthernet1/1.2
C 10.0.2.0 is directly connected, FastEthernet1/1.3

10.0.0.0/24 is subnetted, 3 subnets
D 10.0.0.0 [90/30720] via 172.16.2.45, 00:11:50, FastEthernet0/0
D 10.0.1.0 [90/30720] via 172.16.2.41, 00:11:48, FastEthernet0/1
D 10.0.2.0 [90/30720] via 172.16.2.41, 00:11:48, FastEthernet0/1

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиЗадача №4
Из-за настроек различных механизмов QoS на маршрутизаторах Калининграда, было изменено значение пропускной способности на интерфейсах, эти значения теперь не соответствуют действительности. Поэтому было решено, что необходимо изменить подсчет метрики EIGRP на маршрутизаторах Калининграда таким образом, чтобы учитывала только задержка (delay) и не учитывала пропускная способность интерфейса (bandwidth).
Ответ

Настройка передачи маршрутов между различными протоколами

Наша задача организовать передачу маршрутов между этими протоколами: из OSPF в EIGRP и наоборот, чтобы все знали маршрут до любой подсети.
Это называется редистрибуцией (перераспределением) маршрутов.

Для её осуществления нам нужна хотя бы одна точка стыка, где будут запущены одновременно два протокола. Это может быть msk-arbat-gw1 или klgr-balt-gw1. Выберем второй.

klgr-gw1(config)#router ospf 1
klgr-gw1(config-router)#redistribute eigrp 1 subnets

msk-arbat-gw1#sh 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 198.51.100.1 to network 0.0.0.0

10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
O E2 10.0.0.0/8 [110/20] via 172.16.2.34, 00:25:11, FastEthernet0/1.7
O E2 10.0.1.0/24 [110/20] via 172.16.2.34, 00:25:11, FastEthernet0/1.7
O E2 10.0.2.0/24 [110/20] via 172.16.2.34, 00:24:50, FastEthernet0/1.7
172.16.0.0/16 is variably subnetted, 30 subnets, 5 masks
O E2 172.16.0.0/16 [110/20] via 172.16.2.34, 00:25:11, FastEthernet0/1.7
C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
C 172.16.2.16/30 is directly connected, FastEthernet0/1.5
C 172.16.2.32/30 is directly connected, FastEthernet0/1.7
O E2 172.16.2.36/30 [110/20] via 172.16.2.34, 01:00:55, FastEthernet0/1.7
O E2 172.16.2.40/30 [110/20] via 172.16.2.34, 01:00:55, FastEthernet0/1.7
O E2 172.16.2.44/30 [110/20] via 172.16.2.34, 01:00:55, FastEthernet0/1.7
C 172.16.2.128/30 is directly connected, FastEthernet0/1.8
O 172.16.2.160/30 [110/2] via 172.16.2.130, 01:00:55, FastEthernet0/1.8
O 172.16.2.192/30 [110/2] via 172.16.2.197, 00:13:21, FastEthernet1/0.911
C 172.16.2.196/30 is directly connected, FastEthernet1/0.911
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104
O 172.16.24.0/24 [110/2] via 172.16.2.18, 01:00:55, FastEthernet0/1.5
O 172.16.128.0/24 [110/2] via 172.16.2.130, 01:00:55, FastEthernet0/1.8
O 172.16.129.0/26 [110/2] via 172.16.2.130, 01:00:55, FastEthernet0/1.8
O 172.16.144.0/24 [110/3] via 172.16.2.130, 00:13:21, FastEthernet0/1.8
[110/3] via 172.16.2.197, 00:13:21, FastEthernet1/0.911
O 172.16.160.0/24 [110/2] via 172.16.2.197, 00:13:31, FastEthernet1/0.911
C 172.16.255.1/32 is directly connected, Loopback0
O 172.16.255.48/32 [110/2] via 172.16.2.18, 01:00:55, FastEthernet0/1.5
O E2 172.16.255.64/32 [110/20] via 172.16.2.34, 01:00:55, FastEthernet0/1.7
O E2 172.16.255.65/32 [110/20] via 172.16.2.34, 01:00:55, FastEthernet0/1.7
O E2 172.16.255.66/32 [110/20] via 172.16.2.34, 01:00:55, FastEthernet0/1.7
O 172.16.255.80/32 [110/2] via 172.16.2.130, 01:00:55, FastEthernet0/1.8
O 172.16.255.96/32 [110/3] via 172.16.2.130, 00:13:21, FastEthernet0/1.8
[110/3] via 172.16.2.197, 00:13:21, FastEthernet1/0.911
O 172.16.255.112/32 [110/2] via 172.16.2.197, 00:13:31, FastEthernet1/0.911
198.51.100.0/28 is subnetted, 1 subnets
C 198.51.100.0 is directly connected, FastEthernet0/1.6
S* 0.0.0.0/0 [1/0] via 198.51.100.1

Вот те, что с меткой Е2 — новые импортированные маршруты. Е2 — означает, что это внешние маршруты 2-го типа (External), то есть они были введены в процесс OSPF извне

Теперь из OSPF в EIGRP. Это чуточку сложнее:

klgr-gw1(config)#router eigrp 1
klgr-gw1(config-router)#redistribute ospf 1 metric 100000 20 255 1 1500

Без указания метрики (вот этого длинного набора цифр) команда выполнится, но редистрибуции не произойдёт.

Импортированные маршруты получают метку EX в таблице маршрутизации и административную дистанцию 170, вместо 90 для внутренних:

Gateway of last resort is not set

172.16.0.0/16 is variably subnetted, 30 subnets, 4 masks
D EX 172.16.0.0/24 [170/33280] via 172.16.2.37, 00:00:07, FastEthernet0/0
D EX 172.16.1.0/24 [170/33280] via 172.16.2.37, 00:00:07, FastEthernet0/0
D EX 172.16.2.0/30 [170/33280] via 172.16.2.37, 00:00:07, FastEthernet0/0
D EX 172.16.2.4/30 [170/33280] via 172.16.2.37, 00:00:07, FastEthernet0/0
D EX 172.16.2.16/30 [170/33280] via 172.16.2.37, 00:00:07, FastEthernet0/0
D 172.16.2.32/30 [90/30720] via 172.16.2.37, 00:38:59, FastEthernet0/0
C 172.16.2.36/30 is directly connected, FastEthernet0/0
D 172.16.2.40/30 [90/30720] via 172.16.2.37, 00:38:59, FastEthernet0/0
[90/30720] via 172.16.2.46, 00:38:59, FastEthernet0/1
….

Вот так, казалось бы незамысловато это делается, но простота поверхностная — редистрибуция таит в себе много тонких и неприятных моментов, когда добавляется хотя бы один избыточный линк между двумя разными доменами.
Универсальный совет — старайтесь избегать редистрибуции, если это возможно. Тут работает главное жизненное правило — чем проще, тем лучше.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиЗадача №5 (нереализуема в РТ)
Маршрутизатор в Москве анонсирует всем остальным маршрутизаторам в сети маршрут по умолчанию. Но на все остальные маршрутизаторы он приходит с одинаковой метрикой равной 1 и метрика не увеличивается по пути передачи маршрута.
Для удобства решено было изменить настройки по умолчанию таким образом, чтобы начальная метрика маршрута по умолчанию была 30 и по пути, с передачей маршрута по умолчанию по сети, к начальной метрике добавлялась стоимость пути. Кроме того, в дальнейшем возможно добавление резервного маршрутизатора в Москве, с которого на провайдера будет указывать ещё один маршрут по умолчанию. Резервный маршрутизатор будет использоваться только если пропадет основной, поэтому маршруты по умолчанию, которые они анонсируют должны быть с разными метриками.
Ответ

Маршрут по умолчанию

Pinging 192.0.2.2 with 32 bytes of data:

Reply from 172.16.2.5: Destination host unreachable.
Reply from 172.16.2.5: Destination host unreachable.
Reply from 172.16.2.5: Destination host unreachable.
Reply from 172.16.2.5: Destination host unreachable.

Ping statistics for 192.0.2.2:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

msk-arbat-gw1(config)#router ospf 1
msk-arbat-gw1(config-router)#default-information originate

После этого по сети лавинно распространяется информация о том, где находится шлюз последней надежды.

Интернет теперь доступен:

Tracing route to 192.0.2.2 over a maximum of 30 hops:

1 3 ms 3 ms 3 ms 172.16.17.1
2 4 ms 5 ms 12 ms 172.16.2.5
3 14 ms 20 ms 9 ms 172.16.2.1
4 17 ms 17 ms 19 ms 198.51.100.1
5 22 ms 23 ms 19 ms 192.0.2.2

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиЗадача №6 (нереализуема в РТ)
На маршрутизаторе klgr-balt-gw1 настроено перераспределение маршрутов EIGRP в OSPF. Далее по сети маршруты передаются как внешние с метрикой 20, которая не увеличивается по пути передачи маршрута. Необходимо изменить настройки так, чтобы по пути, с передачей внешних маршрутов по сети, к метрике внешних маршрутов добавлялась стоимость пути.
Ответ

Полезные команды для траблшутинга

1) Список соседей и состояние связи с ними вызывается командой show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface
172.16.255.32 1 FULL/DROTHER 00:00:33 172.16.2.2 FastEthernet0/1.4
172.16.255.48 1 FULL/DR 00:00:34 172.16.2.18 FastEthernet0/1.5
172.16.255.64 1 FULL/DR 00:00:33 172.16.2.34 FastEthernet0/1.7
172.16.255.80 1 FULL/DR 00:00:33 172.16.2.130 FastEthernet0/1.8
172.16.255.112 1 FULL/DR 00:00:33 172.16.2.197 FastEthernet1/0.911

IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 172.16.2.38 Fa0/1 12 00:04:51 40 1000 0 54
1 172.16.2.42 Fa0/0 13 00:04:51 40 1000 0 58

3) С помощью команды show ip protocols можно посмотреть информацию о запущенных протоколах динамической маршрутизации и их взаимосвязи.

Routing Protocol is «EIGRP 1 »
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: EIGRP 1, OSPF 1
Automatic network summarization is in effect
Automatic address summarization:
Maximum path: 4
Routing for Networks:
172.16.0.0
Routing Information Sources:
Gateway Distance Last Update
172.16.2.42 90 4
172.16.2.38 90 4
Distance: internal 90 external 170

Routing Protocol is «OSPF 1»
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 172.16.255.64
It is an autonomous system boundary router
Redistributing External Routes from,
EIGRP 1
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
172.16.2.32 0.0.0.3 area 0
Routing Information Sources:
Gateway Distance Last Update
172.16.255.64 110 00:00:23
Distance: (default is 110)

4) Для отладки и понимания работы протоколов будет полезно воспользоваться следующими командами:
debug ip OSPF events
debug ip OSPF adj
debug EIGRP packets

Попробуйте подёргать разные интерфейсы и посмотреть, что происходит в дебаге, какие сообщения летят.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиЗадача №7
На последок комплесная задачка.
На последнем совещании Лифт ми Ап было решено, что сеть Калининграда необходимо также переводить на OSPF.
Переход должен быть совершен без разрывов связи. Было решено, что лучшим вариантом будет параллельно с EIGRP поднять OSPF на трёх маршрутизаторах Калининграда и после того, как будет проверено, что вся информация о маршрутах Калининграда распространилась по остальной сети и наоборот, отключить EIGRP.
Но, так как сеть Калининграда достаточно большая, с большим количеством сетей, было решено, что необходимо отделить её от остальной сети так, чтобы изменения в сети Калининграда не приводили к запуску алгоритма SPF на других маршрутизаторах сети.
Ответ.

Материалы выпуска

Полезные ссылки

Наш большой помощник XGU.ru
Коллеги по хабру
Другие

Минутка саморекламы
У Сетей для самых маленьких появился свой сайт — linkmeup.ru. Теперь читать и оставлять комментарии вы можете не только в ЖЖ, но и в личном блоге этого цикла.

Слова благодарности хочу выразить своему соавтору — Максиму theGluck за помощь в написании статьи. Дмитрию JDima за правки и бесценные комментарии, неотразимой Наташе Самойленко за предоставленные задачки. Антону Antuan за программирование сайта для блога. И девушке со славным именем Нина за логотип сайта.

Статическая IP-маршрутизация

Номером сети называют число, получаемое из номера интерфейса применением побитовой операции AND с маской, т.е. в номере интерфейса обнуляются биты на тех местах, на которых стоят нулевые биты в маске.

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

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

Следующую сеть класса C сегментируем маршрутизатором, который отделит подсеть на 16 IP-номеров (14 машин, включая маршрутизатор).
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиШлюз: Рабочая станция ws.4.1:

Я не указал маршрутизацию

А эту сеть (тоже класса C) сегментируем маршрутизатором, который разобьет сеть на две равные части.
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетямиШлюз: Рабочая станция ws.5.1: Маршрутизатор router.5: Рабочая станция ws.5.2:

Разница с предыдущим случаем в том, что сеть разделена на сегменты, содержащие только «куглое» число IP-номеров (два в целой степени). Это особый случай, когда логичнее оформить каждую сеть отдельно.

Примечания:

Последовательным портом в данном случае называется любой порт, выдающий данные побайтно (асинхронный COM, синхронный RS-232, принтерный LPT) в отличие от сетевого интерфейса, выдающего данные пакетами. Отличается от сетевого тем, что с поиощью последовательных интерфейсов можно связывать напрямую ровно два компьютера, а значит, такой способ не нуждается в адресации пакетов на MAC-уровне.

и некоторые другие адреса/имена, которые машина должна знать даже в случае недоступности DNS-сервера; как минимум, там кроме loopback содержатся адреса остальных интерфейсов данной машины, ассоциированные с ее доменным именем в полной и короткой формк.

Протокол ARP используется в сетях, имеющих свою собственную нумерацию (Ethernet, TokenRing, X.25) и нужен для того, чтобы не прописывать вручную соответствие IP-адресов номерам сетевых адаптеров. После старта системы таблицы ARP пусты; если приходит IP-пакет от какой-либо станции, фиксируется соответствие ее IP-номера номеру ее сетевой карты. Если надо послать пакет по IP-номеру, для которого неизвестен номер сетевой карты, посылается широковещательное (в понимании локальной сети) сообщение.

Протокол DHCP (Dynamic Host Configure Protocol) по запросу машины выдает ей IP-адрес, маску, номер DNS-сервера и т.д. вплоть до загружаемой через сеть операционной системы. Как правило, применяется в варианте, когда запрашивающая машина не знает ни своего адреса, ни адреса DHCP-сервера; в этом случае она находит сервер, посылая широковещательный запрос, а значит, они должны быть в одном сегменте локальной сети.

Как настроить статическую маршрутизацию на беспроводном роутере?

Вот два типичных сценария, в качестве примеров, когда требуется статический маршрут, рассмотрим их.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Проблема:
Шлюзом ПК-является роутер 2, который предоставляет доступ в интернет.
Когда ПК хочет подключиться к серверам сервер 1 и сервер 2, сначала запрос будет отправлен на роутер 2. Поскольку к сервер 1 и сервер 2 нет маршрута в таблице маршрутов роутера 2, запрос будет отклонен.

Решение: Добавление статического маршрута на роутере 2

Сетевые параметры: Серверы в сетевом сегменте: 172.30.30.0. Маска подсети IP для этого сегмента: 255.255.255.0

Сценарий 2:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Проблема: Шлюзом сети LAN является роутер 1, роутер 2 подключен по WDS к роутеру 1. В таблице маршрутизации роутера 2 нет записи маршрута от роутера 2 к NTP-серверу, поэтому роутер 2 не может синхронизировать время с NTP сервером.

Разрешение: Добавление статического маршрута на роутере 2

Шаг 1. Зайдите на web – страницу настройки роутера.

Для этого в адресной строке браузера наберите 192.168.0.1

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Шаг 3. В меню с левой стороны выберите раздел Настройки маршрутизацииСписок статических маршрутов.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

В первом поле введите IP-адрес назначения.

В втором поле введите маску подсети.

В третьем поле IP-адрес шлюза, который должен находиться в том же сегменте локальной сети, что и роутер.

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Пример ввода параметров для Сценария 1:
Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Пример ввода параметров для Сценария 2:

Как настроить маршрутизацию между двумя сетями. Смотреть фото Как настроить маршрутизацию между двумя сетями. Смотреть картинку Как настроить маршрутизацию между двумя сетями. Картинка про Как настроить маршрутизацию между двумя сетями. Фото Как настроить маршрутизацию между двумя сетями

Если у Вас возникнуть какие либо сложности с настройкой, обратитесь в техническую поддержку TP-Link

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

Был ли этот FAQ полезен?

Ваш отзыв поможет нам улучшить работу сайта.

Что вам не понравилось в этой статье?

Как мы можем это улучшить?

Спасибо

Спасибо за обращение
Нажмите здесь, чтобы связаться с технической поддержкой TP-Link.

Руководство по управлению системой: Сети и средства связи

Маршрутом называется путь, по которому пакеты пересылаются от отправителя к получателю. Маршрут определяет не полный путь, а только сегмент пути от хоста до шлюза (или от шлюза до шлюза), который может переслать пакеты целевому хосту. Существует три типа маршрутов:

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

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

Начиная с AIX версии 5.1, в таблицу маршрутизации ядра можно добавлять несколько маршрутов к одному и тому же хосту. Процедура выбора маршрута сначала находит все маршруты, удовлетворяющие заданному запросу, а потом выбирает тот из них, цена маршрута которого минимальна. Если в таблице есть несколько маршрутов с одинаковой ценой, то выбирается наиболее точный. Если совпадают оба показателя, то процедура выбора маршрута просматривает все выбранные маршруты.

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

Два описанных типа маршрутизации применяются не только шлюзами, но и хостами сети. Статическая маршрутизация применяется для шлюзов точно так же, как и для других хостов. Однако демоны динамической маршрутизации, которые выполняются не на шлюзах, могут работать только в пассивном (тихом) режиме.

Шлюзы осуществляют маршрутизацию на сетевом уровне. Шлюзы пересылают IP-дейтаграммы, полученные от других шлюзов или хостов, хостам локальной сети, а также передают IP-дейтаграммы из одной сети в другую. Например, если шлюз соединяет две сети Token-Ring, то у него есть две карты адаптера Token-Ring, с каждой из которых связан собственный сетевой интерфейс Token-Ring. Шлюз получает дейтаграммы по одному сетевому интерфейсу и отправляет их с помощью другого интерфейса. Периодически шлюзы проверяют состояние своих сетевых соединений с помощью сообщений о состоянии интерфейса.

При пересылке пакетов шлюзы ориентируются на адрес целевой сети, а не на адрес конкретного хоста. То есть шлюз не должен хранить список маршрутов до всех возможных целевых хостов пакета. Шлюз направляет пакет в сеть, к которой подключен целевой хост. За пересылку пакета целевому хосту будут отвечать маршрутизаторы этой сети. Таким образом, обычно для работы шлюза требуется только ограниченный объем оперативной памяти и, возможно, ограниченный объем дисковой памяти.

Внутренними шлюзами называются шлюзы, которые относятся к одной и той же автономной системе. Эти шлюзы обмениваются сообщениями с помощью Протокола информации о маршрутизации (RIP), Протокола информации о маршрутизации следующего поколения (RIPng), межсистемного протокола ISIS, протокола кратчайшего пути (OSPF) или протокола HELLO. Внешние шлюзы относятся к различным автономным системам. Они работают на основе Протокола внешних шлюзов (EGP), Протокола граничных шлюзов (BGP) или BGP4+.

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

Все шлюзы, внутренние и внешние, обмениваются информацией согласно определенным протоколам. Ниже приведено краткое описание наиболее распространенных протоколов шлюзов TCP/IP:

Протокол внешних шлюзов (EGP) Протокол внешних шлюзов предназначен для обмена информацией между внешними шлюзами. EGP не подсчитывает наикратчайший путь к другим сетям. Он применяется внешними шлюзами для того, чтобы получить информацию о достижимости сетей.

Протокол граничных шлюзов (BGP) Этот протокол предназначен для обмена информацией между внешними шлюзами. Он позволяет шлюзам различных автономных систем обмениваться информацией о достижимости сетей и предоставляет больше возможностей, чем EGP. Дополнительная информация о каждом маршруте хранится в атрибутах BGP, которые позволяют выбрать наилучший маршрут.

Межшлюзовый протокол (IS-IS) Протокол IS-IS применяется внутренними шлюзами при общении друг с другом. Это протокол, хранящий информацию о состоянии канала. Он может передавать пакеты ISO/CLNP и, как и протокол OSPF, применяет для определения маршрута алгоритм кратчайшего пути.

Допустим, например, что необходимо организовать связь между сетями 1, 2 и 3.

Для того чтобы непосредственно соединить сеть 1 и сеть 2, вам потребуется один шлюз (шлюз А). Для того чтобы сеть 2 непосредственно соединить с сетью 3, вам потребуется еще один шлюз (шлюз В). Если теперь предположить, что все необходимые маршруты определены, пользователи всех трех сетей смогут передавать друг другу информацию.

Однако если нагрузка в сети 2 очень высока, то при передаче данных между сетью 1 и сетью 3 могут возникать значительные задержки. Кроме того, если большая часть данных передается между сетями 1 и 3, то рекомендуется непосредственно соединить сети 1 и 3. Для этого необходимо установить непосредственное соединение между дополнительной парой шлюзов: шлюзом C (в сети 1) и шлюзом D (в сети 3). Предложенный вариант неэффективен, так как один шлюз может соединять более двух сетей.

Статическую маршрутизацию применяют в небольших сетях, конфигурация которых изменяется редко. Если же вы работаете с большой сетью, конфигурация которой часто меняется, то рекомендуется применять динамическую маршрутизацию. В сети может применяться комбинация статической и динамической маршрутизации. Это значит, что для некоторых маршрутов будет задано статическое определение, а другие маршруты будут обновляться демонами. Информация о статических маршрутах не передается другим шлюзам и не обновляется демонами маршрутизации.

Использование маршрута можно ограничить таким образом, чтобы он применялся только некоторыми пользователями. Ограничения основываются на принадлежности ИД пользователя к основной группе. С помощью команды route вы можете указать до 32 групп, которым разрешено или не разрешено применение маршрута. Если вы задаете список разрешенных групп, то любой пользователь из любой группы может использовать маршрут. Если вы задаете список запрещенных групп, то маршрут могут применять только пользователи, не указанные ни в одной группе этого списка. Пользователь root может применять любой маршрут.

Если существует несколько маршрутов к целевому хосту, то все сообщения об изменении маршрута ICMP игнорируются, а информация об MTU для данного пути не рассылается.

Определение работоспособности шлюза больше подходит для хостов со статической, чем с динамической маршрутизацией. Работа этой функции в пассивном режиме не вызывает большого увеличения нагрузки, поэтому рекомендуется применять ее во всех сетях с несколькими шлюзами. Однако пассивное определение работоспособности шлюзов выполняется только на основе оптимальных значений маршрута. Некоторые протоколы, например, UDP, никак не реагируют на потерянные пакеты данных, поэтому для них пассивный режим неприменим. Режим активного определения работоспособности шлюза применяется в тех случаях, когда хост должен узнавать о сбое шлюза немедленно. В этом случае шлюз опрашивает все шлюзы с периодичностью в несколько секунд, поэтому возникает некоторая дополнительная нагрузка на сеть. Активное определение работоспособности шлюзов рекомендуется применять только на хостах, выполняющих исключительно важные задачи, в сетях с небольшим числом хостов.

Примечание: Если демон routed запускается не в системе шлюза, то он может работать только в пассивном режиме.

Примечание: Для передачи информации об адресах сетей автономной системы шлюзам других автономных систем воспользуйтесь протоколом EGP, BGP или BGP4+. Если вы подключены к Internet, то EGP, BGP или BGP4+ применяются для передачи информации о достижимости сетей базовой системы шлюза. Протоколы внутренней маршрутизации предназначены для распространения информации о достижимости сетей внутри автономных систем.

В следующем примере показан раздел RIP/HELLO файла gated.conf на компьютере, который не отправляет и не принимает пакеты RIP на интерфейсе tr0.

Описание флагов команды ndpd-router приведено в справке по этой команде.

Демон ndpd-router позволит вашей системе работать в качестве маршрутизатора протокола NDP. Этот протокол применяется для рассылки хостам информации о маршрутизации, необходимой для передачи пакетов IPv6.

При настройке BGP4+ или RIPng используйте IP-адреса в формате IPv6.

Примечание: По умолчанию RIPng рассылает пакеты информации.

Источники информации:

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

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