При какой ситуации коммутатор поступающий на какой либо порт кадр передает на все остальные порты

Обновлено: 06.07.2024

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

Как мы уже знаем коммутаторы являются 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).

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

Сетевой коммутатор (англ. switch — переключатель) — устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор работает на канальном (втором) уровне модели OSI. Коммутаторы были разработаны с использованием мостовых технологий и часто рассматриваются как многопортовые мосты. Для соединения нескольких сетей на основе сетевого уровня служат маршрутизаторы (3 уровень OSI).

В отличие от концентратора (1 уровень OSI), который распространяет трафик от одного подключённого устройства ко всем остальным, коммутатор передаёт данные только непосредственно получателю (исключение составляет широковещательный трафик всем узлам сети и трафик для устройств, для которых неизвестен исходящий порт коммутатора). Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.

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

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

Как коммутатор создает таблицу MAC-адресов

Рассмотрим подробнее, как коммутатор заполняет таблицу MAC-адресов. Предположим, у нас есть коммутатор и три подключенных к нему компьютера. Таблица МАС-адресов коммутатора изначально пуста.



В момент получения этого кадра коммутатор узнает MAC-адрес компьютера A. И добавляет эту информацию в свою таблицу MAC-адресов. Но коммутатор пока не знает, где находится компьютер B — поэтому отправляет полученный кадр на все свои порты (кроме того, откуда он поступил):


Компьютер B видит свой MAC-адрес и принимает этот кадр, а вот компьютер C его просто отбросит. Компьютер B отвечает компьютеру A — создает ответный кадр и отправляет его к коммутатору. В этот момент коммутатор узнает MAC-адрес компьютера B.

Для предотвращения коллизий крупные локальные сети делятся на сегменты или домены коллизий , с помощью маршрутизаторов ( routers ) или коммутаторов (switches). Непосредственно к маршрутизатору конечные узлы (компьютеры) обычно не подключаются; подключение обычно выполняется через коммутаторы. Каждый порт коммутатора оснащен процессором, память которого позволяет создавать буфер для хранения поступающих кадров. Общее управление процессорами портов осуществляет системный модуль .

Каждый сегмент, образованный портом (интерфейсом) коммутатора с присоединенным к нему узлом (компьютером) или с концентратором со многими узлами, является доменом (сегментом) коллизий . При возникновении коллизии в сети, реализованной на концентраторе, сигнал коллизии распространяется по всем портам концентратора . Однако на другие порты коммутатора сигнал коллизии не передается.

Существует два режима двусторонней связи: полудуплексный (halfduplex) и полнодуплексный (full- duplex ). В полудуплексном режиме в любой момент времени одна станция может либо вести передачу, либо принимать данные. В полнодуплексном режиме абонент может одновременно принимать и передавать информацию, т. е. обе станции в соединении "точка- точка" могут передавать данные в любое время, независимо от того, передает ли другая станция. Для разделяемой среды полудуплексный режим является обязательным. Ранее создававшиеся сети Ethernet на коаксиальном кабеле были только полудуплексными. Неэкранированная витая пара UTP и оптическое волокно могут использоваться в сетях, работающих в обоих режимах. Новые высокоскоростные сети 10-GigabitEthernet работают только в полнодуплексном режиме. Большинство коммутаторов могут использовать как полудуплексный, так и полнодуплексный режим .

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

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

Коммутатор является устройством второго (канального) уровня семиуровневой модели ISO OSI , в котором для адресации используются МАС-адреса. Адресация происходит на основе МАС-адресов сетевых адаптеров узлов ( рис. 4.3).

Сеть на базе коммутатора

Для передачи кадров применяется алгоритм , определяемый стандартом 802.1D. Реализация алгоритма происходит за счет создания статических или динамических записей адресной таблицы коммутации . Статические записи таблицы создаются администратором. Важно отметить, что коммутатор можно не конфигурировать, он будет работать по умолчанию, создавая записи адресной таблицы в динамическом режиме. При этом в буферной памяти порта запоминаются все поступившие на порт кадры.

Первоначально информация о том, какие МАС-адреса имеют подключенные к конкретному порту узлы, в коммутаторе отсутствует. Поэтому коммутатор , получив кадр , передает его на все свои порты, за исключением того, на который кадр был получен, и одновременно анализирует МАС- адрес источника и запоминает его в адресной таблице. Например, если узел с МАС-адресом 0В1481182001 передает кадр данных узлу 0АА0С9851004 ( рис. 4.3), то в таблице (таблица 4.4) появится первая запись . В этой записи указано, что узел с МАС-адресом 0В1481182001 присоединен к порту № 1. При передаче данных от узла 0АА0С9851004 узлу 0002В318А102 в табл. 4.4 появится вторая запись и т. д. Таким образом, число записей в адресной таблице может быть равно числу узлов в сети, построенной на основе коммутатора.

