Что такое коммутаторы. В чем отличие между коммутатором и маршрутизатором

Сетевой коммутатор

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

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

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

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

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

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

    С промежуточным хранением (Store and Forward). Коммутатор читает всю информацию в кадре, проверяет его на отсутствие ошибок, выбирает порт коммутации и после этого посылает в него кадр.

    Сквозной (cut-through). Коммутатор считывает в кадре только адрес назначения и после выполняет коммутацию. Этот режим уменьшает задержки при передаче, но в нём нет метода обнаружения ошибок.

    Бесфрагментный (fragment-free) или гибридный . Этот режим является модификацией сквозного режима. Передача осуществляется после фильтрации фрагментов коллизий (первые 64 байта кадра анализируются на наличие ошибки и при её отсутствии кадр обрабатывается в сквозном режиме).

Задержка, связанная с «принятием коммутатором решения», добавляется к времени, которое требуется кадру для входа на порт коммутатора и выхода с него, и вместе с ним определяет общую задержку коммутатора.

Симметричная и асимметричная коммутация

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

Асимметричный коммутатор обеспечивает коммутируемые соединения между портами с различной шириной полосы пропускания, например, в случаях комбинации портов с шириной полосы пропускания 10 Мб/с или 100 Мб/с и 1000 Мб/с.

Асимметричная коммутация используется в случае наличия больших сетевых потоков типа клиент-сервер, когда многочисленные пользователи обмениваются информацией с сервером одновременно, что требует большей ширины пропускания для того порта коммутатора, к которому подсоединён сервер, с целью предотвращения переполнения на этом порте. Для того чтобы направить поток данных с порта 100 Мб/с на порт 10 Мб/с без опасности переполнения на последнем, асимметричный коммутатор должен иметь буфер памяти.

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

Буфер памяти

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

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

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

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

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

Возможности и разновидности коммутаторов

Коммутаторы подразделяются на управляемые и неуправляемые (наиболее простые).

Более сложные коммутаторы позволяют управлять коммутацией на сетевом (третьем) уровне модели OSI. Обычно их именуют соответственно, например «Layer 3 Switch» или сокращенно «L3 Switch». Управление коммутатором может осуществляться посредством Web-интерфейса, интерфейса командной строки (CLI), протокола SNMP, RMON и т. п.

Многие управляемые коммутаторы позволяют настраивать дополнительные функции: VLAN, QoS, агрегирование, зеркалирование. На данный момент многие коммутаторы уровня доступа обладают такими расширенными возможностями, как сегментация трафика между портами, контроль трафика на предмет штормов, обнаружение петель, ограничение количества изучаемых mac-адресов, ограничение входящей/исходящей скорости на портах, функции списков доступа и т.п.

Сложные коммутаторы можно объединять в одно логическое устройство - стек - с целью увеличения числа портов. Например, можно объединить 4 коммутатора с 24 портами и получить логический коммутатор с 90 ((4*24)-6=90) портами либо с 96 портами (если для стекирования используются специальные порты).

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

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

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

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

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

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

Сетевой коммутатор может быть нескольких типов.

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

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

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

Разберем примеры сфер применения небольшого настольного малопортового коммутатора:


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

Когда появились первые устройства, позволяющие разъединять сеть на несколько доменов коллизий (по сути фрагменты ЛВС, построенные на hub-ах), они были двух портовыми и получили название мостов (bridge-ей). По мере развития данного типа оборудования, они стали многопортовыми и получили название коммутаторов (switch -ей). Некоторое время оба понятия существовали одновременно, а поздее вместо термина "мост" стали применять "коммутатор".

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

Благодаря тому, что коммутаторы могут управлять трафиком на основе протокола канального уровня (Уровня 2) модели OSI, он в состоянии контролировать МАС адреса подключенных к нему устройств и даже обеспечивать трансляцию пакетов из стандарта в стандарт (например Ethernet в FDDI и обратно). Особенно удачно результаты этой возможности представлены в коммутаторах Уровня 3, т.е. устройствах, возможности которых приближаются к возможностям маршрутизаторов.

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

Коммутаторы поддерживают при соединении друг с другом режим полного дуплекса. В таком режиме данные передаются и принимаются одновременно, что невозможно в обычных сетях Еthегnеt. При этом скорость передачи данных повышается в два раза, а при соединении нескольких коммутаторов можно добиться и большей пиковой производительности.

Спасибо за внимание!