рефераты бесплатно
Рефераты бесплатно, курсовые, дипломы, научные работы, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения,рефераты литература, рефераты биология, рефераты медицина, рефераты право, большая бибилиотека рефератов, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент и многое другое.
ENG
РУС
 
рефераты бесплатно
ВХОДрефераты бесплатно             Регистрация

Статья: Принцип работы маршрутизатора  

Статья: Принцип работы маршрутизатора

Маршрутизаторы одновременно и просты и сложны. Однако познакомиться с ними будет небесполезно, поскольку они обеспечивают работу как Internet, так и корпоративных сетей. В этой статье мы описываем маршрутизаторы в общих чертах и обращаемся к конкретным сетевым протоколам только тогда, когда это необходимо.

В сети коммутации сообщений все делается при помощи зеркал. Зеркала - это такие устройства, как маршрутизаторы, коммутаторы и мосты. Они получают сообщения через один интерфейс, определяют получателя по той или иной таблице и передают его на другой интерфейс. Одно из основных отличий между маршрутизатором и любым другим коммутатором сообщений состоит в способе построения таблиц. Маршрутизаторы посылают сообщения сетям, в то время как таблицы мостов и коммутаторов содержат список адресов подуровня MAC.

Маршрутизатор выполняет две основные функции: переключение трафика и обслуживание среды, в которой он работает. Обе функции можно реализовать на одном и том же процессоре, но это вовсе не обязательно. Зачастую переключение трафика осуществляет отдельный интерфейсный процессор или процедура обработки прерываний ядра, в то время как процесс обслуживания среды выполняется в фоновом режиме. На Рисунке 1 представлены основные компоненты маршрутизатора с интеграцией услуг, т. е. поддерживающего качество услуг (QoS).

Picture

Рисунок 1. Архитектура маршрутизатора с интеграцией услуг, т. е. поддерживающего усовершенствованные алгоритмы QoS, соответствует приведенной схеме.

Верхний уровень на Рисунке 1, уровень маршрутизации, представляет собою часть маршрутизатора, предназначенную для обслуживания среды. Маршрутизатор выполняет целый ряд приложений, причем они могут быть частью сетевой архитектуры или конфигурироваться для удобства администратором сети. Эти приложения, или процессы, выполняются на уровне приложений маршрутизации (Routing Application). Один из таких процессов - доменная служба имен (Domain Name Service, DNS): он кэширует информацию о DNS для обслуживаемых систем. Однако DNS - не обязательная часть архитектуры IP-маршрутизатора, и далеко не каждый согласится с тем, что маршрутизатор должен предоставлять такую услугу. Стандартными сервисами маршрутизаторов являются, например, определение топологии (topology mapping) и управление трафиком (traffic engineering).

Протоколы маршрутизации определяют топологию сети и сохраняют информацию о ней в таблице маршрутизации. Если маршрутизатор не применяет протокол маршрутизации, то тогда он хранит статические маршруты или использует отдельный протокол на каждом интерфейсе. Обычно маршрутизаторы работают с одним протоколом маршрутизации.

Таблица маршрутизации, иногда называемая базой данных маршрутизации, - это набор маршрутов, используемых маршрутизатором в данный момент времени. Строки таблицы маршрутизации содержат, по крайней мере, следующую информацию:

 действительный адрес или множество действительных адресов в сети;

 информация, вычисленная протоколом маршрутизации или необходимая ему;

 информация, необходимая для того, чтобы переслать сообщение на один маршрутизатор ближе к получателю.

Информация о маршрутизации содержит метрику, т. е. меру времени или расстояния, и несколько отметок о времени. Информация о пересылке включает в себя данные о выходном интерфейсе и адрес следующей системы по пути. Обычно маршрутизаторы хранят данные о нескольких возможных следующих транзитных маршрутизаторах в одной строке таблицы.

Протоколы, используемые при создании таблицы маршрутизации, отличаются между собой, но тем не менее их можно разделить на несколько основных категорий: на протоколы длины вектора расстояния, состояния канала и политики маршрутизации.

Протоколы маршрутизации

Протоколы длины вектора - простейший и наиболее распространенный тип протоколов маршрутизации. По большей части используемые сегодня протоколы этого типа ведут свое начало от протокола Routing Information Protocol компании Xerox (иногда они даже называются этим именем). Протоколы данного класса включают IP RIP, IPX RIP, протокол управления таблицей маршрутизации AppleTalk RTMP и Cisco Interior Gateway Routing Protocol.

Свое название этот тип протоколов получил от способа обмена информацией. Периодически каждый маршрутизатор копирует адреса получателей и метрику из своей таблицы маршрутизации и помещает эту информацию в рассылаемые соседям сообщения об обновлении. Соседние маршрутизаторы сверяют полученные данные со своими собственными таблицами маршрутизации и вносят необходимые изменения.

