Найти в Дзене
Орчанин

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

Рассмотрим сценарий, при котором хост 1(комп 1) отправляет сетевой пакет хосту 2(комп 2). Работа коммутатора в этом случае выглядит следующим образом. В момент включения коммутатора его таблица коммутации (таблица MAC-адресов) пуста — устройство не знает, какие устройства к нему подключены и через какие порты. Когда коммутатор получает первый Ethernet-кадр от хоста 1, он анализирует заголовок пакета и фиксирует в своей таблице два ключевых параметра: В результате таблица коммутации пополняется первой записью: Далее коммутатор извлекает из пакета MAC-адрес получателя — 00:00:00:00:00:02 — и пытается найти его в своей таблице. В данном случае такой адрес отсутствует, так как хост 2 ещё не отправлял ни одного пакета. Поскольку местоположение получателя неизвестно, коммутатор действует по принципу широковещательной передачи : он пересылает пакет на все активные порты, кроме того, через который пакет был получен (в данном случае — порт 1). То есть кадр будет отправлен на порт 2 и порт 3 . Т
Оглавление

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

Простейший коммутатор
Простейший коммутатор

1. Инициализация: пустая таблица коммутации

В момент включения коммутатора его таблица коммутации (таблица MAC-адресов) пуста — устройство не знает, какие устройства к нему подключены и через какие порты.

2. Обучение: заполнение таблицы

Когда коммутатор получает первый Ethernet-кадр от хоста 1, он анализирует заголовок пакета и фиксирует в своей таблице два ключевых параметра:

  • MAC-адрес отправителя — 00:00:00:00:00:01
  • Номер порта, через который пришёл пакет — порт 1

В результате таблица коммутации пополняется первой записью:

Таблица 1. Начальное состояние таблицы коммутации
Таблица 1. Начальное состояние таблицы коммутации

3. Поиск получателя и передача данных

Далее коммутатор извлекает из пакета MAC-адрес получателя — 00:00:00:00:00:02 — и пытается найти его в своей таблице. В данном случае такой адрес отсутствует, так как хост 2 ещё не отправлял ни одного пакета.

Поскольку местоположение получателя неизвестно, коммутатор действует по принципу широковещательной передачи : он пересылает пакет на все активные порты, кроме того, через который пакет был получен (в данном случае — порт 1). То есть кадр будет отправлен на порт 2 и порт 3 .

Таким образом, хост 2 получит пакет, даже если его адрес ещё не известен коммутатору.

4. Дальнейшее обучение: добавление новой записи

Теперь предположим, что хост 2 отвечает хосту 1. При получении кадра от хоста 2 коммутатор снова анализирует MAC-адрес отправителя и порт приёма:

  • MAC-адрес: 00:00:00:00:00:02
  • Порт: 2

Эта информация добавляется в таблицу:

Таблица 2. Таблица коммутации после второго шага
Таблица 2. Таблица коммутации после второго шага

5. Точная доставка пакетов

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

6. Расширение логики: взаимодействие с новыми узлами

Если хост 1 захочет отправить пакет хосту 3, у которого MAC-адрес 00:00:00:00:00:03, коммутатор проверит свою таблицу. Поскольку запись о таком адресе отсутствует, пакет будет ретранслирован на все порты, кроме входного (порт 1), то есть на порт 2 и порт 3.

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

Вывод

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