Опубликован: 03.10.2011 | Доступ: свободный | Студентов: 7673 / 2573 | Оценка: 4.48 / 4.40 | Длительность: 18:03:00
Лекция 4:

Канальный уровень

< Лекция 3 || Лекция 4: 12 || Лекция 5 >

4.3. Коммутаторы в локальных сетях

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

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

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

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

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

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

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

Рис. 4.3. Сеть на базе коммутатора

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

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

Таблица 4.4. Адресная таблица коммутации
№ записи МАС-адрес № порта
1 0В1481182001 1
2 0АА0С9851004 n
3
4

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

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

При получении кадров с широковещательными адресами коммутатор передает их на все свои порты. В ряде случаев такой режим удобен. Таким образом, коммутатор не фильтрует кадры с широковещательными адресами. Поэтому если какой-либо узел из-за сбоя начинает ошибочно генерировать кадры с широковещательными адресами, то сеть очень быстро оказывается перегруженной, наступает широковещательный шторм (broadcast storm) и сеть "падает". Этим же пользуются злоумышленники, желающие нарушить нормальное функционирование сети. Они "наводняют" сеть широковещательными сообщениями с ложными адресами источника, адресная таблица коммутации переполняется и коммутатор начинает работать как концентратор. При этом злоумышленник получает возможность анализировать всю информацию, передаваемую по локальной сети. С широковещательным штормом может бороться только маршрутизатор ( рис. 4.4), который делит сеть на широковещательные домены.

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

Рис. 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 мин.

Краткие итоги

  1. Канальный уровень (Data Link) обеспечивает обмен данными через общую локальную среду. Он разделен на два подуровня (LLC и МАС).
  2. Подуровень LLC реализует связь с протоколами сетевого уровня.
  3. Формат кадра протокола LLC является общим для всех технологий канального уровня.
  4. Подуровень МАС определяет особенности доступа к физической среде при использовании различных технологий локальных сетей.
  5. Каждой технологии МАС-уровня соответствует несколько вариантов (спецификаций) протоколов физического уровня, которые определяют скорость передачи, вид среды.
  6. На МАС-подуровне современных сетей используется ряд технологий: Ethernet, Fast Ethernet, Gigabit Ethernet и 10Gigabit Ethernet.
  7. В локальных сетях адресация узлов производится на основе МАС-адресов, содержащих 48 двоичных разрядов. МАС-адреса представлены в шестнадцатеричной системе.
  8. В сетях технологии Ethernet, построенных на основе логической топологии "общая шина", разделяемая среда передачи данных является общей для всех пользователей. При этом реализуется метод множественного доступа к среде с распознаванием несущей и фиксацией коллизий (CSMA/CD).
  9. Для предотвращения коллизий современные локальные сети строятся на базе коммутаторов, которые делят сеть на сегменты коллизий.
  10. Продвижение кадров с входного интерфейса коммутатора на выходной происходит на основании записей в адресной таблице коммутации.
  11. Различные режимы коммутации позволяют изменять производительность коммутатора.
  12. Протокол охватывающего дерева (STP) используется, чтобы избегать маршрутных (коммутационных) петель.

Вопросы

  1. Какие функции выполняет верхний подуровень канального уровня?
  2. Какие функции выполняет нижний подуровень канального уровня?
  3. Что определяют спецификации технологии МАС-уровня?
  4. Сколько двоичных разрядов содержит МАС-адрес и в какой системе он представлен?
  5. Каким типом адреса является FFFFFFFFFFFF?
  6. Какой метод доступа к среде отображается аббревиатурой CSMA/CD?
  7. Что такое коллизия?
  8. Какое устройство ограничивает коллизию пределами одного сегмента?
  9. Что такое микросегмент?
  10. На базе каких адресов происходит адресация узлов в локальных сетях?
  11. Чем различаются продвижение и фильтрация кадров?
  12. Какое устройство делит сеть на широковещательные домены?
  13. Какими параметрами определяется производительность коммутатора?
  14. Чем отличается сквозная коммутация, или коммутация "на лету", от коммутации с промежуточным хранением или буферизацией?
  15. Для чего используется протокол охватывающего дерева STP?

Упражнения

  1. Перечислите спецификации технологий Ethernet, Fast Ethernet.Приведите их основные характеристики.
  2. Изобразите формат кадра LLC.
  3. Изобразите формат кадра МАС.
  4. Укажите размер и назначение полей кадра стандарта 802.3.
  5. Объясните, почему задается минимальная длина поля данных.
  6. Изобразите схему локальной сети на коммутаторе с пятью конечными узлами, укажите номера портов и МАС-адреса узлов. Создайте таблицу коммутации для случая, когда все узлы активно обмениваются данными.
< Лекция 3 || Лекция 4: 12 || Лекция 5 >
Александр Хованский
Александр Хованский
в курсе построение сетей на базе коммутаторов и маршрутизаторов некорректно задан вопрос. звучит так сколько портов сконфинурировать в VLAN0 для управления коммутатором. (поменяйте например на VLAN1 или VLAN управления ) 0-го VLAN не может быть