Cвитч (жарг. от англ. switch — переключатель) — устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного сегмента. В отличие от концентратора, который распространяет трафик от одного подключенного устройства ко всем остальным, коммутатор передаёт данные только непосредственно получателю.
Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.
Коммутатор работает на канальном уровне модели OSI, и потому в общем случае может только объединять узлы одной сети по их MAC-адресам. Для соединения нескольких сетей на основе сетевого уровня служат маршрутизаторы.
Принцип работы коммутатора
Коммутатор хранит в памяти специальную таблицу (MAC-таблицу), в которой указывается соответствие MAC-адреса узла порту коммутатора. При включении switch эта таблица пуста, и он работает в режиме обучения. В этом режиме поступающие на какой-либо порт данные передаются на все остальные порты коммутатора. При этом свитч анализирует пакеты данных, определяя MAC-адрес компьютера-отправителя, и заносит его в таблицу.
Впоследствии, если на один из портов коммутатора поступит пакет, предназначенный для этого компьютера, этот пакет будет отправлен только на соответствующий порт. Если MAC-адрес компьютера-получателя еще не известен, то пакет будет продублирован на все интерфейсы. Со временем коммутатор строит полную таблицу для всех своих портов, и в результате трафик локализуется.
Способы коммутации
Существует три способа коммутации. Каждый из них — это комбинация таких параметров, как время ожидания и надёжность передачи.
С промежуточным хранением (Store and Forward). Коммутатор читает всю информацию во фрейме, проверяет его на отсутствие ошибок, выбирает порт коммутации и после этого посылает в него фрейм.
Сквозной (cut-through). Коммутатор считывает во фрейме только адрес назначения и после выполняет коммутацию. Этот режим уменьшает задержки при передаче, но в нём нет метода обнаружения ошибок.
Бесфрагментный (fragment-free) или гибридный. Этот режим является модификацией сквозного режима. Передача осуществляется после фильтрации фрагментов коллизий (фреймы размером 64 байта обрабатываются по технологии store-and-forward, остальные по технологии cut-through).