Коммутируемые сети – альтернатива отсутствует

За последние 10—15 лет информационная среда, в которой оперируют и бизнес, и индустрия, а также методы обработки информации резко изменились. И, наверное, главными причинами этих изменений послужили возможности, предоставляемые сетевыми технологиями. Они не просто изменили стиль и способы работы, но во многих случаях стали основным инструментом деятельности. По мере развития сетевых технологий все больше и больше производственных и бизнес-функций выполняются с помощью сетей. Документооборот, групповая работа, связь с заказчиками и поставщиками, представление продукции на Web-страницах, финансовые транзакции в реальном режиме времени, data mining и системы принятия решений… — этот перечень можно продолжать и продолжать. Сети помогают компаниям быстрее реагировать на рыночные изменения, оперативно собирать и поставлять необходимую информацию в подразделения. Отказ в корпоративной сети может полностью прекратить деятельность банков, авиалиний, страховых компаний и многих правительственных учреждений.

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

Классические технологии, применявшиеся в локальных сетях, базировались на разделяемой среде передачи. Такие сети вполне справлялись с возложенными на них задачами на начальном периоде своего развития, когда они в основном использовались для разделения дорогостоящих ресурсов (периферия, дисковое пространство). Однако новые сферы применения сразу же обнаружили недостатки подобных сетей. Особенно ярко они проявились в наиболее распространенных сетях Ethernet, на которых мы и сосредоточим внимание. Не уменьшая общности, мы можем остановиться на стандартах 10/100Base-T, поскольку сети, использующие коаксиальный кабель, практически сошли с рынка. Однако, чтобы контрастнее выделить преимущества коммутируемых сетей, небесполезным будет рассмотреть слабости сетей с разделяемой средой передачи, даже понимая, что тем самым мы испытываем терпение читателя.

CSMA/CD:
две стороны медали

Итак, напомним основные особенности технологии Ethernet, связанные с режимом передачи и доступом к физической среде. Можно сказать, что весь смысл технологии Ethernet заключается в протоколе множественного доступа с определением несущей и обнаружением коллизий Carrier Sense Multiple Access/Collision Detection (CSMA/CD). Заметим, что развивавшиеся параллельно с Ethernet технологии Token Ring, FDDI и ARCnet также базировались на разделяемой среде передачи, однако для доступа к ней использовали маркерные методы. Маркер, поочередно переходя от станции к станции, гарантировал ей определенный слот в потоке передаваемых данных.

Подобные методы доступа к среде хорошо себя зарекомендовали в системах, где требуется предсказуемое время реакции. Однако они теряли свою эффективность, если большинство компьютеров в сети "молчали". При использовании метода CSMA/CD все происходило наоборот. Он был чрезвычайно эффективен при малом числе обращений к сети и мог снизить ее пропускную способность чуть ли не втрое, если одновременно работали 40—50 станций. Но совокупность достоинств Ethernet с учетом масштабов сетей и характера приложений на ранних этапах развития сетевых технологий привели к тому, что эта технология практически вытеснила своих конкурентов в локальных сетях.

Протокол CSMA/CD рассчитан на полудуплексный режим передачи (Half Duplex — HD), при котором в каждый данный момент времени станция либо только передает, либо только принимает данные. Кроме этого, лишь одна станция может осуществлять передачу, захватывая полностью канал. Если несколько станций, обнаружив, что канал свободен, начнут одновременно передачу, протокол управления доступом к среде зафиксирует коллизию, пакеты будут отвергнуты, а станции повторят попытку доступа через случайные отрезки времени. Именно описанные выше механизмы и являются причиной острой конкуренции между рабочими станциями за право занять канал. На рис. 1 представлена схема наиболее типичной конфигурации сети 10Base-T с разделяемой средой передачи и полудуплексным режимом обмена. Канал и станции, конкурирующие за доступ к нему, составляют домен коллизий.

Рис. 1

Возможные
сценарии увеличения
производительности сетей

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

Рис. 2

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

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

Особенности функционирования
коммутаторов

Если домен коллизий в сети с разделяемой средой передачи содержит n рабочих станций, то в среднем на каждую из них приходится не более чем 1/n часть полосы пропускания канала. В то же время 2n-портовый коммутатор создает 2n выделенных каналов, оперирующих на максимальной для данной технологии скорости. Таким образом, если в какой-то момент работают все пары портов, суммарная производительность коммутатора увеличивается в n раз, по сравнению с номинальной пропускной способностью сети. Это, конечно, весьма грубая оценка. Эффективность работы коммутатора во многом зависит от его архитектуры.

