Использование коммутаторов для структуризации компьютерных сетей
Использование коммутаторов для структуризации компьютерных сетей
Использование
коммутаторов для структуризации компьютерных сетей
1
Назначение и характеристики коммутаторов
Технология коммутации сегментов компьютерных
сетей была предложена фирмой Kalpana
в 1990 году в ответ на растущие потребности в повышении пропускной способности
связей высокопроизводительных специализированных серверов как между собой, так
и с сегментами рабочих мест пользователей.
Коммутатор (switch), в
принципе, выполняет те же функции, что и мост, но для обслуживания потока
данных, поступающего на каждый порт, в устройство устанавливается отдельный
специализированный процессор, который реализует алгоритм моста. Коммутатор
используется как средство сегментации — уменьшения количества узлов в доменах
коллизий. В предельном случае — микросегментации — к каждому порту коммутатора
подключается только один узел. При этом коммутатор должен направить в нужный
порт каждый приходящий кадр, что предъявляет высокие требования к
производительности процессора коммутатора.
Существуют два основных подхода к
коммутации: с промежуточным сохранением кадров и коммутации «на лету».
Технология с промежуточным хранением (store and forward) предполагает,
что каждый кадр, пришедший в порт, целиком принимается в буферную память. Далее
процессор анализирует его заголовок, адрес источника использует для построения
своих таблиц, а по адресу назначения определяет порт, в который кадр должен
быть передан. В случае многоадресной или широковещательной передачи это будет
группа из всех остальных портов. Передача в порт производится по мере его
освобождения согласно процедуре CSMA/CD. После успешной передачи (во все
требуемые порты) кадр из памяти удаляется, освобождая место. Эта технология
позволяет анализировать кадр (проверять CRC-код) и игнорировать ошибочные кадры. Недостатком такого
подхода является значительная задержка передачи кадров, по крайней мере, на
время приема кадра (для максимально длинного кадра при 10 Мбит/с — 1,22 мс).
Коммутация «на лету» (on-the-fly) выполняется, по возможности, без промежуточного
хранения кадра. Порт принимает кадр, одновременно анализируя его поле
заголовка. Как только будут приняты биты адреса назначения — первые 6 байт
после преамбулы, — коммутатор уже может пересылать кадр в порт или порты
назначения, если они не заняты. В случае, если порт назначения занят,
промежуточное хранение неизбежно. Коммутация «на лету» вносит минимальную
задержку — при свободном порте назначения она составит (8 + 6) х 8 = 112 bt (битовых интервалов), для скорости 10
Мбит/с — 11,2 мкс. Однако проверка CRC не
производится, и коммутатор распространяет все кадры, в том числе и короткие,
отсеченные коллизиями (что является недостатком коммутации «на лету»).
В зависимости от производительности
коммутатор может быть блокирующим и неблокирующим. Неблокирующий коммутатор
способен обрабатывать все кадры, приходящие на все его порты с максимальной
скоростью, которую обеспечивает среда передачи. Высокие скорости создают определенные
трудности, особенно при большом количестве портов. В мостах с задачей
коммутации успешно справлялся один процессор.
Коммутационная матрица — это аппаратная схема (электронный
коммутатор), которая позволяет организовать цепь передачи логического сигнала
между любой парой портов. Процессор каждого порта принимает кадр сначала в свой
буфер. Как только процессор порта определяет адрес назначения очередного кадра,
он запрашивает у матрицы требуемое соединение. Если выходной порт свободен,
устанавливается логическая связь, и кадр через матрицу поступает на вход
передатчика выходного порта. Если выходной порт занят, кадр сохраняется в буферной
памяти входного порта на время, требуемое для освобождения нужного выходного
порта назначения.
Общая шина высокой производительности связывает
процессоры всех портов. Кадры по ней пересылаются мелкими фрагментами
(ячейками) на скорости, существенно большей битовой скорости портов. В
результате каждая передача занимает малую часть времени шины, и несколько пар
процессоров могут обмениваться кадрами псевдопараллельно. Производительность
шины в идеале должна быть не меньше суммы пропускной способности половины
портов. До тех пор, пока это условие соблюдается, увеличение количества портов
не вызывает особых технических проблем. Скорость передачи по шине не зависит от
скорости работы конкретных портов, а согласование размеров ячеек со стандартным
для сетей технологии ATM облегчает
возможность построения гибридных коммутаторов Ethernet-Token Ring-FDDI-ATM. Объединяющая шина
широко используется в модульных коммутаторах на основе шасси.
Разделяемая память — это единая буферная память, доступная
процессорам всех портов коммутатора. Все входящие кадры помещаются в эту
память, а процессорам выходных портов передаются лишь указатели на блоки
памяти, содержащие предназначенные им кадры. Процессоры выходных портов после
успешной передачи данных отмечают эти блоки как свободные для дальнейшего использования.
Общая память позволяет не делать больших запасов памяти для каждого порта (на случай
перегрузок). Разделяемая память проще реализуется в одноплатных коммутаторах
(шина памяти сугубо локальна).
Коммутаторы с фиксированным числом
портов — самые дешевые
устройства, применяемые для числа портов до 24-30. Часто 1-2 порта имеют
скорость, на порядок большую скорости основной массы портов. Эти порты
предназначаются для подключения приоритетных узлов (серверы) и связи с другими
коммутаторами. Более дорогие модели могут иметь несколько гнезд для подключения
различных интерфейсных модулей, в том числе оптических, с резервированием линий
и т. п. В больших сетях такие коммутаторы применяются на уровне этажных
распределителей.
Модульные коммутаторы могут иметь до сотни портов (в
зависимости от размера шасси, плотности портов модулей и производительности).
Эти коммутаторы применяют в качестве магистральных на уровне распределителей
здания, а иногда и в этажных.
Стековые коммутаторы в идеале должны иметь пропускную
способность стекового интерфейса не ниже суммы пропускной способности половины
портов всех коммутаторов, объединяемых в стек. На практике этот интерфейс
становится узким местом, и количество объединяемых устройств часто
ограничивается четырьмя. Топология соединений устройств стека может быть
различной: «цепочка», «кольцо», «звезда». При связи в цепочку отказ одного
устройства может привести к распаду стека на две несвязанные части. Этот
недостаток устраняется при закольцовывании устройств. И в «цепочке», и в
«кольце» пропускная способность стекового интерфейса разделяется всеми
устройствами. Этого недостатка позволяет избежать построение стека с помощью
специального матричного коммутатора, к которому подключаются объединяемые
коммутаторы.
Производительность коммутаторов рассматривается в двух аспектах: максимальное
количество обрабатываемых кадров за единицу времени (определяется
производительностью процессоров коммутатора) и максимальное количество бит,
пропускаемых за единицу времени (может ограничиваться производительностью
объединяющей шины и/или разделяемой буферной памятью). Однако даже если
пропускная способность коммутатора будет достаточно высокой, возможны
перегрузки, если ряд портов будет состязаться за право передачи кадров в один
из портов. При перегрузке буфер начнет переполняться, и часть пакетов будет
теряться без уведомления источника и получателя. Конечно, протоколы верхних
уровней заметят пропажу кадров и организуют их повторную передачу, но это
произойдет не быстро. В результате коммутатор может даже замедлить работу
сетевых приложений (при формально высокой скорости передачи будет большое время
отклика). По этой причине имеет смысл критичные узлы (например, серверы)
подключать к высокоскоростным портам коммутатора.
В полудуплексном режиме коммутатор может
довольно просто бороться с перегрузками, притормаживая входные порты. Для этого
он может специально устраивать коллизии. Эти способы воздействия называются «обратным
давлением* и «агрессивным поведением коммутатора».
В полнодуплексном режиме обратное
воздействие вышеописанными способами невозможно. Здесь определены служебные символы
«приостановить передачу на определенное время» и «продолжить передачу», которые
вводятся в виде кодов физического уровня.
Дополнительные функции коммутаторов:
1.
SB — индикация уровня загрузки и коллизий
2.
Индикация состояния
портов.
3.
Защита от несанкционированного
доступа — разрешение
работы портов только с определенными МАС- адресами узлов.
4.
Управляемость (management) — возможность удаленного наблюдения за состоянием портов и
сегментация (отключение) портов по команде оператора, управление защитой.
5.
Мониторинг — сбор
статистики по портам и устройству в целом.
6.
Сегментируемость
коммутатора (segmented) — возможность организации в одном физическом устройстве
нескольких изолированных сегментов.
7.
Поддержка двух
скоростей — независимый (возможно,
автоматический) выбор скорости работы (10 или 100 Мбит/с) каждого порта.
8.
Автоматический выбор
скорости (10/100) и режима (полудуплекс/дуплекс) работы каждого порта (autosence).
9.
Автоматическая
коррекция полярности пар
10.
Возможность
объединения в стек.
2 Топология соединения коммутаторов
Классический вариант сети Ethernet строго предполагает, что между любой
парой узлов возможен только один путь прохождения сигнала. Это обеспечивается
шинной топологией для коаксиального кабеля и звездообразной или древовидной
топологией для других сред передачи. Мосты и первые коммутаторы не позволяли
нарушать это правило. Если при ошибочной коммутации образовывалась петля, то
домен коллизий, в который она попадала, становился практически неработоспособным. В нем
кадры размножались и бесконечно повторялись, вызывая загрузку сегмента и
массовые коллизии.
Единственность пути делает сеть уязвимой — при нарушении связи в линии узлы,
находящиеся на ее противоположных концах, оказываются изолированными друг от
друга. Кроме того, в коммутируемой сети могут образовываться «узкие» места —
линии, на передачу по которым претендуют участники нескольких доменов коллизий.
В сетях без коммутаторов «узким» местом становилась вся разделяемая среда
передачи. Применение коммутаторов позволяет организовывать магистрали, несущие
основную нагрузку, и разгружать периферийные области сети.
3 Избыточные связи и алгоритм Spanning Tree
Алгоритм STA (Spanning Tree Algorithm — алгоритм покрывающего дерева) и протокол STP (Spanning Tree Protocol) определены стандартом IEEE 802-ld. Этот алгоритм
реализуется в сети, построенной с применением интеллектуальных мостов
(коммутаторов). Идея его заключается в выделении из связного графа сети с
избыточными линиями дерева, соединяющего все узлы и оптимального по определенным
критериям. В нормальном состоянии коммутаторы имеют информацию обо всех
соединениях, но игнорируют резервные линии связи. Если же из-за аварии основной
линии связь теряется, коммутаторы пересчитывают граф, определяя новое дерево, и
связь восстанавливается. Недостатком протокола STP является заметное время, уходящее на пересчет графа при
обнаружении отказа линии. Достоинством является произвольность топологии
избыточных связей, что позволяет дублировать и линии связи, и коммутаторы.
4 Дублирующие линии (Resilient Link, LinkSafe)
Главный недостаток STP — большое время восстановления —
устраняется в фирменных технологиях Resilient Link (3Com), LinkSafe (Bay). Идея заключается в прокладке между двумя коммутаторами
не одной, а двух линий. Пара физических интерфейсов коммутатора,
сконфигурированных на дублирование, рассматривается как один порт. В нормальном
режиме передача данных происходит только по основной линии, а резервная
простаивает. В случае обнаружения отказа основной линии ее интерфейс
отключается, и обмен продолжается по резервной линии. Резервная линия при
исправной основной простаивает, как и при STP. Технологии не являются промышленными стандартами —
совместимость аппаратуры разных производителей не гарантируется.
5
Объединение портов (Port Trunking)
Объединение портов служит двум целям —
повышению надежности и увеличению производительности. Пара магистральных
коммутаторов соединяется несколькими (как правило, до 4) параллельными линиями.
Эти линии подключаются к портам, сконфигурированным на работу «в унисон».
Логически группа этих портов представляется одним портом, производительность
которого равна сумме производительности задействованных линий. При отказе одной
из линий нагрузка распределяется по остальным — производительность падает, но
сеть «живет».
6 Активная полносвязная топология (АМТ)
Фирма Cabletron разработала технологию Secure Fast, которая позволяет использовать активную полносвязную
топологию соединения коммутаторов АМТ (Active Mesh Topology). Пример соединения четырех коммутаторов, иллюстрирующий
возможности полносвязной технологии, приведен на рис. 1.
Здесь между клиентами Л и Л, а также А и
С существуют три возможных пути: 1-2-4, 1-3-4 и 1-2-3-4. Если
производительность каналов, соединяющих коммутаторы, одинакова, то последний
путь явно хуже оптимальных первых двух. Все коммутаторы располагают информацией
о существующих между ними связях, а также об адресах подключенных к ним
клиентов.
Computer В Computer С
Рис. 1. Полносвязная топология
Технология SecureFast реализована в довольно дорогих коммутаторах фирмы Cabletron и, кроме оптимизации загрузки линий и
их резервирования, включает поддержку довольно сложных виртуальных локальных
сетей.
7
Виртуальные локальные сети
Кроме своего основного назначения —
повышения пропускной способности связей в сети, — коммутатор позволяет
локализовать потоки информации в сети, а также контролировать эти потоки и
управлять ими, опираясь на механизм пользовательских фильтров. Однако
пользовательский фильтр может запретить передачи кадров только по конкретным
адресам, а широковещательный трафик он передает всем сегментам сети. Так
требует алгоритм работы моста, который реализован в коммутаторе, поэтому сети,
созданные на основе мостов и коммутаторов, иногда называют плоскими — из-за
отсутствия барьеров на пути широковещательного трафика.
Технология виртуальных локальных сетей (Virtual LAN, VLAN), которая
появилась несколько лет тому назад в коммутаторах, позволяет преодолеть указанное
ограничение. Виртуальной сетью называется группа узлов сети, трафик которой, в
том числе и широковещательный, на канальном уровне полностью изолирован от
других узлов сети (рис. 2). Это означает, что передача кадров между разными
виртуальными сетями на основании адреса канального уровня невозможна,
независимо от типа адреса — уникального, группового или широковещательного. В
то же время внутри виртуальной сети кадры передаются согласно технологии
коммутации, то есть только на тот порт, который связан с адресом назначения
кадра.
Говорят, что виртуальная сеть образует домен
широковещательного трафика (broadcast domain), по аналогии с доменом коллизий, который
образуется повторителями сетей Ethernet.
Назначение технологии виртуальных сетей
состоит в облегчении процесса создания изолированных сетей, которые затем
должны связываться с помощью маршрутизаторов, реализующих какой-либо протокол
сетевого уровня, например IP.
Такое построение сети создает гораздо более мощные барьеры на пути ошибочного
трафика из одной сети в другую. Сегодня считается, что любая крупная сеть
должна включать маршрутизаторы, иначе потоки ошибочных кадров, например
широковещательных, будут периодически затапливать всю сеть через прозрачные для
них коммутаторы, приводя ее в неработоспособное состояние.
Технология виртуальных сетей создает
гибкую основу для построения крупной сети, соединенной маршрутизаторами, так
как коммутаторы позволяют создавать полностью изолированные сегменты
программным путем, не прибегая к физической коммутации.
При использовании технологии виртуальных
сетей в коммутаторах одновременно решаются две задачи:
1) повышение производительности в
каждой из виртуаль
ных сетей, так как коммутатор передает кадры в такой сети толь
ко узлу назначения;
2) изоляция сетей друг от друга для
управления правами доступа пользователей и создания защитных барьеров на пути
широковещательных штормов. Для связи виртуальных сетей в общую сеть
требуется привлечение сетевого уровня. Он может быть реализован
в отдельном маршрутизаторе, а может работать и в составе программного обеспечения
коммутатора, который тогда становится комбинированным устройством — так
называемым коммутатором 3-го уровня.
При создании виртуальных сетей на основе
одного коммутатора обычно используется механизм группирования в сети портов
коммутатора (рис. 2).
Рис. 2.
Виртуальные сети, построенные на одном коммутаторе
Группировка портов для одного
коммутатора — наиболее логичный способ образования VLAN, так как виртуальных сетей, построенных на основе одного
коммутатора, не может быть больше, чем портов. Если к одному порту подключен
сегмент, построенный на основе повторителя, то узлы такого сегмента не имеет
смысла включать в разные виртуальные сети — все равно трафик этих узлов будет
общим.
Второй способ образования виртуальных
сетей основан на группировании МАС-адресов. Каждый МАС-адрес, который изучен
коммутатором, приписывается той или иной виртуальной сети. При существовании в
сети множества узлов этот способ требует выполнения большого количества ручных
операций от администратора, однако он оказывается более гибким при построении
виртуальных сетей на основе нескольких коммутаторов, чем способ группирования
портов.
Switch Switch
Риг. 3.
Построение виртуальных сетей на нескольких коммутаторах с группировкой портов
8 Типовые
схемы применения коммутаторов в локальных сетях
При построении небольших сетей,
составляющих нижний уровень иерархии корпоративной сети, вопрос о применении
того или иного коммуникационного устройства сводится к вопросу о выборе между
концентратором и коммутатором.
При ответе на этот вопрос нужно
принимать во внимание несколько факторов. Безусловно, немаловажное значение
имеет стоимость в пересчете за порт, которую нужно заплатить при выборе
устройства. Из технических соображений в первую очередь нужно принять во
внимание существующее распределение трафика между узлами сети. Кроме того,
нужно учитывать перспективы развития сети: будут ли в скором времени
применяться мультимедийные приложения, будет ли модернизироваться компьютерная
база. Если да, то нужно уже сегодня обеспечить резервы по пропускной
способности применяемого коммуникационного оборудования. Использование технологии
Intranet также ведет к увеличению объемов
трафика, циркулирующего в сети, и это необходимо учитывать при выборе
устройства.
При выборе типа устройства —
концентратор или коммутатор — нужно еще определить и тип протокола, который
будут поддерживать его порты (или протоколов, если речь идет о коммутаторе, так
как каждый порт может поддерживать отдельный протокол).
Сегодня выбор делается между протоколами
трех скоростей — 10, 100 и 1000 Мбит/с. Поэтому, сравнивая применимость
концентратора или коммутатора, необходимо рассмотреть варианты концентратора с
портами на 10, 100 и 1000 Мбит/с, а также несколько вариантов коммутаторов с
различными комбинациями скоростей на портах.
Рассмотрим вопрос о применимости
коммутатора в сети с одним сервером и несколькими рабочими станциями,
взаимодействующими только с сервером (рис. 4). Такая конфигурация сети часто
встречается в сетях масштаба рабочей группы, особенно в сетях NetWare, где стандартные клиентские оболочки не
могут взаимодействовать друг с другом.
Switch
Server
Рис. 4.
Сеть с выделенным сервером
Если коммутатор имеет все порты с
одинаковой пропускной способностью, например 10 Мбит/с, то пропускная
способность порта в 10 Мбит/с будет распределяться между всеми компьютерами
сети.
Чтобы коммутатор работал в сетях с
выделенным сервером более эффективно, производители коммутаторов выпускают
модели с одним высокоскоростным портом на 100 Мбит/с для подключения сервера и
несколькими низкоскоростными портами на 10 Мбит/с для подключения рабочих
станций. В этом случае между рабочими станциями распределяется уже 100 Мбит/с,
что позволяет обслуживать в неблокирующем режиме 10-30 станций, в зависимости
от интенсивности создаваемого ими трафика.
В пользу коммутатора может сыграть и
фактор расстояний — применение коммутаторов не ограничивает максимальный
диаметр сети величинами в 2500 м или 210 м, которые определяют размеры домена
коллизий при использовании концентраторов Ethernet и Fast Ethernet. При всем разнообразии структурных схем сетей, построенных
на коммутаторах, все они используют две базовые структуры — стянутую в точку
магистраль и распределенную магистраль. На основе этих базовых структур затем
строятся разнообразные структуры конкретных сетей.
Стянутая в точку магистраль (collapsed backbone)- это
структура, при которой объединение узлов, сегментов или сетей происходит на
внутренней магистрали коммутатора. Преимуществом такой структуры является
высокая производительность магистрали. На внутренней магистрали коммутатора в
независимом формате одновременно могут передаваться данные различных
протоколов, например, Ethernet, FDDI и Fast Ethernet. Подключение нового узла с новым
протоколом часто требует не замены коммутатора, а просто добавления соответствующего
интерфейсного модуля, поддерживающего этот протокол.
Распределенная магистраль на
коммутаторах- в сетях
больших зданий или кампусов структура со стянутой в точку магистралью не всегда
рациональна или возможна. Такая структура приводит к протяженным кабельным
системам, связывающим конечные узлы или коммутаторы сетей рабочих групп с
центральным коммутатором, шина которого и является магистралью сети. Высокая
плотность кабелей и их высокая стоимость ограничивают применение стянутой в
точку магистрали в таких сетях. Иногда, особенно в сетях кампусов, просто
невозможно стянуть все кабели в одно помещение из-за ограничений на длину
связей, накладываемых технологией.
Поэтому в локальных сетях, покрывающих
большие территории, часто используется другой вариант построения сети — с
распределенной магистралью.
Распределенная магистраль — это
разделяемый сегмент сети, поддерживающий определенный протокол, к которому
присоединяются коммутаторы сетей рабочих групп и отделов. Например,
распределенная магистраль может быть построена на основе двойного кольца FDDI, к которому подключены коммутаторы этажей. Коммутаторы
этажей имеют большое количество портов Ethernet, трафик
которых транслируется в трафик протокола FDDI, когда
он передается по магистрали с этажа на этаж.
|