Оборудование ЛВС.


Сетевые адаптеры

Сетевой адаптер (с драйвером) реализуют физический уровень и подуровень MAC канального уровня. Основная функция сетевого адаптера – передача и прием кадров между компьютером и средой передачи (кабелем).

Передача кадра в кабель состоит из следующих этапов:

− прием через интерфейс LLC-кадра и адресной информации (через общие области памяти);

− оформление MAC-кадра (отброс флагов, заполнение адресов, вычисление CRC);

− логическое кодирование (при использовании избыточных кодов – 4B/5B, 8B/6T, др.) – если есть необходимость;

− выдача сигнала в кабель с использованием физического кода (манчестерский, NRZI,MLT-3, др.);

− прием кадра из кабеля;

− прием сигналов;

− выделение сигнала из шума (выделение битовой последовательности);

− логическое декодирование (если оно используется);

− проверка CRC; если ошибка, то кадр отбрасывается, иначе извлекается LLC-кадр и передается LLC-подуровню (через общую область памяти);

Рабочие станции обычно оснащаются более простыми адаптерами, основную работу при этом выполняет драйвер. Для серверов разрабатываются более интеллектуальные адаптеры, со встроенными процессорами и т.п.


Концентраторы

Основная функция концентратора – повторение каждого полученного сигнала на всех (для Ethernet) или на некоторых портах. Соответственно, наиболее общее название для такого рода устройств – повторитель (repeater). Для 10BaseT Ethernet с топологией “звезда” традиционно используется термин “хаб” (hub). Все эти термины равноправны и взаимозаменяемы. Концентратор работает на физическом уровне модели OSI (поскольку имеет дело с электрическими сигналами, их уровнями, полярностями и т.д.) и на канальном уровне (повторители Ethernet, например, умеют распознавать коллизии), но не выполняет никакого анализа кадров.

К каждому порту концентратора подключаются либо конечные узлы, либо другие концентраторы или другие сетевые устройства, либо (например, в 10Base2 Ethernet) целые физические сегменты кабеля.

Концентратор используется, прежде всего, для увеличения диаметра сети и количества подключенных узлов. Основные технологии локальных сетей допускают использование несколько концентраторов в одной сети, но при некоторых условиях. Например, между любой парой узлов в сети Ethernet может быть не более четырех повторителей (соответственно, максимальный путь включает пять сегментов, причем узлы могут подключаться только к трем из них – так называемое правило “5-4-3”), задержка распространения сигнала между любой парой узлов не должна превышать 25 мкс.

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

С увеличением количества узлов в сети растет частота коллизий, и полезная пропускная способность быстро уменьшается. Для технологий Ethernet приемлемой оказывается нагрузка в 40-50% от максимальной пропускной способности. То есть, пока общий объем передаваемых данных не превышает 40-50% от 10 Мбит/с (для Ethernet), сеть работает нормально, а при росте нагрузки полезная пропускная способность быстро падает. Приемлемое количество узлов в сети, если передаются не мультимедийные данные, лежит около 30.

Конструктивно концентраторы выпускаются в одном из трех вариантов: автономные (standalone), стековые, модульные, модульно-стековые.

Автономные и стековые концентраторы выполняются в виде отдельного корпуса с фиксированным количеством и типом портов (обычно до 24). Все порты, как правило, поддерживают одну среду передачи. Иногда выделяется порт для подключения к магистрали или каскадирования. Стековый концентратор, кроме того, имеет специальный порт для объединения нескольких таких концентраторов в единое устройство – стек концентраторов. Как правило, в стеке участвует до 8 концентраторов (иногда больше). Модульный концентратор состоит из общего шасси и подключаемых к нему модулей. Разные модули могут иметь разное количество портов и поддерживать разные типы физической среды. Как правило, подключение и отключение модуля не требует выключения концентратора. Обычно модульные концентраторы снабжаются дополнительным модулем SNMP-управления, резервными источниками питания и устройствами вентиляции. Модульно-стековые концентраторы представляют собой модульные концентраторы на небольшое количество модулей с дополнительным портом для соединения их в стек.

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


