Как посмотреть таблицу маршрутизации на роутере
Таблица маршрутизации — таблица, состоящая из сетевых маршрутов и предназначенная для определения наилучшего пути передачи сетевого пакета. Каждая запись в таблице маршрутизации состоит, как правило, из таких полей:
- адрес сети назначения (destination);
- маска сети назначения (netmask, genmask);
- адрес шлюза (gateway), за исключением тех случаев, когда описывается в маршрут непосредственно доступную (directly connected) сеть, в этом случае вместо адреса шлюза обычно указываются 0.0.0.0;
- метрика маршрута (не всегда).
Пример таблицы маршрутизации (ОС Linux):
Таблица маршрутизации в UNIX просматривается командой
В Linux это можно сделать также при помощи команд route и ip.
А также напрямую просмотрев файл /proc/net/route:
Таблица маршрутизации в устройствах Cisco ASA:
В Android (как и в любом Linux):
Изменение записей в таблице маршрутизации может выполняться администратором системы вручную или специальным программным обеспечением, известным как демон маршрутизации.
В момент начальной загрузки системы таблица маршрутизации пуста, и пополняется потом, по мере загрузки системы и её дальнейшей работы.
По умолчанию (пока маршрутизатор не настроен) таблица маршрутизации пуста. Источников заполнения её может быть несколько:
- непосредственно присоединенные сети — появляются в таблице маршрутизации после того как на интерфейсах маршрутизатора назначаются адреса и интерфейс находится в состоянии up;
- статические маршруты — создаются вручную администратором;
- маршруты протоколов динамической маршрутизации — с помощью этих протоколов маршрутизаторы сообщают друг другу об известных им маршрутах и заполняют таблицу.
Для того чтобы сравнить различные маршруты в одну и ту же сеть назначения полученные из одного источника, используется метрика маршрута. Маршрут с лучшей метрикой помещается в таблицу.
Если маршрутизатор получает информацию об одном и том же получателе или сети получателя из разных источников, то ему необходимо каким-то образом выбрать какой именно маршрут поместить в таблицу. Для этого используется administrative distance.
Administrative distance (AD) — это число, присвоенное каждому из возможных источников маршрутов, которое является некой степенью доверия к источнику. В таблицу маршрутизации попадет маршрут от того источника у которого меньше значение AD. AD имеет только локальное значение и никак не влияет на принятие решения на других маршрутизаторах.
Например, у непосредственно присоединенных сетей значение AD — 0, у статических — 1, OSPF — 110.
Это значит, что если маршрутизатор получит информацию об одной и той же сети от всех трех источников, то выберет он непосредственно присоединенный маршрут. По умолчанию статические маршруты всегда выигрывают у маршрутов протоколов динамической маршрутизации.
Значения AD для маршрутизаторов Cisco указаны на странице Маршрутизация в Cisco.
p, blockquote 1,0,0,0,0 -->
p, blockquote 2,0,0,0,0 -->
Маршрутизация состоит из двух этапов:
p, blockquote 4,0,0,0,0 -->
Варианты действий маршрутизатора
В качестве примера, рассмотрим схему составной сети, здесь показаны отдельные подсети, для каждой подсети есть ее адрес и маска, а также маршрутизаторы, которые объединяют эти сети.
p, blockquote 5,0,0,0,0 -->
p, blockquote 6,0,0,0,0 -->
Рассмотрим маршрутизатор D, на него пришел пакет, и маршрутизатор должен решить, что ему делать с этим пакетом. Начнем с того, какие вообще возможны варианты действий у маршрутизатора. Первый вариант, сеть которой предназначен пакет подключена непосредственно к маршрутизатору. У маршрутизатора D таких сетей 3, в этом случае маршрутизатор передает пакет непосредственно в эту сеть.
p, blockquote 7,0,0,0,0 -->
p, blockquote 8,0,0,0,0 -->
Второй вариант, нужная сеть подключена к другому маршрутизатору (А), и известно, какой маршрутизатор нужен. В этом случае, маршрутизатор D передает пакет на следующий маршрутизатор, который может передать пакет в нужную сеть, такой маршрутизатор называется шлюзом.
p, blockquote 9,0,0,0,0 -->
p, blockquote 10,0,0,0,0 -->
Третий вариант, пришел пакет для сети, маршрут которой не известен, в этом случае маршрутизатор отбрасывает пакет. В этом отличие работы маршрутизатора от коммутатора, коммутатор отправляет кадр который он не знает куда доставить на все порты, маршрутизатор так не делает. В противном случае составная сеть очень быстро может переполнится мусорными пакетами для которых не известен маршрут доставки.
p, blockquote 11,0,0,0,0 -->
- Во-первых у маршрутизатора есть несколько интерфейсов, к которым подключены сети. Нужно определить в какой из этих интерфейсов отправлять пакет.
- Затем нужно определить, что именно делать с этим пакетом. Есть 2 варианта, можно передать пакет в сеть (192.168.1.0/24), либо можно передать его на один из маршрутизаторов подключенные к этой сети. Если передавать пакет на маршрутизатор, то нужно знать, какой именно из маршрутизаторов подключенных к этой сети, выбрать для передачи пакета.
p, blockquote 13,0,0,0,0 -->
Таблица маршрутизации
Эту информацию маршрутизатор хранит в таблице маршрутизации. На картинке ниже показан ее упрощенный вид, в которой некоторые служебные столбцы удалены для простоты понимания.
p, blockquote 14,0,0,0,0 -->
p, blockquote 15,0,1,0,0 -->
p, blockquote 16,0,0,0,0 -->
Таблица маршрутизации Windows
Продолжим рассматривать маршрутизатор D, у него есть три интерфейса. Ниже на картинке представлен вид таблицы маршрутизации для windows, которые в качестве идентификатора интерфейса используют ip-адрес, который назначен этому интерфейсу. Таким образом в столбце интерфейс есть 3 ip-адреса, которые соответствуют трем интерфейсам маршрутизатора.
p, blockquote 17,0,0,0,0 -->
p, blockquote 18,0,0,0,0 -->
p, blockquote 19,0,0,0,0 -->
p, blockquote 20,0,0,0,0 -->
Если же нам нужно передать пакет на следующий маршрутизатор то в поле шлюз указывается ip-адрес этого маршрутизатора.
p, blockquote 21,0,0,0,0 -->
p, blockquote 22,0,0,0,0 -->
Таблица маршрутизации Linux
В операционной системе linux таблица маршрутизации выглядит немного по-другому, основное отличие это идентификатор интерфейсов. В linux вместо ip-адресов используется название интерфейсов. Например, wlan название для беспроводного сетевого интерфейса, а eth0 название для проводного интерфейса по сети ethernet.
p, blockquote 23,0,0,0,0 -->
p, blockquote 24,0,0,0,0 -->
Также здесь некоторые столбцы удалены для сокращения (Flags, Ref и Use). В других операционных системах и в сетевом оборудовании вид таблицы маршрутизации может быть несколько другой, но всегда будут обязательны столбцы ip-адрес, маска подсети, шлюз, интерфейс и метрика.
p, blockquote 25,0,0,0,0 -->
Только следующий шаг!
Часто возникает вопрос, что делать, если сеть для который пришел пакет находится не за одним маршрутизатором? Чтобы в неё попасть, нужно пройти не через один, а через несколько маршрутизаторов, что в этом случае нужно вносить в таблицу маршрутизации.
p, blockquote 26,0,0,0,0 -->
p, blockquote 27,0,0,0,0 -->
В таблицу маршрутизации записываем только первый шаг, адрес следующего маршрутизатора, все что находится дальше нас не интересует.
p, blockquote 28,0,0,0,0 -->
Считаем, что следующий маршрутизатор должен знать правильный маршрут до нужной нам сети, он знает лучше следующий маршрутизатор, тот знает следующий шаг и так далее, пока не доберемся до нужные нам сети.
p, blockquote 29,0,0,0,0 -->
p, blockquote 30,1,0,0,0 -->
Метрика
Можно заметить, что в нашей схеме в одну и ту же сеть, например вот в эту (10.2.0.0/16) можно попасть двумя путями, первый путь проходят через один маршрутизатор F, а второй путь через два маршрутизатора B и E.
p, blockquote 31,0,0,0,0 -->
p, blockquote 32,0,0,0,0 -->
В этом отличие сетевого уровня от канального. На канальном уровне у нас всегда должно быть только одно соединение, а на сетевом уровне допускаются и даже поощряются для обеспечения надежности несколько путей к одной и той же сети.
p, blockquote 33,0,0,0,0 -->
Какой путь выбрать? Для этого используются поле метрика таблицы маршрутизации.
p, blockquote 34,0,0,0,0 -->
p, blockquote 35,0,0,0,0 -->
Метрика это некоторое число, которые характеризует расстояние от одной сети до другой. Если есть несколько маршрутов до одной и той же сети, то выбирается маршрут с меньшей метрикой.
p, blockquote 36,0,0,0,0 -->
p, blockquote 37,0,0,0,0 -->
Раньше, метрика измерялось в количестве маршрутизаторов, таким образом расстояние через маршрутизатор F было бы один, а через маршрутизаторы B и E два.
p, blockquote 38,0,0,0,0 -->
p, blockquote 39,0,0,0,0 -->
p, blockquote 40,0,0,0,0 -->
Записи в таблице маршрутизации
Откуда появляются записей в таблице маршрутизации? Есть два варианта статическая маршрутизация и динамическая маршрутизация.
p, blockquote 41,0,0,0,0 -->
При статической маршрутизации, записи в таблице маршрутизации настраиваются вручную, это удобно делать если у вас сеть небольшая и изменяется редко, но если сеть крупная, то выгоднее использовать динамическую маршрутизацию, в которой маршруты настраиваются автоматически. В этом случае маршрутизаторы сами изучают сеть с помощью протоколов маршрутизации RIP, OSPF, BGP и других.
p, blockquote 42,0,0,0,0 -->
Преимущество динамической маршрутизации в том, что изменение в сети могут автоматически отмечаться в таблице маршрутизации. Например, если вышел из строя один из маршрутизаторов, то маршрутизаторы по протоколам маршрутизации об этом узнают, и уберут маршрут, который проходит через этот маршрутизатор. С другой стороны, если появился новый маршрутизатор, то это также отразится в таблице маршрутизации автоматически.
p, blockquote 43,0,0,0,0 -->
Маршрут по умолчанию
p, blockquote 44,0,0,0,0 -->
В таблице маршрутизации назначается специальный маршрутизатор по умолчанию, на которой отправляются все пакеты для неизвестных сетей, как правило это маршрутизатор, который подключен к интернет.
p, blockquote 45,0,0,1,0 -->
Предполагается что этот маршрутизатор лучше знает структуру сети, и способен найти маршрут в составной сети. Для обозначения маршрута по умолчанию, в таблице маршрутизации используются четыре нуля в адресе подсети и четыре нуля в маске (0.0.0.0, маска 0.0.0.0), а иногда также пишут default.
p, blockquote 46,0,0,0,0 -->
Ниже пример маршрута по умолчанию в таблице маршрутизации в операционной системе linux.
p, blockquote 47,0,0,0,0 -->
p, blockquote 48,0,0,0,0 -->
Ip-адрес и маска равны нулю, в адрес и шлюз указываются ip-адрес маршрутизатора по умолчанию.
p, blockquote 49,0,0,0,0 -->
Длина маски подсети
Рассмотрим пример. Маршрутизатор принял пакет на ip-адрес (192.168.100.23), в таблице маршрутизации есть 2 записи (192.168.100.0/24 и 192.168.0.0/16) под который подходит этот ip-адрес, но у них разная длина маски. Какую из этих записей выбрать? Выбирается та запись, где маска длиннее, предполагается, что запись с более длинной маской содержит лучший маршрут интересующей нас сети.
p, blockquote 50,0,0,0,0 -->
Чтобы понять почему так происходит, давайте рассмотрим составную сеть гипотетического университета. Университет получил блок ip-адресов, разделил этот блок ip-адресов на две части, и каждую часть выделил отдельному кампусу.
p, blockquote 51,0,0,0,0 -->
p, blockquote 52,0,0,0,0 -->
На кампусе находятся свои маршрутизаторы, на которых сеть была дальше разделена на части предназначенные для отдельных факультетов. Разделение сетей производится с помощью увеличения длины маски, весь блок адресов имеет маску / 16, блоки кампусов имеют маску / 17, а блоки факультетов / 18.
p, blockquote 53,0,0,0,0 -->
Ниже показан фрагмент таблицы маршрутизации на маршрутизаторе первого кампуса. Он содержит путь до сети первого факультета, 2 факультета, до обще университетской сети, который проходит через университетский маршрутизатор, а также маршрут по умолчанию в интернет, который тоже проходит через обще университетский маршрутизатор.
p, blockquote 54,0,0,0,0 -->
p, blockquote 55,0,0,0,0 -->
p, blockquote 56,0,0,0,0 -->
p, blockquote 57,0,0,0,0 -->
И так получается, что выбирается всегда маршрут с маской максимальной длины. Общие правила выбора маршрутов следующие.
Следует отметить, что таблица маршрутизации есть не только у сетевых устройств маршрутизаторов, но и у обычных компьютеров в сети. Хотя у них таблица маршрутизации гораздо меньше.
- Как правило такая таблица содержит описание присоединенной сети, который подключен данный компьютер.
- Адрес маршрутизатора по умолчанию (шлюз или gateway) через который, выполняется подключение к интернет, или к корпоративной сети предприятия.
- А также могут быть дополнительные маршруты к некоторым знакомым сетям, но это необязательно.
Для того чтобы просмотреть таблицу маршрутизации, можно использовать команды route или ip route (route print (Windows); route и ip route (Linux)).
p, blockquote 60,0,0,0,0 --> p, blockquote 61,0,0,0,1 -->
Слово роутер является одним из наиболее часто читаемых или слышимых, когда мы говорим о сетях. Тем не менее, никогда не повредит узнать немного больше о том, как они работают внутри. На этот раз мы поговорим о таблицах маршрутизации , Это один из важнейших компонентов маршрутизатора для выполнения его функций, который состоит из направления пакетов данных в пункт назначения по наиболее подходящему маршруту.
Таблица маршрутизации - это набор правил, используемых для определения того, по какому пути должны следовать пакеты данных. Все это через любую сеть, которая работает с протоколом IP. Любое устройство, которое может иметь IP-адрес, включая маршрутизаторы и ПК, например Windows, Linux or Мак, имейте таблицу маршрутизации, чтобы знать, как добраться до пункта назначения.
Компоненты таблицы маршрутизации
Такая таблица содержит всю информацию, необходимую для обеспечения возможности прохождения одного или нескольких пакетов данных через сеть по наилучшему пути. Таким образом, его прибытие в пункт назначения гарантируется, пока используются протоколы транспортного уровня, ориентированные на установление соединения, такие как TCP, поскольку TCP действительно гарантирует, что пакет достигнет пункта назначения правильно.
Хорошо помнить, что каждый пакет данных содержит, вне зависимости от избыточности, дополнительные данные, которые помогают нам узнать о IP-адрес источника и горизонтальное распределение IP-адрес назначения среди прочего информация, которая идет в шапке.
- Сеть назначения: это соответствует сети назначения, куда должен направляться пакет данных.
- Маска подсети: это это тот, который используется для определения маски подсети сети, в которую мы должны перейти.
- Следующий прыжок: на английском это известно как следующий прыжок , Это IP-адрес сетевого интерфейса, по которому будет перемещаться пакет данных, чтобы продолжить свой путь до конца.
- Исходящий интерфейс: это является сетевым интерфейсом, через который пакеты должны уходить, чтобы в конце концов достичь пункта назначения.
- Метрики: они есть несколько приложений. Один из них - указать минимальное количество переходов к сети назначения или просто «стоимость» доступа к сети назначения, и он используется для определения приоритета.
- Напрямую связаны
- Удаленные маршруты
- Хозяин
- Маршруты по умолчанию
- судьба
Чрезвычайно важно укрепить концепцию маршрутизации. То есть, какова функция маршрутизатора в сети:
- Получите пакет данных.
- Узнайте, что адрес назначения.
- Проверьте таблицу маршрутизации, которую вы настроили.
- Приступить к отправке посылки в пункт назначения по наилучшему возможному маршруту.
Как мне поддерживать таблицу маршрутизации?
В основном, тремя способами: Непосредственно связанные сети поддерживаются автоматически, так как они напрямую связаны и маршруты добавляются автоматически. У нас также есть статическая маршрутизация где администратор сети добавляет или удаляет один или несколько маршрутов, и, наконец, мы имеем динамическая маршрутизация .
Сегодня большое значение придается динамической маршрутизации. Как это работает? Cеть устройства, в данном случае маршрутизаторы, автоматически создают и обновляют свои таблицы маршрутизации. Они делают это через протоколы маршрутизации для обмена информацией о топологии сети.
Если у вас большая или очень большая сеть, статическая маршрутизация и, следовательно, ручное ее обслуживание потребуют многочасовых усилий технического персонала. Последнее очень непрактично и намного менее продуктивно. Таблицы динамической маршрутизации позволяют подключенным сетевым устройствам «слушать» друг друга, чтобы они могли автоматически обновлять свои таблицы маршрутизации в соответствии с сетевыми событиями. Особенно, если речь идет о сбоях или перегрузках сети.
Далее мы более подробно рассмотрим как статическую, так и динамическую маршрутизацию.
Статическая маршрутизация
- Большая безопасность, что маршрут был введен правильно и нет проблем, так как они вводятся вручную администратором.
- Эффективность при управлении ресурсами, потому что на маршрутизаторе нет протокола.
Существует два основных типа статической маршрутизации: в конкретную сеть и статический по умолчанию (или маршрут по умолчанию) , Для лучшего контекста, если используется IPv4, конфигурация статической маршрутизации в конкретную сеть имеет следующую структуру:
DirecciónIP MáscaradeSubred IPsiguientesalto | InterfazDeSalida
Применим эту структуру к команде маршрутизатора от производителя Cisco:
ip route 192.168.0.0 255.255.255.0 192.168.10.5
Вместо IP следующего перехода, то есть IP интерфейса, по которому будет продолжаться навигация по пакету данных, мы можем указать интерфейс:
ip route 192.168.0.0 255.255.255.0 serial 0/0/1
Теперь, на стороне статического маршрута по умолчанию или маршрута по умолчанию, мы должны знать, что это работает, когда в таблице маршрутизации нет определенного маршрута для сети назначения. Это особенно применимо, когда вам нужно настроить маршрутизаторы, которые разрешают Интернет.
Почему маршрут к определенной сети не будет полезен, если мы собираемся путешествовать по Интернету? Потому что никто не уверен, к каким веб-сайтам и услугам вы будете обращаться каждый день. Мы не воспринимаем это, но мы, как пользователи сети сетей, ежедневно получаем доступ к нескольким сетям.
Таким образом, невозможно реализовать ни конкретный статический маршрут, ни динамический, потому что домашние маршрутизаторы не будут поддерживать все сети в мире. Следовательно, маршрут по умолчанию позволит нам идти куда угодно, когда нам нужен доступ в Интернет, поскольку он отправит все пакеты по умолчанию на маршрутизатор оператора.
Однако структура команды настройки очень похожа на «нормальный» статический маршрут. Посмотрим на его структуру:
0.0.0.0 0.0.0.0 IPsiguientesalto | InterfazDeSalida
Давайте снова применим эту структуру к команде маршрутизатора Cisco:
ip route 0.0.0.0 0.0.0.0 192.168.10.5
Вместо IP следующего перехода, то есть IP интерфейса, по которому будет продолжаться навигация по пакету данных, мы можем указать интерфейс:
ip route 0.0.0.0 0.0.0.0 serial 0/0/1
Динамическая маршрутизация
Маршрутизаторы используют разные протоколы динамической маршрутизации для совместного использования всех данных, связанных с состояние сетей . Вместо того, чтобы заставлять администратора вручную настраивать таблицы маршрутизации, об этом позаботятся протоколы динамической маршрутизации. Единственное, что нужно будет сделать администратору, - это правильно настроить протокол динамической маршрутизации и совместно использовать сети, которые напрямую подключены, чтобы другие маршрутизаторы знали, куда им идти, если требуется доступ к этой сети. Такой тип обучения позволяет определить лучший маршрут для каждого случая, а затем добавить его в таблицу маршрутизации маршрутизатора.
Важно упомянуть пару преимуществ, связанных с динамической маршрутизацией. Наиболее важным является возможность определения нового лучшего маршрута, если тот, который был первоначально определен, был выведен из эксплуатации. С другой стороны, вмешательство человека не требуется ни в коем случае, даже при самых сложных изменениях топологии сети. В зависимости от сценария нам придется использовать протоколы маршрутизации внутреннего шлюза (IGP), которые используются в AS (автономной системе), такой как RIP, OSPF, IS-IS или EIGRP. Также, если мы собираемся связать разные AS, используется протокол BGP.
Команда Route выводит на экран все содержимое таблицы IP-маршрутизации и изменяет записи в командной строке операционной системы Windows. Запущенная без параметров, команда route выводит справку.
Прежде чем приступать к практике хотелось бы поговорить немного о теории, что бы Вы понимали в каких случаях может пригодиться команда Route. Важно подметить, что команда больше интересна для просмотра маршрутов на рабочей станции. А непосредственное добавление маршрутов, как правило происходит на серверном оборудовании (например, на маршрутизаторе).
Видео - Работа с утилитой командной строки ROUTE
Синтаксис и параметры утилиты ROUTE
route [-f] [-p] [команда [конечная_точка] [mask маска_сети] [шлюз] [metric метрика]] [if интерфейс]]
- -f - Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд (таких, как add, change или delete) таблица очищается перед выполнением команды.
- -p - При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP.
- команда- Указывает команду, которая будет запущена. Возжожна одна из следующих команд: PRINT - Печать маршрута, ADD - Добавление маршрута, DELETE - Удаление маршрута, CHANGE - Изменение существующего маршрута.
- конечная_точка - Определяет конечную точку маршрута. Конечной точкой может быть сетевой IP-адрес (где разряды узла в сетевом адресе имеют значение 0), IP-адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию.
- mask маска_сети - Указывает маску сети (также известной как маска подсети) в соответствии с точкой назначения. Маска сети может быть маской подсети соответствующей сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соответствующая маска подсети. Другими словами, значение разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в маске подсети равно 0.
- шлюз - Указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов, определенный конечной точкой и маской подсети. Для локально подключенных маршрутов подсети, адрес шлюза — это IP-адрес, назначенный интерфейсу, который подключен к подсети. Для удаленных маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза — непосредственно доступный IP-адрес ближайшего маршрутизатора.
- metric метрика - Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути, надежность пути, пропускную способность пути и средства администрирования.
- if интерфейс - Указывает индекс интерфейса, через который доступна точка назначения. Для вывода списка интерфейсов и их соответствующих индексов используйте команду route print. Значения индексов интерфейсов могут быть как десятичные, так и шестнадцатеричные. Перед шестнадцатеричными номерами вводится 0х. В случае, когда параметр if пропущен, интерфейс определяется из адреса шлюза.
- /? - Отображает справку в командной строке.
Читайте также: