Перейти к содержанию

Терминология

  • Маршрутизатор и роутер (router) — одно и то же устройство. Это сетевое устройство L3, которое пересылает пакеты между разными сетями по IP-адресам.
  • Коммутатор (switch) — устройство L2, которое пересылает кадры внутри одной сети по MAC-адресам.
  • Домашний «роутер» — это не только маршрутизатор. Это комбайн: маршрутизатор + коммутатор + точка доступа Wi-Fi + firewall + DHCP-сервер в одной коробке. Отсюда путаница в терминах.

Как устройства устроены: из чего состоят, что происходит с кадром или пакетом внутри, почему это быстро. Логику уровней L2 и L3 они реализуют в железе.

Три плоскости (planes)

Любое сетевое устройство логически делится на три части.

Плоскость Что делает Где выполняется Скорость
Data plane (forwarding plane) Пересылает транзитный трафик: принял, посмотрел в таблицу, отправил Специализированный чип: ASIC / NPU. В дешёвых устройствах CPU Миллионы–миллиарды пакетов в секунду
Control plane Строит таблицы, по которым работает data plane: протоколы маршрутизации (OSPF, BGP), STP, LACP, ARP Обычный CPU с ОС Медленно, но это и не нужно
Management plane Управление устройством человеком: SSH, веб-интерфейс, SNMP, NETCONF, логи Тот же CPU Медленно

Главная идея: транзитный трафик не проходит через CPU. CPU только готовит таблицы и записывает их в чип, а чип пересылает трафик на скорости линии (line rate / wire speed).

На CPU попадает только то, что адресовано самому устройству или требует «ума»: BPDU от STP, пакеты OSPF/BGP, ARP-запросы на IP самого устройства, SSH-сессия администратора. Это называется punt («пнуть» пакет на CPU).

Коммутатор

Снаружи

Передняя панель:

  • Порты RJ45 — медные порты 1G / 2.5G / 10G для подключения устройств (обычно 24 или 48 штук).
  • Порты SFP / SFP+ / SFP28 / QSFP — гнёзда (cages) под сменные модули-трансиверы. В модуль вставляется оптика или медь (DAC-кабель). Обычно это скоростные uplink-порты для связи с другими коммутаторами.
  • Console-порт (RJ45 или USB) — последовательный порт для настройки напрямую кабелем, даже если сеть не работает.
  • MGMT-порт — отдельный Ethernet-порт только для управления устройством (out-of-band management).
  • Индикаторы — на каждом порту: link (есть соединение), activity (идёт трафик), скорость. Плюс общие: питание, статус системы, вентиляторы.

Задняя панель:

  • Блоки питания — на серьёзных моделях их два, с горячей заменой (hot-swap). Каждый подключается к своему вводу питания.
  • Вентиляторы, часто сменные модули. Важно направление потока воздуха: front-to-back или back-to-front. Оно должно совпадать с организацией холодного и горячего коридоров в серверной.
  • Стековые порты — у стекируемых моделей.

Внутри

   Порты RJ45            Порты SFP
       │                     │
  ┌────▼─────┐          ┌────▼──────┐
  │ Magnetics│          │ Трансивер │  (сменный модуль: оптика → электрика)
  │(трансфор-│          └────┬──────┘
  │ маторы)  │               │
  └────┬─────┘               │
  ┌────▼─────┐               │
  │   PHY    │               │
  └────┬─────┘               │
       │  SerDes             │  SerDes
  ┌────▼─────────────────────▼─────────────────────┐
  │             SWITCHING ASIC                     │
  │                                                │
  │   MAC-блоки портов                             │
  │   Packet processor (parser → lookup → actions) │  ← DATA PLANE
  │   Таблицы: MAC (hash/CAM), TCAM (ACL, QoS)     │
  │   Буферная память пакетов                      │
  │   Коммутационная матрица (fabric)              │
  └───────────────────────┬────────────────────────┘
                          │ PCIe
  ┌───────────────────────▼────────────────────────┐
  │   CPU (ARM / x86 / MIPS)  +  RAM  +  Flash     │  ← CONTROL + MANAGEMENT PLANE
  │   Сетевая ОС: IOS, EOS, JunOS, SONiC, RouterOS │
  └────────────────────────────────────────────────┘

  + блоки питания, вентиляторы, датчики температуры

