Коммутация позволяет преодолеть многие ограничения разделяемых сетей Ethernet и Fast Ethernet.


ЧТО ТАКОЕ КОММУТАТОР?
АРХИТЕКТУРА КОММУТАТОРА
ПОЛНОДУПЛЕКСНЫЙ ETHERNET
АВТОМАТИЧЕСКОЕ СОГЛАСОВАНИЕ
ПРЕДОТВРАЩЕНИЕ ПЕРЕГРУЗОК
УПРАВЛЕНИЕ КОММУТАТОРОМ
РАЗНОВИДНОСТИ КОММУТАТОРОВ
ДОСТОИНСТВА КОММУТАЦИИ

Еще в первом номере журнала LAN, в разделе "Первые уроки", мы опубликовали статью С. Штайнке "Ethernet-коммутация" об основах данной технологии и не ошиблись с выбором: за последующие три года коммутация Ethernet стала одной из самых "горячих" технологий. Позднее мы не раз возвращались к этой теме (см., в частности, статью Д. Ганьжи "Коммутаторы в локальных сетях" в апрельском номере LAN за 1997 год). Первая статья появилась в то время, когда Fast Ethernet еще боролась за место под солнцем с 100VG-AnyLAN, и исход борьбы был далеко не ясен, поэтому она была посвящена прежде всего коммутации на 10 Мбит/с. Вторая из названных статей касалась, главным образом, общих аспектов коммутации. Учитывая перечисленные обстоятельства, а также важность коммутации как таковой, мы сочли возможным и даже необходимым вернуться к этой теме еще раз, тем более что цикл статей об Ethernet без ее рассмотрения был бы не полон.

ЧТО ТАКОЕ КОММУТАТОР?

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

Коммутаторы используют концепцию "виртуального соединения" для организации временного соединения между отправителем и получателем. После передачи пакета виртуальное соединение разрывается. Коммутатор ведет таблицу, где запоминает, какие станции (точнее, какие MAC-адреса) подключены к какому физическому порту. На Рисунке 1 абонент с адресом А отправляет пакет получателю с адресом D. По таблице коммутатор определяет, что станция с адресом А подключена к порту 1, а станция с адресом D - к порту 4. На основании этих данных он устанавливает виртуальное соединение для передачи сообщения между портами 1 и 4.

Рисунок 1.
На основании адреса получателя коммутатор определяет, на какой порт передавать поступивший пакет.

В коммутаторе Ethernet передача данных между непересекающимися парами портов может происходить одновременно. Например, узел А может передавать пакет узлу D в то же время, когда узел B отправляет пакет узлу C. Оба диалога ведутся одновременно, поэтому в случае Ethernet совокупная пропускная способность (производительность) коммутатора в нашем примере составляет 20 Мбит/с. Она определяется посредством суммирования доступной для каждого соединения пропускной способности, скажем в случае 12-портового коммутатора Ethernet теоретически она равняется 60 Мбит/с. Для сравнения повторитель Ethernet всегда имеет одну и ту же совокупную пропускную способность в 10 Мбит/с, независимо от числа портов. К тому же реальная пропускная способность концентратора может оказаться намного меньше, когда несколько устройств конкурируют за доступ к среде передачи. Однако и реальная совокупная пропускная способность коммутатора может оказаться ниже теоретически рассчитанной из-за недостатков конструкции коммутатора, например из-за неадекватной пропускной способности внутренней шины. В этом случае говорят, что коммутатор имеет блокирующую архитектуру.

АРХИТЕКТУРА КОММУТАТОРА

Архитектура коммутатора определяется четырьмя основными факторами - типом портов, размерами буфера, механизмом продвижения пакетов и внутренней шиной (см. Рисунок 2).

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

Порты могут иметь скорость 10 и 100 Мбит/с и работать в полудуплексном и полнодуплексном режиме. Многие модели старшего класса могут также содержать порты FDDI, ATM, Gigabit Ethernet и т. п., но здесь этой темы мы касаться не будем, тем более что уже кратко рассматривали ее ранее.

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

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

В третьем случае коммутатор считывает первые 64 байта пакета, прежде чем передавать его дальше. Таким образом, он действует как коммутатор с промежуточной буферизацией по отношению к коротким кадрам и как коммутатор со сквозной коммутацией по отношению к длинным кадрам. Методы продвижения кадров проиллюстрированы на Рисунке 3.

(1x1)

Рисунок 3.
Механизмы продвижения пакетов различаются тем, в какой момент пакет передается дальше.

Архитектура внутренней шины определяет, каким образом кадры передаются с одного порта на другой с помощью внутренней электроники коммутатора. Она имеет решающее значение для эффективности работы коммутатора: производитель может заявить, что внутренняя шина имеет пропускную способность 1-2 Гбит/с, но при этом умолчать, что она достигается лишь при определенном виде трафика. Например, коммутатор с буферами малой емкости может показывать свою максимальную производительность, только если все порты работают на одной и той же скорости, а трафик распределен равномерно между всеми портами.

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

ПОЛНОДУПЛЕКСНЫЙ ETHERNET

Обычный Ethernet (и Fast Ethernet) представляет собой разделяемую среду передачи, а все разделяемые сети являются полудуплексными по определению: в конкретный момент времени только одна станция имеет право осуществлять передачу, а все остальные должны ее слушать. Или, иначе говоря, станция может выполнять прием или передачу, но не обе эти задачи одновременно.

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

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