Этот алгоритм прост и, на первый взгляд, надежен. К сожалению, он работает наилучшим образом в небольших сетях при (желательно полном) отсутствии избыточности. Крупные сети не могут обойтись без периодического обмена сообщениями для описания сети, однако большинство из них избыточны. По этой причине сложные сети испытывают проблемы при выходе линий связи из строя из-за того, что несуществующие маршруты могут оставаться в таблице маршрутизации в течение длительного периода времени. Трафик, направленный по такому маршруту, не достигнет своего адресата. Эвристически данная проблема решаема, но ни одно из таких решений не является детерминистским.

Некоторые из этих проблем решаются усовершенствованным алгоритмом под названием алгоритм диффузионного обновления (DUAL), при этом маршрутизаторы используют алгоритм длины вектора для составления карты путей между ними и DUAL для широковещательного объявления об обслуживаемых ими локальных сетях. Информация об изменениях в топологии также рассылается по всей сети. Примером такого усовершенствованного протокола может служить Cisco Enhanced IGRP.

Вторую категорию протоколов обслуживания среды составляют протоколы состояния канала. Впервые предложенные в 1970 году в статье Эдсгера Дейкстры, протоколы состояния канала сложнее, чем протоколы длины вектора. Взамен они предлагают детерминистское решение типичных для их предшественников проблем. Вместо рассылки соседям содержимого своих таблиц маршрутизации каждый маршрутизатор осуществляет широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь, и напрямую подключенных к нему локальных сетей. Эта информация о состоянии канала рассылается в специальных объявлениях. За исключением широковещания периодических сообщений о своем присутствии в сети, маршрутизатор рассылает объявления о состоянии каналов только в случае изменения информации о них или по истечении заданного периода времени.

Недостатком таких протоколов состояния каналов, как OSPF, IS-IS и NLSP, является их сложность и высокие требования к памяти. Они трудны в реализации и нуждаются в значительном объеме памяти для хранения объявлений о состоянии каналов. При всем своем превосходстве над ранними протоколами длины вектора их реальное преимущество перед DUAL далеко не очевидно.

К третьей категории протоколов по обслуживанию среды относятся протоколы правил маршрутизации. Если протоколы маршрутизации на базе алгоритмов длины вектора и состояния канала решают задачу наиболее эффективной доставки сообщения получателю, то политика маршрутизации решает задачу наиболее эффективной доставки получателю по разрешенным путям. Такие протоколы, как BGP (Border Gateway Protocol) или IDRP (Interdomain Routing Protocol), позволяют операторам Internet получать информацию о маршрутизации от соседних операторов на основе контрактов или других нетехнических критериев. Алгоритмы, используемые для политики маршрутизации, опираются на алгоритмы длины вектора, но информация о метрике и пути базируется на списке операторов магистрали.

Одно из следствий применения протоколов такого рода в том, что пути сообщения и ответа на него через Internet, вообще говоря, различны. В корпоративных же сетях Intranet, не использующих политику маршрутизации, эти пути, как правило, совпадают.

Интегрированные сервисы

Маршрутизатор с интеграцией услуг должен поддерживать протокол резервирования ресурсов (Resource Reservation Protocol, RSVP). Маршрутизаторы этого типа добавляют протокол ресурсов, контрольный модуль и интерфейс к политике очередей уровня коммутации (см. Рисунок 1).

RSVP позволяет системам запрашивать сервисы у сети, например гарантированную пропускную способность, максимальный уровень потерь или предсказуемую задержку. Сообщения "пути" RSVP рассылаются отправителем и отслеживают маршрут передачи данных, оставляя указатели на маршрутизаторах. Этот процесс позволяет маршрутизаторам производить резервирование по пути передачи даже при асимметрии маршрутов. Сообщения о резервировании ресурсов получателем находят источник, следуя оставленным указателям, и производят резервирование по пути.

На маршрутизаторах сообщения о резервировании объединяются при их возвращении к источнику. Как следствие, отправитель - например, рабочая станция в сети - получает сообщение от ближайшего маршрутизатора, а не от каждого из сотен или даже тысяч потенциальных покупателей. Однако резервирование выполняется, только если достаточно ресурсов для его гарантии. Это решение принимается контрольным модулем.

Согласие на резервирование ведет к изменениям политики очередности и базы данных резервирования. Политику очередности, т. е. алгоритмы, определяющие порядок, в котором сообщения обслуживаются, мы обсудим несколько позднее.