Magnetics — маленькие трансформаторы за каждым RJ45-портом. Обеспечивают гальваническую развязку: устройство электрически изолировано от кабеля, поэтому разница потенциалов или наводки на длинном кабеле не сжигают чип.

PHY (физический уровень) — чип, который превращает аналоговый сигнал в проводе в цифровые биты и обратно. Отвечает за кодирование, согласование скорости (autonegotiation) и определение линка. Один PHY-чип обслуживает обычно несколько портов. В SFP-портах роль PHY частично выполняет сам модуль-трансивер.

SerDes (Serializer/Deserializer) — высокоскоростные последовательные линии между PHY или трансиверами и ASIC. Количество и скорость SerDes-линий определяют, сколько портов и какой скорости чип может обслужить.

Switching ASIC — главный чип коммутатора, специализированная микросхема под одну задачу. Внутри:

  • MAC-блоки — по одному на порт. Собирают биты в кадры, проверяют контрольную сумму (FCS/CRC), считают статистику порта.
  • Packet processor — конвейер (pipeline) обработки: разобрать заголовки → найти в таблицах → применить действия. Работает за фиксированное число тактов на пакет.
  • Таблицы поиска:
    • MAC-таблица — «MAC → порт, VLAN». Исторически называется CAM table (Content Addressable Memory). На практике сейчас обычно реализована как хеш-таблица в быстрой SRAM внутри чипа. Размер: от тысяч до сотен тысяч записей.
    • TCAM (Ternary CAM) — память, которая сравнивает ключ со всеми записями за один такт, причём биты могут быть 0, 1 или X (не важно). Подходит для ACL, QoS-правил, а в L3-коммутаторах — для маршрутов (префикс = биты с маской). Дорогая и горячая, поэтому её мало: тысячи–десятки тысяч записей.
  • Буферная память — куда кладутся кадры, пока выходной порт занят. Обычно общая для всех портов (shared buffer), от единиц до десятков мегабайт на кристалле. Если буфер переполнен — кадры отбрасываются (drop).
  • Коммутационная матрица (fabric) — внутренние «провода» между всеми портами, чтобы любой порт мог одновременно отправлять в любой другой.

Производители ASIC: Broadcom (Trident, Tomahawk, Jericho), Marvell (Prestera), Cisco (Silicon One, UADP), Nvidia ( Spectrum), Intel (Tofino, программируемый). Топовые чипы обслуживают десятки Тбит/с.

CPU — обычный процессор, по мощности как у роутера или старого телефона. Транзитный трафик через него не идёт. На нём работает сетевая ОС: CLI, SSH, протоколы STP/LACP/LLDP, заполнение таблиц в ASIC.

Flash — хранит образ ОС и конфигурацию (startup-config). RAM — текущая конфигурация (running-config), таблицы ОС, процессы.

Путь кадра внутри коммутатора

  1. PHY принимает электрический или оптический сигнал, превращает его в биты.
  2. MAC-блок собирает кадр, проверяет FCS. Если кадр битый — drop.
  3. Parser разбирает заголовки: src MAC, dst MAC, VLAN-тег (802.1Q), EtherType. В L3-коммутаторе ещё и IP-заголовок.
  4. Learning: запись «src MAC → входной порт, VLAN» добавляется или обновляется в MAC-таблице. Записи стареют — обычно через 300 секунд без трафика удаляются (aging).
  5. Lookup: ищется dst MAC в MAC-таблице:
    • нашёлся → один выходной порт;
    • не нашёлся или broadcast → flooding во все порты этого VLAN, кроме входного.
  6. ACL / QoS: проверка по правилам в TCAM. Можно отбросить кадр, поменять приоритет, посчитать в счётчике.
  7. Буфер и очередь: кадр кладётся в очередь выходного порта (их обычно 8 по приоритетам).
  8. Egress: добавляется или снимается VLAN-тег (trunk vs access порт), кадр уходит в PHY выходного порта.

Всё это делается аппаратно за единицы микросекунд и без участия CPU.

Store-and-forward — коммутатор сначала принимает кадр целиком, проверяет FCS, потом отправляет. Битые кадры не распространяются дальше. Режим по умолчанию.

Cut-through — начинает отправлять кадр, как только прочитал dst MAC, не дожидаясь конца. Меньше задержка, но битый кадр уйдёт дальше. Используется там, где важны наносекунды: биржевой трейдинг, HPC.

Виды коммутаторов

По управлению:

  • Неуправляемый (unmanaged) — включил и работает. Нет настроек, нет VLAN, нет IP. Домашний «свитч на 8 портов».
  • Smart / web-managed — базовые настройки через веб-интерфейс: VLAN, простые ACL, зеркалирование портов.
  • Управляемый (managed) — полноценная ОС, CLI, SSH, SNMP, все протоколы. Стандарт для офиса и серверной.

По уровню:

  • L2-коммутатор — только MAC-адреса и VLAN.
  • L3-коммутатор — умеет ещё и маршрутизировать между VLAN аппаратно (см. ниже сравнение с маршрутизатором).

По роли в сети:

  • Access — к нему подключаются конечные устройства: ПК, телефоны, камеры, точки доступа. Часто с PoE (питание по кабелю Ethernet для камер, телефонов, Wi-Fi-точек).
  • Distribution / Aggregation — собирает access-коммутаторы.
  • Core — ядро сети, максимальная скорость.
  • ToR (Top of Rack) — в дата-центре стоит наверху стойки, к нему подключены серверы этой стойки. В архитектуре * spine-leaf* такие коммутаторы называются leaf, а коммутаторы, которые связывают все leaf'ы между собой, — * spine*.

По конструкции:

  • Фиксированный — корпус 1U с фиксированным набором портов.
  • Модульный / шасси — большой корпус со слотами: сменные карты портов (line cards), карты управления (supervisor), блоки питания. Для ядра сети.
  • Стекируемый — несколько фиксированных коммутаторов объединяются специальными кабелями и управляются как одно устройство.

Характеристики в datasheet

  • Switching capacity (Гбит/с) — суммарная пропускная способность. Считается в обе стороны (full-duplex): 48×1G + 4×10G = (48 + 40) × 2 = 176 Гбит/с. Если это число равно сумме портов × 2, коммутатор неблокирующий ( non-blocking): все порты могут работать на полной скорости одновременно.
  • Forwarding rate (Mpps, миллионов пакетов в секунду) — считается на минимальных кадрах 64 байта, потому что это худший случай. Один порт 1G на минимальных кадрах = 1.488 Mpps (64 байта кадра + 20 байт преамбулы и межкадрового промежутка = 672 бита; 10⁹ / 672 ≈ 1.488 млн).
  • Размер MAC-таблицы — сколько устройств коммутатор может запомнить.
  • Число VLAN, размер буфера, задержка (latency).
  • PoE budget — сколько ватт суммарно коммутатор может отдать в порты.

Маршрутизатор

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

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

  • снимает L2-заголовок и смотрит в IP-заголовок;
  • ищет маршрут по longest prefix match — это сложнее, чем точный поиск MAC;
  • уменьшает TTL и пересчитывает контрольную сумму IP-заголовка;
  • строит новый L2-заголовок: src MAC = свой выходной интерфейс, dst MAC = следующий hop;
  • часто выполняет NAT, firewall, VPN-шифрование, шейпинг трафика.

Кроме того, маршрутизатор стоит на границе сетей, поэтому у него бывают разные типы интерфейсов: Ethernet, оптика, LTE/5G-модем, исторически E1/T1, DSL. Коммутатор почти всегда только Ethernet.

Снаружи

  • Портов меньше, чем у коммутатора: от 2–8 у офисного до десятков у операторского. Он соединяет сети, а не подключает множество устройств.
  • WAN-порты — для подключения к провайдеру.
  • Слоты под модули — дополнительные интерфейсы: SFP, LTE-модем, голосовые порты.
  • Console, MGMT, USB (для обновлений и конфигов).
  • Два блока питания на серьёзных моделях.

