Что такое сетевой коммутатор и как он работает. Объясняю на примере домашней сети

1245
Что такое сетевой коммутатор и как он работает. Объясняю на примере домашней сети

У роутера четыре сетевых разъема, а подключить кабелем нужно компьютер, телевизор, игровую приставку, сетевое хранилище и еще пару устройств. Именно в такой ситуации дома чаще всего появляется небольшая коробка с пятью или восемью портами. Это сетевой коммутатор, по-английски switch. С виду устройство почти ничего не делает: подключили кабели, загорелись индикаторы, сеть заработала. Внутри тем временем коммутатор постоянно решает, через какой порт отправить каждый пришедший кадр Ethernet.

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

Что такое сетевой коммутатор

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

Например, дома есть роутер, компьютер, телевизор и сетевое хранилище NAS. Свободных сетевых портов роутера не хватает. Можно подключить к одному из них восьмипортовый коммутатор, а уже к коммутатору провести кабели от остальных устройств.

Получится примерно такая схема:

Интернет
    |
 Роутер
    |
 Коммутатор
    |---- компьютер
    |---- телевизор
    |---- сетевое хранилище NAS
    |---- игровая приставка
    |---- точка доступа Wi-Fi

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

Здесь есть важный нюанс. Домашний Wi-Fi-роутер обычно уже содержит небольшой встроенный коммутатор. Четыре сетевых разъема на задней панели работают не как четыре отдельных маршрутизатора. Внутри устройства они относятся к одной коммутирующей части. Поэтому отдельный коммутатор дома часто покупают просто для увеличения количества проводных подключений.

как подключить сетевой коммутатор к роутеру дома

Что происходит внутри коммутатора

Чтобы понять работу коммутатора, понадобятся три понятия: порт, кадр Ethernet и MAC-адрес.

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

Кадр Ethernet представляет собой блок данных, передаваемый внутри сети Ethernet. В его заголовке среди прочего находятся MAC-адрес отправителя и MAC-адрес получателя.

MAC-адрес используется для адресации на канальном уровне сети. Обычный Ethernet-коммутатор смотрит на MAC-адрес назначения, когда решает, через какой порт отправить полученный кадр.

Поэтому выражение «коммутатор пересылает IP-пакеты по MAC-адресам» технически неточно. IP-пакет действительно может находиться внутри передаваемых данных, но коммутатор второго уровня работает прежде всего с кадрами Ethernet. IP-пакет в таком случае находится внутри кадра.

Термин Что означает
Коммутатор Устройство, которое соединяет узлы локальной сети и пересылает кадры между портами
Switch Английское название сетевого коммутатора
Коммутация Процесс передачи кадров между портами коммутатора
Порт коммутатора Сетевой интерфейс, через который коммутатор соединяется с другим устройством
MAC-адрес Адрес сетевого интерфейса, используемый Ethernet на канальном уровне
Кадр Ethernet Единица передачи данных на канальном уровне Ethernet

Самая интересная часть начинается после получения кадра. Коммутатор должен понять, через какой порт доступен получатель.

Как коммутатор узнает, к какому порту подключено устройство

Внутри коммутатора существует таблица MAC-адресов. В ней устройство хранит соответствия примерно такого вида:

MAC-адрес Порт
AA:AA:AA:AA:AA:01 1
BB:BB:BB:BB:BB:02 3
CC:CC:CC:CC:CC:03 5

Заполнять такую таблицу вручную обычному домашнему коммутатору не нужно. Устройство обучается автоматически.

Представим, что компьютер подключен к первому порту. От него приходит кадр Ethernet с исходным MAC-адресом AA:AA:AA:AA:AA:01. Коммутатор видит, что кадр пришел через порт 1, и запоминает связь:

AA:AA:AA:AA:AA:01 -> порт 1

Затем через порт 3 приходит кадр от сетевого хранилища с другим MAC-адресом. В таблице появляется еще одна запись.

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

как коммутатор передает данные по MAC адресу

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

Передаем файл с компьютера на сетевое хранилище

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

  1. Компьютер определяет, куда нужно отправить данные. Если IP-адрес хранилища находится в той же IP-сети, передавать трафик через маршрутизатор не требуется.
  2. Для передачи данных по Ethernet компьютеру нужен MAC-адрес получателя. В сети IPv4 для его определения обычно используется протокол ARP, если нужной записи еще нет в локальном кэше.
  3. Компьютер формирует кадр Ethernet. Внутри находятся передаваемые данные, а в заголовке указаны MAC-адрес компьютера и MAC-адрес сетевого хранилища.
  4. Кадр приходит в первый порт коммутатора.
  5. Коммутатор запоминает или обновляет запись о MAC-адресе компьютера.
  6. Затем коммутатор ищет MAC-адрес сетевого хранилища в своей таблице.
  7. Если адрес уже известен и связан с портом 3, кадр отправляется только через порт 3.
  8. Сетевое хранилище получает данные и отправляет ответные кадры обратно. Коммутатор таким же способом направляет их через порт 1.

Роутер в такой передаче может вообще не участвовать. Файл идет от компьютера к коммутатору и от коммутатора к сетевому хранилищу. Поэтому скорость локального обмена не обязательно зависит от скорости подключения к интернету.

