Основы сетевой маршрутизации
Содержание:
- See also
- Параметры роутов
- Таблицы базы данных PostgreSQL
- Маршрутизация источника
- Таблица маршрутизации
- Пару вступительных слов о маршрутизации
- Что такое маршрутизация
- Принятие решений о переадресации
- Еще одна таблица маршрутизации
- Маршрутизация для мобильных объектов
- Маршрутизируемые протоколы
- Протоколы многоадресной маршрутизации
- Длина маски подсети
- Сетевые маршруты в Linux
See also
- OSM tags for routing — What data is stored in OpenStreetMap that you can use when routing?
- Routing problems — Are there any problems that can’t be solved using least-cost routing? Do we have any suggestions for solving those problems?
- Routing profiles — Which categories of people want to generate routes, and what are their specific needs? What weights should we use when a ‘horse who’s scared of traffic lights but likes walking in the forest’ asks for a route? How do we choose the best route for a cyclist with slick tires and no lights at night?
- Sample driving instructions
- TIGER fixup — Fixing routing in the U.S. Starting with basic interstate routes: TIGER fixup/250 cities
- Train routing- How can we do routing on public transport networks, and other scheduled services?
- Guidelines for pedestrian navigation — How to map roads, footways etc. so that accurate and realistic pedestrian routes can be produced
- LoroDux — Pedestrian routing for mobile devices for the blind
- Taxi to… — a funny approach to long-distance routing comparison
Параметры роутов
Обязательные параметры
Разумеется, иногда вам может понадобиться захватить сегменты URI в вашем роуте. Например, если вам необходимо захватить ID пользователя из URL. Это можно сделать, определив параметры роута:
Вы можете определить сколько угодно параметров:
Параметры роута всегда заключаются в фигурные скобки и должны состоять из буквенных символов. Параметры роута не могут содержать символ . Используйте вместо него подчёркивание (). Параметры роута внедряются в анонимные функции / контроллеры роута, основываясь на их порядке — названия аргументов анонимных функций / контроллеров не имеют значения.
Необязательные параметры
Иногда необходимо указать параметр роута, но при этом сделать его наличие необязательным. Это можно сделать, поместив знак вопроса после названия параметра. Не забудьте задать значение по умолчанию для соответствующей переменной роута:
Ограничения регулярными выражениями
Вы можете ограничить формат параметров вашего роута с помощью метода на экземпляре роута. Метод принимает название параметра и регулярное выражение, определяющее ограничения для параметра:
Глобальные ограничения
Если вы хотите, чтобы параметр был всегда ограничен заданным регулярным выражением, то можете использовать метод . Вам следует определить эти шаблоны в методе вашего :
Когда шаблон был определён, он автоматически применится ко всем роутам, использующим этот параметр:
Таблицы базы данных PostgreSQL
Первая таблица является единственной необходимой и содержит данные маршрутной сети и, по желанию, информацию для визуализации (сам алгоритм роутинга работает с идентификаторами ребер графа start_id и end_id и некоторой стоимостью каждого сегмента, задаваемой, например, его длиной length):
Вторая таблица не является необходимой и используется только для поиска ближайшего узла дорожной сети для заданных адресов:
Третья таблица также не является необходимой и используется только для хранения адресов и координат домов, которые мы используем в тестовых скриптах:
Также тестовые скрипты создают дополнительные таблицы.
Маршрутизация источника
Маршрутизация от источника часто используется в локальных сетях . В этом случае передающая станция знает полный путь к станции назначения. Отправляющая станция вводит адрес следующего сетевого узла в заголовок сообщения. Каждый последующий сетевой узел адресует следующий узел по уже определенному маршруту непосредственно в заголовке сообщения. Это метод z. Б. используется в почтовой службе Usenet .
Популярный пример — динамическая маршрутизация от источника ; Здесь отправляющая станция узнает действительный маршрут к станции назначения через обнаружение маршрута. Этот маршрут вводится в заголовок каждого пакета к станции назначения, и каждый промежуточный узел обязан пересылать пакет по этому маршруту. Правильная пересылка в двунаправленных беспроводных сетях также может проверяться (прослушиваться) узлом предыдущего перехода .
Таблица маршрутизации
Таблица маршрутизации по умолчанию создается на узле автоматически с помощью программного обеспечения стека TCP/IP.
При настройке сетевого подключения на хосте XP были статически заданы IP-адрес 192.168.0.2 и маска подсети 255.255.255.0, основной шлюз задан не был. Программное обеспечение стека TCP/IP автоматически создало таблицу маршрутизации по умолчанию.
Что бы просмотреть таблицы маршрутизации на узле XP выполним команду в командной строке (Пуск -> Выполнить -> ).
Таблица маршрутизации содержит для каждой записи следующие поля: Сетевой адрес (Network Destination), Маска сети (Netmask), Адрес шлюза (Gateway), Интерфейс (Interface) и Метрика (Metric). Разберем каждое поле подробнее.
Сетевой адрес. Поле определяет диапазон IP-адресов достижимых с использованием данной таблицы.
Маска сети. Битовая маска, которая служит для определения значащих разрядов в поле Сетевой адрес. Маска состоит из непрерывных единиц и нулей, отображается в десятичном коде. Поля Сетевой адрес и Маска определяют один или несколько IP-адрес.
Адрес шлюза. В этом поле содержаться IP-адрес, по которому должен быть направлен пакет, если он соответствует данной записи таблицы маршрутизации.
Интерфейс. Данное поле содержит адрес логического или физического интерфейса, используемого для продвижения пакетов, соответствующих данной записи таблицы маршрутизации.
Метрика. Используется для выбора маршрута, в случае если имеется несколько записей, которые соответствуют одному адресу назначения с одной и той же маской, то есть в случае если одного адресата можно достичь разными путями, через разные маршруты. При этом, чем меньше значение метрики тем короче маршрут.
На начальном этапе работы (т.е. с таблицами маршрутизации по умолчанию) маршрутизатор (хост) знает только, как достичь сетей, с которыми он соединен непосредственно. Пути в другие сети могут быть «выяснены» следующими способами:
- с помощью статических маршрутов;
- с помощью маршрутов по умолчанию;
- с помощью маршрутов, определенных протоколами динамической маршрутизации.
Рассмотрим каждый из способов по порядку.
Пару вступительных слов о маршрутизации
Итак, из основных понятий сетей мы знаем, если сетевой пакет предназначен для локальной сети, к которой подключен интерфейс, то он направляется прямо в сеть. Маршрут для такого пакета создается автоматически при поднятии настроенного интерфейса. Если пакет предназначен не локальной сети, то ядро просматривает таблицу маршрутизации на наличие маршрута для данного пакета и отправляет по маршруту, в котором адрес назначения пакета соответствует заданному в маршруте параметру — на адрес шлюза, который указан в поле gateway в маршруте. При этом, может существовать несколько маршрутов для данного пакета. В таком случае выбирается тот маршрут, в котором в заданной подсети меньше всего компьютеров. Если для текущего пакета маршрут не обнаружен, то он направляется на маршрут «по-умолчанию». Это классическая маршрутизация протокола IPv4, основанная на поиске маршрута по адресу назначения в заголовках IP.
Маршруты в Linux могут появляться различными способами. Во-первых, как я уже говорил, при поднятии сетевого интерфейса появляется соответствующий маршрут в локальную сеть, куда смотрит интерфейс. Во-вторых, маршруты могут добавляться в ручную. Это называется статическая маршрутизация. В-третьих, маршруты могут формироваться динамически, базируясь на информации о топологии и состоянии сети, получаемой с помощью протокола динамической маршрутизации. Это называется динамической маршрутизацией. Динамической маршрутизацией в Linux заведует демон gated или routed, возможно еще какой-то о котором я не знаю
Классическую маршрутизацию на основе адреса назначения применяют в небольших сетях. Данную маршрутизацию можно сравнить с походом из дома, например, в торговый центр. При этом, дорога к торговому центру может быть разделена перекрестком и на перекрестке вы выбираете пойти вам на право или налево, основываясь лишь на том, по какой из дорог вы попадете к ТЦ.
Что такое маршрутизация
Маршрутизация (Routing) — это процесс по определению/вычислению лучшего маршрута движения для данных в сетях связи. Есть еще второе определение — это передача пакетов данных от отправителя к получателю.
Сами маршруты могут быть статическими — задаются административно, или динамическими, т.е. рассчитываться по специальным алгоритмам-протоколам, которые базируются на данных о топологии и состоянии сети.
Функцию роутинга могут выполнять:
- Аппаратные средства — маршрутизаторы. Самый оптимальный вариант, позволяющий обрабатывать большие потоки данных и работает он быстрее.
- Настроенные компьютеры с несколькими сетевыми интерфейсами и установленным на них специализированным и настроенным ПО. Обычно используется если конфигурация будет не слишком сложная.
Таблица маршрутизации
Таблица маршрутизации — это файл-электронная таблица или база данных, которая располагается на маршрутизаторе или специально настроенном компьютере. В ней описывается соответствие адресов назначения с интерфейсами, через которые необходимо производить отправку данных до следующего маршрутизатора.
Таблица содержит:
- Адрес сети или узла
- Маску подсети назначения
- Сетевой шлюз или по-другому, адрес маршрутизатора на который будут направлены данные
- Интерфейс, с которого можно достучаться до шлюза
- Метрика (не всегда), т.е. показатель, который задает предпочтительность пути.
Может заполняться как вручную, так и автоматически.
Протокол маршрутизации
Протокол маршрутизации используется маршрутизаторами для определения возможных и оптимальных маршрутов движения пакетов данных по сети. Текущий протокол позволяет обеспечивать маршрут на автоматическом уровне избегая ручного ввода.
Это в свою очередь снижает возможное количество ошибок, делает взаимодействие всех роутеров в сети согласованным и, конечно же, облегчает работу самому администратору.
Маршрутизация в IP сетях
По итогу, все это нужно для отправки и приема пакетов данных от одного устройства по сетке к другому и это может происходить через разные сети. Сами маршрутизаторы/роутеры отправляют данные практически во все сети, из локальной в глобальную паутину, используют NAT и т.д.
Информация на роутер поступает от других таких-же роутеров или от администратора. Составляется таблица — вручную или динамически. И, соответственно, пакеты данных отправляются.
Принятие решений о переадресации
Давайте взглянем на три маршрута, которые мы только что установили в таблице маршрутизации, и посмотрим, как они выглядят на маршрутизаторе.
Если пакет прибывает на интерфейс маршрутизатора с адресом назначения 192.168.32.1, какой маршрут выберет маршрутизатор? Это зависит от длины префикса или количества бит, установленного в маске подсети. При пересылке пакета более длинные префиксы всегда предпочтительнее коротких.
В этом примере, пакет, отправленный по адресу 192.168.32.1 направляется в сеть 10.1.1.1, так как адрес 192.168.32.1 находится в сети 192.168.32.0/26 (192.168.32.0–192.168.32.63). Адресу соответствуют еще два доступных маршрута, но у 192.168.32.0/26 наиболее длинный префикс в таблице маршрутизации (26 бит против 24 и 19).
Точно так же, если пакет, направленный на адрес 192.168.32.100, прибывает на один из интерфейсов маршрутизатора, он перенаправляется на 10.1.1.2, поскольку 192.168.32.100 не попадает в диапазон адресов 192.168.32.0/26 (от 192.168.32.0 до 192.168.32.63), но попадает в диапазон адресов 192.168.32.0/24 назначения (от 192.168.32.0 до 192.168.32.255). Опять, он также попадает в область, перекрытую 192.168.32.0/19, но 192.168.32.0/24 имеет более длинный префикс.
Ip classless
Для тех адресов, для которых команда ip classless configuration попадает в данный диапазон, возможно возникновение сбоев в процессе маршрутизации и пересылки. В реальности команда «IP classless» влияет только на работу процессов переадресации IOS, но не влияет на построение таблицы маршрутизации. Если функция «IP classless» не настроена (с помощью команды no ip classless), маршрутизатор не будет переадресовать пакеты в подсети. Для примера снова поместим три маршрута в таблицу маршрутизации и проведем пакеты через маршрутизатор.
Примечание: Если суперсеть или маршрут по умолчанию получены через IS-IS или OSPF, то команда no ip classless configuration игнорируется. В этом случае режим коммутация пакетов работает так, как если бы команда ip classless была настроена.
Помня о том, что сеть 172.30.32.0/24 включает адреса с 172.30.32.0 по 172.30.32.255, а сеть 172.30.32.0/20 включает адреса с 172.30.32.0 по 172.30.47.255, мы можем выполнить коммутацию трех пакетов с использованием этой таблицы маршрутизации и проанализировать результаты.
-
Пакет, направленный по адресу 172.30.33.1, переадресуются на 10.1.1.2, так как этот маршрут имеет наибольший префикс.
-
Пакет, предназначенный для адреса 172.30.33.1, пересылается на 10.1.1.2, из-за совпадения самого длинного префикса.
-
Пакет, направленный по адресу 192.168.10.1 переадресуются на 10.1.1.3. Так как сеть отсутствует в таблице маршрутизации, пакет переадресуется на маршрут по умолчанию.
-
Пакет, отправленный по адресу 172.30.254.1, отбрасывается.
Удивительно, что из этих четырех пакетов был отброшен последний. Он отброшен потому, что его место назначения 172.30.254.1 находится внутри известной крупной сети 172.30.0.0/16, но маршрутизатор не знает об этой отдельной подсети внутри этой крупной сети.
На этом основана маршрутизация типа classful: Если одна часть основной сети известна, но подсеть в этой основной сети, для которой предназначен пакет, не известна, пакет отбрасывается.
Самым сложным для понимания аспектом этого правила является то, что маршрутизатор использует только маршрут по умолчанию, если крупная сеть назначения вообще не существует в таблице маршрутизации.
Это может вызвать проблемы в сети, когда удаленный участок с одной связью к остальной части сети не выполняет никаких протоколов маршрутизации, как проиллюстрировано.
Маршрутизатор удаленного сайта настраивается следующим образом:
В такой конфигурации узлы на удаленном узле могут достичь назначения через Интернет (через облако 10.x.x.x), но не назначений в облаке 10.x.x.x, которое является корпоративной сетью. Поскольку удаленный маршрутизатор обладает информацией о части сети 10.0.0.0/8, двух напрямую подключенных подсетях и ничего не знает о другой подсети диапазона 10.x.x.x, то он предполагает, что таких подсетей не существует, и сбрасывает предназначенные для них пакеты. Однако трафик, направленный в Интернет, не имеет получателя в диапазоне адресов 10.x.x.x и поэтому правильно направляется по стандартному маршруту.
Настройка бесклассового IP на удаленном маршрутизаторе позволяет решить эту проблему, так как она позволяет удаленному маршрутизатору игнорировать границы класса сетей в таблице маршрутизации и выполнять маршрутизацию просто по совпадению с наибольшей длиной префикса.
Еще одна таблица маршрутизации
Давайте сделаем так, чтобы компьютер выходил в интернет через резервный канал связи, т.е. через сеть второго провайдера. Для этого создадим еще одну таблицу маршрутизации (имена таблиц операционной системе не нужны, это исключительно для нашего удобства, чтобы обращаться не по номеру таблицы, а по говорящему имени):
# nano /etc/iproute2/rt_tables
# предопределенные таблицы 255 local 254 main 253 default 0 unspec # добавляем новые таблицы 10 primary 20 secondary 30 pc2-via-gw2
Теперь добавляем новое правило — какие таблицы просматривать при отправке пакета:
# ip rule add from 192.168.250.3 table pc2-via-gw2 pref 30000
Смотрим список правил — какие таблицы будут просмотрены при отправке пакета:
# ip rule show 0: from all lookup local 30000: from 192.168.250.3 lookup pc2-via-gw2 31000: from 192.168.50.2 lookup primary 32000: from 192.168.150.2 lookup secondary 32766: from all lookup main 32767: from all lookup default
Для таблицы зададим маршрут по умолчанию:
# ip route add default via 192.168.150.1 dev enp0s8 table pc2-via-gw2
Убедимся, что маршрут по умолчанию для добавлен:
# ip route show table pc2-via-gw2 default via 192.168.150.1 dev enp0s8 proto static
Маршрутизация для мобильных объектов
стационарные, работающие всегда на своем постоянном месте в локальной сети
мигрирующие, меняющие время от времени свое рабочее место в рамках локальной сети или даже переходящие из одной LAN в другую (за время сессии перемещения машины не происходит).
подвижные, перемещающиеся в пространстве и желающие работать в процессе перемещения.
Предполагается, что все эти пользователи имеют свою постоянную приписку к какой-то сети и соответствующий постоянный IP-адрес. (см. RFC-2794 «Mobile IP Network Access Identifier Extension for IPv4. P. Calhoun, C. Perkins. March 2000). На рисунке показана схема подключения подвижных пользователей к Интернет. В этой схеме предполагается наличие в каждой области сети Интернет внешнего агента, обеспечивающего доступ к этой зоне подвижных ЭВМ (на рисунке такой агент помечен надписью «чужая LAN»). Доступ может осуществляться через мобильную телефонную сеть. Предполагается также наличие соответствующего агента в «домашней» LAN, куда стационарно приписана данная ЭВМ. Домашний агент отслеживает все перемещения своих пользователей, в том числе и тех, кто подключается к «чужим» LAN.
Когда к локальной сети подключается новый пользователь (непосредственно физически или через модем сотовой телефонной сети), он должен там зарегистрироваться. Процедура регистрации включает в себя следующие операции:
1. Каждый внешний агент периодически широковещательно рассылает пакет-сообщение, содержащее его IP-адрес. «Вновь прибывшая ЭВМ» может подождать такого сообщения или сама послать широковещательный запрос наличия внешнего агента.
2. Мобильный пользователь регистрируется внешним агентом, сообщая ему свой IP- и MAC-адрес, а также некоторые параметры системы безопасности.
3. Внешний агент устанавливает связь с LAN постоянной приписки зарегистрированного мобильного пользователя, сообщая необходимую адресную информацию и некоторые параметры аутентификации.
4. Домашний агент анализирует параметры аутентификации и, если все в порядке, процедура установления связи будет продолжена.
5. Когда внешний агент получает положительный отклик от домашнего агента, он сообщает мобильной ЭВМ, что она зарегистрирована.
Когда пользователь покидает зону обслуживания данной LAN или MAN, регистрация должна быть анулирована, а ЭВМ должна быть автоматически зарегистрирована в новой зоне. Когда посылается пакет мобильному пользователю, «домашняя LAN», получив его, маршрутизирует пакет внешнему агенту, зарегистрировавшему данного пользователя. Этот агент переправит пакет адресату.
Процедуры переадресации выполняются с привлечением технологии IP-туннелей. Домашний агент предлагает отправителю посылать пакеты непосредственно внешнему агенту области, где зарегистрирована подвижная ЭВМ. Существует много вариантов реализации протокола с разным распределением функций между маршрутизаторами и ЭВМ. Существуют схемы и временным выделением резервного IP-адреса подвижному пользователю. Международный стандарт для решения проблемы работы с подвижными пользователями пока не разработан.
При широком внедрении IPv6 с практически неограниченным ресурсом адресов проблемы выделения IP-адреса вообще не будет.
В последнее время конфигурирование сетевого оборудования (маршрутизаторов, DNS и почтовых серверов усложнилось настолько, что это стало составлять заметную часть издержек при формировании коммуникационного узла. Заметного упрощенияи удешевления маршрутизаторов можно ожидать при внедрении IPv6. Следующим шагом станет внедрение объектно-ориентированного языка описания маршрутной политики RPSL (Routing Policy Specification Language). Здесь конфигурирование маршрутизатора будет осуществляться на основе описанной маршрутной политики.
Маршрутизируемые протоколы
Протокол маршрутизации может работать только с пакетами, принадлежащими к одному из маршрутизируемых протоколов, например, IP, IPX или Xerox Network System, AppleTalk. Маршрутизируемые протоколы определяют формат пакетов (заголовков), важнейшей информацией из которых для маршрутизации является адрес назначения. Протоколы, не поддерживающие маршрутизацию, могут передаваться между сетями с помощью туннелей. Подобные возможности обычно предоставляют программные маршрутизаторы и некоторые модели аппаратных маршрутизаторов.
Протоколы маршрутизации отличаются друг от друга тем, где хранится и как формируется маршрутная информация. Оптимальность маршрута достижима лишь при полной информации обо всех возможных маршрутах, но такие данные потребуют слишком большого объема памяти. Полная маршрутная информация доступна для внутренних протоколов при ограниченном объеме сети. Чаще приходится иметь дело с распределенной схемой представления маршрутной информации. Маршрутизатор может быть информирован лишь о состоянии близлежащих каналов и маршрутизаторов.
Динамические протоколы (обычно используются именно они, наиболее известным разработчиком является компания CISCO):
В маршрутизаторе с динамическим протоколом (например, BGP-4) резидентно загруженная программа-драйвер изменяет таблицы маршрутизации на основе информации, полученной от соседних маршрутизаторов. В ЭВМ, работающей под UNIX и выполняющей функции маршрутизатора, эту задачу часто решает резидентная программа gated или routed (демон). Последняя — поддерживает только внутренние протоколы маршрутизации.
Применение динамической маршрутизации не изменяет алгоритм маршрутизации, осуществляемой на IP-уровне. Программа-драйвер при поиске маршрутизатора-адресата по-прежнему просматривает таблицы. Любой маршрутизатор может использовать два протокола маршрутизации одновременно, один для внешних связей, другой — для внутренних. Для стыковки внешнего маршрута с внутренним в большинстве протоколов предусматриваются специальные средства.
Протоколы многоадресной маршрутизации
Протоколы одноадресной маршрутизации используют графики, в то время как протоколы маршрутизации многоадресной рассылки используют деревья, т.е. Связывают дерево, чтобы избежать циклов. Оптимальное дерево называется кратчайшим связующим деревом.
- DVMRP — Протокол маршрутизации многоадресной передачи расстояния
- MOSPF — Открытый многоадресный маршрут
- CBT — базовое дерево
- PIM — независимая от протокола многоадресная рассылка
Протокол Независимой Многоадресной рассылки (PIM) используется сейчас. Он имеет два вида:
- Режим PIM DenseВ этом режиме используются деревья на основе источника. Он используется в плотной среде, такой как LAN.
- PIM разреженный режимВ этом режиме используются общие деревья. Он используется в редких средах, таких как WAN.
Длина маски подсети
Рассмотрим пример. Маршрутизатор принял пакет на ip-адрес (192.168.100.23), в таблице маршрутизации есть 2 записи (192.168.100.0/24 и 192.168.0.0/16) под который подходит этот ip-адрес, но у них разная длина маски. Какую из этих записей выбрать? Выбирается та запись, где маска длиннее, предполагается, что запись с более длинной маской содержит лучший маршрут интересующей нас сети.
Чтобы понять почему так происходит, давайте рассмотрим составную сеть гипотетического университета. Университет получил блок ip-адресов, разделил этот блок ip-адресов на две части, и каждую часть выделил отдельному кампусу.
На кампусе находятся свои маршрутизаторы, на которых сеть была дальше разделена на части предназначенные для отдельных факультетов. Разделение сетей производится с помощью увеличения длины маски, весь блок адресов имеет маску / 16, блоки кампусов имеют маску / 17, а блоки факультетов / 18.
Ниже показан фрагмент таблицы маршрутизации на маршрутизаторе первого кампуса. Он содержит путь до сети первого факультета, 2 факультета, до обще университетской сети, который проходит через университетский маршрутизатор, а также маршрут по умолчанию в интернет, который тоже проходит через обще университетский маршрутизатор.
Предположим, что у на этот маршрутизатор пришел пакет предназначенный для второго факультета, что может сделать маршрутизатор? Он может выбрать запись, которая соответствует второму факультету и отправить непосредственно в сеть этого факультета, либо может выбрать запись, которая соответствует всей университетской сети, тогда отправит на университетский маршрутизатор, что будет явно неправильным.
И так получается, что выбирается всегда маршрут с маской максимальной длины. Общие правила выбора маршрутов следующие.
- Самая длинная маска 32 — это маршрут конкретному хосту, если в таблице маршрутизации есть такой маршрут, то выбирается он.
- Затем выполняется поиск маршрута подсети с маской максимальной длины.
- И только после этого используется маршрут по умолчанию, где маска / 0 под которую подходят все ip-адреса.
Следует отметить, что таблица маршрутизации есть не только у сетевых устройств маршрутизаторов, но и у обычных компьютеров в сети. Хотя у них таблица маршрутизации гораздо меньше.
- Как правило такая таблица содержит описание присоединенной сети, который подключен данный компьютер.
- Адрес маршрутизатора по умолчанию (шлюз или gateway) через который, выполняется подключение к интернет, или к корпоративной сети предприятия.
- А также могут быть дополнительные маршруты к некоторым знакомым сетям, но это необязательно.
Для того чтобы просмотреть таблицу маршрутизации, можно использовать команды route или ip route (route print (Windows); route и ip route (Linux)).
Маршрутизация — поиск маршрута доставки пакета между сетями через транзитные узлы — маршрутизаторы.
Сетевые маршруты в Linux
Как я уже сказал, сетевые маршруты необходимы чтобы компьютеры могли определить по какой цепочке должен пойти пакет, чтобы достигнуть цели. Маршруты можно настроить на уровне интерфейса или маршрутизатора.
Когда компьютеру нужно отправить пакет в сеть он смотрит таблицу маршрутизации, в ней указанны ip адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан то используется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше.
Ниже мы рассмотрим как проверить текущие маршруты в системе, а также как настроить новые.