Данная статья нужна нам для того, чтобы разобраться в базовых знаниях и разобрать:

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

Что такое коммутатор, маршрутизатор?

Когда мы задаем вопрос в поисковике: «Чем отличается коммутатор от маршрутизатора?», то один из самых распространенных ответов, который можно найти в интернете (например, на Mail.ru), звучит так:

в функционале. маршрутизатор — маршрутизирует, коммутатор — коммутирует. все просто:)))

Это, пожалуй, самый краткий и ёмкий ответ на данный вопрос.

Однако если подойти к вопросу серьезно, необходимо разобраться в понятиях коммутации и маршрутизации.

Коммутация — это процесс перенаправления данных (кадров) в пределах одной сети, основанный на анализе адреса назначения. Она работает на канальном уровне модели OSI (L2), используя MAC-адреса устройств.

Маршрутизация — это процесс определения пути для передачи данных между разными сетями. Работает на сетевом уровне модели OSI (L3), используя IP-адреса.

Коммутаторы (switch) и маршрутизаторы (router) — это два ключевых устройства в сетевых инфраструктурах, которые выполняют разные, хотя и пересекающиеся, задачи. Разберемся в их функциях, особенностях и причинах появления, а также рассмотрим современные реалии, в которых их функциональность все больше пересекается.

Зачем появились маршрутизаторы

Исторически маршрутизаторы появились для соединения сетей с разными технологиями передачи данных. В начале эры сетей существовало множество локальных сетей (LAN) с различными топологиями: Ethernet, Token Ring, модемные пулы и другие. Эти сети были физически и логически разобщены, поскольку каждая из них использовала свои протоколы адресации и методы передачи данных.

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

Основные функции

  1. Коммутаторы:
    • работают преимущественно на уровне 2 модели OSI (канальный уровень);
    • создают таблицы MAC-адресов, которые определяют, через какой физический порт отправлять трафик;
    • обеспечивают коммуникацию внутри одной локальной сети (LAN).
  2. Маршрутизаторы:
    • работают на уровне 3 модели OSI (сетевой уровень);
    • используют таблицы маршрутизации для определения оптимального пути передачи данных;
    • обеспечивают связь между разными сетями, в том числе с разными технологиями (Ethernet, Frame Relay, ATM, DSL);
    • используют протоколы маршрутизации, такие как OSPF, BGP, IS-IS.

Совместная работа коммутаторов и маршрутизаторов

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

Современные тенденции

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

Рассмотрим различия между устройствами

Особенности

  • Рабочий уровень: работают на 2 уровне модели OSI (канальный уровень).
  • Функциональность: обеспечивают передачу данных внутри одной локальной сети (LAN), используя таблицу MAC-адресов для маршрутизации кадров Ethernet.
  • Ограничения: не способны маршрутизировать трафик между разными VLAN или подсетями.

Плюсы

Минусы

  • Отсутствие поддержки IP-адресации.
  • Не подходит для сложных сетевых структур с множеством VLAN.

Особенности

  • Рабочий уровень: работают на 3 уровне модели OSI (сетевой уровень).
  • Функциональность:
    • выполняют функции коммутатора (L2) и маршрутизатора (L3);
    • поддерживают маршрутизацию между VLAN через интерфейсы SVI (Switch Virtual Interface);
    • поддерживают IP-адресацию и статическую маршрутизацию.

Плюсы

  • Универсальность.
  • Встроенная поддержка маршрутизации.

Минусы

  • Ограниченные возможности динамической маршрутизации (по сравнению с маршрутизаторами). Обычно используется «межвлановая» маршрутизация, когда ip-адрес назначается на VLAN, а не на саб-интерфейс.
  • Более сложная настройка по сравнению с L2-коммутаторами.

Особенности

  • Рабочий уровень: также работают на 3 уровне, но с функциями, приближенными к маршрутизаторам.
  • Функциональность:
    • полноценная поддержка динамических протоколов маршрутизации (OSPF, BGP, EIGRP);
    • расширенные функции управления трафиком: ACL, QoS, NAT;
    • некоторые модели поддерживают MPLS для оптимизации передачи данных.