Таким образом, если два узла подключены напрямую к портам коммутатора, то они могут вести прием и передачу данных одновременно по разным парам, в результате теоретическая пропускная способность такого соединения составляет 20 Мбит/с в случае Ethernet и 200 Мбит/с в случае Fast Ethernet. Кроме того, благодаря отсутствию конкуренции, реальная средняя пропускная способность соединения приближается к номинальной и составляет свыше 80% от вышеприведенных значений.

АВТОМАТИЧЕСКОЕ СОГЛАСОВАНИЕ

Некоторые коммутаторы имеют порты как на 10 Мбит/с, так и на 100 Мбит/с (о том, к каким проблемам это может привести, см. в разделе "Предотвращение перегрузок"). Более того, они способны автоматически определять, на какой скорости работают подключенные к нему станции, концентраторы и т. п. Наконец, если только один узел подключен к порту коммутатора, то обе стороны могут выбрать полнодуплексный режим работы (при условии, что он поддерживается обоими).

Один и тот же стандартный соединитель RJ-45 может передавать сигналы 10BaseT, полнодуплексного 10BaseT, 100BaseTX, полнодуплексного 100BaseTX и 100BaseT4. Поэтому IEEE предложил схему автоматического согласования режима работы под названием nWAY для определения того, по какому стандарту работает устройство на другом конце кабеля. Порядок приоритетов для режимов работы следующий:

  • полнодуплексный 100BaseTX;
  • 100BaseT4;
  • 100BaseTX;
  • полнодуплексный 10BaseT;
  • 10BaseT.

При автосогласовании "договаривающиеся стороны" используют аналог импульсов Link Integrity в 10BaseT под названием Fast Link Pulse. Такие импульсы отправляют оба устройства, и по ним каждое из них определяет, в каком из режимов передачи способна работать другая сторона.

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

ПРЕДОТВРАЩЕНИЕ ПЕРЕГРУЗОК

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

на порядок превосходит возможности порта на 10 Мбит/с, поэтому коммутатор должен сохранять избыточные данные в своих внутренних буферах, если он располагает для этого достаточной памятью. Например, пусть первый порт подключен к серверу с платой на 100 Мбит/с, а второй порт - к клиенту с платой на 10 Мбит/с. Если сервер отправляет клиенту один за другим 16 пакетов подряд, то вместе они составляют в среднем 24 Кбайт данных. Передача кадра размером 1,5 Кбайт занимает 122 мкс в случае Fast Ethernet и 1220 мкс в случае Ethernet. Таким образом, первый порт получит десять кадров, прежде чем один кадр сможет быть отправлен через второй порт, т. е. первый порт должен иметь буфер емкостью не менее 24 Кбайт. Однако если поток достаточно длинный, то никаких буферов не хватит. Один из способов избежать перегрузки состоит в управлении потоками. Концепция управления потоками (или предотвращения перегрузок) предусматривает вызов искусственной коллизии на высокоскоростном порту, в результате которой отправитель приостанавливает на какое-то время передачу данных в соответствии с алгоритмом экспотенциального отката. В нашем примере первый порт определит, что его буфер заполнился, и пошлет сообщение о перегрузке назад отправителю. Последний воспримет данное сообщение как коллизию и приостановит передачу. Коммутатор будет продолжать посылать сообщения о перегрузке, пока буфер не освободится. Такого рода контроль потоков осуществляется только коммутаторами с полудуплексными портами.

УПРАВЛЕНИЕ КОММУТАТОРОМ

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

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

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

Некоторые производители коммутаторов включают в свои модели, как правило, старшего класса базы управляющей информации для удаленного мониторинга (Remote Monitor MIB, RMON) с целью сбора статистики о функционировании каждого порта коммутатора. Но очень часто они включают далеко не все определенные стандартом группы, а, кроме того, поддержка RMON MIB значительно увеличивает стоимость коммутатора.

РАЗНОВИДНОСТИ КОММУТАТОРОВ

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

Отличительной особенностью многих коммутаторов для рабочих групп является небольшое число поддерживаемых каждым портом адресов. Всякий порт действует как мост, поэтому он должен знать, к каким адресам может получить доступ через другие порты. Подобные списки соответствия портов MAC-адресам могут оказаться весьма длинными и занимать значительный объем дорогостоящей памяти. Поэтому коммутаторы для рабочих групп поддерживают обычно не слишком много MAC-адресов. Некоторые из них вообще запоминают только один адрес для каждого порта - в этом случае к порту может быть подключен один и только один узел.

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

ДОСТОИНСТВА КОММУТАЦИИ

Коммутация стала столь популярной технологией потому, что она позволяет увеличить доступную каждому узлу реальную пропускную способность. В результате без изменения базовой технологии и существенной перекройки топологии сети компании смогли расчистить заторы трафика и расширить узкие места. Кроме того, она позволяет увеличить протяженность сети. Особенно это обстоятельство ценно в случае Fast Ethernet - например посредством установки моста (двухпортового коммутатора, с точки зрения некоторых производителей) между двумя концентраторами расстояние между конечными станциями может быть увеличено до 400 м.


Дмитрий Ганьжа - ответственный редактор LAN. С ним можно связаться по адресу: dganzha@osp.ru.