В среде, объединяющей несколько сетевых сегментов с различными протоколами и архитектурами, мосты не всегда гарантируют быструю связь между всеми сегментами. Для такой сложной сети необходимо устройство, которое не только знает адрес каждого сегмента, но определяет наилучший маршрут для передачи данных и фильтрует широковещательные сообщения. Подобное устройство называется маршрутизатором.
Маршрутизаторы (routers) работают на Сетевом уровне модели OSI. Это значит, что они могут переадресовывать и маршрутизировать пакеты через множество сетей, обмениваясь информацией (которая зависит от протокола) между отдельными сетями. Маршрутизаторы считывают в пакете адресную информацию сложной сети и, поскольку они функционируют на более высоком по сравнению с мостами уровне модели OSI, имеют доступ к дополнительным данным.
Маршрутизаторы могут выполнять следующие функции мостов:
• фильтровать и изолировать трафик;
• соединять сегменты сети.
Однако маршрутизаторам доступно больше информации, чем мостам, и они используют ее для оптимизации доставки пакетов. В сложных сетях без маршрутизаторов обойтись трудно, поскольку они обеспечивают лучшее (по сравнению с мостами) управление трафиком и не пропускают широковещательных сообщений. Маршрутизаторы могут обмениваться данными о состоянии маршрутов и, основываясь на этой информации, обходить медленные или неисправные каналы связи.
Таблица маршрутизации, которая находится в маршрутизаторах, как и в шлюзах, содержит сетевые адреса. Но для каждого протокола, используемого в сети, строится своя таблица. Таблица помогает маршрутизаторы определить адреса назначения для поступающих данных. Она включает следующую информацию:
• все известные сетевые адреса;
• способы связи с другими сетями;
• возможные пути между маршрутизаторами;
• «стоимость» передачи данных по этим маршрутам.
Маршрутизатор выбирает наилучший путь для данных, сравнивая различные варианты.