Плюсы

  • Возможности динамической маршрутизации.
  • Более высокий уровень управления сетью.

Минусы

  • Стоимость.
  • Сложность настройки.

Маршрутизаторы (Router)

Особенности

  • Рабочий уровень: работают на 3 уровне модели OSI и выше.
  • Функциональность:

Плюсы

  • Поддержка работы в глобальных сетях (WAN).
  • Высокий уровень безопасности.

Минусы

  • Не предназначены для высокоскоростного L2-коммутирования.
  • Могут вызывать дополнительные задержки в локальных сетях.

Сравнительная таблица

ХарактеристикаL2 SwitchL3 SwitchL3+ SwitchRouter
Уровень OSI22 и 32 и 33 и выше
Основная задачаКоммутация LANКоммутация и маршрутизация VLANРасширенная маршрутизацияМежсетевое соединение
Поддержка маршрутизацииНетВ основном статическаяДинамическаяДинамическая
VLANДаДаДаДа
QoSОграниченнаяДаДаДа
Подключение к интернетуНетНетДаДа
  • L2-коммутаторы идеально подходят для небольших сетей, где маршрутизация не требуется.
  • L3-коммутаторы — оптимальное решение для сетей с VLAN и умеренной сложностью.
  • L3+ коммутаторы находят применение в крупных и сложных инфраструктурах с необходимостью динамической маршрутизации.
  • Маршрутизаторы — необходимы для соединения локальных сетей с внешними сетями, но не заменяют коммутаторы внутри LAN.

Каждое устройство имеет свои уникальные сильные стороны и применяется в зависимости от масштабов и требований сети.

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

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

Что такое сеть? 

Что же такое сеть? Если соединить два компьютера между собой, назначить им IP-адреса, будет ли это сетью? Ответ прост: да, это уже локальная сеть.

Сеть — это соединение двух и более компьютеров, устройств или других компонентов для обмена информацией.

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

Но пока не будем забегать вперед, начнем с самого простого — с двух соединенных между собой компьютеров.

Рассмотрим самую простую сеть

Предположим, у нас есть два компьютера. Компьютер №1 имеет mac-адрес 00:00:00:00:00:0a, а компьютер №2 — 00:00:00:00:00:0b.

Мы назначаем компьютеру №1 IP-адрес 192.168.0.1, а компьютеру №2 — IP-адрес 192.168.0.2. Затем мы соединяем их сетевые карты «напрямую» с помощью витой пары.

Чтобы проверить доступность соседнего компьютера, можно использовать утилиту «ping» и отправить запрос на него.

Однако есть проблема: компьютер №1 не сможет сразу отправить ICMP-запрос компьютеру №2, так как он не знает его mac-адрес. Это можно проверить, введя команду «arp -a» в командной строке (для Windows) и убедившись, что таблица ARP пуста.

Как было сказано в предыдущей статье, ARP (Address Resolution Protocol) — это важнейший протокол в компьютерных сетях, который используется для определения MAC-адреса другого компьютера по известному IP-адресу.

Первым делом компьютер №1 отправит широковещательный запрос в сеть, чтобы узнать, кто такой 192.168.0.2.

Пакет будет выглядеть следующим образом:

  • src mac-адрес 00:00:00:00:00:0a;
  • dst mac-адрес ff:ff:ff:ff:ff:ff (широковещательный mac-адрес);
  • IP-адресов не будет, так как ARP работает на уровне L2;
  • в теле пакета будет информация: кто такой 192.168.0.2, спрашивает 192.168.0.1.

Подробнее о заголовках L3 уровня (ARP, ICMP и др.) я рассказывал в этой статье.

После того как ARP-ответ будет получен компьютером №2, он сохранит в своей ARP-таблице информацию о IP и mac-адресе компьютера №1.

Теперь компьютеру необходимо отправить ARP-ответ.

