Как работает сетевой коммутатор
14.12.2019
Теги: ЛокальнаяСеть • Таблица
Сетевой коммутатор (англ. switch — переключатель) — устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор работает на канальном (втором) уровне модели OSI. Коммутаторы были разработаны с использованием мостовых технологий и часто рассматриваются как многопортовые мосты. Для соединения нескольких сетей на основе сетевого уровня служат маршрутизаторы (3 уровень OSI).
В отличие от концентратора (1 уровень OSI), который распространяет трафик от одного подключённого устройства ко всем остальным, коммутатор передаёт данные только непосредственно получателю (исключение составляет широковещательный трафик всем узлам сети и трафик для устройств, для которых неизвестен исходящий порт коммутатора). Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.
Коммутатор хранит в памяти таблицу коммутации, в которой указывается соответствие MAC-адреса узла порту коммутатора. При включении коммутатора эта таблица пуста, и он работает в режиме обучения. В этом режиме поступающие на какой-либо порт данные передаются на все остальные порты коммутатора. При этом коммутатор анализирует фреймы (кадры) и, определив MAC-адрес хоста-отправителя, заносит его в таблицу на некоторое время.
Впоследствии, если на один из портов коммутатора поступит кадр, предназначенный для хоста, MAC-адрес которого уже есть в таблице, то этот кадр будет передан только через порт, указанный в таблице. Если MAC-адрес хоста-получателя не ассоциирован с каким-либо портом коммутатора, то кадр будет отправлен на все порты, за исключением того порта, с которого он был получен. Со временем коммутатор строит таблицу для всех активных MAC-адресов, в результате трафик локализуется.
Как коммутатор создает таблицу MAC-адресов
Рассмотрим подробнее, как коммутатор заполняет таблицу MAC-адресов. Предположим, у нас есть коммутатор и три подключенных к нему компьютера. Таблица МАС-адресов коммутатора изначально пуста.
Теперь предположим, что компьютер А собирается отправить данные на компьютер В. И создает кадр, который содержит MAC-адрес источника (AAA) и MAC-адрес получателя (BBB):
В момент получения этого кадра коммутатор узнает MAC-адрес компьютера A. И добавляет эту информацию в свою таблицу MAC-адресов. Но коммутатор пока не знает, где находится компьютер B — поэтому отправляет полученный кадр на все свои порты (кроме того, откуда он поступил):
Компьютер B видит свой MAC-адрес и принимает этот кадр, а вот компьютер C его просто отбросит. Компьютер B отвечает компьютеру A — создает ответный кадр и отправляет его к коммутатору. В этот момент коммутатор узнает MAC-адрес компьютера B.
Поиск: Локальная сеть • Таблица коммутации • MAC адрес • Коммутатор • Switch • Ethernet