Сетевой коммутатор (жарг. свитч, свич от англ. switch «переключатель») — устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор работает на канальном (втором) уровне сетевой модели OSI. Коммутаторы были разработаны с использованием мостовых технологий и часто рассматриваются как многопортовые мосты. Для соединения нескольких сетей на основе сетевого уровня служат маршрутизаторы (3 уровень OSI).
В отличие от концентратора (1 уровень OSI), который распространяет трафик от одного подключённого устройства ко всем остальным, коммутатор передаёт данные только непосредственно получателю (исключение составляет широковещательный трафик всем узлам сети и трафик для устройств, для которых неизвестен исходящий порт коммутатора). Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.
Далее в этой статье рассматриваются исключительно коммутаторы для технологии Ethernet.
Принцип работы коммутатора
Коммутатор хранит в памяти (т. н. ассоциативной памяти) таблицу коммутации, в которой указывается соответствие узла порту. При включении коммутатора эта таблица пуста, и он работает в режиме обучения. В этом режиме поступающие на какой-либо порт данные передаются на все остальные порты коммутатора. При этом коммутатор анализирует фреймы (кадры) и, определив MAC-адрес хоста-отправителя, заносит его в таблицу на некоторое время.
Впоследствии, если на один из портов коммутатора поступит кадр, предназначенный для хоста, MAC-адрес которого уже есть в таблице, то этот кадр будет передан только через порт, указанный в таблице. Если же MAC-адрес хоста-получателя не ассоциирован с каким-либо портом коммутатора, то кадр будет отправлен на все порты, за исключением того порта, с которого он был получен. Со временем коммутатор строит таблицу для всех активных MAC-адресов, в результате трафик локализуется.
Стоит отметить малую задержку и высокую скорость пересылки на каждом порту интерфейса.
Режимы коммутации
Существует три способа коммутации, у которых различаются задержка и надёжность передачи:
- С промежуточным хранением (store and forward). Коммутатор читает весь кадр, проверяет его на отсутствие ошибок, выбирает порт коммутации и посылает в него весь кадр.
- Сквозной (cut-through). Коммутатор считывает из кадра только адрес назначения и после посылает весь кадр в соответствующий порт, не проверяя на ошибки. Так как нет необходимости хранить в памяти весь кадр для проверки, коммутатор может послать начало кадра, не получив его конца, так что задержка ниже.
- Бесфрагментный (fragment-free) или гибридный . Этот режим является модификацией сквозного режима, который частично решает проблему коллизий. Повреждённые коллизией кадры часто короче минимально допустимого размера, равного 64 байтам, поэтому в этом режиме коммутатор отбрасывает кадры длиной меньше 64 байт, а все остальные после прочтения первых 64 байт передаёт дальше в сквозном режиме[источник не указан 1309 дней].
Задержка, связанная с «принятием коммутатором решения», добавляется к времени, которое требуется кадру для входа на порт коммутатора и выхода с него, и вместе с ним определяет общую задержку коммутатора.
Симметричная и асимметричная коммутация
Свойство симметрии при коммутации позволяет дать характеристику коммутатора с точки зрения ширины полосы пропускания для каждого его порта. Симметричный коммутатор обеспечивает коммутируемые соединения между портами с одинаковой шириной полосы пропускания, например, когда все порты имеют ширину пропускания 10 Мбит/с или 100 Мбит/с.
Асимметричный коммутатор обеспечивает коммутируемые соединения между портами с различной шириной полосы пропускания, например, в случаях комбинации портов с шириной полосы пропускания 10 Мбит/с или 100 Мбит/с и 1000 Мбит/с.
Асимметричная коммутация используется в случае наличия больших сетевых потоков типа клиент-сервер, когда многочисленные пользователи обмениваются информацией с сервером одновременно, что требует большей ширины пропускания для того порта коммутатора, к которому подсоединён сервер, с целью предотвращения переполнения на этом порте. Для того, чтобы направить поток данных с порта 100 Мбит/с на порт 10 Мбит/с без опасности переполнения на последнем, асимметричный коммутатор должен иметь буфер памяти[источник не указан 2496 дней].
Асимметричный коммутатор также необходим для обеспечения большей ширины полосы пропускания каналов между коммутаторами, осуществляемых через вертикальные кросс-соединения, или каналов между сегментами магистрали.
Буфер памяти
В результате коммутации могут одновременно возникнуть два кадра, предназначенные одному порту. Однако, их невозможно отправить через него одновременно, поэтому все поступающие кадры хранятся до отправки в специальной области памяти коммутатора —так называемом буфере.
Есть два способа организации буфера: буферизация по портам и буферизация с общей памятью. При буферизации по портам кадры хранятся в очередях (queue), которые связаны с отдельными входными портами. Пакет передаётся на выходной порт только тогда, когда все кадры, находившиеся впереди него в очереди, были успешно переданы. При этом возможна ситуация, когда один кадр задерживает всю очередь из-за занятости порта его пункта назначения. Эта задержка может происходить даже в том случае, когда остальные кадры могут быть переданы на открытые порты своих пунктов назначения.
При буферизации в общей памяти все кадры хранятся в общем буфере, который используется всеми портами коммутатора, каждому из которых память выделяется по требованию. Такой метод называется динамическим распределением буферной памяти. После этого кадры, находившиеся в буфере, распределяются по выходным портам. Это позволяет получить кадр на одном порте и отправить его с другого порта, не устанавливая его в очередь.
Коммутатор поддерживает карту портов, в которые требуется отправить кадры. Очистка этой карты происходит только после того, как кадр успешно отправлен.
Поскольку память буфера является общей, размер кадра ограничивается всем размером буфера, а не долей, предназначенной для конкретного порта. Это означает, что крупные кадры могут быть переданы с меньшими потерями, что особенно важно при асимметричной коммутации, то есть, когда порт с шириной полосы пропускания 100 Мбит/с должен отправлять пакеты на порт 10 Мбит/с.
Возможности и разновидности коммутаторов
Коммутаторы подразделяются на управляемые и неуправляемые (наиболее простые).
Более сложные коммутаторы позволяют управлять коммутацией на сетевом (третьем) уровне модели OSI. Обычно их именуют соответственно, например «Layer 3 Switch» или сокращенно «L3 Switch». Управление коммутатором может осуществляться посредством Web-интерфейса, интерфейса командной строки (CLI), протокола SNMP, RMON и т. п.
Многие управляемые коммутаторы позволяют настраивать дополнительные функции: VLAN, QoS, агрегирование, зеркалирование. Многие коммутаторы уровня доступа обладают такими расширенными возможностями, как сегментация трафика между портами, контроль трафика на предмет штормов, обнаружение петель, ограничение количества изучаемых MAC-адресов, ограничение входящей/исходящей скорости на портах, функции списков доступа и т. п.
Сложные коммутаторы можно объединять в одно логическое устройство — стек — с целью увеличения числа портов. Например, можно объединить 4 коммутатора с 24 портами и получить логический коммутатор с 90 ((4*24)-6=90) портами либо с 96 портами (если для стекирования используются специальные порты).
Литература
- Дэвид Хьюкаби, Стив Мак-Квери. Руководство Cisco по конфигурированию коммутаторов Catalyst = Cisco Field Manual: Catalyst Switch Configuration. — М.: «Вильямс», 2004. — С. 560. — ISBN 5-8459-0700-4.
- Брайан Хилл. Глава 9. Основные сведения о коммутаторах // Полный справочник по Cisco = Cisco: The Complete Reference. — «Вильямс», 2002. — С. 1088. — ISBN 0-07-219280-1.
- А. А. Шимбирёв, Тетеревлева Ев. К., Тетеревлева Ек. К. — Курс лекций «Компьютерные сети» — МПТ РГТЭУ, 2013
Ссылки
- Understanding the different types of Ethernet Switches — Cisco Blogs
- 4.1.1.4 Повторители, мосты, мультиплексоры, переключатели и маршрутизаторы — Семенов Ю. А. (ИТЭФ-МФТИ)
Обычно почти сразу, изредка в течении часа.