Логика работы Свича (switch) или коммутатора:
- Получаем фрейм, узнаем Ethernet-адрес места назначения. Отправьем фрейм на один порт- и только на тот порт, через который он может достигнуть указанного адреса (используя таблицу коммутации);
- Если сразу несколько фреймов должны быть отправлены на один и тот же порт, посылаем один фрейм и буферизируем остальные, посылая их, когда порт становиться доступным (используя буфер);
Чтобы принят решение об пересылке (forwarding decision), коммутатор использует таблицу коммутации, в которой MAC-адреса сети и соответствующий порт.
Буферы (buffers) представляют собой микросхемы памяти в коммутаторе, которые используются для временного хранения нескольких фреймов.
Буферизируя фреймы, свичи не создают коллизий.
Способность посылать и одновременно получать данные называется полный дуплекс (full duplex). Наложенное логикой CSMA/CD ограничение, позволяющее одновременно или только передавать данные, или только получать их, называют полудуплекс (half duple).
Процесс обучения (learning) свича – процесс составления таблицы адресов:
- Когда ПК1 посылает фрейм, в Ethernet заголовке фрейма обязательно содежрится MAC-адрес отправителя (в поле адрес отправителя). Поэтому коммутатор полагает, что MAC-адрес ПК1 связан с портом, через который коммутатор получил фрейм, например E0. Коммутатор просто добавляет запись в таблицу MAC-адресов и связывает порт с этим MAC-адресом;
- Когда ПК2 посылает фрейм, коммутатор изучает MAC-адрес ПК2, для этого он «смотрит» на адрес отправителя фрейма, который послал ПК2. Коммутатор связывает этот MAC-адрес с портом (скажем Е1), потому что это – порт, через который был получен фрейм.
Лавинная адресация (flooding) – когда свич получает фрейм, адрес назначения которого не содержится в таблице MAC-адресов, коммутатор пересылает этот фрейм на все порты кроме того, через который фрейм был получен. Ответит на него тот, кому он предназначен, и после этого в таблицу адресов коммутатора вноситься запись с MAC-адресом этого ПК.
Ethernet определят специальный MAC-адрес, называемый широковещательным адресом (broadcast address) – FF-FF-FF-FF-FF-FF. Когда компьютер посылает фрейм с адресом получателя FF-FF-FF-FF-FF-FF, это означает, что фрейм должен быть отправлен всем устройствам локальной сети.
Алгоритм работы свича:
- Свичи решают, куда переслать фрейм, сравнивая адрес получателя фрейма с записями в таблице MAC-адресов;
- Свичи делают записи в таблице MAC-адресов на основании MAC-адресов отправителей фреймов, которые они получают;
- Решение о пересылке в зависимости от решения о фильтрации просто означает, что коммутатор пересылает фрейм только на необходимые порты (пересылка) и не пересылает фрейм (фильтрация) на другие порты;
- Свич осуществляет лавинную адресацию фреймов, которые были посланы неизвестному ему одноадресному получателю; неизвестные одноадресные получатели – это те, адреса которых коммутатор еще не добавил в свою таблицу MAC-адресов;
- Свич осуществляет лавинную адресацию фреймов, посланных по широковещательному адресу;
- Свичи препятствуют возникновению коллизий, буферизируя фреймы вместо того, чтобы пытаться посылать много фреймов через одну и ту же витую пару в одно и то же время.
Механизм автоматического согласования (autonegotiation) позволяет коммутатору и плате интерфейса сети на другом конце кабеля автоматически согласовывать скорость (10/100/1К Мбит/с).
Широковещательный домен (broadcast domain) – представляет собой группу устройств, которые характеризются тем что широковещательный фрейм, посланный одним устройством, будет получен всеми устройствами группы.