Внутри

Небольшой маршрутизатор (филиал, офис):

  ┌──────────────────────────────────────────────────┐
  │   SoC: многоядерный CPU + аппаратные ускорители  │
  │   (шифрование, иногда fast path для пересылки)   │
  │                                                  │
  │   Здесь и control plane, и data plane:           │
  │   OSPF/BGP, таблица маршрутов, NAT, firewall,    │
  │   IPsec, и сама пересылка пакетов                │
  ├──────────────┬───────────────┬───────────────────┤
  │     RAM      │     Flash     │  Ethernet-порты / │
  │ (таблицы,    │ (ОС, конфиг)  │  модули WAN       │
  │  сессии NAT) │               │                   │
  └──────────────┴───────────────┴───────────────────┘

Большой маршрутизатор (провайдер, ядро интернета) — шасси с картами:

   ┌──────────────────────── ШАССИ ───────────────────────┐
   │                                                      │
   │  ┌──────────────┐  ┌──────────────┐                  │
   │  │ Route        │  │ Route        │  ← CONTROL PLANE │
   │  │ Processor #1 │  │ Processor #2 │    (резерв 1+1)  │
   │  │ CPU, RAM     │  │ (standby)    │    BGP, OSPF,    │
   │  │ RIB → FIB    │  │              │    построение    │
   │  └──────┬───────┘  └──────────────┘    таблиц        │
   │         │ рассылает FIB на все карты                 │
   │  ┌──────▼─────────────────────────────────────────┐  │
   │  │      Коммутационная фабрика (fabric cards)     │  │
   │  └──┬──────────────┬──────────────┬───────────────┘  │
   │  ┌──▼────────┐  ┌──▼────────┐  ┌──▼────────┐         │
   │  │ Line card │  │ Line card │  │ Line card │ ← DATA  │
   │  │ NPU + FIB │  │ NPU + FIB │  │ NPU + FIB │   PLANE │
   │  │ порты     │  │ порты     │  │ порты     │         │
   │  └───────────┘  └───────────┘  └───────────┘         │
   │                                                      │
   │  блоки питания (N+1), вентиляторные модули           │
   └──────────────────────────────────────────────────────┘

Route Processor (RP, supervisor, routing engine) — «мозг»: CPU, RAM, ОС. Общается с соседями по протоколам маршрутизации, вычисляет лучшие маршруты. Обычно их два для резерва: если активный упал, второй подхватывает работу без разрыва трафика.

Line card — карта с портами и собственным чипом пересылки. Пакет, пришедший на карту, обрабатывается её же NPU; через фабрику он передаётся только на ту карту, где находится выходной порт.

NPU (Network Processing Unit) — специализированный процессор для пакетов. Он сложнее, чем ASIC коммутатора: программируемый, умеет глубокие очереди, большие таблицы маршрутов, сложный QoS, туннели (MPLS, VXLAN, GRE). Примеры: Juniper Trio, Cisco Silicon One, Nokia FP, Broadcom Jericho.

Коммутационная фабрика — внутренняя высокоскоростная сеть между картами.

Большие буферы — у операторских маршрутизаторов память под пакеты исчисляется гигабайтами (внешняя HBM/DRAM), чтобы переживать всплески трафика на медленных каналах.

RIB и FIB

RIB (Routing Information Base) — таблица маршрутизации в control plane. Хранит все маршруты из всех источников: connected, static, OSPF, BGP. Для одной сети может быть несколько вариантов от разных протоколов.

FIB (Forwarding Information Base) — сжатая таблица в data plane: только лучший маршрут для каждого префикса, оптимизированная для быстрого поиска. Хранится в TCAM или в специальных структурах (tries, алгоритмические таблицы) внутри NPU.

