Коммутация (компьютерные сети). Виды коммутаторов

Nokia 01.08.2019
Nokia

Казалось бы, что может быть легче, чем объединение компьютеров в информационных сетях? Но не всё так просто: для их работоспособности необходимо, чтобы функционировало достаточно много аппаратуры. Она весьма разнообразна. В данной статье будут рассмотрены представители второго уровня. Итак, что такое коммутатор? Зачем он необходим и как функционирует?

Для чего он необходим? Коммутатор сети - это устройство, которое используется, чтобы соединять несколько узлов компьютерной сети. Он работает на канальном уровне. Технология коммутаторов была разработана с использованием мостового принципа. Особенностью данного прибора является то, что он направляет данные исключительно получателю. Это позитивно сказывается на производительности сети и её безопасности, ведь в таком случае данные не могут попасть не в те руки.

Сколько же стоит коммутатор? Цена на самый дешевый составляет 800 рублей, самый дорогой - 24000.

Принцип работы

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

Режимы коммутации

Что такое коммутатор, вам уже известно. Но работают ли они по одному принципу или существует несколько подходов их реализации? Ясное дело, что такой сложный механизм может иметь несколько особенных режимов своей работы. Всего их существует три. Каждый из них является комбинацией двух параметров: надёжность передачи данных и время ожидания.

  1. С промежуточным хранением. Прибор читает всю информацию, которая есть в пакете. Затем она проверяется на отсутствие ошибок, выбирается порт коммутации, и только после этого осуществляется пересылка данных.
  2. Сквозной. Коммутатор читает только адрес, куда необходимо отправить данные, и после этого сразу же коммутирует их. Это очень быстрый режим передачи, но существенным недостатком является то, что может быть отправлен пакет, в котором есть ошибки.
  3. Гибридный. В этом режиме анализируются только первые 64 байта пакета данных на наличие ошибок. Если они здесь отсутствуют, то данные отправляются.

Асимметрическая и симметрическая коммутация

Что такое коммутатор, и какой функционал он исполняет, вы уже знаете. Давайте поговорим про передачу данных. Симметрия при коммутации необходима, чтобы дать характеристику самому прибору с точки зрения полосы пропуска, её возможностей для каждого порта устройства. Он позволяет обеспечить одинаковую ширину, когда все порты могут передавать 100 Мб/с или 10 Мб/с.

Асимметричный коммутатор может обеспечить соединение, если у портов различная пропускная способность. Так он спокойно обработает данные, которые идут со скоростью 10, 100 и 1000 Мб/с. Асимметричную коммутацию можно использовать при наличии больших потоков сетевых данных, которые устроены по принципу «клиент-сервер». Чтобы направлять данные с порта, на котором существенно крупнее массив информации, на меньший, используют буфер памяти. Он необходим для того, чтобы не возникало опасности переполнения, и, соответственно, потери данных. Также асимметричные коммутаторы необходимы для поддержания работоспособности вертикальных кросс-соединений и каналов между отдельными сегментами магистралей.

Заключение

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

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

При работе с таким коммутатором стоит учитывать, что возможны кратковременные задержки при использовании пейджеров голосовой связи (Skype, Vo-IP) и невозможность распределения ширины канала интернета. Т. е., при включении программы Torrent на одном из компьютеров в сети - она будет потреблять почти всю ширину канала, а остальные компьютеры в сети - пользоваться остатками пропускной способности.

Управляемый коммутатор - это лучшее решение для построение сети в офисах и компьютерных клубах. Данный вид продается в стандартной комплектации и стандартными настройками.

Для настройки такого коммутатора придется попотеть - большое количество настроек может вскружить голову, но при правильном подходе принести замечательные результаты. Главная особенность - распределение ширины канала и настройка пропускной способности каждого порта. Возьмем в пример канал интернета 50 Mbps/s, 5 компьютеров в сети, IP-TV приставку и ATC. Мы можем поступить несколькими вариантами, но рассмотрю я всего один.

Далее - только Ваша фантазия и нестандартное мышление. В общей сложности мы имеем относительно большой канал. Почему относительно? Эту информацию Вы узнаете далее, если внимательно вникнете в суть. Забыл уточнить - я собираю сеть для малого офиса. IP-TV используется для телевизора в комнате ожидания, компьютеры - для работы с электронной почтой, передачей документов, просмотров сайтов, ATC - для подключения стационарных телефонов к основной линии для приема звонков с Skype, QIP, сотовых телефонов и пр.

Управляемый коммутатор представляет собой модификацию обычного, неуправляемого коммутатора.

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