Пакет будет выглядеть следующим образом:

  • src mac-адрес 00:00:00:00:00:0b;
  • dst mac-адрес 00:00:00:00:00:0a;
  • IP-адресов не будет, так как ARP работает на уровне L2;
  • в теле пакета будет информация: у IP-адреса 192.168.0.2 mac-адрес — 00:00:00:00:00:0b.

После того как ARP-ответ поступит к компьютеру №1, он сохранит в своей ARP-таблице информацию о IP и mac-адресе компьютера №2.
Теперь для формирования ICMP-запроса известна вся информация, и от компьютера №1 будет сформирован следующий пакет:

  • src mac-адрес 00:00:00:00:00:0a;
  • dst mac-адрес 00:00:00:00:00:0b;
  • src IP-адрес 192.168.0.1;
  • dst IP-адрес 192.168.0.2
  • в теле пакета будет служебная информация для ICMP-протокола (подробнее в этой статье).

После того как ICMP-запрос поступит на компьютер №2, тот отправит ICMP-ответ, так как уже знает mac-адрес соседнего устройства из своей ARP-таблицы.

Ответ будет выглядеть следующим образом: 

  • src mac-адрес 00:00:00:00:00:0b;
  • dst mac-адрес 00:00:00:00:00:0a;
  • src-IP-адрес 192.168.0.2;
  • dst-IP-адрес 192.168.0.1;
  • в теле пакета будет служебная информация для ICMP-протокола.

После того как все эти пакеты прошли свой не долгий путь, в утилите «ping» появится первое сообщение о доступности соседнего устройства.

Три компьютера и сетевой концентратор (Hub)

Что если нам нужно подключить больше компьютеров к одной сети?

Для этого в простых сетях используют сетевой концентратор, он же hub/хаб.

Как работает хаб?

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

Плюсы и минусы использования хаба

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

  1. Эффективность: хаб работает на уровне L1 модели OSI, что означает, что он не различает адреса. Все пакеты передаются всем устройствам, кроме отправителя, независимо от их назначения.
  2. Конфликт пакетов: поскольку данные передаются одновременно всем устройствам, в сети могут возникать коллизии. Чем больше устройств подключено, тем выше вероятность коллизий.
  3. Пропускная способность: каждый порт хаба делит общую пропускную способность сети, что приводит к её снижению по мере увеличения числа подключений.

Современные сети используют коммутаторы (switch), которые работают на уровне L2, что позволяет им направлять пакеты только устройствам-адресатам.

Пример работы хаба

Предположим, у нас есть хаб и три компьютера с IP-адресами:

  • компьютер №1: 192.168.0.1;
  • компьютер №2: 192.168.0.2;
  • компьютер №3: 192.168.0.3.

Все три компьютера подключены к хабу. Теперь, если мы с компьютера №1 отправим запрос «ping» на компьютер №2, то процесс будет происходить следующим образом.

Шаг 1. ARP-запрос

Компьютер №1 сначала отправит ARP-запрос в сеть, чтобы узнать MAC-адрес компьютера №2. Этот запрос будет выглядеть так:

  • src MAC-адрес: 00:00:00:00:00:0a;
  • dst MAC-адрес: ff:ff:ff:ff:ff:ff (широковещательный адрес);
  • IP-адреса в пакете отсутствуют, так как ARP работает на уровне L2.

Действия хаба

Хаб получит этот пакет через порт, к которому подключен компьютер №1, и передаст его на все остальные порты, кроме порта-отправителя. Таким образом, ARP-запрос поступит как на компьютер №2, так и на компьютер №3. Компьютеры №2 и №3 сохранят в ARP-таблице запись о компьютере №1, так как запрос был широковещательным. Однако ответит на него только компьютер №2, так как IP-адрес в запросе соответствует его собственному.

Ответ от компьютера №2

Компьютер №2 отправит ARP-ответ, который пройдет через хаб и будет доставлен компьютеру №1. Компьютер №3 проигнорирует этот ответ, так как он не предназначен ему.

ARP-ответ будет выглядеть следующим образом:

  • src MAC-адрес: 00:00:00:00:00:0b;
  • dst MAC-адрес: 00:00:00:00:00:0a;
  • IP-адреса в пакете отсутствуют, так как ARP работает на уровне L2.