Когда адресная таблица коммутации сформирована, продвижение кадров с входного интерфейса коммутатора на выходной происходит на основании записей в адресной таблице. При получении кадра коммутатор проверяет, существует ли МАС- адрес узла назначения в таблице коммутации . При обнаружении адресата в таблице коммутатор производит еще одну проверку: находятся ли адресат и источник в одном сегменте. Если они в разных сегментах, то коммутатор производит продвижение ( forwarding ) кадра в порт , к которому подключен узел назначения. Если адресат и источник находятся в одном сегменте, например оба подключены к одному концентратору ( рис. 4.3), то передавать кадр на другой порт не нужно. В этом случае кадр должен быть удален из буфера порта, что называется фильтрацией ( filtering ) кадров.

С появлением в сети новых узлов адресная таблица пополняется. Если в течение определенного времени (обычно 300 с) какой-то узел не передает данные, то считается, что он в сети отсутствует, тогда соответствующая запись из таблицы удаляется. При необходимости администратор может включать в таблицу статические записи, которые не удаляются динамически. Такую запись может удалить только сам администратор . Эти вопросы рассмотрены в лекции 15.

Деление сети на широковещательные домены


Рис. 4.4. Деление сети на широковещательные домены

Быстродействие или производительность коммутатора определяются рядом параметров: скоростью фильтрации кадров, скоростью продвижения кадров, пропускной способностью, длительностью задержки передачи кадра.

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

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

Пропускная способность коммутатора определяется количеством передаваемых данных, содержащихся в поле " Data " кадра в единицу времени. Пропускная способность достигает своего максимального значения при передаче кадров максимальной длины.

Задержка передачи кадров определяется временем от момента появления первого байта кадра на входном порте коммутатора до момента появления этого байта на выходном порте. В зависимости от режима коммутации время задержки составляет от единиц до сотен микросекунд.

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

Коммутаторы могут работать в нескольких режимах, при изменении которых меняются задержка и надежность. Для обеспечения максимального быстродействия коммутатор может начинать передачу кадра сразу, как только получит МАС-адрес узла назначения. Такой режим получил название сквозной коммутации или коммутации "на лету" ( cut -through switching), он обеспечивает наименьшую задержку при прохождении кадров через коммутатор. Однако в этом режиме невозможен контроль ошибок, поскольку поле контрольной суммы находится в конце кадра. Следовательно, этот режим характеризуется низкой надежностью.

Во втором режиме коммутатор получает кадр целиком, помещает его в буфер, проверяет поле контрольной суммы ( FCS ) и затем пересылает адресату. Если получен кадр с ошибками, то он отбрасывается ( discarded ) коммутатором. Поскольку кадр перед отправкой адресату назначения запоминается в буферной памяти, такой режим коммутации получил название коммутации с промежуточным хранением или буферизацией ( store -and- forward switching). Таким образом, в этом режиме обеспечивается высокая надежность, но низкая скорость коммутации .

Промежуточное положение между сквозной коммутацией "на лету" и буферизацией занимает режим коммутации свободного фрагмента ( fragment - free mode). В этом режиме читаются первые 64 байта, которые включают заголовок кадра и поле данных минимальной длины. После этого начинается передача кадра до того, как будет получен и прочитан весь кадр целиком. При этом производится верификация адресации и информации LLC -протокола, чтобы убедиться, что данные будут правильно обработаны и доставлены адресату.

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

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

Протокол охватывающего дерева (Spanning-Tree Protocol)

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

Образование маршрутных петель в сетях на коммутаторах


Рис. 4.5. Образование маршрутных петель в сетях на коммутаторах

Протокол охватывающего дерева (Spanning-Tree Protocol – STP) относится к протоколам, которые используются, чтобы избежать маршрутных (коммутационных) петель. Коммутаторы применяют алгоритм STA , чтобы перевести в резервное состояние избыточные пути, которые не соответствуют иерархической топологии. Запасные избыточные пути задействуются, если основные выходят из строя.

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

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

Каждый порт коммутатора, который использует STP , находится в одном из следующих 5 состояний:

  • Блокировка (Blocking);
  • Прослушивание ( Listening );
  • Обучение ( Learning );
  • Продвижение ( Forwarding );
  • Выключен ( Disabled ).

При инициализации коммутатора все порты, за исключением находящихся в выключенном состоянии ( Disabled ), переводятся в состояние блокировки (Blocking). В этом состоянии порты передают, принимают и обрабатывают уведомления STP , т. е. участвуют в процессе управления , но не передают информационные данные.