В практическом плане отличия управляемых коммутаторов от неуправляемых заключаются, во-первых, в списке поддерживаемых стандартов - если обычный, неуправляемый коммутатор поддерживает только стандарт Ethernet (IEEE 802.3) в различных его разновидностях, то управляемые коммутаторы поддерживают гораздо более широкий список стандартов: 802.1Q.802.1X, 802.1AE, 802.3ad (802.1AX) и так далее, которые требуют настройки и управления.

Есть еще один вид - SMART-коммутаторы.

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

Что бы не смущать и не вводить потребителей в заблуждение, первые модели выпускались с обозначением intelligent или web-managed.

Эти устройства по значительно меньшей цене предлагали базовую функциональность управляемых коммутаторов - организация VLAN, административное включение и отключение портов, фильтрация по MAC-адресу или ограничение скорости. Традиционно, единственным способом управления являлся web-интерфейс, так что за смарт-коммутаторами прочно закрепилось название web-eуправляемых.

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

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

Со временем коммутатор строит полную таблицу для всех своих портов, и в результате трафик локализуется.

Стоит отметить малую латентность (задержку) и высокую скорость пересылки на каждом порту интерфейса.

Способы коммутации в коммутаторе.

Существует три способа коммутации. Каждый из них - это комбинация таких параметров, как время ожидания «принятием коммутатором решения» (латентность) и надёжность передачи.

С промежуточным хранением (Store and Forward).

«Напролет» (cut-through).

«Бесфрагментный» (fragment-free) или гибридный.

С промежуточным хранением (Store and Forward). Коммутатор читает всю поступившую информацию в кадре, проверяет его на отсутствие ошибок, выбирает порт коммутации и после этого посылает в него проверенный кадр.

«Напролет» (cut-through). Коммутатор считывает в кадре только адрес назначения и после выполняет коммутацию. Этот режим уменьшает задержки при передаче, но в нём нет метода обнаружения ошибок.

«Бесфрагментный» (fragment-free) или гибридный. Этот режим является модификацией режима «Напролет». Передача осуществляется после фильтрации фрагментов коллизий (кадры размером 64 байта обрабатываются по технологии store-and-forward, остальные по технологии cut-through). Задержка, связанная с «принятием коммутатором решения», добавляется к времени, которое требуется кадру для входа на порт коммутатора и выхода с него, и вместе с ним определяет общую задержку коммутатора.

Характеристики производительности коммутаторов.

Основными характеристиками коммутатора, измеряющими его производительность, являются:

  • - скорость фильтрации (filtering);
  • - скорость маршрутизации (forwarding);
  • - пропускная способность (throughput);
  • - задержка передачи кадра.

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

  • - размер буфера (буферов) кадров;
  • - производительность внутренней шины;
  • - производительность процессора или процессоров;
  • - размер внутренней адресной таблицы.

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

Скорость фильтрации определяет скорость, с которой коммутатор выполняет следующие этапы обработки кадров:

  • - прием кадра в свой буфер;
  • - уничтожение кадра, так как его порт назначения совпадает с портом-источником.

Скорость продвижения определяет скорость, с которой коммутатор выполняет следующие этапы обработки кадров:

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

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

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

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

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

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

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

Так как коммутатор работает на канальном уровне, то для него пользовательскими данными являются те данные, которые переносятся в поле данных кадров протоколов канального уровня - Ethernet, Token Ring, FDDI и т. п.

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

Зависимость пропускной способности коммутатора от размера передаваемых кадров хорошо иллюстрирует пример протокола Ethernet, для которого при передаче кадров минимальной длины достигается скорость передачи в 14880 кадров в секунду и пропускная способность 5.48 Мб/с, а при передаче кадров максимальной длины - скорость передачи в 812 кадров в секунду и пропускная способность 9.74 Мб/c.

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

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

Задержка складывается из времени, затрачиваемого на буферизацию байт кадра, а также времени, затрачиваемого на обработку кадра коммутатором - просмотр адресной таблицы, принятие решения о фильтрации или продвижении и получения доступа к среде выходного порта. Величина вносимой коммутатором задержки зависит от режима его работы. Если коммутация осуществляется "на лету", то задержки обычно невелики и составляют от 10 мкс до 40 мкс, а при полной буферизации кадров - от 50 мкс до 200 мкс (для кадров минимальной длины). Коммутатор - это многопортовое устройство, поэтому для него принято все приведенные выше характеристики (кроме задержки передачи кадра) давать в двух вариантах:

  • - первый вариант - суммарная производительность коммутатора при одновременной передаче трафика по всем его портам;
  • - второй вариант - производительность, приведенная в расчете на один порт.