Adjacency table — для каждого next hop готовый L2-заголовок (MAC-адрес соседа из ARP/ND), чтобы не искать его при каждом пакете.

 OSPF ─┐
 BGP  ─┼─▶ RIB ──выбор лучшего──▶ FIB ──загрузка──▶ NPU/ASIC
 static┘   (CPU, RAM)                                (аппаратно)

У Cisco этот механизм называется CEF (Cisco Express Forwarding).

Масштаб: полная таблица маршрутов интернета (full BGP view) — около миллиона IPv4-префиксов плюс сотни тысяч IPv6. Её должен вмещать FIB у маршрутизаторов на стыке с интернетом. Офисному роутеру это не нужно: ему хватает маршрута по умолчанию к провайдеру.

Путь пакета внутри маршрутизатора

  1. Приём кадра. Проверка FCS. dst MAC должен быть MAC-адресом этого интерфейса, иначе кадр не для нас.
  2. Снятие L2-заголовка. Дальше работаем с IP-пакетом.
  3. Проверка IP-заголовка: версия, контрольная сумма, длина. Если пакет адресован самому роутеру (SSH, OSPF, ping на его IP) — punt на CPU.
  4. TTL: если TTL ≤ 1 — drop и ответ ICMP Time Exceeded (так работает traceroute).
  5. Входные ACL / firewall: разрешён ли этот пакет.
  6. Lookup в FIB по dst IP, longest prefix match → next hop + выходной интерфейс. Нет маршрута — drop и ICMP Destination Unreachable.
  7. NAT (если настроен): подмена src или dst IP и порта, запись в таблицу сессий.
  8. Модификация: TTL − 1, пересчёт контрольной суммы IP.
  9. Новый L2-заголовок из adjacency table: src MAC = выходной интерфейс роутера, dst MAC = следующий hop. Если MAC next hop неизвестен — сначала ARP.
  10. Проверка MTU: не влезает — фрагментация (IPv4) или ICMP Fragmentation Needed / Packet Too Big.
  11. Выходные ACL, QoS, очередь, отправка.

Главное наблюдение: IP-адреса в пакете не меняются на всём пути (кроме NAT), а **MAC-адреса меняются на каждом hop **.

Программная vs аппаратная пересылка

  • Программная — пакеты пересылает CPU. Так работают домашние и небольшие офисные роутеры (MikroTik, Keenetic, большинство SOHO), а также маршрутизаторы на обычном сервере (Linux, VyOS, pfSense/OPNsense). Плюсы: дёшево, гибко, легко добавить любые функции. Минусы: производительность ограничена CPU, падает при включении NAT, firewall, VPN.
  • Аппаратная — пакеты пересылает NPU или ASIC. Так работают операторские и крупные корпоративные маршрутизаторы. Производительность — терабиты, независимо от числа правил.
  • Промежуточные варианты — fast path в SoC, DPDK / XDP на серверах, аппаратные ускорители шифрования.

Виды маршрутизаторов

  • Домашний / SOHO — комбайн (см. ниже).
  • Branch / CPE — в филиале или офисе: выход в интернет, VPN до головного офиса, firewall.
  • Enterprise edge — граница корпоративной сети, несколько провайдеров, BGP.
  • PE (Provider Edge) — у оператора, к нему подключаются клиенты.
  • P / Core — ядро сети оператора, только быстрая пересылка (часто MPLS).
  • Виртуальный — работает как VM или контейнер: в облаке (AWS VPC router, Azure VNet), Cisco CSR/Catalyst 8000v, VyOS.

Характеристики в datasheet

  • Throughput (Гбит/с) и pps — особенно на 64-байтных пакетах. Часто приводят отдельно «с NAT», «с firewall», «с IPsec» — цифры могут отличаться в разы.
  • Количество маршрутов в FIB / RIB.
  • Количество NAT-сессий / одновременных соединений.
  • VPN throughput и число туннелей.
  • Поддерживаемые протоколы: OSPF, BGP, MPLS, VRF, VXLAN и т.д.

L3-коммутатор vs маршрутизатор

Оба умеют маршрутизировать по IP. Разница в том, для чего оптимизирован чип.