Мосты

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

К таким устройствам относятся мосты (bridge), коммутаторы (switch) и маршрутизаторы (router). Различаются мосты с маршрутизацией от источника (source-routing bridge) и прозрачные

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

Более распространены прозрачные мосты, алгоритм работы которых определен стандартом IEEE 802.1d. Такой мост невидим для других узлов и не имеет своего локального адреса. Мост прослушивает все сегменты, подключенные к его портам, принимает все кадры (запоминая их в буферной памяти), и составляет таблицу MAC-адресов узлов, находящихся в этих сегментах (в эту таблицу попадают пары: номер порта – адрес отправителя). Если адрес получателя принятого кадра неизвестен мосту, то этот кадр передается во все порты, кроме того, откуда он поступил. Так же мост поступает с широковещательными и многоадресными кадрами. Если адрес получателя известен, и получатель подключен к тому же сегменту, из которого пришел этот кадр, то кадр отбрасывается (фильтруется). Фильтрация позволяет изолировать внутрисегментный трафик: кадр, отправитель и получатель которого находятся в одном сегменте, будет отфильтрован мостом и не попадет в другие сегменты. Если адрес получателя известен и относится к другому сегменту, мост передает (транслирует, продвигает - forward) этот кадр в соответствующий порт. Механизм продвижения, как и фильтрация, изолирует трафик: кадр увидят станции только того сегмента, в котором находится получатель.

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

Поскольку узлы могут переноситься из одного сегмента в другой, мосты должны уметь обновлять таблицу MAC-адресов. Обычно это реализуется при помощи ограничения срока годности записи, по истечении которого она удаляется из таблицы. Администратор может пометить часть записей как “статические”, тогда срок годности у этих записей никогда не истечет.

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

Мосты работают на подуровне управления доступом к среде передачи (MAC) канального уровня модели ВОС.


Маршрутизаторы

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

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

Существуют два типа маршрутизирующих устройств: статические и динамические. Статические маршрутизаторы (static router) используют таблицы маршрутизации, которые должен создавать и вручную обновлять сетевой администратор. Динамические маршрутизаторы (dynamic router) создают и обновляют свои собственные таблицы маршрутизации. Они используют информацию, найденную на своих собственных сегментах, а также полученную от других динамических маршрутизаторов. Динамические маршрутизаторы всегда содержат свежую информацию о возможных маршрутах по сети, а также информацию об узких местах и задержках в прохождении пакетов. Эта информация позволяет им определить наиболее эффективный путь, доступный в данный момент для перенаправления пакетов данных к их получателям.

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

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

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

Другое важное преимущество маршрутизатора как соединительного устройства заключается в том, что, поскольку он работает на сетевом уровне, он может соединять сети, использующие различную сетевую архитектуру, методы доступа к устройствам или протоколы. Например, маршрутизатор может соединять подсеть Ethernet и сегмент Token Ring.

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

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

Английский термин «brouter» (мост-маршрутизатор) представляет собой комбинацию слов «bridge» (мост) и «router» (маршрутизатор). Из этого можно сделать вывод, что мост-маршрутизатор сочетает функции моста и маршрутизатора. Когда мост-маршрутизатор получает пакет данных, он проверяет, послан пакет с использованием маршрутизируемого протокола или нет. Если это пакет маршрутизируемого протокола, мост-маршрутизатор выполняет функции маршрутизатора, посылая при необходимости пакет получателю вне локального сегмента. Если же пакет содержит немаршрутизируемый протокол, мост-маршрутизатор выполняет функции моста, используя адрес сетевой карты для поиска получателя на локальном сегменте. Для выполнения этих двух функций мост-маршрутизатор может поддерживать как таблицы маршрутизации, так и таблицы мостов.


Коммутаторы