Так как при одновременной передаче трафика несколькими портами существует огромное количество вариантов трафика, отличающегося размерами кадров в потоке, распределением средней интенсивности потоков кадров между портами назначения, коэффициентами вариации интенсивности потоков кадров и т. д., и т. п.

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

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

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

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

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

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

Экземпляры адресной таблицы разных процессорных модулей не обязательно содержат одну и ту же адресную информацию - скорее всего повторяющихся адресов будет не так много, если только распределение трафика каждого порта не полностью равновероятное между остальными портами. Каждый порт хранит только те наборы адресов, которыми он пользуется в последнее время. Значение максимального числа МАС-адресов, которое может запомнить процессор порта, зависит от области применения коммутатора. Коммутаторы рабочих групп обычно поддерживают всего несколько адресов на порт, так как они предназначены для образования микросегментов. Коммутаторы отделов должны поддерживать несколько сотен адресов, а коммутаторы магистралей сетей - до нескольких тысяч, обычно 4000 - 8000 адресов. Недостаточная емкость адресной таблицы может служить причиной замедления работы коммутатора и засорения сети избыточным трафиком. Если адресная таблица процессора порта полностью заполнена, а он встречает новый адрес источника в поступившем пакете, то он должен вытеснить из таблицы какой-либо старый адрес и поместить на его место новый. Эта операция сама по себе отнимет у процессора часть времени, но главные потери производительности будут наблюдаться при поступлении кадра с адресом назначения, который пришлось удалить из адресной таблицы.

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

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

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

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

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

Технология коммутации сегментов Ethernet была предложена фирмой Kalpana в 1990 году в ответ на растущие потребности в повышении пропускной способности связей высокопроизводительных серверов с сегментами рабочих станций.

Структурная схема коммутатора EtherSwitch, предложенного фирмой Kalpana, представлена на рис.2.18.

Рис. 2.18.Структура коммутатора EtherSwitch компании Kalpona

Каждый из 8 портов 10Base-T обслуживается одним процессором пакетов Ether­net - ЕРР (Ethernet Packet Processor). Кроме того, коммутатор имеет системный модуль, который координирует работу всех процессоров ЕРР. Системный модуль ведет общую адресную таблицу коммутатора и обеспечивает управление коммута­тором по протоколу SNMP. Для передачи кадров между портами используется коммутационная матрица, подобная тем, которые работают в телефонных комму­таторах или мультипроцессорных компьютерах, соединяя несколько процессоров с несколькими модулями памяти.

Коммутационная матрица работает по принципу коммутации каналов. Для 8 пор­тов матрица может обеспечить 8 одновременных внутренних каналов при полу­дуплексном режиме работы портов и 16 - при полнодуплексном, когда передатчик и приемник каждого порта работают независимо друг от друга.

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

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

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


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

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

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

Описанный способ передачи кадра без его полной буферизации получил назва­ние коммутации «на лету» («on-the-fly») или «напролет» («cut-through»). Этот способ представляет, по сути, конвейерную обработку кадра, когда частично со­вмещаются во времени несколько этапов его передачи.

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

2. Поиск адреса назначения в адресной таблице коммутатора (в кэше процессора или в общей таблице системного модуля).

3. Коммутация матрицы.

4. Прием остальных байт кадра процессором входного порта.

5. Прием байт кадра (включая первые) процессором выходного порта через ком­мутационную матрицу.

6. Получение доступа к среде процессором выходного порта.

7. Передача байт кадра процессором выходного порта в сеть.

Этапы 2 и 3 совместить во времени нельзя, так как без знания номера выходно­го порта операция коммутации матрицы не имеет смысла.

Однако главной причиной повышения производительности сети при использо­вании коммутатора является параллельная обработка нескольких кадров.

Этот эффект иллюстрирует рис.2.19. На рисунке изображена идеальная в отно­шении повышения производительности ситуация, когда четыре порта из восьми передают данные с максимальной для протокола Ethernet скоростью 10 Мб/с, при­чем они передают эти данные на остальные четыре порта коммутатора не конфлик­туя - потоки данных между узлами сети распределились так, что для каждого принимающего кадры порта есть свой выходной порт. Если коммутатор успевает обрабатывать входной трафик даже при максимальной интенсивности поступления кадров на входные порты, то общая производительность коммутатора в приведен­ном примере составит 4x10 = 40 Мбит/с, а" при обобщении примера для N портов - (N/2)xl0 Мбит/с.

Рис.2.19.Параллельная передача кадров коммутатором

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

Так как коммутаторы и мосты прозрачны для протоколов сетевого уровня, то их появление в сети не оказало никакого влияния на маршрутизаторы сети, если они там имелись.