Шаг 2. ICMP-запрос и ответ

После завершения ARP-обмена компьютер №1 сформирует ICMP-запрос и отправит его на компьютер №2. Запрос и последующий ответ будут переданы аналогичным образом через хаб, но пакеты также дойдут до всех устройств в сети, создавая дополнительную нагрузку.

Особенности работы ARP в сети с хабом

В такой схеме:

  1. Компьютеры №1 и №2 знают о существовании друг друга;
  2. Компьютер №3 знает о компьютере №1, так как получил его ARP-запрос, но не знает о компьютере №2.
Пояснение

Компьютер №3 знает о Компьютере №1 из своей ARP-таблицы, но не знает о Компьютере №2 по следующим причинам:

Отбрасывание ARP-ответа.ARP-ответ, отправленный Компьютером №1, также достигает Компьютера №3. Однако, поскольку MAC-адрес назначения в этом пакете не совпадает с MAC-адресом сетевой карты Компьютера №3, пакет отбрасывается сетевой платой на аппаратном уровне. В результате информация о Компьютере №2 не попадает в ARP-таблицу Компьютера №3.

Обработка ARP-запросов.ARP-запросы обрабатываются операционной системой компьютера, а не сетевой платой. Однако, поскольку ARP-запрос имеет широковещательный MAC-адрес назначения (ff:ff:ff:ff:ff:ff), он достигает всех устройств в локальной сети и принимается сетевой платой;

Сохранение записи в ARP-таблице.Хотя Компьютер №3 получает ARP-запрос, адресованный другому IP-адресу (например, Компьютеру №1), он не отвечает на него. Однако информация из тела пакета (IP-адрес и MAC-адрес Компьютера №1) может быть сохранена в ARP-таблице Компьютера №3 как часть пассивного процесса обучения;

Если мы попытаемся «пингануть» с компьютера №2 компьютер №3, произойдет ARP-обмен, как в примере выше. Однако если мы попытаемся с компьютера №3 «пингануть» компьютер №1, процесс будет следующим:

  1. Компьютер №3, зная MAC-адрес компьютера №1 из своей ARP-таблицы, сразу отправит ICMP-запрос;
  2. Компьютер №1, не имея записи о компьютере №3, отбросит запрос и отправит широковещательный ARP-запрос;
  3. После получения ARP-ответа от компьютера №3 компьютер №1 сможет ответить на ICMP-запрос;
  4. Компьютер №3 отправит новый ICMP-запрос, на который компьютер №1 успешно ответит.

Когда мы запускаем утилиту «ping», некоторые пакеты теряются. Это происходит из-за того, что требуется ARP-обмен данными между всеми промежуточными устройствами. Именно поэтому возникает необходимость в обмене данными с использованием протокола ARP между всеми устройствами, находящимися между источником и получателем данных.

Три компьютера и L2 коммутатор

Как обеспечить стабильность работы сети и исключить коллизии? 

Ответ прост: использовать L2-коммутатор.

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

Коммутатор работает на канальном уровне модели OSI и использует MAC-адреса для пересылки данных. Рассмотрим на примере, как это происходит.

Устройства в сети:

  • компьютер №1: 192.168.0.1;
  • компьютер №2: 192.168.0.2;
  • компьютер №3: 192.168.0.3;
  • коммутатор №1: MAC-таблица изначально пуста.

Шаг 1. ARP-запрос

Когда компьютер №1 отправляет запрос «ping» на компьютер №2, он сначала формирует ARP-запрос для определения MAC-адреса получателя. Этот запрос поступает на коммутатор, который, не имея записей в MAC-таблице, рассылает его на все активные порты, кроме порта-отправителя.

Действия коммутатора:

  • Коммутатор добавляет в свою MAC-таблицу запись о компьютере №1, связав его MAC-адрес с портом, через который пришел запрос;
  • ARP-запрос доставляется компьютерам №2 и №3.