В современных коммутаторах используются два механизма передачи пакетов между портами. При коммутации с промежуточной буферизацией (Store-and-Forward) коммутатор полностью получает пакет, проверяет его на отсутствие ошибок, считывает МАС-адрес и только после этого направляет пакет в порт-получатель. Его основной недостаток — большое, по сравнению с другими механизмами, время задержки — компенсируется гарантией целостности ретранслируемого пакета. Этот механизм является предпочтительным при передаче пакета от низкоскоростного порта к высокоскоростному — в этом случае пакет перед ретрансляцией должен быть полностью получен. Кроме этого, в сетях с напряженным трафиком выходной порт часто бывает занят, и пакет должен быть буферизирован. При коммутации без буферизации, или сквозной (cut-through), коммутатор не ждет окончания передачи пакета и направляет его в выходной порт, как только считает адрес последнего. Этот метод характеризуется очень малым временем задержки. Существует, правда, еще гибридный механизм, при котором перед ретрансляцией коммутатор считывает первые 64 В пакета. Таким образом, подобный коммутатор является буферизирующим для коротких пакетов и сохраняет основные свойства сквозной коммутации для длинных.

В большинстве случаев используются три типа буферизации.

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

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

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

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

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

Для того чтобы обеспечить возможность объединять сегменты Ethernet и Fast Ethernet в единую сеть, коммутаторы, как правило, оборудуются несколькими (или всеми) портами, поддерживающими оба стандарта. Обычно эти порты наделяются такими функциями, как автоопределение (autosensing) и автосогласование (autonegotiation). Несмотря на кажущуюся схожесть, это, вообще говоря, разные функции. В первом случае принимающий коммутатор настраивает соответствующий порт на скорость работы передающего, ни о чем его "не спрашивая". Во втором — коммутаторы "договариваются" о максимальной скорости передачи, обмениваясь специальными тестовыми пакетами.

Классификация коммутаторов

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

  • коммутаторы для настольных систем (desktop switch). Используются для коммутации рабочих станций внутри сегмента (рис. 3). Обычно это устройства с фиксированной (не модульной) архитектурой. Допускают только один уникальный адрес на порт, предназначенный для прямого подключения компьютера. Основной метод коммутации — cut-through, иногда с поддержкой Store-and-Forward;
    Рис. 3
  • сегментные коммутаторы, или коммутаторы для рабочих групп (workgroup switch). Допускают множественность адресов на порт и предназначены для коммутации сегментов крупной ЛВС (рис. 4). Основной метод коммутации — Store-and-Forward, возможно, с поддержкой cut-through. Обладают развитым набором функций, среди которых удаленное управление и мониторинг работы, создание виртуальных сетей, поддержка протокола связующего дерева (STP) и ряд других; их подробное рассмотрение выходит за рамки данной публикации.
    Рис. 4

Дуплексный режим
в сетях Ethernet

Технология Ethernet и, в частности, метод доступа к среде CSMA/CD предусматривают полудуплексный режим передачи, о котором уже упоминалось выше. Однако использование коммутаторов позволяет создать выделенный канал для соединения типа точка—точка и подключить к порту только одну станцию/сервер. В этом случае конкуренция за доступ к среде отсутствует и, следовательно, отпадает необходимость в протоколе CSMA/CD. Для таких соединений применим дуплексный режим обмена (Full Duplex — FD), при котором по одному логическому каналу одновременно происходят прием и передача. Для приложений с симметричным трафиком такой режим может эффективно обеспечить удвоенную полосу пропускания. Другое преимущество дуплексного режима обмена заключается в снятии ограничений на длину сегмента, связанных с размером минимального кадра. При этом длина канала ограничивается только особенностями физического уровня и может, вообще говоря, достигать 100 км при использовании одномодового оптоволокна (рис. 5). Как правило, современные коммутаторы позволяют настраивать порт на необходимый режим обмена.

Рис. 5

В заключение прокомментируем рис. 6, где представлена гипотетическая сеть масштаба отдела, в которой объединены различные технологии Ethernet. Справа приведены разделяемые сегменты 10 Mbps, связанные с помощью сегментного коммутатора. В свою очередь, сегментный коммутатор соединяется через высокоскоростной порт с коммутатором верхнего уровня Fast Ethernet (100 Mbps). Слева разделяемый сегмент 100 Mbps соединен с коммутатором верхнего уровня и сервером группы. Обе группы и сервер отдела связывает коммутатор Fast Ethernet.

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

Как видно из диаграммы, на рынке Украины представлены коммутаторы всех ведущих мировых производителей. А чтобы придать материалу некоторую конкретность, мы прилагаем таблицу с краткими характеристиками коммутаторов начального уровня (до $700).