Конструктивное исполнение коммутаторов

В конструктивном отношении коммутаторы делятся на следующие типы:

Ø автономные коммутаторы с фиксированным количеством портов;

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

Ø коммутаторы с фиксированным количеством портов, собираемые в стек.

Первый тип коммутаторов обычно предназначен для организации небольших рабочих групп.

Модульные коммутаторы на основе шасси чаще всего предназначены для применения на магистрали сети. Поэтому они выполняются на основе какой-либо комбинированной схемы, в которой взаимодействие модулей организуется по быстродействующей шине или же на основе быстрой разделяемой памяти большого объема. Модули такого коммутатора выполняются на основе технологии «hot swap», то есть опускают замену на ходу, без выключения коммутатора, так как центральное коммуникационное устройство сети не должно иметь перерывов в работе. Шасси обычно снабжается резервированными источниками, питания и резервированными вентиляторами в тех же целях.

С технической точки зрения определенный интерес представляют стековые коммутаторы. Эти устройства представляют собой коммутаторы, которые могут работатъ автономно, так как выполнены в отдельном корпусе, но имеют специальные интерфейсы, которые позволяют их объединять в общую систему, работающую как единый коммутатор. Говорят, что в этом случае отдельные коммутаторы образуют стек. Структура стека коммутаторов, соединяемых по скоростным специальным пор­там, показана на рис.2.20.

Рис.2.20.Стек коммутаторов, объединяемых по высокоскоростным каналам

Технология коммутации сегментов Ethernetбыла предложена фирмойKalpanaв 1990 году в ответ на растущие потребности в повышении пропускной способности связей высокопроизводительных серверов с сегментами рабочих станций.

Структурная схема коммутатора EtherSwitch, предложенного фирмойKalpana, представлена на рис. 12.6.

Рис.12. 6 Пример структуры коммутатора

Каждый из 8 портов 10Base-Tобслуживается одним процессором пакетовEthernet- ЕРР (EthernetPacketProcessor). Кроме того, коммутатор имеет системный модуль, который координирует работу всех процессоров ЕРР. Системный модуль ведет общую адресную таблицу коммутатора и обеспечивает управление коммутатором по протоколуSNMP. Для передачи кадров между портами используется коммутационная матрица, подобная тем, которые работают в телефонных коммутаторах или мультипроцессорных компьютерах, соединяя несколько процессоров с несколькими модулями памяти.

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

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

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

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

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

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

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

Рис.12. 7 Передача кадра через коммутационную матрицу

Описанный способ передачи кадра без его полной буферизации получил название коммутации «на лету» («on-the-fly») или «напролет» («cut-through»).Этот способ представляет, по сути, конвейерную обработку кадра, когда частично совмещаются во времени несколько этапов его передачи (рис. 12.8).

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

Поиск адреса назначения в адресной таблице коммутатора (в кэше процессора или в общей таблице системного модуля).

Коммутация матрицы.

Прием остальных байт кадра процессором входного порта.

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

Получение доступа к среде процессором выходного порта.

Передача байт кадра процессором выходного порта в сеть.

Этапы 2 и 3 совместить во времени нельзя, так как без знания номера выходного порта операция коммутации матрицы не имеет смысла.

П

Рис.12. 8 Экономия времени при конвейерной обработке кадра: а - конвейерная обработка; б - обычная обработка с полной буферизацией


о сравнению с режимом полной буферизации кадра, также приведенном на рис. 12.8, экономия от конвейеризации получается ощутимой.

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

Так как главное достоинство коммутатора, благодаря которому он завоевал очень хорошие позиции в локальных сетях, это его высокая производительность, то разработчики коммутаторов стараются выпускать так называемые неблокирующие ( non - blocking ) модели коммутаторов .

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

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

,

где
- производительность коммутатора,
- максимальная производитель­ность протокола, поддерживаемого i-м портом коммутатора.

Суммарная произво­дительность портов учитывает каждый проходящий кадр дважды - как входящий кадр и как выходящий, а так как в устойчивом режиме входной трафик равен выходному, то минимально достаточная производительность коммутатора для под­держки неблокирующего режима равна половине суммарной производительности портов. Если порт работает в полудуплексном режиме, напримерEthernet10 Мбит/с, то производительность порта
равна 10 Мбит/с, а если в полнодуплексном, то его
будет составлять 20 Мбит/с.

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

Так как коммутаторы и мосты прозрачны для протоколов сетевого уровня, то их появление в сети не оказало никакого влияния на маршрутизаторы сети, если они там имелись.

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



Рекомендуем почитать

Наверх