Ответы компьютеров:

  • Компьютер №2, распознав свой IP-адрес, отправляет ARP-ответ;
  • Компьютер №3 игнорирует запрос, но сохраняет запись о MAC-адресе компьютера №1 в своей ARP-таблице.

Коммутатор, получив ARP-ответ от компьютера №2, обновляет свою MAC-таблицу, добавляя запись о MAC-адресе компьютера №2.

Шаг 2. ICMP-запрос и ответ

После завершения ARP-обмена компьютер №1 отправляет ICMP-запрос компьютеру №2. Благодаря MAC-таблице, коммутатор направляет пакеты только в порт, подключенный к компьютеру №2, избегая лишней нагрузки на другие устройства.

Особенности работы ARP в сети с коммутатором

  1. Компьютеры №1 и №2 знают о существовании друг друга;
  2. Компьютер №3 знает MAC-адрес компьютера №1, но не знает о существовании компьютера №2;
  3. В MAC-таблице коммутатора нет записи о компьютере №3.

Если компьютер №3 отправит запрос «ping» на компьютер №1, процесс будет следующий:

  1. Компьютер №3 сразу формирует ICMP-запрос, используя MAC-адрес из своей ARP-таблицы;
  2. Коммутатор передает пакет на порт компьютера №1;
  3. компьютер №1, не имея записи о компьютере №3, отправляет ARP-запрос;
  4. после завершения ARP-обмена компьютер №1 отвечает на ICMP-запрос.

Что будет если во время работы коммутатор перезагрузится?

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

В этой ситуации происходит следующее:

  1. Пакет, адресованный компьютеру №2, поступает на коммутатор. Поскольку MAC-таблица коммутатора пуста, чтобы обеспечить корректную работу сети, коммутатор передает эти пакеты на все порты, кроме того порта, через который они были получены. Затем в MAC-таблицу коммутатора добавляется первая запись о компьютере №1;
  1. Затем коммутатор получит пакет, предназначенный для компьютера №2. Поскольку в MAC-таблице нет записи об этом компьютере, чтобы обеспечить корректную работу сети, коммутатор передаст эти пакеты на все порты, кроме того порта, через который они были получены. После этого в MAC-таблицу коммутатора будет добавлена первая запись о компьютере №2;
  2. Далее сеть будет работать так же, как и до перезагрузки или очистки MAC-таблицы. 

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

Три компьютера и несколько L2 коммутаторов

Рассмотрим, как работает сеть с несколькими коммутаторами.

Устройства в сети:

  • компьютер №1: 192.168.0.1;
  • компьютер №2: 192.168.0.2;
  • компьютер №3: 192.168.0.3;
  • коммутатор №1 и №2: MAC-таблица изначально пуста.

Все три компьютера подключены к нескольким коммутаторам. Если с компьютера №1 отправить запрос «ping» на компьютер №2, ARP-запрос попадет на коммутатор и будет направлен во все активные порты, поскольку это широковещательный запрос.

Шаг 1. ARP-запрос

Когда компьютер №1 отправляет ARP-запрос компьютеру №2:

  1. Коммутатор №1:
    • передает запрос на все порты, кроме порта-отправителя;
    • сохраняет в MAC-таблицу запись о компьютере №1.
  1. Коммутатор №2:
    • получает запрос от коммутатора №1 и передает его на свои порты;
    • добавляет в MAC-таблицу запись о MAC-адресе компьютера №1.

Компьютеры №2 и №3 сохраняют запись о MAC-адресе компьютера №1.

Шаг 2. ICMP-запрос и ответ

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

Если с компьютера №3 отправить запрос «ping» на компьютер №2, произойдет ARP-обмен данными между устройствами. Коммутаторы сохранят необходимые записи в своих MAC-таблицах, и ICMP-пакеты будут передаваться в соответствии с этими таблицами.

Особенности работы с несколькими коммутаторами

  • У каждого коммутатора своя уникальная MAC-таблица.
  • Коммутатор №2 может иметь одну запись для порта с несколькими устройствами, подключенными через другой коммутатор.

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

Заключение

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

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

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

Источник

От alex

Обучаемый.