Терминология¶
- Маршрутизатор и роутер (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),
таблицы ОС, процессы.
Путь кадра внутри коммутатора¶
- PHY принимает электрический или оптический сигнал, превращает его в биты.
- MAC-блок собирает кадр, проверяет FCS. Если кадр битый — drop.
- Parser разбирает заголовки: src MAC, dst MAC, VLAN-тег (802.1Q), EtherType. В L3-коммутаторе ещё и IP-заголовок.
- Learning: запись «src MAC → входной порт, VLAN» добавляется или обновляется в MAC-таблице. Записи стареют — обычно через 300 секунд без трафика удаляются (aging).
- Lookup: ищется dst MAC в MAC-таблице:
- нашёлся → один выходной порт;
- не нашёлся или broadcast → flooding во все порты этого VLAN, кроме входного.
- ACL / QoS: проверка по правилам в TCAM. Можно отбросить кадр, поменять приоритет, посчитать в счётчике.
- Буфер и очередь: кадр кладётся в очередь выходного порта (их обычно 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), чтобы не искать его при каждом пакете.
У Cisco этот механизм называется CEF (Cisco Express Forwarding).
Масштаб: полная таблица маршрутов интернета (full BGP view) — около миллиона IPv4-префиксов плюс сотни тысяч IPv6. Её должен вмещать FIB у маршрутизаторов на стыке с интернетом. Офисному роутеру это не нужно: ему хватает маршрута по умолчанию к провайдеру.
Путь пакета внутри маршрутизатора¶
- Приём кадра. Проверка FCS. dst MAC должен быть MAC-адресом этого интерфейса, иначе кадр не для нас.
- Снятие L2-заголовка. Дальше работаем с IP-пакетом.
- Проверка IP-заголовка: версия, контрольная сумма, длина. Если пакет адресован самому роутеру (SSH, OSPF, ping на его IP) — punt на CPU.
- TTL: если TTL ≤ 1 — drop и ответ ICMP Time Exceeded (так работает traceroute).
- Входные ACL / firewall: разрешён ли этот пакет.
- Lookup в FIB по dst IP, longest prefix match → next hop + выходной интерфейс. Нет маршрута — drop и ICMP Destination Unreachable.
- NAT (если настроен): подмена src или dst IP и порта, запись в таблицу сессий.
- Модификация: TTL − 1, пересчёт контрольной суммы IP.
- Новый L2-заголовок из adjacency table: src MAC = выходной интерфейс роутера, dst MAC = следующий hop. Если MAC next hop неизвестен — сначала ARP.
- Проверка MTU: не влезает — фрагментация (IPv4) или ICMP Fragmentation Needed / Packet Too Big.
- Выходные 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 для управления.