L3-коммутатор Маршрутизатор
Основная задача Маршрутизация между VLAN внутри сети (кампус, ДЦ) Связь разных сетей, выход в интернет и WAN
Пересылка ASIC, line rate на всех портах NPU (крупные) или CPU (мелкие)
Портов Много (24–48+), все Ethernet Мало, разные типы интерфейсов
Таблица маршрутов Небольшая: тысячи–десятки тысяч До миллионов (full BGP view)
NAT, VPN, глубокий firewall Обычно нет или ограниченно Да
Буферы Небольшие Большие (для медленных WAN-каналов)
Цена за порт Низкая Высокая

Правило: внутри сети маршрутизирует L3-коммутатор, на границе с внешним миром стоит маршрутизатор (и/или firewall).

Домашний «роутер» — что внутри

Домашняя коробка с антеннами — это несколько устройств на одной плате:

  Интернет (провайдер)
         │
     ┌───▼───┐  WAN-порт
  ┌──┴───────┴────────────────────────────────────────┐
  │  SoC (MediaTek / Qualcomm / Broadcom)             │
  │  ┌─────────────────────────────────────────────┐  │
  │  │ CPU: маршрутизатор + NAT + firewall         │  │
  │  │      DHCP-сервер, DNS-forwarder, веб-админка│  │
  │  └───────┬─────────────────────────┬───────────┘  │
  │          │                         │              │
  │  ┌───────▼──────────┐    ┌─────────▼───────────┐  │
  │  │ Встроенный       │    │ Wi-Fi-радиомодули   │  │
  │  │ коммутатор (L2)  │    │ 2.4 / 5 / 6 ГГц     │  │
  │  │ на 4 LAN-порта   │    │ = точка доступа     │  │
  │  └──┬───┬───┬───┬───┘    └─────────┬───────────┘  │
  └─────┼───┼───┼───┼──────────────────┼──────────────┘
       LAN1 2   3   4              антенны
Функция Что делает
Маршрутизатор Пересылает пакеты между домашней сетью (LAN) и сетью провайдера (WAN)
NAT Все домашние устройства выходят в интернет под одним внешним IP
Firewall Не пускает входящие соединения извне, если их не просили
Коммутатор LAN-порты сзади — это обычный L2-коммутатор, часто отдельный чип
Точка доступа Wi-Fi Мост между радиоэфиром и проводной LAN (L2)
DHCP-сервер Раздаёт устройствам IP-адреса, маску, шлюз, DNS
DNS-forwarder Принимает DNS-запросы от устройств и пересылает их провайдеру
Модем (иногда) ONT для оптики (GPON), DSL- или LTE-модем: превращает сигнал провайдера в Ethernet

Поэтому в быту «роутер» — это вся коробка, а в серверной маршрутизатор, коммутатор, точка доступа и firewall — обычно разные устройства.

Сравнение

Коммутатор Маршрутизатор Домашний «роутер»
Уровень OSI L2 (L3-коммутатор — ещё и L3) L3 L2 + L3 + Wi-Fi + сервисы
Работает с MAC-адресами, VLAN IP-адресами, префиксами Всем понемногу
Главная таблица MAC-таблица Таблица маршрутизации (RIB/FIB) NAT-таблица + маршрут по умолчанию
Меняет кадр/пакет Почти нет (только VLAN-тег) Да: L2-заголовок, TTL, checksum, NAT Да
Чип пересылки Switching ASIC NPU / ASIC / CPU CPU в SoC + чип коммутатора
Портов Много Мало 1 WAN + 4 LAN
Где стоит Внутри сети: серверная, этаж, стойка На границе сетей Дома, в маленьком офисе

Коротко:

  • Коммутатор — «почтальон внутри здания»: знает, в какой кабинет (порт) нести письмо по имени получателя (MAC). Дешёвый быстрый чип, много портов.
  • Маршрутизатор — «сортировочный центр между городами»: смотрит на адрес (IP), решает, в какую сторону отправить, переклеивает транспортную наклейку (MAC) для следующего участка пути.
  • Внутри обоих одна и та же архитектура: быстрый специализированный чип для трафика + медленный CPU для управления.