Принцип работы коммутатора второго уровня (модель OSI)
Работа коммутатора второго уровня осуществляется на втором (канальном) уровне, задача свича – объединить несколько узлов, входящих в одну сеть, по их МАС. Специальная МАС-таблица, которая хранится в памяти свича, содержит данные, указывающие на соответствие МАС узлов и портов коммутатора.
Типы адресов:
- Известный unicast. Адреса этого типа также называют известными (индивидуальными). Коммутатор после получения фреймов, «изучает» их заголовки и Destination address, затем сверяется с МАС таблицей. При обнаружении адреса в своей МАС-таблице (напомним, что к МАС-адресу уже привязан определенный порт) коммутатор перенаправляет фреймы к соответствующим портам.
- Неизвестный unicast. По аналогии с описанным выше: коммутатор сверяет mac-адрес полученного фрейма, но не обнаруживает такой адрес в своей таблице. В таком случае происходит перенаправление фрейма ко всем портам – кроме того порта, с которого поступил этот фрейм.
- Широковещательному фрейму Ethernet соответствует МАС с символами FFFF FFFF FFFF в 16-ой системе, адрес в двоичной системе состоит из единиц. С широковещательными фреймами коммутатор осуществляет те же процессы, что и в случае с неизвестным unicast.
- Адрес мультикастового типа. Работа коммутатора не отличается от процессов при получении широковещательного фрейма, однако в данном случае есть возможность создания некоторых групп для рассылки.
Для сравнения, концентратор (hub) не «заглядывает» в названия заголовков канального уровня. Работа концентраторов ведется на уровне обработки электрических сигналов.
МАС-таблица коммутатора
Для вывода МАС-таблицы коммутатора (к примеру – raisecom) вводим show mac-address-table. После ввода команды увидим:
В выводе интерес представляют три поля:
- 1. Mac Address – с типами адресов мы уже ознакомились;
- 2. Port – это поле содержит указание номера порта, к которому привязано устройство с обнаруженным МАС-address;
- Type – тип записи МАС-address.
Различают динамические и статические адреса. Соответственно, в таблице будет указан один из двух типов (Type):
- Dynamic – адрес динамического типа присваивается портам в автоматическом режиме после того, как фрейм получен и обработан. Спустя определенный период времени (time out) МАС-адрес будет удален.
- Static – таблица статического типа. Благодаря такой настройке коммутатора осуществляется привязка порта к конкретному МАС, других МАС не будет. Следовательно, не будет и удаления адреса порта из таблицы.
Режимы работы коммутатора второго уровня
- Store-and-forward. На коммутаторе второго уровня каждый фрейм поступает полностью (группа байтов). Коммутатор проводит пересчет FCS и сверяет сумму с данными байтового поля фрейма. При совпадении сумм коммутатор осуществляет Forward – форвардирует пакет в соответствии с МАС-таблицей. В противном случае (суммы не совпадают) происходит Drop полученного пакета.
- Cut-through. Режим работы, при котором Destination Address (заголовок) просматривается коммутатором сразу, без завершения процесса получения фрейма. На основании полученной информации пакет форвардится в соответствии с МАС-таблицей. Это повышает скорость и помогает снизить задержку передачи. FCS не пересчитывается, поэтому возможна коммутация даже «битых» фреймов.
- Fragment-free. Особый режим работы, схожий с предыдущим. Однако есть отличие: коммутатор производит обработку первых 64 байтов полученного фрейма. Пакет форвардится почти с такой же скоростью, как в режиме Cut-through, однако ошибочные фреймы отсеиваются.