Коммутатор (switch) функционально представляет собой высокоскоростной многопортовый мост, способный одновременно связывать несколько узлов на максимальной скорости, обеспечиваемой средой передачи. Часто коммутаторы используются для сегментации – уменьшения размеров доменов коллизий. Фактически, коллизии преобразуются в очереди кадров внутри коммутатора. Предельный случай сегментации – микросегментация – достигается при подключении к каждому порту коммутатора единственного узла, тогда домен коллизий состоит только из узла и порта коммутатора (дуплексный режим позволяет вообще исключить коллизии при микросегментации).

Коммутаторы работают в одном из трех режимов:

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

- Коммутация “на лету” (cut-through): кадр передается в порт назначения сразу после приема адреса получателя (в Ethernet – первые 6 байт заголовка кадра). Если в этот момент порт назначения занят, коммутатор обрабатывает пакет в режиме с буферизацией. Коммутация на лету вносит минимально возможную задержку – 11.2 мкс для Ethernet, однако при этом передаются все кадры – в том числе и ошибочные.

- Бесфрагментная коммутация (fragment-free): коммутатор буферизует первые 64 байта кадра, и, если кадр не длиннее 64 байт, то коммутатор обрабатывает его в режиме с буферизацией. Если кадр длинный, то он передается в порт назначения, как в режиме “на лету”.

Большинство коммутаторов низшего и среднего уровня реализуют только режим коммутации с буферизацией. Коммутация “на лету” характерна для магистральных высокоскоростных коммутаторов, где минимальная задержка передачи гораздо важнее распространения кадров с ошибками. Коммутаторы верхнего уровня иногда используют технологию адаптивной коммутации: сначала все порты работают в режиме “на лету”, затем порты, через которые приходит много кадров с ошибками переводятся в бесфрагментный режим, а если это не помогает отфильтровать ошибочные кадры (в случае длинных пакетов с ошибками), то такие порты переводятся в режим коммутации с буферизацией.

Для достижения высокой производительности (необходимой для одновременного обслуживания всех портов) каждый порт коммутатора, как правило, снабжается отдельным процессором, обычно представляющим собой специализированную микросхему (ASIC), оптимизированную для выполнения функций коммутации. Центральный узел, связывающий процессоры отдельных портов, строится на основе одной из трех схем (применяются и комбинированные варианты):

− коммутационная матрица,

− разделяемая многовходовая память,

− общая шина.

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

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

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

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

В зависимости от варианта конструкции, различают:

− автономные (standalone) коммутаторы,

− стековые коммутаторы,

− модульные коммутаторы на основе шасси.

Первые два варианта имеют фиксированное число (обычно 8,16,24, редко до 30) и тип портов, которые не могут быть изменены. Автономные коммутаторы применяются на уровне рабочих групп. Стековые коммутаторы отличаются от автономных наличием дополнительного (стекового) интерфейса, позволяющего объединять несколько таких коммутаторов в систему, работающую, как единый коммутатор – стек коммутаторов. Как правило, количество коммутаторов в стеке не превышает четырех (пропускная способность стекового интерфейса лежит в пределах 200-400 Мбит/с).

Стековые коммутаторы применяются в сетях, где емкости автономного коммутатора уже недостаточно (количество узлов больше 30), а установка значительно более дорогого модульного коммутатора неоправданна. Модульные коммутаторы на основе шасси позволяют подключать необходимое количество разнотипных модулей, часто с возможностью их замены без выключения коммутатора (hot swap). Количество портов в таких коммутаторах может превышать 100. Как правило, модульные коммутаторы используются в качестве магистральных.

В сетях Ethernet/Fast Ethernet часто используется сетевое устройство промежуточного типа – коммутирующий концентратор (switching hub), представляющий собой двухсегментный концентратор (один сегмент – Ethernet, другой – Fast Ethernet), сегменты которого соединены двухпортовым мостом. В результате все Ethernet-станции, подключенные к нему, образуют один домен коллизий, а все Fast Ethernet-станции – второй домен коллизий. Соединения же между станциями разных сегментов обслуживаются мостом. Такие устройства, как правило, дешевле, чем полноценные коммутаторы. Наиболее эффективно они используются при наличии большинства Ethernet-станций и высокоскоростном (Fast Ethernet) подключении одного-двух серверов. Поскольку все высокоскоростные узлы образуют один домен коллизий, то при увеличении их количества производительность сети будет падать.


