Для чего нужна таблица маршрутизации
Зачем нужна таблица маршрутизации?
Что она делает? Для чего нужна? Как это работает? Объясните пожалуйста на этом примере:
| Сетевой адрес | Маска сети | Адрес шлюза | Интерфейс | Метрика |
|---|---|---|---|---|
| 0.0.0.0 | 0.0.0.0 | 192.168.1.1 | 192.168.1.100 | 20 |
| 127.0.0.0 | 255.0.0.0 | On-link | 127.0.0.1 | 306 |
| 127.0.0.1 | 255.255.255.255 | On-link | 127.0.0.1 | 306 |
| 127.255.255.255 | 255.255.255.255 | On-link | 127.0.0.1 | 306 |
| 192.168.1.0 | 255.255.255.0 | On-link | 192.168.1.100 | 276 |
| 192.168.1.100 | 255.255.255.255 | On-link | 192.168.1.100 | 276 |
| 192.168.1.255 | 255.255.255.255 | On-link | 192.168.1.100 | 276 |
| 244.0.0.0 | 240.0.0.0 | On-link | 127.0.0.1 | 306 |
| 244.0.0.0 | 240.0.0.0 | On-link | 192.168.1.100 | 276 |
| 255.255.255.255 | 255.255.255.255 | On-link | 127.0.0.1 | 306 |
| 255.255.255.255 | 255.255.255.255 | On-link | 192.168.1.100 | 276 |
Зачем нужна таблица маршрутизации?
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20
Например вы решили подключить себе 2 провайдера. Купили сетевую карту и воткнули 2 шнурка в ПК.
Когда вы пытайтесь выйти в интернет, через какого провайдера вы попадете в сеть? Это как раз и диктует таблица маршрутизации.
Пример по ващей выгрузке:
1) Вы пытайтесь зайти на yandex.ru,
2) ваш ПК разрешает имя в IP 77.88.8.8
3) Ваш ПК ищет, куда отправить трафик. И не находит, т.к. маршрута до 77.88.8.8 нет
4) Раз подходящий маршрут не был найден, все уходит на маршрут по умолчанию 0.0.0.0/0
Если бы у вас было 2 провайдера, вы бы могли жестко задавать, через какого именно выходить в сеть. Т.е. первого могли бы использовать для яндекса, а второй для всего остального.
Будем считать сначала по типу (немаршрутизируемый → маршрутизируемый), потом от самых приоритетных (20) до наименее приоритетного (306).
Доступность On-link (немаршрутизируемая), приоритет 276.
№5. 192.168.1.x — отвечает за нашу подсеть.
№6. 192.168.1.100 — отвечает за собственный IP.
№7. 192.168.1.255 — ещё один зарезервированный адрес «всем в подсети».
№9. (240-255).x.x.x — зарезервированный диапазон мультивещательных сетей
№11. 255.255.255.255 — зарезервированный адрес «всем в подсети».
Доступность маршрутизируемая, приоритет 20
№1. 0.0.0.0. Под эту строчку подходит что угодно, и если ни один из on-link’ов не пройдёт — берётся она. Посылаем пакет на роутер.
таблица нужна чтобы ОС знала на какой шлюз отправлять пакеты для целевого адреса
Понятия маршрутизации
Маршрутизация – это процесс определения пути следования информации в сетях связи. Маршрутизация служит для приема пакета от одного устройства и передаче его другому устройству через другие сети.
Маршрутизатором или шлюзом называется узел сети с несколькими интерфейсами, каждый из которых имеет свой MAC-адрес и IP адрес.
Виды маршрутизации
1. Прямая маршрутизация. При прямой маршрутизации отправитель в определенной IP-сети может напрямую передавать кадры любому получателю в той же сети. При этом не требуется функциональность IP-маршрутизации.
Для этого сравнивает свой номер сети 10 с номером сети получателя 10. Делает вывод, что узел-получатель находится в одном с ним сегменте сети.
С помощью протокола ARP определяет MAC-адрес узла-получателя и посылает пакет по этому адресу.
ARP (англ. Address Resolution Protocol — протокол определения адреса) — протокол в компьютерных сетях, предназначенный для определения MAC-адреса, имея IP-адрес другого компьютера.
2. Косвенная маршрутизация. Косвенная маршрутизация происходит в том случае, если отправитель и получатель находятся в разных IP-сетях. Косвенная маршрутизация требует, чтобы отправитель передавал пакеты маршрутизатору для доставки их через распределённую сеть.
Например, узел 10.1.1.1 имеет пакет, который нужно отправить узлу 172.16.0.1.
1. Узел назначения находится не на одной с передающим узлом сети. Узел 10.1.1.1 сконфигурирован так, что любые пакеты, требующие косвенной маршрутизации, передаются его шлюзу по умолчанию – маршрутизатору 1.
2. Чтобы доставить пакет маршрутизатору 1, узлу 10.1.1.1 необходим MAC-адрес маршрутизатора 10.3.3.3. Если МАС-адрес узлу 10.1.1.1 неизвестен, он отправляет ARP-запрос, чтобы его получить. Затем пакет, предназначенный для 172.16.0.1 отправляется маршрутизатору 1.
3. Маршрутизатор 1 осознает, что он подсоединен к сети 172.16. и полагает, что узел 172.16.0.1 должен быть частью этой сети. Маршрутизатор 1 реализует свою собственную процедуру прямой маршрутизации и посылает ARP-запрос, ища узел назначения.
Требования к процессу маршрутизации
В процессе маршрутизации роутеру необходимо:
Таблицы маршрутизации
Таблица маршрутизации – это база данных, хранящаяся на маршрутизаторе, которая описывает соответствие между адресами назначения и интерфейсами, через которые следует отправить пакет данных до следующего узла.
Таблица маршрутизации содержит: адрес узла назначения, маску сети назначения, адрес шлюза, интерфейс, метрика. Пример:
Адрес шлюза – обозначает адрес маршрутизатора в сети на который необходимо отправить пакет, следующий до указанного адреса назначения.
Интерфейс – физический порт через который передается пакет.
Метрика – числовой показатель, задающий приоритет маршрута.
Маска подсети — битовая маска для определения по IP-адресу адреса подсети и адреса узла этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.
Сетевой адрес — идентификатор устройства, работающего в компьютерной сети.
Способы размещения записей в таблицу
Размещение записей в таблице маршрутизации может производиться тремя различными способами.
Первый способ предполагает применение прямого соединения при котором маршрутизатор сам определяет подключенную подсеть.
Прямой маршрут — это маршрут, который является локальным по отношению к маршрутизатору.
Если один из интерфейсов маршрутизатора соединен с какой-либо сетью напрямую, то при получении пакета, адресованного такой подсети, маршрутизатор сразу отправляет пакет на интерфейс, к которому она подключена.
Прямое соединение является наиболее достоверным способом маршрутизации.
Второй способ предполагает занесение маршрутов вручную. В данном случае имеет место статическая маршрутизация.
Статический маршрут определяет IP-адрес следующего соседнего маршрутизатора или локальный выходной интерфейс, который используется для направления трафика к определенной подсети-получателю.
Статические маршруты должны быть заданы на обеих концах канала связи между маршрутизаторами, иначе удаленный маршрутизатор не будет знать маршрута, по которому нужно отправлять ответные пакеты и будет организована лишь односторонняя связь.
Третий способ подразумевает автоматическое размещение записей с помощью протоколов маршрутизации. Данный способ называется динамической маршрутизацией.
Протоколы динамической маршрутизации могут автоматически отслеживать изменения в топологии сети. Успешное функционирование динамической маршрутизации зависит от выполнения маршрутизатором двух основных функций:
Расчет метрики
В качестве параметров для расчет метрик могут выступать:
Если маршрутизатору известно более одного маршрута до сети получателя, то он сравнивает метрики этих маршрутов и передает в таблицу маршрутизации маршрут с наименьшей метрикой (стоимостью).
Команда Route
Команда Route выводит на экран все содержимое таблицы IP-маршрутизации и изменяет записи. Запущенная без параметров, команда route выводит справку. Рассмотрим некоторые примеры команды route в командной строке Windows:
Чтобы вывести на экран все содержимое таблицы IP-маршрутизации, введите команду: route print;
Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду: route print 10.*;
Чтобы добавить маршрут по умолчанию с адресом стандартного шлюза 192.168.12.1, введите команду: route add 0.0.0.0 mask 0.0.0.0 192.168.12.1;
Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1, введите команду: route add 10.41.0.0 mask 255.255.0.0 10.27.0.1;
Маршрутизация — что это такое и как работает
Практически каждый пользователь интернета, который читал материалы на тему работы глобальной паутины и ее нюансах в целом слышали про маршрутизацию и, некоторые в какой-то степени даже понимают, что это.
Но, это довольно интересная тема и я решил вынести ее в отдельную статью, давайте узнаем, что это такое, как она работает, зачем она вообще нужна и какие у нее бывают виды. На самом деле это все довольно просто.
Итак, вы уже знаете, что такое UDP протокол и зачем он нужен, сейчас же мы разберем не менее интересную тему о том, как строятся пути для передачи информации в IP сетях.
Что такое маршрутизация
Маршрутизация (Routing) — это процесс по определению/вычислению лучшего маршрута движения для данных в сетях связи. Есть еще второе определение — это передача пакетов данных от отправителя к получателю.
Сами маршруты могут быть статическими — задаются административно, или динамическими, т.е. рассчитываться по специальным алгоритмам-протоколам, которые базируются на данных о топологии и состоянии сети.
Функцию роутинга могут выполнять:
Таблица маршрутизации
Таблица маршрутизации — это файл-электронная таблица или база данных, которая располагается на маршрутизаторе или специально настроенном компьютере. В ней описывается соответствие адресов назначения с интерфейсами, через которые необходимо производить отправку данных до следующего маршрутизатора.
Таблица содержит:
Может заполняться как вручную, так и автоматически.
Протокол маршрутизации
Протокол маршрутизации используется маршрутизаторами для определения возможных и оптимальных маршрутов движения пакетов данных по сети. Текущий протокол позволяет обеспечивать маршрут на автоматическом уровне избегая ручного ввода.
Это в свою очередь снижает возможное количество ошибок, делает взаимодействие всех роутеров в сети согласованным и, конечно же, облегчает работу самому администратору.
Маршрутизация в IP сетях
По итогу, все это нужно для отправки и приема пакетов данных от одного устройства по сетке к другому и это может происходить через разные сети. Сами маршрутизаторы/роутеры отправляют данные практически во все сети, из локальной в глобальную паутину, используют NAT и т.д.
Информация на роутер поступает от других таких-же роутеров или от администратора. Составляется таблица — вручную или динамически. И, соответственно, пакеты данных отправляются.
Статическая маршрутизация
В данном случае маршруты задаются в таблице напрямую администратором во время конфигурации маршрутизатора, без использования протоколов, помогающих построить пути.
При задании такого маршрута назначается:
Плюсы:
Минусы:
Динамическая маршрутизация
В этом случае таблица редактируется на программном уровне и рассчитывается по протоколам. Позволяет маршрутизаторам в реальном времени своевременно менять пути, применяемые для передачи IP пакетов. У каждого протокола есть свой метод определения маршрута движения пакетов: самый быстрый путь, использование именно того маршрута, который рекомендуют другие роутеры и т.д.
Так, если в сети произойдут какие-либо изменения, то протокол динамической маршрутизации оповестит об этом все маршрутизаторы, а вот при статической, все придется делать администратору.
В заключение
Работая в интернете или читая там занимательную литературу, вы даже не замечаете сколько процессов происходит, а происходит там очень много. Если вам и дальше интересны материалы на темы работы интернета, то заходите еще.
Маршрутизация — принцип работы и таблица маршрутизации
Маршрутизация работает на сетевом уровне модель взаимодействия открытых систем OSI. Маршрутизация — это поиск маршрута доставки пакета в крупной составной сети через транзитные узлы, которые называются маршрутизаторы.
Маршрутизация состоит из двух этапов:
Варианты действий маршрутизатора
В качестве примера, рассмотрим схему составной сети, здесь показаны отдельные подсети, для каждой подсети есть ее адрес и маска, а также маршрутизаторы, которые объединяют эти сети.
Рассмотрим маршрутизатор D, на него пришел пакет, и маршрутизатор должен решить, что ему делать с этим пакетом. Начнем с того, какие вообще возможны варианты действий у маршрутизатора. Первый вариант, сеть которой предназначен пакет подключена непосредственно к маршрутизатору. У маршрутизатора D таких сетей 3, в этом случае маршрутизатор передает пакет непосредственно в эту сеть.
Второй вариант, нужная сеть подключена к другому маршрутизатору (А), и известно, какой маршрутизатор нужен. В этом случае, маршрутизатор D передает пакет на следующий маршрутизатор, который может передать пакет в нужную сеть, такой маршрутизатор называется шлюзом.
Третий вариант, пришел пакет для сети, маршрут которой не известен, в этом случае маршрутизатор отбрасывает пакет. В этом отличие работы маршрутизатора от коммутатора, коммутатор отправляет кадр который он не знает куда доставить на все порты, маршрутизатор так не делает. В противном случае составная сеть очень быстро может переполнится мусорными пакетами для которых не известен маршрут доставки.
Что нужно знать маршрутизатору для того чтобы решить куда отправить пакет?
Таблица маршрутизации
Эту информацию маршрутизатор хранит в таблице маршрутизации. На картинке ниже показан ее упрощенный вид, в которой некоторые служебные столбцы удалены для простоты понимания.
Первые два столбца это адрес и маска подсети, вместе они задают адрес подсети. Затем столбцы шлюз, интерфейс и метрика. Столбец интерфейс говорит о том, через какой интерфейс маршрутизатора нам нужно отправить пакет.
Таблица маршрутизации Windows
Продолжим рассматривать маршрутизатор D, у него есть три интерфейса. Ниже на картинке представлен вид таблицы маршрутизации для windows, которые в качестве идентификатора интерфейса используют ip-адрес, который назначен этому интерфейсу. Таким образом в столбце интерфейс есть 3 ip-адреса, которые соответствуют трем интерфейсам маршрутизатора.
Столбец шлюз, говорит что делать с пакетом, который вышел через заданный интерфейс. Для сетей, которые подключены напрямую к маршрутизатору D, в столбце шлюз, указывается «подсоединен», которое говорит о том, что сеть подключена непосредственно к маршрутизатору и передавать пакет нужно напрямую в эту сеть.
Если же нам нужно передать пакет на следующий маршрутизатор то в поле шлюз указывается ip-адрес этого маршрутизатора.
Таблица маршрутизации Linux
В операционной системе linux таблица маршрутизации выглядит немного по-другому, основное отличие это идентификатор интерфейсов. В linux вместо ip-адресов используется название интерфейсов. Например, wlan название для беспроводного сетевого интерфейса, а eth0 название для проводного интерфейса по сети ethernet.
Также здесь некоторые столбцы удалены для сокращения (Flags, Ref и Use). В других операционных системах и в сетевом оборудовании вид таблицы маршрутизации может быть несколько другой, но всегда будут обязательны столбцы ip-адрес, маска подсети, шлюз, интерфейс и метрика.
Только следующий шаг!
Часто возникает вопрос, что делать, если сеть для который пришел пакет находится не за одним маршрутизатором? Чтобы в неё попасть, нужно пройти не через один, а через несколько маршрутизаторов, что в этом случае нужно вносить в таблицу маршрутизации.
В таблицу маршрутизации записываем только первый шаг, адрес следующего маршрутизатора, все что находится дальше нас не интересует.
Считаем, что следующий маршрутизатор должен знать правильный маршрут до нужной нам сети, он знает лучше следующий маршрутизатор, тот знает следующий шаг и так далее, пока не доберемся до нужные нам сети.
Метрика
Можно заметить, что в нашей схеме в одну и ту же сеть, например вот в эту (10.2.0.0/16) можно попасть двумя путями, первый путь проходят через один маршрутизатор F, а второй путь через два маршрутизатора B и E.
В этом отличие сетевого уровня от канального. На канальном уровне у нас всегда должно быть только одно соединение, а на сетевом уровне допускаются и даже поощряются для обеспечения надежности несколько путей к одной и той же сети.
Какой путь выбрать? Для этого используются поле метрика таблицы маршрутизации.
Метрика это некоторое число, которые характеризует расстояние от одной сети до другой. Если есть несколько маршрутов до одной и той же сети, то выбирается маршрут с меньшей метрикой.
Раньше, метрика измерялось в количестве маршрутизаторов, таким образом расстояние через маршрутизатор F было бы один, а через маршрутизаторы B и E два.
Однако сейчас метрика учитывает не только количество промежуточных маршрутизаторов, но и скорость каналов между сетями, потому что иногда бывает выгоднее пройти через два маршрутизатора, но по более скоростным каналам. Также может учитываться загрузка каналов, поэтому сейчас метрика — это число, которое учитывает все эти характеристики. Мы выбираем маршрут с минимальной метрикой в данном примере выше, будет выбран первый маршрут через маршрутизатор F.
Записи в таблице маршрутизации
Откуда появляются записей в таблице маршрутизации? Есть два варианта статическая маршрутизация и динамическая маршрутизация.
При статической маршрутизации, записи в таблице маршрутизации настраиваются вручную, это удобно делать если у вас сеть небольшая и изменяется редко, но если сеть крупная, то выгоднее использовать динамическую маршрутизацию, в которой маршруты настраиваются автоматически. В этом случае маршрутизаторы сами изучают сеть с помощью протоколов маршрутизации RIP, OSPF, BGP и других.
Преимущество динамической маршрутизации в том, что изменение в сети могут автоматически отмечаться в таблице маршрутизации. Например, если вышел из строя один из маршрутизаторов, то маршрутизаторы по протоколам маршрутизации об этом узнают, и уберут маршрут, который проходит через этот маршрутизатор. С другой стороны, если появился новый маршрутизатор, то это также отразится в таблице маршрутизации автоматически.
Маршрут по умолчанию
Если маршрутизатор не знает куда отправить пакет, то такой пакет отбрасывается. Таким образом получается, что маршрутизатор должен знать маршруты ко всем подсетям в составной сети. На практике для крупных сетей, например для интернета это невозможно, поэтому используются следующие решения.
В таблице маршрутизации назначается специальный маршрутизатор по умолчанию, на которой отправляются все пакеты для неизвестных сетей, как правило это маршрутизатор, который подключен к интернет.
Предполагается что этот маршрутизатор лучше знает структуру сети, и способен найти маршрут в составной сети. Для обозначения маршрута по умолчанию, в таблице маршрутизации используются четыре нуля в адресе подсети и четыре нуля в маске (0.0.0.0, маска 0.0.0.0), а иногда также пишут default.
Ниже пример маршрута по умолчанию в таблице маршрутизации в операционной системе linux.
Ip-адрес и маска равны нулю, в адрес и шлюз указываются ip-адрес маршрутизатора по умолчанию.
Длина маски подсети
Рассмотрим пример. Маршрутизатор принял пакет на ip-адрес (192.168.100.23), в таблице маршрутизации есть 2 записи (192.168.100.0/24 и 192.168.0.0/16) под который подходит этот ip-адрес, но у них разная длина маски. Какую из этих записей выбрать? Выбирается та запись, где маска длиннее, предполагается, что запись с более длинной маской содержит лучший маршрут интересующей нас сети.
Чтобы понять почему так происходит, давайте рассмотрим составную сеть гипотетического университета. Университет получил блок ip-адресов, разделил этот блок ip-адресов на две части, и каждую часть выделил отдельному кампусу.
На кампусе находятся свои маршрутизаторы, на которых сеть была дальше разделена на части предназначенные для отдельных факультетов. Разделение сетей производится с помощью увеличения длины маски, весь блок адресов имеет маску / 16, блоки кампусов имеют маску / 17, а блоки факультетов / 18.
Ниже показан фрагмент таблицы маршрутизации на маршрутизаторе первого кампуса. Он содержит путь до сети первого факультета, 2 факультета, до обще университетской сети, который проходит через университетский маршрутизатор, а также маршрут по умолчанию в интернет, который тоже проходит через обще университетский маршрутизатор.
Предположим, что у на этот маршрутизатор пришел пакет предназначенный для второго факультета, что может сделать маршрутизатор? Он может выбрать запись, которая соответствует второму факультету и отправить непосредственно в сеть этого факультета, либо может выбрать запись, которая соответствует всей университетской сети, тогда отправит на университетский маршрутизатор, что будет явно неправильным.
И так получается, что выбирается всегда маршрут с маской максимальной длины. Общие правила выбора маршрутов следующие.
Следует отметить, что таблица маршрутизации есть не только у сетевых устройств маршрутизаторов, но и у обычных компьютеров в сети. Хотя у них таблица маршрутизации гораздо меньше.
Для того чтобы просмотреть таблицу маршрутизации, можно использовать команды route или ip route (route print (Windows); route и ip route (Linux)).
Маршрутизация — поиск маршрута доставки пакета между сетями через транзитные узлы — маршрутизаторы.







