Маршрутизация что это такое
Маршрутизация — что это такое и как работает
Практически каждый пользователь интернета, который читал материалы на тему работы глобальной паутины и ее нюансах в целом слышали про маршрутизацию и, некоторые в какой-то степени даже понимают, что это.
Но, это довольно интересная тема и я решил вынести ее в отдельную статью, давайте узнаем, что это такое, как она работает, зачем она вообще нужна и какие у нее бывают виды. На самом деле это все довольно просто.
Итак, вы уже знаете, что такое UDP протокол и зачем он нужен, сейчас же мы разберем не менее интересную тему о том, как строятся пути для передачи информации в IP сетях.
Что такое маршрутизация
Маршрутизация (Routing) — это процесс по определению/вычислению лучшего маршрута движения для данных в сетях связи. Есть еще второе определение — это передача пакетов данных от отправителя к получателю.
Сами маршруты могут быть статическими — задаются административно, или динамическими, т.е. рассчитываться по специальным алгоритмам-протоколам, которые базируются на данных о топологии и состоянии сети.
Функцию роутинга могут выполнять:
Таблица маршрутизации
Таблица маршрутизации — это файл-электронная таблица или база данных, которая располагается на маршрутизаторе или специально настроенном компьютере. В ней описывается соответствие адресов назначения с интерфейсами, через которые необходимо производить отправку данных до следующего маршрутизатора.
Таблица содержит:
Может заполняться как вручную, так и автоматически.
Протокол маршрутизации
Протокол маршрутизации используется маршрутизаторами для определения возможных и оптимальных маршрутов движения пакетов данных по сети. Текущий протокол позволяет обеспечивать маршрут на автоматическом уровне избегая ручного ввода.
Это в свою очередь снижает возможное количество ошибок, делает взаимодействие всех роутеров в сети согласованным и, конечно же, облегчает работу самому администратору.
Маршрутизация в IP сетях
По итогу, все это нужно для отправки и приема пакетов данных от одного устройства по сетке к другому и это может происходить через разные сети. Сами маршрутизаторы/роутеры отправляют данные практически во все сети, из локальной в глобальную паутину, используют NAT и т.д.
Информация на роутер поступает от других таких-же роутеров или от администратора. Составляется таблица — вручную или динамически. И, соответственно, пакеты данных отправляются.
Статическая маршрутизация
В данном случае маршруты задаются в таблице напрямую администратором во время конфигурации маршрутизатора, без использования протоколов, помогающих построить пути.
При задании такого маршрута назначается:
Плюсы:
Минусы:
Динамическая маршрутизация
В этом случае таблица редактируется на программном уровне и рассчитывается по протоколам. Позволяет маршрутизаторам в реальном времени своевременно менять пути, применяемые для передачи IP пакетов. У каждого протокола есть свой метод определения маршрута движения пакетов: самый быстрый путь, использование именно того маршрута, который рекомендуют другие роутеры и т.д.
Так, если в сети произойдут какие-либо изменения, то протокол динамической маршрутизации оповестит об этом все маршрутизаторы, а вот при статической, все придется делать администратору.
В заключение
Работая в интернете или читая там занимательную литературу, вы даже не замечаете сколько процессов происходит, а происходит там очень много. Если вам и дальше интересны материалы на темы работы интернета, то заходите еще.
Маршрутизация
п ·англ. Routing ) — процесс определения маршрута следования информации в сетях связи.
Маршруты могут задаваться административно (статические маршруты), либо вычисляться с помощью алгоритмов маршрутизации, базируясь на информации о топологии и состоянии сети, полученной с помощью протоколов маршрутизации (динамические маршруты).
Статическими маршрутами могут быть:
Маршрутизация в компьютерных сетях типично выполняется специальными программно-аппаратными средствами — маршрутизаторами; в простых конфигурациях может выполняться и компьютерами общего назначения, соответственно настроенными.
Содержание
Маршрутизируемые протоколы
Протокол маршрутизации может работать только с пакетами, принадлежащими к одному из маршрутизируемых протоколов, например, IP, IPX или Xerox Network System, AppleTalk. Маршрутизируемые протоколы определяют формат пакетов (заголовков), важнейшей информацией из которых для маршрутизации является адрес назначения. Протоколы, не поддерживающие маршрутизацию, могут передаваться между сетями с помощью туннелей. Подобные возможности обычно предоставляют программные маршрутизаторы и некоторые модели аппаратных маршрутизаторов.
Программная и аппаратная маршрутизация
В современных аппаратных маршрутизаторах для построения таблиц маршрутизации используется специализированное ПО («прошивка»), для обработки же IP-пакетов используется коммутационная матрица (или другая технология аппаратной коммутации), расширенная фильтрами адресов в заголовке IP-пакета.
Аппаратная маршрутизация [1]
Выделяют два типа аппаратной маршрутизации: со статическими шаблонами потоков и с динамически адаптируемыми таблицами.
Статические шаблоны потоков подразумевают разделение всех входящих в маршрутизатор IP-пакетов на виртуальные потоки; каждый поток характеризуется набором признаков для пакета такие как: IP-адресами отправителя/получателя, TCP/UDP-порт отправителя/получателя (в случае поддержки маршрутизации на основании информации 4 уровня), порт, через который пришёл пакет. Оптимизация маршрутизации при этом строится на идее, что все пакеты с одинаковыми признаками должны обрабатываться одинаково (по одинаковым правилам), при этом правила проверяются только для первого пакета в потоке (при появлении пакета с набором признаков, не укладывающимся в существующие потоки, создаётся новый поток), по результатам анализа этого пакета формируется статический шаблон, который и используется для определения правил коммутации приходящих пакетов (внутри потока). Обычно время хранения неиспользующегося шаблона ограничено (для освобождения ресурсов маршрутизатора). Ключевым недостатком подобной схемы является инерционность по отношению к изменению таблицы маршрутизации (в случае существующего потока изменение правил маршрутизации пакетов не будет «замечено» до момента удаления шаблона).
Динамически адаптируемые таблицы используют правила маршрутизации «напрямую», используя маску и номер сети из таблицы маршрутизации для проверки пакета и определения порта, на который нужно передать пакет. При этом изменения в таблице маршрутизации (в результате работы, например, протоколов маршрутизации/резервирования) сразу же влияют на обработку всех новопришедших пакетов. Динамически адаптируемые таблицы также позволяют легко реализовывать быструю (аппаратную) проверку списков доступа.
Программная маршрутизация
Программная маршрутизация выполняется либо специализированным ПО маршрутизаторов (в случае, когда аппаратные методы не могут быть использованы, например, в случае организации туннелей), либо программным обеспечением на компьютере. В общем случае, любой компьютер осуществляет маршрутизацию своих собственных исходящих пакетов (как минимум, для разделения пакетов, отправляемых на шлюз по умолчанию и пакетов, предназначенных узлам в локальном сегменте сети). Для маршрутизации чужих IP-пакетов, а также построения таблиц маршрутизации используется различное ПО:
Понятия маршрутизации
Маршрутизация – это процесс определения пути следования информации в сетях связи. Маршрутизация служит для приема пакета от одного устройства и передаче его другому устройству через другие сети.
Маршрутизатором или шлюзом называется узел сети с несколькими интерфейсами, каждый из которых имеет свой 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;
Основные принципы работы сетевой маршрутизации
Маршрутизация в IP-сетях
Маршрутизация служит для приема пакета от одного устройства и передачи его по сети другому устройству через другие сети. Если в сети нет маршрутизаторов, то не поддерживается маршрутизация. Маршрутизаторы направляют (перенаправляют) трафик во все сети, составляющие объединенную сеть.
Для маршрутизации пакета маршрутизатор должен владеть следующей информацией:
Маршрутизатор узнает об удаленных сетях от соседних маршрутизаторов или от сетевого администратора. Затем маршрутизатор строит таблицу маршрутизации, которая описывает, как найти удаленные сети.
Если сеть подключена непосредственно к маршрутизатору, он уже знает, как направить пакет в эту сеть. Если же сеть не подключена напрямую, маршрутизатор должен узнать (изучить) пути доступа к удаленной сети с помощью статической маршрутизации (ввод администратором вручную местоположения всех сетей в таблицу маршрутизации) или с помощью динамической маршрутизации.
Динамическая маршрутизация — это процесс протокола маршрутизации, определяющий взаимодействие устройства с соседними маршрутизаторами. Маршрутизатор будет обновлять сведения о каждой изученной им сети. Если в сети произойдет изменение, протокол динамической маршрутизации автоматически информирует об изменении все маршрутизаторы. Если же используется статическая маршрутизация, обновить таблицы маршрутизации на всех устройствах придется системному администратору.
Что такое маршрутизатор (шлюз, gateway)?
Маршрутизатором, или шлюзом, называется узел сети с несколькими IP-интерфейсами (содержащими свой MAC-адрес и IP-адрес), подключенными к разным IP-сетям, осуществляющий на основе решения задачи маршрутизации перенаправление дейтаграмм из одной сети в другую для доставки от отправителя к получателю.
Маршрутизаторы представляют собой либо специализированные вычислительные машины, либо компьютеры с несколькими IP-интерфейсами, работа которых управляется специальным программным обеспечением.
Процесс IP-маршрутизации
Кадр, сгенерированный интерфейсом Ethernet 1 маршрутизатора, имеет аппаратный адрес источника от интерфейса Ethernet 1 и аппаратный адрес назначения для сетевого адаптера хоста В. Важно отметить, что, несмотря на изменения аппаратных адресов источника и назначения, в каждом передавшем пакет интерфейсе маршрутизатора, IP-адреса источника и назначения никогда не изменяются. Пакет никоим образом не модифицируется, но меняются кадры.
В крупных сетях процесс происходит аналогично, но пакету придется пройти больше участков по пути к хосту назначения.
Таблицы маршрутизации
В стеке TCP/IP маршрутизаторы и конечные узлы принимают решения о том, кому передавать пакет для его успешной доставки узлу назначения, на основании так называемых таблиц маршрутизации (routing tables).
Таблица представляет собой типичный пример таблицы маршрутов, использующей IP-адреса сетей, для сети, представленной на рисунке.
Таблица маршрутизации для Router 2
В таблице представлена таблица маршрутизации многомаршрутная, так как содержится два маршрута до сети 116.0.0.0. В случае построения одномаршрутной таблицы маршрутизации, необходимо указывать только один путь до сети 116.0.0.0 по наименьшему значению метрики.
Как нетрудно видеть, в таблице определено несколько маршрутов с разными параметрами. Читать каждую такую запись в таблице маршрутизации нужно следующим образом:
Чтобы доставить пакет в сеть с адресом из поля Сетевой адрес и маской из поля Маска сети, нужно с интерфейса с IP-адресом из поля Интерфейс послать пакет по IP-адресу из поля Адрес шлюза, а «стоимость» такой доставки будет равна числу из поля Метрика.
Для отправки пакета следующему маршрутизатору требуется знание его локального адреса, но в стеке TCP/IP в таблицах маршрутизации принято использование только IP-адресов для сохранения их универсального формата, не зависящего от типа сетей, входящих в интерсеть. Для нахождения локального адреса по известному IP-адресу необходимо воспользоваться протоколом ARP.
Специфичный для узла маршрут содержит вместо номера сети полный IP-адрес, то есть адрес, имеющий ненулевую информацию не только в поле номера сети, но и в поле номера узла. Предполагается, что для такого конечного узла маршрут должен выбираться не так, как для всех остальных узлов сети, к которой он относится. В случае, когда в таблице есть разные записи о продвижении пакетов для всей сети N и ее отдельного узла, имеющего адрес N,D, при поступлении пакета, адресованного узлу N,D, маршрутизатор отдаст предпочтение записи для N,D.
Записи в таблице маршрутизации, относящиеся к сетям, непосредственно подключенным к маршрутизатору, в поле «Метрика» содержат нули («подключено»).
Алгоритмы маршрутизации
Основные требования к алгоритмам маршрутизации:
Существуют различные алгоритмы построения таблиц для одношаговой маршрутизации. Их можно разделить на три класса:
Независимо от алгоритма, используемого для построения таблицы маршрутизации, результат их работы имеет единый формат. За счет этого в одной и той же сети различные узлы могут строить таблицы маршрутизации по своим алгоритмам, а затем обмениваться между собой недостающими данными, так как форматы этих таблиц фиксированы. Поэтому маршрутизатор, работающий по алгоритму адаптивной маршрутизации, может снабдить конечный узел, применяющий алгоритм фиксированной маршрутизации, сведениями о пути к сети, о которой конечный узел ничего не знает.
Простая маршрутизация
Это способ маршрутизации не изменяющийся при изменении топологии и состоянии сети передачи данных (СПД).
Простая маршрутизация обеспечивается различными алгоритмами, типичными из которых являются следующие:
В целом, простая маршрутизация не обеспечивает направленную передачу пакета и имеет низкую эффективности. Основным ее достоинством является обеспечение устойчивой работы сети при выходе из строя различных частей сети.
Фиксированная маршрутизация
Этот алгоритм применяется в сетях с простой топологией связей и основан на ручном составлении таблицы маршрутизации администратором сети. Алгоритм часто эффективно работает также для магистралей крупных сетей, так как сама магистраль может иметь простую структуру с очевидными наилучшими путями следования пакетов в подсети, присоединенные к магистрали, выделяют следующие алгоритмы:
Адаптивная маршрутизация
Это основной вид алгоритмов маршрутизации, применяющихся маршрутизаторами в современных сетях со сложной топологией. Адаптивная маршрутизация основана на том, что маршрутизаторы периодически обмениваются специальной топологической информацией об имеющихся в интерсети сетях, а также о связях между маршрутизаторами. Обычно учитывается не только топология связей, но и их пропускная способность и состояние.
Адаптивные протоколы позволяют всем маршрутизаторам собирать информацию о топологии связей в сети, оперативно отрабатывая все изменения конфигурации связей. Эти протоколы имеют распределенный характер, который выражается в том, что в сети отсутствуют какие-либо выделенные маршрутизаторы, которые бы собирали и обобщали топологическую информацию: эта работа распределена между всеми маршрутизаторами, выделяют следующие алгоритмы:
Показатели алгоритмов (метрики)
Маршрутные таблицы содержат информацию, которую используют программы коммутации для выбора наилучшего маршрута. Чем характеризуется построение маршрутных таблиц? Какова особенность природы информации, которую они содержат? В данном разделе, посвященном показателям алгоритмов, сделана попытка ответить на вопрос о том, каким образом алгоритм определяет предпочтительность одного маршрута по сравнению с другими.
В алгоритмах маршрутизации используется множество различных показателей. Сложные алгоритмы маршрутизации при выборе маршрута могут базироваться на множестве показателей, комбинируя их таким образом, что в результате получается один гибридный показатель. Ниже перечислены показатели, которые используются в алгоритмах маршрутизации:
Длина маршрута
Длина маршрута является наиболее общим показателем маршрутизации. Некоторые протоколы маршрутизации позволяют администраторам сети назначать произвольные цены на каждый канал сети. В этом случае длиной тракта является сумма расходов, связанных с каждым каналом, который был траверсирован. Другие протоколы маршрутизации определяют «количество пересылок» (количество хопов), т. е. показатель, характеризующий число проходов, которые пакет должен совершить на пути от источника до пункта назначения через элементы объединения сетей (такие как маршрутизаторы).
Надежность
Надежность, в контексте алгоритмов маршрутизации, относится к надежности каждого канала сети (обычно описываемой в терминах соотношения бит/ошибка). Некоторые каналы сети могут отказывать чаще, чем другие. Отказы одних каналов сети могут быть устранены легче или быстрее, чем отказы других каналов. При назначении оценок надежности могут быть приняты в расчет любые факторы надежности. Оценки надежности обычно назначаются каналам сети администраторами. Как правило, это произвольные цифровые величины.
Задержка
Под задержкой маршрутизации обычно понимают отрезок времени, необходимый для передвижения пакета от источника до пункта назначения через объединенную сеть. Задержка зависит от многих факторов, включая полосу пропускания промежуточных каналов сети, очереди в порт каждого маршрутизатора на пути передвижения пакета, перегруженность сети на всех промежуточных каналах сети и физическое расстояние, на которое необходимо переместить пакет. Т. к. здесь имеет место конгломерация нескольких важных переменных, задержка является наиболее общим и полезным показателем.
Полоса пропускания
Полоса пропускания относится к имеющейся мощности трафика какого-либо канала. При прочих равных показателях, канал Ethernet 10 Mbps предпочтителен любой арендованной линии с полосой пропускания 64 Кбайт/с. Хотя полоса пропускания является оценкой максимально достижимой пропускной способности канала, маршруты, проходящие через каналы с большей полосой пропускания, не обязательно будут лучше маршрутов, проходящих через менее быстродействующие каналы.