|
Глава 11. Связь сегментов сетейПосле решения проблемы объединения отдельных компьютеров в сети (80-ые годы прошлого века) возникла необходимость соединять сети компьютеров между собой. Это соединение осуществляется при помощи специальных устройств – коммутаторов, маршрутизаторов и других устройств. Возник термин «сегмент сети» – часть сети, которая не содержит соединяющих устройств. Устройства, соединяющие сети (сегменты одной большой сети), подразделяются на виды в зависимости от уровня ЭМВОС, на котором они работают (таблица 11.1).
Таблица 11.1 Функциональный уровень сетевых устройств
Репитеры или хабыСигнал, проходя по кабельной системе, изменяется под действием различных помех и затухает, из-за чего кабельная система ограничивает передачу данных по расстоянию. Поэтому, в сетях применяют устройства, способные усилить и восстановить форму сигнала. Хаб (hub) не производит анализа информации. Он на мгновение запоминает значения сигнала «0» или «1», соответствующим образом их регенерирует, усиливает и отправляет во все присоединенные сегменты сети. Теоретически эти функции должны выполняться на пути от источника до получателя столько раз, сколько необходимо. На практике многие сети ограничивают количество хабов. Например, в версиях 10Base Ethernet на коаксиальном кабеле число хабов не должно превышать 4-х (5 сегментов сети). Мосты (bridge) и коммутаторы (switch)Если в сети большой трафик, то целесообразно разделить ее на сегменты, в которых компьютеры чаще всего работают между собой. Для этого применяют мосты, которые пересылают сообщение не всем устройствам сети, а только в тот сегмент сети, в котором находится получатель. Мосты – это устройства, разделяющие сети. Они работают с физическими адресами станций на канальном уровне протоколов ЭМВОС. В отличие от хаба мост может разрешать доступ к физическим устройствам, либо запрещать его, то есть, способен регулировать трафик. В процессе работы мост опрашивает устройства сети, записывая в специальной хэш-таблице в оперативной памяти адреса новых устройств. Работая в сегменте 1 (рис.11.1), мост получает все кадры этого сегмента, игнорирует кадры, адресованные станциям сегмента 1, а кадры, адресованные станциям сегмента 2, передает на соответствующий порт.
Рис.11.1. Соединение двух сегментов сети при помощи моста
При соединении нескольких сетевых сегментов (рис.11.2) мосты должны осуществлять маршрутизацию кадров. Существует три типа протоколов маршрутизации мостов:
Рис.11.2. Структура из четырех сегментов и двух мостов
TR или STA мосты не требуют какого-то начального программирования при включении (инициализации). Они анализируют трафик и «выучивают» принадлежность адресов устройств к сегментам сети (каждый порт ассоциируется с одним сегментом). Такой мост создаёт динамическую базу данных адресов устройств и определяет, передать или удалить кадр согласно адресу получателя. Обычно эти мосты применяются в сетях, имеющих топологию «иерархическая звезда»: центральный мост и каждый луч звезды представляет собой дерево мостов. Такое объединение называют “collapsed backbone”. Протокол называют прозрачным, так как он прозрачен для станций сети (каждая станция может связываться с любой другой как в одном большом сегменте, не думая о маршруте) и, с другой стороны, прозрачен для протоколов, начиная с сетевого уровня и выше. Мосты с маршрутизацией от источника SR применяются для соединения колец Token Ring и FDDI. Мосты объединяются в кольцо, а к каждому мосту в свою очередь присоединяется еще кольцо станций. Такое объединение называют “token backbone”. Отправитель помещает в каждый посылаемый кадр всю адресную информацию о промежуточных мостах и кольцах, которые должен пройти кадр, перед тем как попасть в кольцо, к которому подключена станция-получатель. Для задания маршрута мосты и кольца имеют идентификаторы.
Рис.11.3. Объединение кольцевых сегментов с помощью SR-мостов
SR-мосты при продвижении кадров используют информацию из соответствующих полей кадра данных. Для работы алгоритма маршрутизации от источника используются два дополнительных типа кадра: SRBF (single-route broadcast frame, одномаршрутный кадр-исследователь) и ARBF (all-route broadcast frame, многомаршрутный кадр-исследователь). SR-мосты конфигурируются администратором, чтобы передавать кадры ARBF на все порты, кроме порта-источника кадра, а для кадров SRBF некоторые порты мостов нужно заблокировать, чтобы в сети не было петель. Кадр-исследователь SRBF посылается станцией-отправителем, если станция-получатель находится в другом кольце и неизвестно, через какие мосты и кольца пролегает путь до этой станции. SRBF, распространяясь по всем кольцам сети, доходит до станции-получателя. В ответ станция-получатель отправляет многомаршрутный широковещательный кадр-исследователь ARBF. Этот кадр передается мостами через все порты. Станция-отправитель получает в общем случае несколько кадров-ответов, прошедших по всем возможным маршрутам составной сети, и выбирает наилучший маршрут (обычно по количеству пересечений промежуточных мостов). SRT-мосты работают как TR, если в кадре нет маршрутизирующей информации, и как SR - если такая информация есть. Мосты очень быстрые и дешевые устройства, но в целях обеспечения прозрачности они вынуждены передавать весь общий служебный (broadcast, multicast) трафик во все сегменты сети. Кроме того, при работе с сегментами, где имеется различная скорость передачи данных, мосты становятся узким местом, так как не умеют ей управлять. Применимы они только в небольших сетях (до 50 пользователей). Коммутатор – это мультипортовый мост. Он обеспечивает передачу кадров (ячеек в сети АТМ) от станции к станции в режиме точка-точка (point to point). При этом станции в сети работают параллельно, то есть передача может вестись одновременно между всеми парами портов. Коммутация осуществляется по физическим адресам устройств (MAC-адресам). При этом при помощи специальных протоколов третьего уровня ЭМВОС осуществляется масса функций управления сетевым трафиком. Существует два типа коммутации:
На рис.11.4 показана функциональная схема коммутатора EtherSwitch, предложенного фирмой Kalpana в 1990 году.
Рис.11.4. Функциональная схема коммутатора фирмы Kalpana
В этом коммутаторе системный модуль поддерживает общую адресную таблицу коммутатора. Коммутационная матрица отвечает за пересылку кадров между портами. Каждый порт имеет свой процессор кадров. При поступлении кадра в один из портов его процессор отправляет в буфер несколько первых байт, чтобы прочитать адрес назначения. После определения адреса процессор принимает решение о передаче кадра, не анализируя остальные байты. По адресной таблице выбирается соответствующий выходной порт. Коммутационная матрица формирует соединение входного и выходного портов. Если полученный адрес отсутствует в адресной таблице, он записывается в новой строке, а кадр передается методом широкого вещания через все порты, за исключением принявшего. Маршрутизаторы (роутеры)Маршрутизатор (router) – это устройство, работающее на сетевом уровне ЭМВОС и использующее одну или более метрик для определения оптимального пути передачи сетевого трафика на основании информации (заголовка пакета) сетевого уровня. Путь оценивается количественными показателями, которые называются метриками. Лучший путь – это путь с наименьшей метрикой. На основании информации об устройствах в сети (таблицы маршрутизации) и определённых правил (протоколы маршрутизации), маршрутизатор выбирает выходной физический порт для пересылки пакета сетевого уровня получателю или следующему на пути маршрутизатору. На сетевом уровне создаётся логический адрес сети. Этот адрес присваивается операционной системой или администратором системы просто для идентификации группы компьютеров. Такую группу иначе называют “subnet” (подсеть). Подсеть может совпадать с физическим сегментом, а может не совпадать. Надо помнить, что физические адреса устройств задаются производителем аппаратуры (аппаратно или при помощи программного обеспечения). Например, физический адрес рабочей станции – это уникальный адрес сетевого адаптера, который прошивается производителем. База данных физических адресов ведется компанией Xerox. Двух устройств с одним физическим адресом в сети не может быть. Маршрутизаторы не видят физических адресов, они пересылают информацию по логическим адресам подсетей. Определение маршрута передачи данных происходит программно. Соответствующие программные средства носят названия протоколов маршрутизации. Логика их работы основана на алгоритмах маршрутизации. Простейшие алгоритмы маршрутизации определяют маршрут на основании наименьшего числа транзитных узлов на пути к адресату. Более сложные алгоритмы учитывают несколько показателей, например, задержку при передаче пакетов, пропускную способность каналов связи или денежную стоимость связи. Основным результатом работы алгоритма маршрутизации является создание и поддержка таблицы маршрутизации, в которую записывается вся маршрутная информация. Наиболее известные протоколы динамической маршрутизации (гл.2, сетевой уровень ЭМВОС), которые есть обычно у всех маршрутизаторов, это протокол RIP (Routing Internet Protocol) и протокол OSPF (Open Shortest Path First). RIP использует в качестве метрики пути число переходов через маршрутизаторы (hops). Максимально разрешенное число переходов – 15. Маршрутизатор с определенной периодичностью (по умолчанию через каждые 30 с) извлекает адреса получателей информации и метрики из своей таблицы маршрутизации и помещает эти данные в рассылаемые соседним маршрутизаторам сообщения об обновлении. Соседние маршрутизаторы сверяют полученные данные со своими собственными таблицами маршрутизации и вносят необходимые изменения. После этого они сами рассылают сообщения об обновлении. Таким образом, каждый маршрутизатор получает информацию о маршрутах всей сети. Протокол RIP может работать эффективно только в небольших сетях. OSPF более сложный протокол, относится к протоколам состояния канала и ориентирован на применение в больших гетерогенных сетях. Для выяснения состояния связей соседние OSPF-маршрутизаторы достаточно часто обмениваются короткими сообщениями HELLO. Для распространения по сети данных о состоянии связей маршрутизаторы используют широковещательную рассылку сообщений другого типа, которые называются router links advertisement - объявление о связях маршрутизатора (точнее, о состоянии связей). Таким образом, OSPF-маршрутизаторы получают, в конце концов, информацию о состоянии всех связей сети. Эта информация используется для построения графа связей сети, который, естественно, один и тот же для всех маршрутизаторов сети. Кроме информации о соседях, маршрутизатор в своем объявлении перечисляет подсети, с которыми он связан непосредственно. Вычисление маршрута с минимальной метрикой до каждой подсети производится непосредственно по этому графу по алгоритму Дэйкстры. Протоколы состояния канала трудны в реализации и нуждаются в значительном объеме памяти для хранения информации о состоянии каналов. Примерами этих протоколов являются OSPF, IS–IS, Nowell NLSP и Cisco EIGRP. Существует множество других протоколов маршрутизации: BGP, IGRP, SNA APPN, NLSP, RSVP, SMRP. Протоколы маршрутизации совершенствуются постоянно. Маршрутизаторы позволяют достичь получателя при помощи множества путей, управлять трафиком на основе метрик, осуществлять в целях безопасности фильтрацию трафика, работать с сегментами сетей различных технологий (например, одновременно с Ethernet, ATM и FDDI). Но они не являются быстрыми устройствами и сложны в поддержке. Применяются маршрутизаторы в больших корпоративных и глобальных сетях для соединения сегментов. ШлюзыШлюз (Gateway) – это устройство для соединения подсетей по протоколам выше 3-го уровня ЭМВОС. Они применяются в сложных гетерогенных сетях. Например, если мы хотим присоединить сегмент с персональными компьютерами, представляющими символы в коде ASCII, к мейнфрейм, представляющей символы в коде EBCDIC. Существуют шлюзы, выполняющие конвертацию всех семи уровней протоколов ЭМВОС (обычно это аппаратные средства на первых двух уровнях и программное обеспечение на остальных уровнях). При этом они могут быть выделены только для осуществления функций соответствия различных протоколов друг другу, а могут выполнять еще и другие функции. Например, шлюз и одновременно файл-сервер сети. Алгоритм Spanning TreeАлгоритм предназначен для связи сегментов сетей. Чтобы предотвратить потерю работоспособности сети при выходе из строя устройства, соединяющего сегменты сети, необходимо организовывать между сегментами резервные связи. Например, в один и тот же сегмент сети можно попасть через три моста/коммутатора. Но тогда следует предусмотреть алгоритм, который предотвращал бы наличие замкнутых путей-петель. Такой алгоритм стандартизирован IEEE для TR-мостов и коммутаторов и называется IEEE 802.1d STA (Spanning Tree Algorithm). Алгоритм STA формализует сеть в виде графа, вершинами которого являются коммутаторы в сегменте сети. Алгоритм обеспечивает поиск древовидной топологии связей с единственным путем от каждого коммутатора и от каждого сегмента до некоторого выделенного коммутатора (корня дерева, Root Switch) при минимально возможном расстоянии. В качестве корневого коммутатора выбирается коммутатор с минимальным адресом, ему присваивается максимальный приоритет. В качестве расстояния в STA используется метрика – величина, обратно пропорциональная пропускной способности сегмента. Метрика – это время передачи одного бита, измеренное в 10-наносекундных единицах (условное время сегмента). Например, для сегмента Ethernet 10 Мбит/с метрика равна 10 условным единицам. Корневой коммутатор рассылает остальным коммутаторам специальный “hello-пакет”. Коммутаторы ретранслируют этот пакет, для того чтобы каждый коммутатор определил минимальные расстояния от всех своих портов до корневого коммутатора. Алгоритм определяет, какой коммутатор или связь между коммутаторами является основной, а какой (какая) резервной. Основные метятся как «передающие» (forward), а резервные – как «заблокированные» (standby). Если основная связь или коммутатор вышли из строя, они заменятся резервными. Таким образом, существует один путь для каждого сегмента, а резервные пути ждут своего часа в случае выхода из строя коммутатора или связи между коммутаторами.
Рис.11.5. Дерево мостов в соответствии с алгоритмом STA
Алгоритм выделяет корневые порты на коммутаторах (это порт с кратчайшим расстоянием до корневого коммутатора) и ограничивает количество коммутаторов (hops) величиной 7, а сегментов соответственно 8. ВыводыДля соединения сегментов сети или разбиения сети на сегменты используются специализированные устройства: хабы, мосты, коммутаторы, маршрутизаторы и шлюзы. В высокоскоростной передаче данных используются коммутаторы, а для присоединения сетей, имеющих различные протоколы выше 3-го и 4-го уровней ЭМВОС, используются шлюзы. Коммутаторы работают гораздо быстрее, чем маршрутизаторы (роутеры) и, выполняя функции протоколов 2 и 3 уровней ЭМВОС, сравнимы с ними по функциональности, проще в управлении и применяются в сетях любых размеров. Дополнительная информация
IETF RFC 1587, IETF RFC 2370, IETF RFC 2328, IETF RFC 1105 Контрольные вопросы
|