Маршрутизатор выбирает наилучший маршрут для данных, сравнивая стоимость и доступность различных вариантов.
Принцип работы
В среде, объединяющей несколько сетевых сегментов с различными протоколами и архитектурами, мосты не всегда гарантируют быструю связь между всеми сегментами. Для такой сложной сети необходимо устройство, которое не только знает адрес каждого сегмента, но и определяет наилучший маршрут для передачи данных и фильтрует широковещательные сообщения. Такое устройство называется маршрутизатором.
Маршрутизаторы (routers) работают на Сетевом уровне модели OSI. Это значит, что они могут переадресовывать и маршрутизировать пакеты через множество сетей, обмениваясь информацией (которая зависит от протокола) между раздельными сетями. Маршрутизаторы считывают в пакете адресную информацию сложной сети и, поскольку они функционируют на более высоком по сравнению с мостами уровне модели OSI, имеют доступ к дополнительным данным.
Маршрутизаторы могут выполнять следующие функции мостов:
· фильтровать и изолировать трафик;
· соединять сегменты сети.
Однако маршрутизаторам доступно больше информации, чем мостам, и они используют ее для оптимизации доставки пакетов. В сложных сетях без применения маршрутизаторов обойтись трудно, так как они обеспечивают лучшее (по сравнению с мостами) управление трафиком и не пропускают широковещательных сообщений. Маршрутизаторы могут совместно использовать данные о состоянии маршрутов и, основываясь на этой информации, обходить медленные или неисправные каналы связи.
Таблица маршрутизации, которая находится в маршрутизаторах, содержит сетевые адреса. Для каждого протокола, используемого в сети, строится своя таблица. Таблица помогает маршрутизатору определить адреса назначения для поступающих данных. Она включает следующую информацию:
· все известные сетевые адреса;
· способы связи с другими сетями;
· возможные пути между маршрутизаторами;
· стоимость передачи данных по этим путям.
Маршрутизаторы требуют специальной адресации: им понятны только номера сетей (что объясняет их обращение друг к другу) и адреса локальных плат сетевого адаптера. К удаленным компьютерам маршрутизаторы обращаться не могут.
Маршрутизатор, принимая пакеты, предназначенные для удаленной сети, пересылает их тому маршрутизатору, который обслуживает сеть назначения. В некотором смысле это достоинство, потому что маршрутизаторы могут:
· сегментировать большие сети на меньшие;
· действовать как барьер безопасности между сегментами;
· предотвращать избыток широковещательных сообщений (такие сообщения не передаются).
Так как маршрутизаторы должны выполнять сложную обработку каждого пакета, они медленнее большинства мостов. Когда пакеты передаются от одного маршрутизатора к другому, адреса источника и получателя Канального уровня отсекаются, а затем создаются заново. Это позволяет маршрутизатору направлять пакеты из сети TCP/IP Ethernet серверу в сети TCP/IP Token Ring.
Воспринимая только адресованные сетевые пакеты, маршрутизаторы будут препятствовать проникновению в сеть некорректных пакетов. Таким образом, благодаря фильтрации некорректных данных и широковещательных пакетов, маршрутизаторы уменьшают нагрузку на сеть.
Адрес узла назначения маршрутизаторы не проверяют; они «смотрят» только на адрес сети. Маршрутизаторы будут пропускать информацию только в том случае, если известен адрес сети. Эта возможность — контролировать данные, передаваемые через маршрутизатор, — позволяет уменьшить трафик между сетями и использовать эти связи эффективнее, чем это делают мосты.
Ориентируясь на схему адресации маршрутизаторов, администраторы всегда могут разбить одну большую сеть на множество отдельных сетей, между которыми как барьер будут действовать маршрутизаторы: не пропуская все пакеты подряд и обрабатывая далеко не каждый пакет. Благодаря этому может быть значительно уменьшен трафик в сети и время ожидания пользователей.
С маршрутизаторами работают не все протоколы, а которые работают называются маршрутизируемыми. К ним относятся:
· DECnet;
· IP;
· IPX;
· OSI;
· XNS;
· DDP (AppleTalk).
К немаршрутизируемым протоколам относятся:
· LAT (Local Area Transport — протокол корпорации Digital Equipment Corporation);
· NetBEUI.
Существуют маршрутизаторы, которые в одной сети могут работать с несколькими протоколами (например, с IP и DECnet).
В отличие от мостов, маршрутизаторы могут не только использовать несколько активных маршрутов между сегментами сети, но и выбирать между ними. Поскольку маршрутизаторы способны соединить сегменты с абсолютно разными схемами упаковки данных и доступа к носителю, им часто будут доступны несколько путей. Это значит, что, если какой-нибудь маршрутизатор «откажется» работать, данные все равно будут передаваться по другим маршрутам.
Маршрутизатор может «прослушивать» сеть и определять, какие ее части сильнее загружены. Он устанавливает также количество транзитов между сегментами сети. Используя эту информацию, маршрутизатор выбирает маршрут передачи данных. Если один путь перегружен, он укажет альтернативный.
Подобно мостам, маршрутизаторы строят таблицы маршрутизации и используют их в алгоритмах маршрутизации (routing algorithm) (их описание см. ниже).
· OSPF (Open Shortest Path First) — алгоритм маршрутизации на основе состояния канала. Алгоритмы состояния канала управляют процессом маршрутизации и позволяют маршрутизаторам быстро реагировать на изменения в сети. Маршрутизация на основе состояния канала использует алгоритм Dijkstra для вычисления маршрутов с учетом количества транзитов, скорости линии, трафика и стоимости. Алгоритмы состояния канала более эффективны и создают меньший трафик по сравнению с дистанционно-векторными алгоритмами. Этот факт может быть важен для маршрутизируемой среды большого размера с множеством связей между сегментами распределенной сети. Протокол TCP/IP поддерживает OSPF.
· RIP (Routing Information Protocol) — дистанционно-векторные алгоритмы маршрутизации. Протоколы TCP/IP и IPX поддерживают RIP.
· NLSP (NetWare Link Services Protocol) — алгоритм маршрутизации на основе состояния канала. Протокол IPXподдерживает NLSP.