Курс по сетевым технологиям
A A A

 

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

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

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

 

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

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

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




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

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

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

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

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

 

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

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

 

 

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

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

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

 

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

 

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

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

 

А что это? 

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



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

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


      

 

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

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

 

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

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

 

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

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

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






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

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

 

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

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

 

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

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




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