Например, домашний интернет может работать на скорости 100 Мбит/с, а компьютер и сетевое хранилище быть подключены к гигабитному коммутатору. Локальный канал между ними способен работать на скорости соединения до 1 Гбит/с, если сетевые адаптеры, кабели и остальные компоненты поддерживают такой режим. Реальная скорость передачи полезных данных будет ниже номинальной из-за служебных данных протоколов и других накладных расходов.

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

Получается удобное разделение обязанностей: коммутатор передает кадры внутри локальной сети Ethernet, а маршрутизатор пересылает IP-пакеты между разными IP-сетями.

Что происходит, если коммутатор еще не знает MAC-адрес

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

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

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

Похожим образом распространяется широковещательный трафик. Кадр Ethernet с широковещательным MAC-адресом FF:FF:FF:FF:FF:FF предназначен всем устройствам соответствующего широковещательного домена, поэтому коммутатор рассылает его через остальные порты той же VLAN.

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

Чем коммутатор отличается от роутера, концентратора и точки доступа

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

Устройство Основная задача Как работает
Коммутатор Соединяет устройства внутри сети Ethernet Пересылает кадры с учетом MAC-адресов
Маршрутизатор Передает трафик между IP-сетями Использует IP-адреса и таблицу маршрутизации
Концентратор Соединяет несколько устройств в одном сегменте Передает полученный сигнал на остальные порты без выбора адресата по MAC-адресу
Точка доступа Wi-Fi Подключает беспроводные устройства к сети Связывает беспроводную сеть с проводной инфраструктурой

Маршрутизатор нужен, когда трафик должен перейти из одной IP-сети в другую. Домашний роутер обычно служит шлюзом между домашней сетью и сетью провайдера. Кроме маршрутизации он нередко выполняет преобразование сетевых адресов NAT, автоматически выдает устройствам сетевые настройки по протоколу DHCP, фильтрует трафик и предоставляет доступ по Wi-Fi.

Концентратор относится к более старому типу оборудования. Полученный сигнал он передает на остальные порты, не создавая таблицу MAC-адресов и не выбирая конкретный порт назначения. В современных домашних сетях Ethernet концентраторы практически вытеснены коммутаторами.

Точка доступа нужна для подключения устройств по Wi-Fi. Она не становится маршрутизатором только потому, что создает беспроводную сеть. Отдельная точка доступа может подключаться кабелем к коммутатору и предоставлять беспроводным устройствам доступ к той же локальной сети.

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

Что важно понимать о портах и скорости

Порты домашних коммутаторов могут поддерживать разные скорости Ethernet: 100 Мбит/с, 1 Гбит/с, 2,5 Гбит/с, 5 Гбит/с или 10 Гбит/с. Конкретный набор зависит от модели. Устройства на концах соединения обычно автоматически согласуют скорость и режим работы, которые поддерживают обе стороны.

Если компьютер поддерживает 2,5 Гбит/с, а порт коммутатора только 1 Гбит/с, соединение быстрее 1 Гбит/с не станет. То же правило действует для сетевого хранилища, точки доступа, роутера и другого оборудования.

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

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

Для дома чаще всего достаточно неуправляемого коммутатора. Его подключают к питанию и соединяют кабелем с сетевым портом роутера. Дополнительная настройка обычно не требуется.

Управляемые модели нужны, когда необходимо разделять сеть на виртуальные локальные сети VLAN, контролировать состояние портов, собирать статистику, задавать приоритет для разных видов трафика или использовать другие дополнительные функции.

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

Вопросы и ответы

Что такое сетевой коммутатор простыми словами?

Сетевой коммутатор соединяет устройства в локальной сети и передает кадры Ethernet между своими портами. Для выбора нужного порта обычный коммутатор второго уровня использует MAC-адрес назначения.

Switch и коммутатор — это одно и то же?

Да. Switch — английское название сетевого коммутатора. В русском техническом тексте предпочтительнее использовать слово «коммутатор», а процесс switching называть «коммутацией».

Чем коммутатор отличается от роутера?

Коммутатор второго уровня передает кадры Ethernet внутри локальной сети, ориентируясь на MAC-адреса. Маршрутизатор соединяет разные IP-сети и выбирает путь передачи по IP-адресам и таблице маршрутизации.

Можно ли подключить коммутатор к домашнему роутеру?

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

Как коммутатор узнает, через какой порт отправлять данные?

Коммутатор запоминает исходные MAC-адреса полученных кадров и порты, через которые они пришли. Так постепенно строится таблица MAC-адресов. Затем MAC-адрес назначения используется для выбора выходного порта.

Что будет, если коммутатор не знает MAC-адрес получателя?

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

Снижает ли коммутатор скорость интернета?

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

коммутатор сетевой коммутатор ethernet
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
Конференция по кибербезопасности ZeroNights – show me ur hack Узнайте про техники взлома систем, наболевшие проблемы кибербезопасности и методы предотвращения угроз. 30 сентября, СПб — билеты уже в продаже! Купить билет Реклама. ООО «Кибер Сервис», ИНН 7725496205. 18+

Bitbox

Обзоры гаджетов и трендов, которые экономят время и деньги.

Реклама 18+
Рекламодатель
Реклама. АО «Позитив Текнолоджиз». ИНН 7718668887. 18+
Сайт рекламодателя: ptsecurity.com
Реклама