Сегодня мы поговорим о том, как все же работает коммутатор.

Как мы уже знаем коммутаторы являются L2 устройствами, так как работают на канальном уровне. Они обрабатывают заголовок Ethernet кадра, а точнее MAC адреса получателя и отправителя, а также контрольную сумму.

Каждый коммутатор составляет таблицу MAC адресов (CAM table) всех хостов, подключенных в его порты.

 

Каким же образом он составляет эту таблицу?

При включении питания коммутатора его таблица пуста.

Далее начинается процесс обучения, который представлен ниже:

работы сетевого коммутатора Ethernet

При поступлении каждого кадра на вход коммутатора, МАС адрес отправителя вносится в таблицу МАС адресов с указанием интерфейса, принявшего данный кадр.

Далее анализируется МАС адрес получателя. Если его нет в таблице, то коммутатор ретранслирует принятые кадры на все порты, кроме принявшего.

Если же МАС адрес получателя найден в таблице, то кадр направляется указанному в таблице интерфейсу.

Таблица адресов динамическая и сохраняется только  в оперативной памяти, то есть при отключении питания таблица удаляется.

Все МАС адреса хранятся в таблице ограниченное время (aging-time), которое в некоторых коммутаторах можно изменить.

 

Почему нельзя сохранять адреса вечно?

Дело в том, что может понадобиться реконфигурация сети и некоторые хосты могут быть отключены от портов коммутатора, поэтому таблица адресов уже будет неактуальна, что приведет к неправильному функционированию сети.

 

Режимы коммутации

Коммутаторы могут работать в одном из 3-х режимов:

  • С промежуточным хранением (Store and forward). Коммутатор принимает кадр, затем проверяет на наличие ошибок. Если кадр не содержит ошибок, то коммутатор пересылает его получателю.
  • Сквозной (Cut-through). Коммутатор считывает МАС адрес получателя и сразу пересылает его получателю. Проверка на ошибки в данном режиме отсутствует.
  • Бесфрагментный (Fragment-free). Принимаются первые 64 байта, которые анализируются на наличие ошибок и коллизий, а затем кадр пересылается получателю.

 

В целом процесс коммутации происходит довольно быстро.

А с чем это связано?

Во-первых, сам процесс происходит на втором уровне (канальный уровень), что снижает время на обработку данных. Во-вторых, коммутация происходит не программно, а аппаратно. То есть для этого используются специализированные чипы ASIC.

А что это?

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

 

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

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

домен коллизий   домен коллизий

Как видно из рисунка в сети с концентратором в определенный момент времени может вести передачу только один компьютер. В то время как остальные ждут, когда он закончит. Такой режим связи называется полудуплексным (half duplex).

Ситуация усугубляется, когда в сети растет количество компьютеров, так как времени на передачу для каждого компьютера выделяется все меньше и меньше.

То есть, чем больше компьютеров и концентраторов, тем хуже?

Верно. Пропускная способность такой сети (домена коллизий) значительно снижается.

А как называется подключение с коммутатором?

Так как  в коммутаторе коллизии в принципе исключены, то каждый его порт считается доменом коллизий. То есть в принципе, к порту можно подключить несколько хостов посредством концентратора, но пропускная способность при этом изменится только в рамках конкретного порта, к которому подключен концентратор. В сети с коммутаторами все хосты могут принимать и передавать данные одновременно, не мешая друг другу. Такой режим связи называется дуплексным (full duplex).

Сама же сеть, в которой присутствуют только коммутаторы называется широковещательным доменом, так как коммутаторы обрабатывают и пропускают широковещательный (broadcast) трафик.

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

Что такое широковещательный (broadcast) трафик?

Это когда в качестве получателя указывается адрес, говорящий, что данный пакет/кадр предназначен всем хостам.

 

Как выглядит такой адрес?

В МАС адресе устанавливаются все единицы, то есть FF.FF.FF.FF.FF.

 

Как называется обычный трафик, когда в качестве получателя указывается конкретный получатель?

Такой трафик называется одноадресатный (unicast).

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

Маршрутизаторы широковещательный трафик не пропускают, поэтому каждый порт маршрутизатора образует широковещательный домен.