Техническая реализация коммутаторов | «« Назад | Оглавление |
Вперед »»
2. Техническая реализация
коммутаторов.
Коммутатор (switch — переключатель) — устройство,
предназначенное для соединения нескольких узлов компьютерной сети в пределах
одного или нескольких сегментов сети (логически или физически обособленная
часть сети).
В отличие от концентратора, который
распространяет трафик от одного подключенного устройства ко всем остальным,
коммутатор передаёт данные только непосредственно получателю, исключение
составляет широковещательный трафик (на MAC-адрес FF:FF:FF:FF:FF:FF) всем узлам
сети. Это повышает производительность и безопасность сети, избавляя остальные
сегменты сети от необходимости (и возможности) обрабатывать данные, которые им
не предназначались.
Коммутатор работает на канальном (2)
уровне модели OSI и потому в общем случае может только объединять узлы одной
сети по их MAC-адресам. Коммутаторы были разработаны с использованием мостовых
технологий и часто рассматриваются как многопортовые мосты. Для соединения
нескольких сетей на основе сетевого уровня служат маршрутизаторы. Коммутаторы
локальных сетей обрабатывают кадры на основе алгоритма прозрачного моста
(transparent bridge) IEEE 802.1, который применяется в основном в сетях
Ethernet. При включении питания коммутатор начинает изучать расположение
рабочих станций всех присоединенных к нему сетей путем анализа МАС-адресов
источников входящих кадров. Например, если на порт 1 коммутатора поступает кадр
от узла 1, то он запоминает номер порта, на который этот кадр пришел и
добавляет эту информацию в таблицу коммутации (forwarding database). Адреса
изучаются динамически. Это означает, что, как только будет прочитан новый
адрес, то он сразу будет занесен в контентно-адресуемую память
(content-addressable memory, CAM). Каждый раз, при занесении адреса в таблицу
коммутации, ему присваивается временной штамп. Это позволяет хранить адреса в
таблице в течение определенного времени. Каждый раз, когда идет обращение по
этому адресу, он получает новый временной штамп. Адреса, по которым не
обращались долгое время, из таблицы удаляются, так как скорость выборки
нужного адреса напрямую зависит от размера САМ таблицы.
Рисунок 2.1.
Построение таблицы коммутации.
Коммутатор
использует таблицу коммутации для пересылки трафика. Когда на один из его
портов поступает пакет данных, он извлекает из него информацию о МАС-адресе
приемника и ищет этот МАС-адрес в своей таблице коммутации. Если в таблице есть
запись, ассоциирующая МАС-адрес приемника с одним из портов коммутатора, за
исключением того, на который поступил кадр, то кадр пересылается через этот
порт. Если такой ассоциации нет, кадр передается через все порты, за
исключением того, на который он поступил. Это называется лавинной
маршрутизацией (flooding). Широковещательная и многоадресная рассылка
выполняется также путем лавинной маршрутизации. С этим связана одна из проблем,
ограничивающая применение коммутаторов. Наличие коммутаторов в сети не
препятствует распространению широковещательных кадров (broadcast) по всем
сегментам сети, сохраняя ее прозрачность. В случае если в результате каких-либо
программных или аппаратных сбоев протокол верхнего уровня или сам сетевой
адаптер начнет работать не правильно, и будет постоянно генерировать
широковещательные кадры, коммутатор в этом случае будет передавать кадры во все
сегменты, затапливая сеть ошибочным трафиком. Такая ситуация называется
широковещательным штормом (broadcast storm).
Общий принцип работы коммутаторов остается
неизменным. Все узлы оказываются соединенными "отдельными" каналами с
полной полосой пропускания (если нет одновременного обращения нескольких
устройств к одному), и могут работать не подозревая о существовании друг друга.
Соответственно, базовые свойства (и
ограничения) Ethernet (как разделяемой среды передачи данных) не применимы к
сети, построенной с использованием коммутаторов. Коллизии отсутствуют, нет
физического обоснования понятия максимальной длины линии, и максимального
количества подключенных устройств.
Например, реально могут использоваться
оптоволоконные линии, передающие кадры Ethernet на сотни километров, а
локальные сети могут объединять сотни рабочих станций или серверов.
Техническая основа работы коммутатора
достаточно проста, и может быть выражена одним длинным предложением. Кадр,
которые попадает на его вход (source port), направляется не на все активные
порты (как это делает концентратор), а только на тот, к которому подключено
устройство с МАС-адресом, совпадающим с адресом назначения кадра (destination
port).
Однако такой упрощенный алгоритм жестко (без
изменений) действует только в неуправляемых коммутаторах (Dumb). Это недорогие,
простые устройства, которые успешно вытеснили хабы из ниши простейших сетей.
Как правило они имеют небольшое количество портов, "офисное" исполнение,
и не высокие технические характеристики. Возможность управления администратором
отсутствует.
Следующей ступенью развития стали
настраиваемые коммутаторы (Smart). В них, используя порт RS-232, обычный
Ethernet, или даже простейшую микро-клавиатуру, администратор может менять
многие важные конфигурационные параметры, которые считываются затем только один
раз (при загрузке). Например, таким образом можно блокировать механизм
"самообучения" (составлять статическую таблицу соответствия портов МАС-адресам),
устанавливать фильтрацию, виртуальные сети, задавать скорость и многое другое.
Но самые большие возможности имеют
управляемые коммутаторы (Intelligent). Они имеют интерфейс к полноценному
процессору (точнее, компьютеру, поскольку он имеет и свою память), который
позволяет контролировать работу и изменять параметры устройства без
перезагрузки. Так же появляется возможность в реальном времени наблюдать за
проходящими пакетами, считать проходящий трафик, и т.п.
Функциональная
и аппаратная часть коммутатора
Рисунок 2.2. Функциональная и аппаратная часть коммутатора.
Коммутатор работает на канальном уровне
модели OSI (L2). Если рассматривать его функциональную часть на
уровне профиля протоколов.
Техническая реализация коммутаторов | «« Назад | Оглавление |
Вперед »»