Вот мы и добрались до одного из первых интересных устройств. Коммутатор – одно из ключевых устройств каждой сети.

Рисунок 3.2 Принцип работы коммутатора
Рисунок 3.2 Принцип работы коммутатора

 

Прежде чем переходить к подробному разбору работы коммутатора, поясним некоторые элементы рисунка 3.2. 03FA – MAC-адрес записан не полностью для экономии места, Fa0/1 – номер порта (отверстие, в которое вставляется провод), Fa – FastEthernet, означает что максимальная скорость передачи данных на этом интерфейсе 100 Мб/с, 0/1 – порядковый номер порта.

Рассмотрим пример на рисунке 3.2 пошагово

Шаг 1. ПК1 формирует фрейм, предназначенный ПК3, указывая свой MAC-адрес в качестве отправителя (адрес отправителя 03FA, source 03FA) и MAC-адрес ПК3 в качестве получателя (адрес получателя 05FE, destination 05FE, допустим, что ПК1 уже знал MAC-адрес ПК3).

Рисунок 3.3 Фрейм от ПК1 к ПК3
Рисунок 3.3 Фрейм от ПК1 к ПК3

 

Шаг 2. Коммутатор (далее Switch) принимает фрейм, смотрит на адрес отправителя (source 03FA) и ищет его в своей таблице коммутации (таблице MAC-адресов). Если такой адрес отсутствует, добавляет в таблицу (Fa0/1 | 03FA). Такая запись будет означать для него, что такой-то MAC-адрес сидит на таком-то порте и, если фрейм будет предназначен для этого МАС-адреса (МАС-адрес получателя совпадет со строчкой в таблице коммутации), то он отправит его на этот порт. Т.е. в самом начале switch изучает сеть, заполняет таблицу коммутации MAC-адресами и портами. После того, как он разобрался с адресом отправителя, он смотрит на адрес получателя (destination 05FE), в нашем случае его еще нет в таблице коммутации, тогда логика switch – отправить на все порты, кроме того порта, от которого данный фрейм пришел.

Шаг 3. Начнем с ПК2, который тоже примет фрейм, но сразу же его отбросит, т.к. адрес получателя не его адрес. ПК3 примет фрейм и обработает его (передаст на уровень выше). Допустим ПК3 формирует ответ, указывая свой MAC-адрес в качестве отправителя (05FE) и MAC-адрес ПК1 в качестве получателя (03FA)

Рисунок 3.4 Фрейм от ПК3 к ПК1
Рисунок 3.4 Фрейм от ПК3 к ПК1

 

Шаг 4. По аналогии с шагом 2, первым делом switch смотрит на MAC-адрес отправителя и, если его нет в таблице МАС-адресов, добавляет (в нашем случае добавляет), в противном случае обновит таймер, по истечении заданного промежутка времени строчка с этим адресом будет удалена. Далее switch смотрит на МАС-адрес получателя, в нашем примере он находит его в своей таблице коммутации, и, значит, передаст фрейм напрямую через порт fa0/1.

Итоги нашего примера


Switch (коммутатор) после включения начинает изучать сеть, он узнает, на каком порту находится тот или иной MAC адрес. Switch смотрит на MAC адрес источника полученного фрейма и добавляет его в свою таблицу коммутации, если такого нет (очень важная информация!). Далее switch смотрит на адрес получателя и ищет его в своей таблице, если не находит, то рассылает на все порты кроме того, от которого тот был получен.

Главное – не только понимать, как это работает, но еще уметь представлять, как ходит фрейм по сети, поэтому ниже представлена “гифка”, которая визуализирует выше описанный пример (рисунок 3.4). В “гифке” показано, когда и как заполняется таблица коммутации. В конце коричневый фрейм (для автора это коричневый) идет прямиком от ПК1 до ПК3. Это говорит о том, что таблица коммутации заполнена, и коммутатор знает, на какие порты отправлять этот фрейм.

Рисунок 3.5 Заполнение таблицы коммутации
Рисунок 3.5 Заполнение таблицы коммутации

 

Широковещательный фрейм


Широковещательный фрейм (broadcast frame) – фрейм, где адресом получателя (destination) является широковещательный адрес (broadcast) – FFFF.FFFF.FFFF. Также у switch есть стандартное поведение при получении широковещательного фрейма – рассылает его на все порты, кроме того откуда он пришел (очень важная информация!).

Преимущество Switch над Hub:

  1. Возможность передавать и принимать фреймы одновременно (это и есть full-duplex).
  2. Избавление от коллизий (при условии full-duplex).
  3. Возможность передавать несколько потоков фреймов за счет буферизации (временного хранения в памяти).
  4. Switch может понимать фреймы, а, значит, может передавать их на требуемые порты (за счет таблицы коммутации, таблицы MAC-адресов).



ID: 80 Created: Oct 19, 2016 Modified Feb 27, 2017