Разделяемая среда предоставляет очень удобную возможность для несанкционированного прослушивания сети и получения доступа к передаваемым данным. Для этого достаточно подключить к сети компьютер с программным анализатором протоколов, записать на диск весь проходящий через сеть трафик и выделить нужную информацию. Поэтому разработчики концентраторов в качестве еще одной дополнительной функции предоставляют некоторые способы защиты данных в разделяемой среде. В простейшем случае администратор сети вручную связывает с каждым портом концентратора некоторый MAC-адрес. Этот MAC-адрес является адресом станции, которой разрешается подключаться к данному порту. Если к этому порту попытаться подключить другой компьютер, то концентратор заметит это и отключит порт. Для защиты часто используется также так называемый метод случайного искажения поля данных в пакетах, передаваемым портам с адресом, отличным от адреса назначения пакета. Этот метод сохраняет логику случайного доступа к среде, но только станция, которой послан кадр, получает истинное поле данных. Обычно поле данных в кадрах, направляемых станциям – неадресатам, заполняется нулями.
На конструктивное устройство концентраторов большое влияние оказывает их область применения. Концентраторы рабочих групп чаще всего выпускаются как устройства с фиксированным количеством портов, корпоративные концентраторы – как модульные устройства на основе шасси, а концентраторы отделов могут иметь стековую конструкцию.
Управление концентратором по протоколу SNMP
Как видно из рассмотрения дополнительных функций, многие из них требуют конфигурирования концентратора. Это конфигурирование может производиться локально, через интерфейс RS-232C, который имеется у любого концентратора, в котором предусмотрен блок управления. Кроме конфигурирования, в большой сети очень полезна функция наблюдения за состоянием концентратора: работоспособен ли он, в каком состоянии находятся его порты и т.д.
При большом количестве концентраторов и других коммуникационных устройств сети постоянное наблюдение за состоянием многочисленных портов и изменением их параметров становится очень обременительным, если его выполнять с помощью локальных терминалов. Поэтому большинством концентраторов, поддерживающих дополнительные интеллектуальные функции, можно управлять централизовано по сети с помощью популярного протокола управления SNMP (Simple Network Management Protocol) из стека TCP/IP.
В блок управления такого интеллектуального концентратора встраивается специальный функциональный узел - SNMP-агент. Этот агент собирает информацию о состоянии контролируемого устройства и хранит ее в так называемой базе данных управляющей информации MIB (Management Information Base). Эта база данных имеет стандартную структуру, что позволяет одному из компьютеров сети, выполняющему роль центральной станции/консоли управления, запрашивать у агента значения стандартных переменных базы данных MIB. Отметим, что в базе данных MIB хранятся не только данные о состоянии устройства, но и управляющая информация (например, в MIB есть переменная, управляющая включением/выключением порта), и с консоли управления можно изменять эту управляющую информацию.
Взаимодействие между консолью управления и SNMP-агентами коммуникационных устройств осуществляется по протоколу SNMP. Естественно, что концентратор, который управляется по этому протоколу, должен поддерживать основные протоколы стека TCP/IP и иметь IP- и MAC-адрес.
Логическая структуризация сети с помощью мостов и коммутаторов
Эффективность общей разделяемой среды для небольшой сети проявляется в следующем:
· простая топология сети, допускающая ее легкое наращивание;
· отсутствие потерь кадров из-за переполнения буферов коммуникационных устройств – сама логика разделения среды регулирует поток кадров;
· простота протоколов, обеспечивающая низкую стоимость сетевых адаптеров и концентраторов.
Однако крупные сети, насчитывающие сотни и тысячи узлов, не могут быть построены на основе одной разделяемой среды даже в такой скоростной технологии, как Gigabit Ethernet, из-за коллизий.
Под логической структуризацией сети понимается разбиение общей разделяемой среды на логические сегменты, каждый из которых представляет собой самостоятельную разделяемую среду. Сеть, разделенная на логические сегменты, обладает более высокой производительностью. Это объясняется тем, что нагрузка, приходящаяся на каждый из вновь образованных сегментов, всегда оказывается меньше нагрузки, которую испытывала исходная единая сеть. В общем случае, сегментация повышает производительность сети (за счет разгрузки сегментов), повышает безопасность данных (за счет ограничения доступа пользователей к другим сегментам), облегчает управление сетью.
Взаимодействие между логическими сегментами организуется с помощью мостов, коммутаторов или маршрутизаторов. Все эти устройства передают кадры с одного своего порта на другой, анализируя адрес назначения, помещенный в этих кадрах (в отличие от концентраторов, которые повторяют кадры на своих портах без анализа). Мосты и коммутаторы выполняют операцию передачи кадров на основе MAC – адресов, маршрутизаторы – на основе номера сети. При этом единая разделяемая среда, созданная концентраторами, делится на несколько логических частей, каждая из которых присоединена к отдельному порту моста, коммутатора или маршрутизатора.
Здесь мы рассмотрим устройства логической структуризации сети, работающие на канальном уровне стека протоколов, а именно – мосты и коммутаторы. Маршрутизаторы для выполнения этой задачи используют протоколы сетевого уровня. В современных сетях часто используют комбинированный способ логической структуризации – небольшие сегменты объединяются устройствами канального уровня в более крупные подсети, которые, в свою очередь, соединяются между собой с помощью маршрутизаторов.
Мост и коммутатор с точки зрения логики их работы являются функциональными близнецами. Оба эти устройства продвигают кадры на основе одних и тех же алгоритмов - алгоритма прозрачного моста (transparent bridge), описанного в стандарте IEEE 802.1D, либо алгоритма моста с маршрутизацией от источника (source routing bridge) фирмы IBM для сетей Token Ring.
Процесс вытеснения мостов более производительными коммутаторами начал протекать достаточно быстро с 1994 г., и в настоящее время локальные мосты практически не производятся, но в глобальных сетях удаленные мосты применяются до сих пор.
Алгоритм работы прозрачного моста
Прозрачные мосты незаметны для сетевых адаптеров конечных узлов, т.к. они самостоятельно строят специальную адресную таблицу, на основании которой можно решить, нужно ли передавать пришедший кадр в какой-либо другой логический сегмент сети или нет. Алгоритм прозрачного моста не зависит от технологии локальной сети, в которой устанавливается мост, поэтому прозрачные мосты Ethernet работают точно так же, как и прозрачные мосты FDDI.
Прозрачные мосты строят свою адресную таблицу на основании пассивного наблюдения за трафиком, циркулирующим в подключенных к его портам сегментах. При этом мост анализирует адрес источника, из которого он делает заключение о принадлежности узла-источника тому или иному логическому сегменту.
Каждый порт моста работает как конечный узел своего сегмента за одним исключением – порт моста не имеет собственного MAC – адреса. Порт моста работает в так называемом неразборчивом режиме захвата пакетов, когда все поступающие на порт пакеты запоминаются в его буферной памяти. С помощью такого режима мост следит за всем трафиком, передаваемым в присоединенных к нему сегментах, и использует приходящие на него пакеты для изучения состава сети.
В исходном состоянии порт ничего не знает и том, узлы с какими MAC-адресами подключены к каждому из его портов. Поэтому поначалу мост просто передает любой захваченный и буферизованный кадр на все свои порты. Отличие работы моста в этом режиме от повторителя состоит в том, что мост передает кадр не побитно, а с буферизацией. Буферизация разрывает логику работы всех сегментов как единой разделяемой среды. Когда мост собирается передать кадр с сегмента на сегмент, он пытается получить доступ к другому сегменту как обычный узел по правилам алгоритма доступа, в данном примере по методу CSMA/CD.
Одновременно с передачей кадра мост изучает адрес источника кадра и делает запись о принадлежности отправителя определенному сегменту в своей адресной таблице, которую также называют таблицей фильтрации или маршрутизации. Например, получив на свой порт первый кадр от узла 1, мост делает первую запись в своей адресной таблице вида:
MAC_адрес_узла1 – порт1
Работая описанным образом, мост постепенно заполняет таблицу маршрутизации и тем самым «узнает» MAC-адреса узлов, подключенных к каждому своему порту. Например, следующая таблица маршрутизации
MAC_адрес_узла1 – порт1
MAC_адрес_узла3 – порт2
MAC_адрес_узла2 – порт1
MAC_адрес_узла4 – порт2
MAC_адрес_узла5 – порт3
показывает, что в сети имеется, по крайней мере, три сегмента (возможно, что и больше): в первый сегмент входят узлы 1 и 2, подключенные к порту 1, во второй – узлы 3 и 4, подключенные к порту 2, а к порту 3 подключен узел 5 из третьего логического сегмента.
После того как мост прошел этап обучения, он может работать более рационально. При получении кадра от некоторого узла он просматривает адресную таблицу в поисках адреса узла назначения. Если соответствующая запись в адресной таблице есть, то мост проверяет, находятся ли узлы с адресами источника и назначения в одном сегменте. Если источник и получатель находятся в разных сегментах, то мост выполняет операцию продвижения кадра – передает кадр на другой порт, предварительно получив доступ к другому сегменту. Если же источник и получатель находятся в одном сегменте, то кадр просто удаляется из буфера моста, и работа с ним на этом заканчивается. Такая операция называется фильтрацией. Если же порт назначения неизвестен, то мост снова передает кадр на все свои порты, кроме порта – источника кадра, как и на начальной стадии процесса обучения.