В начальный момент работы алгоритма STA порты устанавливаются в состояние прослушивания ( Listening ) на время, определяемое таймером. Если за время работы таймера порт получит уведомление STP с лучшей метрикой , чем у него, то он перейдет в состояние блокировки (Blocking). Если принятая метрика хуже его собственной, порт перейдет в состояние обучения ( Learning ), чтобы принимать, но еще не продвигать пакеты данных и создавать адресную таблицу коммутации . Длительность состояния Learning также задается таймером.

После окончания заданного таймером времени порт переходит в состояние продвижения ( Forwarding ), т. е. начинает полноценную обработку пакетов.

Переход порта в состояние выключения ( Disabled ) и выход из него может быть реализован только по командам конфигурирования.

Существенным недостатком протокола STP является слишком долгое время формирования новой конфигурации сети, которое может составлять значение порядка 1 мин.

Сетевой коммутатор(свитч) (network switch, switching hub, bridging hub) — устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. В отличие от концентратора, который распространяет трафик от одного подключенного устройства ко всем остальным, коммутатор передаёт данные только непосредственно получателю, исключение составляет широковещательный трафик (на MAC -адрес-адрес FF:FF:FF:FF:FF:FF) всем узлам сети. Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.


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

Какие коммутаторы бывают?

Коммутаторы бывают неуправляемые (unmanaged switch) и управляемые (managed switch).

Неуправляемые коммутаторы - это простые автономные устройства, которые управляют передачей данных самостоятельно и не имеющие инструментов ручного управления. Такие коммутаторы получили наибольшее распространение в "домашних" ЛВС и малых предприятиях, основным плюсом которых можно назвать низкую цену и автономную работу, без вмешательства человека. Минусами у неуправляемых коммутаторов является отсутствие инструментов управления и малая внутренняя производительность. Поэтому в больших сетях предприятий неуправляемые коммутаторы использовать не разумно, так как администрирование такой сети требует огромных человеческих усилий и накладывает ряд существенных ограничений. Управляемые коммутаторы - это более продвинутые устройства, которые также работают в автоматическом режиме, но помимо этого имеют ручное управление. Ручное управление позволяет очень гибко настроить работу коммутатора и облегчить жизнь системного администратора. Основным минусом управляемых коммутаторов является цена, которая зависит от возможностей самого коммутатора и его производительности.

Абсолютно все коммутаторы можно разделить по уровням. Чем выше уровень, тем сложней устройство, а значит и дороже. Уровень коммутатора определяется слоем на котором он работает по сетевой модели OSI.

Коммутатор 2 уровня (Layer 2). Сюда относятся все устройства, которые работают на 2 уровне сетевой модели OSI - канальном уровне (Что такое Ethernet)). Умеют анализировать получаемые кадры и работать с MAC -адрес-адресами устройств отправителей и получателей кадра. Такие коммутаторы не понимают IP-адреса компьютеров, для них все устройства имеют названия в виде MAC-адресов. IEEE 802.1p или приоритизация (Priority tags). IEEE 802.1q или виртуальные сети (Настройка VLAN Debian D-Link). IEEE 802.1d Spanning Tree Protocol (STP). Коммутатор 3 уровня (Layer 3). Сюда относятся все устройства, которые работают на 3 уровне сетевой модели OSI - сетевом уровне. Умеет управлять сетевыми протоколами: IPv4, IPv6, IPX, IPSec — протокол защиты сетевого трафика на IP-уровне и т.д. Коммутаторы 3 уровня целесообразнее отнести уже не к разряду коммутаторов, а к разряду маршрутизаторов, так как эти устройства уже полноценно могут маршрутизировать, проходящий трафик, между разными сетями. Коммутаторы 3 уровня полностью поддерживают все функции и стандарты коммутаторов 2 уровня. С сетевыми устройствами могут работать по IP-адресам. Коммутатор 3 уровня поддерживает установку различных соединений: PPTP, Как работает PPPoE, vpn и т.д. Коммутатор 4 уровня (Layer 4). Сюда относятся все устройства, которые работают на 4 уровне сетевой модели OSI - транспортном уровне. К таким устройствам относятся более продвинутые маршрутизаторы, которые умеют работать уже с приложениями. Коммутаторы 4 уровня используют информацию, которая содержится в заголовках пакетов и относится к уровню 3 и 4 стека протоколов, такую как IP-адреса источника и приемника, биты SYN/FIN, отмечающие начало и конец прикладных сеансов, а также номера портов TCP/UDP для идентификации принадлежности трафика к различным приложениям. На основании этой информации, коммутаторы уровня 4 могут принимать интеллектуальные решения о перенаправлении трафика того или иного сеанса.

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

Когда нужно выбирать неуправляемый коммутатор? Если вам необходимо:

Просто раздать интернет на несколько устройств (5-8 штук); Объем трафика, который будут потреблять подключаемые девайсы - небольшой; Вам не нужна возможность дополнительных ручных настроек, как-то: фильтрация трафика, ограничение скорости на отдельных портах и т.д.

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

Читайте также: