175
коммутатор устанавливает соответствие между номерами портов
иадресами компьютеров. В процессе изучения сети мост/коммутатор просто передает появляющиеся на входах его портов кадры на все остальные порты, работая некоторое время повторителем. После того, как мост/коммутатор узнает о принадлежности адресов сегментам, он начинает передавать кадры между портами только в случае межсегментной передачи. Если, уже после завершения обучения, на входе коммутатора вдруг появится кадр с неизвестным адресом назначения, то этот кадр будет повторен на всех портах.
Мосты/коммутаторы, работающие описанным способом, обычно называются прозрачными (transparent), поскольку появление таких мостов/коммутаторов в сети совершенно не заметно для ее конечных узлов. Это позволяет не изменять их программное обеспечение при переходе от простых конфигураций, использующих только концентраторы, к более сложным, сегментированным.
Существует и другой класс мостов/коммутаторов, передающих кадры между сегментами на основе полной информации о межсегментном маршруте. Эту информацию записывает в кадр станция-источник кадра, поэтому говорят, что такие устройства реализуют алгоритм маршрутизации от источника (source routing). При использовании мостов/коммутаторов с маршрутизацией от источника конечные узлы должны быть в курсе деления сети на сегменты и сетевые адаптеры, в этом случае должны в своем программном обеспечении иметь компонент, занимающийся выбором маршрута кадров.
За простоту принципа работы прозрачного моста/коммутатора приходится расплачиваться ограничениями на топологию сети, построенной с использованием устройств данного типа — такие сети не должны иметь замкнутых маршрутов — петель. Мост/коммутатор не может правильно работать в сети с петлями, при этом сеть засоряется зацикливающимися пакетами
иее производительность снижается.
Для автоматического распознавания петель в конфигурации сети разработан алгоритм покрывающего дерева (Spanning Tree Algorithm, STA). Этот алгоритм позволяет мостам/коммутаторам адаптивно строить дерево связей, когда они изучают топологию
176
связей сегментов с помощью специальных тестовых кадров. При обнаружении замкнутых контуров некоторые связи объявляются резервными. Мост/коммутатор может использовать резервную связь только при отказе какой-либо основной. В результате сети, построенные на основе мостов/коммутаторов, поддерживающих алгоритм покрывающего дерева, обладают некоторым запасом надежности, но повысить производительность за счет использования нескольких параллельных связей в таких сетях нельзя.
В отличие от мостов, ряд коммутаторов не помещает все приходящие пакеты в буфер. Это происходит лишь тогда, когда надо согласовать скорости передачи, или адрес назначения не содержится в адресной таблице, или когда порт, куда должен быть направлен пакет, занят, а коммутирует пакеты «на лету». Коммутатор лишь анализирует адрес назначения в заголовке пакета и, сверившись с адресной таблицей, тут же (время задержки около 30—40 микросекунд) направляет этот пакет в соответствующий порт. Таким образом, когда пакет еще целиком не прошел через входной порт, его заголовок уже передается через выходной. Типичные коммутаторы работают по алгоритму «устаревания адресов». Это означает, что, если по истечении определенного промежутка времени, не было обращений по этому адресу, то он удаляется из адресной таблицы.
Коммутаторы поддерживают при соединении друг с другом режим полного дуплекса. В таком режиме данные передаются и принимаются одновременно, что невозможно в обычных сетях Ethernet. При этом скорость передачи данных повышается в два раза, а при соединении нескольких коммутаторов можно добиться и большей пиковой производительности.
Несколько особняком стоят коммутаторы серии SmartSwitch фирмы Cabletron Systems. Эта серия коммутаторов поддерживает технологию SNS, которая ранее называлась SFS, Одна из ее особенностей заключается в том, что коммутаторы, составляющие сеть, хранят таблицу адресов «вечно» и обмениваются ими друг с другом, могут выгружать их на специальный сервер. Это позволяет не только сократить время прохождения пакета по сети, но и решить ряд специфических проблем, особенно связанных с безопасностью.
177
7.6 Маршрутизаторы
Маршрутизатор (router) позволяет обрабатывать в сети избыточные связи, образующие петли. Он справляется с этой задачей за счет того, что принимает решение о передаче пакетов на основании более полной информации о графе связей в сети, чем мост или коммутатор. Маршрутизатор имеет в своем распоряжении базу топологической информации, которая говорит ему, например, о том, между какими подсетями общей сети имеются связи и в каком состоянии (работоспособном или нет) они находятся. Имея такую карту сети, маршрутизатор может выбрать один из нескольких возможных маршрутов доставки пакета адресату. В данном случае под маршрутом понимают последовательность прохождения пакетом маршрутизаторов.
В отличие от моста/коммутатора, который не знает, как связаны сегменты друг с другом за пределами его портов, маршрутизатор видит всю картину связей подсетей друг с другом, поэтому он может выбрать правильный маршрут и при наличии нескольких альтернативных маршрутов. Решение о выборе того или иного маршрута принимается каждым маршрутизатором, через который проходит сообщение.
Для того чтобы составить карту связей в сети, маршрутизаторы обмениваются специальными служебными сообщениями, в которых содержится информация о тех связях между подсетями, о которых они знают (эти подсети подключены к ним непосредственно или же они узнали эту информацию от других маршрутизаторов).
Построение графа связей между подсетями и выбор оптимального по какому-либо критерию маршрута на этом графе представляют собой сложную задачу. При этом могут использоваться разные критерии выбора маршрута — наименьшее количество промежуточных узлов, время, стоимость или надежность передачи данных.
Маршрутизаторы позволяют объединять сети с различными принципами организации в единую сеть, которая в этом случае часто называется интрасеть (intranet). Название интрасеть подчеркивает ту особенность, что образованное с помощью маршрутизаторов объединение компьютеров представляет собой сово-
178
купность нескольких сетей, сохраняющих большую степень автономности, чем несколько логических сегментов одной сети. В каждой из сетей, образующих интрасеть, сохраняются присущие им принципы адресации узлов и протоколы обмена информацией. Поэтому маршрутизаторы могут объединять не только локальные сети с различной технологией, но и локальные сети с глобальными.
Рис. 7.4 — Структура интерсети, построенной на основе маршрутизаторов
Маршрутизаторы не только объединяют сети, но и надежно защищают их друг от друга. Причем эта изоляция осуществляется гораздо проще и надежнее, чем с помощью мостов/коммутаторов. Например, при поступлении кадра с неправильным адресом мост/коммутатор обязан повторить его на всех своих портах, что делает сеть незащищенной от некорректно работающего узла. Маршрутизатор же в таком случае просто отказывается передавать «неправильный» пакет дальше, изолируя дефектный узел от остальной сети.
Кроме того, маршрутизатор предоставляет администратору удобные средства фильтрации потока сообщений за счет того,
179
что сам распознает многие поля служебной информации в пакете и позволяет их именовать понятным администратору образом. Нужно заметить, что некоторые мосты/коммутаторы также способны выполнять функции гибкой фильтрации, но задавать условия фильтрации администратор сети должен сам в двоичном формате, что достаточно сложно.
Кроме фильтрации, маршрутизатор может обеспечивать приоритетный порядок обслуживания буферизованных пакетов, когда на основании некоторых признаков пакетам предоставляются преимущества при выборе из очереди. Различные типы router-ов отличаются количеством и типами своих портов, что собственно и определяет места их использования. Маршрутизаторы, например, могут быть использованы в локальной сети Ethernet для эффективного управления трафиком при наличии большого числа сегментов сети, для соединения сети типа Ethernet с сетями другого типа, например Token Ring, FDDI, а также для обеспечения выходов локальных сетей на глобальную сеть.
Маршрутизаторы не просто осуществляют связь разных типов сетей и обеспечивают доступ к глобальной сети, но и могут управлять трафиком на основе протокола сетевого уровня (третьего в модели OSI), то есть на более высоком уровне по сравнению с коммутаторами. Необходимость в таком управлении возникает при усложнении топологии сети и росте числа ее узлов, если в сети появляются избыточные пути (при поддержке протокола IEEE 802.1 Spanning Тrее), когда нужно решать задачу максимально эффективной и быстрой доставки отправленного пакета по назначению. При этом существует два основных алгоритма определения наиболее выгодного пути и способа доставки данных: RIP и OSPF. При использовании протокола маршрутизации RIP, основным критерием выбора наиболее эффективного пути является минимальное число сетевых устройств между узлами (hops). Этот протокол минимально загружает процессор маршрутизатора и предельно упрощает процесс конфигурирования, но он не рационально управляет трафиком. При использовании OSPF наилучший путь выбирается не только с точки зрения минимизации числа «хопов», но и с учетом других критериев: производительности сети, задержки при передаче пакета и т.д.