База знаний по Open Source
Авторизация
Поиск по базе знаний

С канальным уровнем обычно связаны следующие сетевые соединительные устройства:

  • мосты;
  • коммутаторы;
  • сетевые интерфейсные платы (сетевые интерфейсные карты, адаптеры и т.д.).

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

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

В технологии Ethernet существует такое понятие, как домен коллизий. Домен коллизий – часть сети, все узлы которой распознают коллизии, не зависимо от того, где она возникла. Сеть Ethernet, построенная на повторителях или концентраторах всегда образует один домен коллизий.

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

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

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

Новые высокоскоростные сети 10-GigabitEthernet работают только в полнодуплексном режиме. Большинство коммутаторов могут использовать как полудуплексный, так и полнодуплексный режим.

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

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

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

Для того, чтобы передавать кадры (фреймы), коммутатор использует три базовых механизма:

  1. Flooding — фрейм, полученный на один из портов, передается на остальные порты коммутатора. Коммутатор выполняет эту операцию в двух случаях:при получении широковещательного или multicast (если не настроена поддержка multicast) фрейма, при получении unknown unicast фрейма. Это позволяет коммутатору доставить фрейм хосту (при условии, что хост достижим и существует), даже когда он не знает, где хост находится.
  2. Forwarding — передача фрейма, полученного на одном порту, через другой порт в соответствии с записью в таблице коммутации.
  3. Filtering— если коммутатор получает фрейм через определенный порт, и MAC-адрес получателя доступен через этот же порт (это указано в таблице коммутации), то коммутатор отбрасывает фрейм. То есть, коммутатор считает, что в этом случае хост уже получил этот фрейм, и не дублирует его.

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

Первоначально информация о том, какие МАС-адреса имеют подключенные к конкретному порту интерфейсы, в коммутаторе отсутствует. Поэтому коммутатор, получив кадр, передает его на все свои порты, за исключением того, на который кадр был получен, и одновременно анализирует МАС-адрес источника и запоминает его в адресной таблице.

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

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

При получении кадров с широковещательными адресами (FF:FF:FF:FF:FF:FF) коммутатор передает их на все свои порты. Иногда если какой-либо узел из-за сбоя или злонамеренно начинает генерировать кадры с широковещательными адресами, то сеть очень быстро оказывается перегруженной, наступает широковещательный шторм (broadcast storm) и сеть “падает”. С широковещательным штормом и излишним количеством широковещательных сообщений может бороться только маршрутизатор, который делит сеть на широковещательные домены.

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

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

Самый простой и распространенный типа коммутатора – “неуправляемый” (unmanaged). Неуправляемые коммутаторы реализуют только физическую топологию сети, они могут передавать кадры, но не поддерживают протоколы, которые требуют настройки самого коммутатора, в частности, RSTP и VLAN. Поскольку коммутатор неуправляемый, то и настраивать там нечего, все, что он реализует, работает либо автоматически (например, определение скорости и кроссировки), либо является защитным механизмом (например, защита от широковещательного шторма). Такие коммутаторы обычно устанавливаются для подключения пользователей как наиболее недорогие.

Следующий, уже более “продвинутый”, тип коммутатора – “настраиваемый” (smart). Этот тип может содержать поддержку протоколов логической топологии и некоторых других, таких, как транкование и VLAN, поскольку поддерживает настройку. Он является переходным звеном между неуправляемыми и управляемыми коммутаторами, и обычно применяется там, где функционал неуправляемого недостаточен, а управляемого избыточен.

Самый “умный” тип коммутатора – “управляемый” (manageable). Он уже поддерживает не только настройку “умных” протоколов, но и мониторинг портов, что позволяет, например, снимать статистику по переданному трафику и количеству ошибок для каждого порта. Это самый дорогой тип коммутатора второго уровня, поскольку он же самый функциональный.

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

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

Тип исполнения коммутатора выбирается исходя из текущих потребностей и планов развития. Например, если на данный момент требуется коммутатор с портом Gigabit Ethernet для витой пары, но планируется перевести магистральные каналы на оптику, то стоит покупать гибридный коммутатор с гнездом для модулей GBIC или SFP, что позволит в дальнейшем просто заменить модуль на оптической, но не менять весь коммутатор. Модульные коммутаторы еще более универсальны и применяются обычно в тех местах, где требуются несколько типов портов. Плата за любую универсальность – стоимость, так что выбрать коммутатор нужно, в том числе, и по этому параметру.

Существует технология, которая позволяет подавать питание на небольшие сетевые устройства (такие как точки беспроводного доступа и маршрутизаторы) по той же витой паре, что они подключаются к коммутатору. В некоторых случаях это позволяет установить малогабаритное сетевое оборудование в местах, где это наиболее удобно, но там отсутствует электропроводка. Для подачи питания по витой паре используются либо коммутаторы с поддержкой технологии Power Over Ethernet (PoE), либо многопортовые инжекторы питания для монтажа в стойку, либо индивидуальные инжекторы для включения в разрыв одного кабеля. Неоспоримая польза этой технологии в том, что в случае организации питания PoE-коммутатора от источника бесперебойного питания, в случае падения напряжения питание будет подаваться не только на этот коммутатор, но и на все устройства, подключенные к нему по технологии PoE, что существенно повысит надежность сети на случай проблем с электропитанием.