Урок 14. Принцип работы коммутатора

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

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

 

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

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

Принцип работы LAN коммутатора

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

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

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

 

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

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

 

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

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

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

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

 

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

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

 

А что это? 

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

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

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

Изображение домена коллизий в LAN сети

Изображение домена коллизий в LAN сети

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

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

 

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

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

 

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

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

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

Изображение широковещательного домена в LAN сети

 

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

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

 

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

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

 

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

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

Изображение широковещательного домена в LAN сети с маршрутизатором

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