Маршрутиза́тор — специализированное устройство, которое пересылает пакеты между различными сегментами сети на основе правил и таблиц маршрутизации. Маршрутизатор может связывать разнородные сети различных архитектур. Для принятия решений о пересылке пакетов используется информация о топологии сети и определённые правила, заданные системным администратором.
Одной из самых важных задач маршрутизаторов является выбор оптимального маршрута передачи пакетов между подключенными сетями. Причем сделать это необходимо максимально оперативно с минимальной временной задержкой. Одновременно с этим должна отслеживаться текущая обстановка в сети для исключения из возможных путей доставки перегруженные и поврежденные участки. Практически все маршрутизаторы используют в своей работе, так называемые, таблицы маршрутизации. Это своеобразные базы данных, которые содержат информацию обо всех возможных маршрутах передачи пакетов с некоторой дополнительной информацией, которая берется в расчет при выборе оптимального варианта доставки. Это может быть состояние канала, время доставки информации, загруженность, полоса пропускания и др.
Таблица маршрутизации содержит информацию, на основе которой маршрутизатор принимает решение о дальнейшей пересылке пакетов. Таблица состоит из некоторого числа записей — маршрутов, в каждой из которых содержится идентификатор сети получателя (состоящий из адреса и маски сети), адрес следующего узла, которому следует передавать пакеты, административное расстояние — степень доверия к источнику маршрута и некоторый вес записи — метрика. Метрики записей в таблице играют роль в вычислении кратчайших маршрутов к различным получателям. В зависимости от модели маршрутизатора и используемых протоколов маршрутизации, в таблице может содержаться некоторая дополнительная служебная информация.
Маршрутизаторы реализуют свои функции по разному. Маршрутизаторы делят на устройства верхнего, среднего и нижнего классов. Высокопроизводительные маршрутизаторы верхнего класса служат для объединения сетей предприятия. Они поддерживают множество протоколов и интерфейсов, причем не только стандартных, но, подчас, и весьма экзотических. Устройства данного типа могут иметь до 50 портов локальных или глобальных сетей.
С помощью маршрутизаторов среднего класса формируются менее крупные сетевые объединения масштаба предприятия. Стандартная конфигурация включает два-три порта локальных сетей и от четырех до восьми портов глобальных сети. Такие маршрутизаторы поддерживают наиболее распространенные протоколы маршрутизации и транспортные протоколы.
Маршрутизаторы нижнего класса предназначаются для локальных сетей подразделений; они связывают небольшие офисы с сетью предприятия. Типичная конфигурация: один порт локальной сети (Ethernet или Token Ring) и два порта глобальной сети, рассчитанные на низкоскоростные выделенные линии или коммутируемые соединения. Тем не менее, подобные маршрутизаторы пользуются большим спросом у администраторов, которым необходимо расширить имеющиеся межсетевые объединения.
Маршрутизаторы для базовых сетей и удаленных офисов имеют разную архитектуру, поскольку к ним предъявляются разные функциональные и операционные требования. Маршрутизаторы базовых сетей обязательно должны быть расширяемыми. Маршрутизаторы локальных сетей подразделения, для которых, как правило, заранее устанавливается фиксированная конфигурация портов, содержат только один процессор, управляющий работой трех или четырех интерфейсов. В них используются примерно те же протоколы, что и в маршрутизаторах базовых сетей, однако программное обеспечение больше направлено на облегчение инсталляции и эксплуатации, поскольку в большинстве удаленных офисов отсутствуют достаточно квалифицированные специалисты по сетевому обслуживанию.
Маршрутизаторы работают на «сетевом» (третьем) уровне сетевой модели OSI, в отличие от коммутаторов (свитчей) и концентраторов (хабов), которые работают соответственно на втором и первом уровнях модели OSI.
Маршрутизаторы полагаются на таблицу маршрутизации для определения того, куда следует пересылать пакет данных. Таблицы маршрутизации содержат информацию о пункте назначения, следующем переходе, интерфейсе, метриках и маршрутах, которые могут быть использованы для направления пакета данных через линии связи и к пункту назначения.
- Место назначения – Пакеты данных содержат заголовок, который содержит IP-адрес конечного пункта назначения. Эта часть информации жизненно важна, так как она определяет, куда должен быть доставлен пакет.
- Следующий прыжок – Основываясь на IP-адресе получателя в заголовке пакета данных, следующий прыжок относится к тому, куда данные должны быть направлены для достижения пункта назначения.
- Interface (Интерфейс) – Это тип сетевого интерфейса, который должен быть реализован при отправке пакета данных на следующий пункт назначения.
- Метрика – Относится к эффективности возможных маршрутов для пакета данных. Это рассчитано для того, чтобы распределить пакет данных по наиболее эффективной и экономичной линии.
- Маршруты – Это относится к линиям, по которым данные могут перемещаться для достижения адреса назначения.
Важным аспектом работы маршрутизаторов является способ обновления информации в таблицах маршрутизации. Это может выполняться двумя способами вручную и автоматически. В первом случае администратор сети самостоятельно настраивает таблицы маршрутизации. Такой вариант подходит только для небольших сетей, конфигурация которых изменяется редко. Маршрутизаторы первого типа называются статическими. Автоматическое обновление таблиц маршрутизации выполняется с помощью обмена информационными сообщениями между соседними маршрутизаторами о текущей обстановке, а также проверке соединительных каналов между ними. Такие маршрутизаторы называются динамическими. Главный их недостаток заключается в необходимости дополнительных сетевых и вычислительных ресурсов для обмена данными и расчета маршрута. Однако динамические маршрутизаторы могут быть использованы при построении сетей любого масштаба.
Существует 2 способа ведения и упорядочения таблиц маршрутизации. Это можно делать как динамически, так и статически. Статический метод заключается в ручном обслуживании таблиц маршрутизации. С другой стороны, динамические маршрутизаторы автоматически обмениваются информацией с устройствами через различные протоколы маршрутизации. На основе этой информации автоматически обновляются таблицы маршрутизации. Динамическая маршрутизация также называется адаптивной. Различные протоколы маршрутизации, к которым применяются динамические маршрутизаторы, включают следующее:
- Border Gateway Protocol (BGP) (Протокол пограничного шлюза) – Этот протокол зависит от пограничных маршрутизаторов. Информация о маршрутизации передается между пограничными маршрутизаторами между сетями для обновления экономичности доступных маршрутов для пакетов данных. Направляя данные в автономные системы, каждый маршрутизатор может обновлять свою таблицу маршрутизации.
- Enhance Interior Gateway Routing Protocol (EIGRP) – Усовершенствованный вариант протокола маршрутизации внутреннего шлюза (EIGRP) – это улучшенный вариант IGRP. В основном он основан на постоянном обмене данными между соседними маршрутизаторами, так как каждый маршрутизатор имеет копию соседних таблиц маршрутизации.
- Exterior Gateway Protocol (EGP) (Протокол внешнего шлюза) – Это набор стандартов и руководящих принципов для обмена данными между соседними маршрутизаторами в автономных сетях. Часто он применяется интернет-маршрутизаторами для обновления таблиц маршрутизации.
- Interior Gateway Routing Protocol (IGRP) (Протокол маршрутизации внутренних шлюзов) – состоит из 2 основных протоколов IGRP, которые широко используются в отрасли:
- Open Shortest Path First (OSPF) – Данный протокол предназначен для перемещения трафика и передачи данных в рамках большой автономной сети. Любые изменения или новые данные в таблице маршрутизации автоматически распространяются на другие сетевые маршрутизаторы OSPF. Эта система позволяет легко определить наиболее эффективный маршрут передачи данных.
- DVMRP – один из первых внедрённых протоколов маршрутизации, в настоящее время применяется очень редко.
- Информационный протокол маршрутизации (RIP) – Еще одним типом IGP является протокол RIP. Маршрутизатор распределяет данные таблицы маршрутизации по соседним маршрутизаторам с интервалом в 30 секунд. Это автоматически поддерживает таблицы маршрутизации в актуальном состоянии.
Маршрутизаторы бывают как проводные – наиболее классический тип с несколькими портами, в которые подключаются кабели от внешних устройств, так и беспроводные, например, используемые для построения сетей Wi-Fi. Также маршрутизаторы значительно различаются по емкости. Это могут быть как небольшие роутеры с 8-12 портами, которые используются при построении локальных сетей, так и громоздкие модульные конструкции, рассчитанные на сотни подключаемых сегментов. В некоторых маршрутизаторах предусмотрена поддержка VPN. Для сбора статистики использования сети обычно применяют протоколы RMON, OpenFlow, SNMP и NetFlow. При помощи протокола VRRP маршрутизаторы могут быть задублированы для повышения отказоустойчивости. Если маршрутизатор поддерживает WCCP, то он может перенаправлять веб-трафик на Squid.