Алгоритм покрывающего дерева

Алгоритм покрывающего дерева (Spanning Tree Algorithm, STA) описан в стандарте IEEE 802.1D и позволяет ликвидировать петли в сети (если в сети есть кольцевые маршруты, это может привести к неправильной работе мостов и коммутаторов). Алгоритм STA из всех связей, имеющихся в сети, выбирает подмножество, образующее дерево, покрывающее все узлы сети. Алгоритм STA состоит из четырех этапов.

− В сети выбирается корневой коммутатор (root switch), который будет считаться корнем дерева. Выбор происходит либо автоматически (корневым становится коммутатор с наименьшим значением MAC -адреса блока управления), либо выполняется администратором.

− Для каждого коммутатора определяется корневой порт (root port) – порт, через который проходит самый короткий путь до корневого коммутатора.

− Для каждого сегмента сети выбирается назначенный порт (designated port) – порт, через который проходит кратчайший путь от данного сегмента до корневого коммутатора.

− Все порты, не вошедшие в корневые и назначенные, блокируются.

При определении кратчайших расстояний рассчитывается суммарное время (в 10-наносекундных единицах) передачи одного бита данных от выбранного порта до корневого коммутатора (учитывается только времена передач по связям между коммутаторами). Например, для Ethernet-сегмента время передачи равно 10, а для Fast Ethernet – 1.

Все коммутаторы периодически обмениваются служебными пакетами – протокольными блоками данных моста (Bridge Protocol Data Unit, BPDU), содержащими идентификатор корневого коммутатора, расстояние до корня, идентификатор коммутатора, выдавшего этот пакет, идентификатор порта, на который был выдан пакет и еще несколько служебных полей. После включения каждый коммутатор считает себя корневым (если иное не задано администратором) и выдает пакеты BPDU со своим идентификатором в поле “идентификатор корневого коммутатора” и расстоянием до корня, равным 0, через все свои порты. Если коммутатор получает BPDU, в котором идентификатор корневого коммутатора меньше его собственного идентификатора, он перестает генерировать свои пакеты, а ретранслирует приходящие пакеты нового корневого коммутатора, увеличивая в них поле “расстояние до корня” на условное время сегмента, по которому пришел этот пакет. При этом коммутатор запоминает для каждого порта минимальное расстояние до корня (из всех пришедших на этот порт пакетов BPDU).

Через заданное время процесс конфигурации заканчивается и корневым портом коммутатор считает тот свой порт, у которого расстояние до корня оказалось минимальным (если таких портов несколько, выбирается порт с наименьшим идентификатором). Затем, он делает назначенными все порты, принятые по которым минимальные расстояния до корня больше, чем расстояние до корня корневого порта. Наконец, все порты, кроме корневого и назначенных, переводятся в заблокированное cостояние.

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


Шлюзы

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

Другой функцией шлюзов является преобразование протоколов. Шлюз может получить сообщение IPX/SPX, направленное клиенту, использующему другой протокол, например TCP/IP, на удаленном сетевом сегменте. После того как шлюз определяет, что получателем сообщения является станция TCP/IP, он преобразует данные-сообщения в протокол TCP/IP. В этом состоит его отличие от моста, который просто пересылает сообщение, используя один протокол внутри формата данных другого протокола; преобразование при необходимости происходит у получателя. Почтовые шлюзы производят сходные операции по преобразованию почтовых сообщений и других почтовых передач из родного формата приложения электронной почты в более универсальный почтовый протокол, например SMTP, который может быть затем использован для направления сообщения в Интернет.

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