Уровень коммутации выполняет и другие важные задачи. Определение топологии сети и политики очередности только вспомогательные задачи, основная же задача маршрутизации - переключение трафика. Переключение - это процесс приема сообщения, выбора подходящего маршрута дальнейшего следования и отправка его по этому маршруту. Данная операция обслуживается четырьмя различными процессами: входным драйвером, процессом выбора маршрута, очередью и выходным драйвером.

При всем многообразии дополнительных возможностей производители стараются сделать этот путь оптимальным по скорости. Путь переключения делается настолько быстрым, насколько производитель в состоянии это сделать, поэтому он обычно называется быстрым путем. Реже используемые (или дополнительные) возможности, например фрагментация сообщений или обработка опций IP-заголовка, делегируются более медленным и более сложным последовательностям процессов.

Многие рассматривают модуль выбора маршрута как основной модуль маршрутизатора. Выбор маршрута осуществляется с использованием классических методик. Например, в простейшем случае код переключения ищет адрес получателя в таблице маршрутизации, выбирает один из возможных следующих транзитных узлов (определенных протоколом маршрутизации), удаляет входной и добавляет выходной заголовки канального уровня, а затем посылает сообщение.

Конечно, вся эта процедура применяется только к действительным сообщениям (основные протоколы сетевого уровня имеют процедуры для квалификации сообщения). Если сообщение слишком велико по размеру для выходного интерфейса, то маршрутизатор вынужден либо фрагментировать, либо отбросить его. Если пакет содержит контрольные суммы (DECnet IV и IPv6 их не предусматривают, в отличие от большинства других протоколов), то сначала проверяется контрольная сумма. Фактически все архитектуры имеют также и счетчик транзитных узлов: маршрутизатор увеличивает его на единицу и сравнивает с предельным допустимым значением. Маршрутизатор отбрасывает недействительные сообщения и уведомляет об этом отправителя.

Некоторые протоколы, в частности IPv4, IPv6 и ISO IP, поддерживают дополнительные поля: они позволяют маршрутизатору записывать путь сообщения по сети и посылать сообщение в принудительном порядке через некоторые системы по пути следования, накапливать отметки о времени, передавать информацию об идентификации и выполнять другие функции сетевого уровня. Эти факультативные процедуры также выполняются модулем выбора маршрута.

После переключения сообщения модулем выбора маршрута распорядитель сообщений определяет момент отправки сообщения. Планирование отправки сообщений - и самая простая, и самая сложная функция уровня коммутации. Маршрутизаторы по большей части либо добавляют сообщение в очередь FIFO (англ. сокр. "первым пришел, первым ушел") ожидающего отправки трафика, либо, если очередь полна, просто отбрасывают их. Такой простой алгоритм довольно эффективен, но опыт управления сетями и недавние исследования показывают, что он далеко не оптимален.

В маршрутизаторе, реализующем архитектуру с интеграцией услуг IETF, алгоритмы обслуживания очередей сортируют трафик в таком порядке, чтобы данные гарантии были выполнены. Часто маршрутизаторы, не поддерживающие QoS, реализуют подобные алгоритмы в целях управления трафиком.

FIFO - первым пришел, первым ушел

Стандартные реализации очереди FIFO первыми отправляют наиболее раннее из полученных сообщений и отбрасывают все последующие, если очередь уже полна. Недавние исследования показывают, что удаление сообщений, по крайней мере для TCP/IP, имеет серьезные побочные эффекты. Например, когда сообщение потеряно, приложение-отправитель может рассматривать это как сигнал о том, что оно посылает пакеты слишком быстро. TCP реагирует на такой сигнал замедлением отправки сообщений. Но когда очередь полна, то часто несколько сообщений отбрасываются друг за другом - в результате целый ряд приложений решает замедлить передачу. После этого приложения зондируют сеть для определения ее загруженности и буквально через несколько секунд возобновляют передачу с прежним темпом, что опять приводит к перегрузке.

Случайное раннее обнаружение (Random Early Detection, RED) представляет альтернативу очередям FIFO. Оно позволяет смягчить эффект от потери трафика даже при очень больших нагрузках, так что приложения не синхронизированы друг с другом, как это имело место в предыдущем случае. Такая очередь по-прежнему использует принцип FIFO, но, вместо того чтобы отбрасывать сообщения из конца очереди, RED отбрасывает трафик статистически, когда средняя длина очереди за данный промежуток времени превосходит некоторое значение. Таким образом, заполнение очереди оптимизировано для обеспечения большей устойчивости алгоритма. Этот процесс был придуман специально для TCP, но те, кто его изобрел, считают, что он применим к любому трафику, когда сеть не гарантирует доставки.

Страницы: 1, 2


© 2010.