Что такое Ethernet, MAC-адрес, коммутатор и ARP?
Ethernet — это семейство технологий и стандартов (IEEE 802.3) для передачи данных в проводных локальных сетях (LAN), работающее на канальном уровне модели OSI (L2).
MAC-адрес (Media Access Control Address) — уникальный аппаратный идентификатор сетевого интерфейса, «прошитый» производителем на заводе.
Коммутатор (Switch) — устройство канального уровня, соединяющее устройства в локальной сети и интеллектуально пересылающее кадры на основе MAC-адресов.
ARP (Address Resolution Protocol) — протокол, определяющий MAC-адрес устройства по его известному IP-адресу в пределах одной локальной сети.
Аналогия из жизни: представьте многоквартирный дом. Ethernet — это система внутренних коридоров и дверей. MAC-адрес — номер квартиры, который не меняется. Коммутатор — это консьерж, который знает, в какую сторону направить посылку. ARP — это когда вы спрашиваете «Кто живёт в квартире 5?» и получаете ответ «Это я, Иванов».
Ethernet
- Определяет формат кадра (frame), правила доступа к среде передачи
- Скорости: Fast Ethernet (100 Мбит/с), Gigabit Ethernet (1 Гбит/с), 10G Ethernet (10 Гбит/с), 25G, 40G, 100G
- Кадр Ethernet содержит: MAC-адрес получателя, MAC-адрес отправителя, тип протокола (EtherType), полезные данные (payload), контрольную сумму (FCS)
Структура кадра Ethernet
Пример
┌──────────────┬──────────────┬───────────┬──────────────────────┬─────┐
│ Dst MAC (6B) │ Src MAC (6B) │ Type (2B) │ Payload (46–1500 B) │ FCS │
└──────────────┴──────────────┴───────────┘──────────────────────┴─────┘
- MTU (Maximum Transmission Unit) — максимальный размер полезной нагрузки кадра. Для Ethernet по умолчанию — 1500 байт
- FCS (Frame Check Sequence) — контрольная сумма (CRC-32) для обнаружения ошибок при передаче
MAC-адрес
- 48 бит (6 байт), записывается в шестнадцатеричном формате:
AA:BB:CC:DD:EE:FF - Первые 3 байта — OUI (Organizationally Unique Identifier) — идентификатор производителя
- Последние 3 байта — уникальный номер устройства, назначенный производителем
- Используется для адресации в пределах локальной сети (L2)
FF:FF:FF:FF:FF:FF— широковещательный (broadcast) адрес — кадр доставляется всем устройствам в сегменте сети
Коммутатор (Switch)
- Хранит таблицу MAC-адресов (CAM table — Content Addressable Memory): MAC-адрес → порт коммутатора
- Получив кадр, смотрит MAC-адрес получателя в таблице и отправляет кадр только в нужный порт (в отличие от хаба, который отправляет всем)
- Если MAC-адрес не найден — отправляет кадр во все порты, кроме входного (flooding)
- Обучается автоматически: запоминает MAC-адрес отправителя и порт, с которого пришёл кадр
| Свойство | Хаб (Hub) | Коммутатор (Switch) |
|---|---|---|
| Уровень OSI | L1 (физический) | L2 (канальный) |
| Пересылка | Все порты | Только нужный порт |
| Коллизии | Одна коллизионная область | Каждый порт — отдельная область |
| Интеллект | Нет (повторитель) | Таблица MAC-адресов |
ARP (Address Resolution Protocol)
Процесс работы ARP:
- Компьютер A хочет отправить пакет компьютеру B (IP:
192.168.1.5), но не знает его MAC-адрес - A отправляет ARP-запрос (broadcast на
FF:FF:FF:FF:FF:FF): «У кого IP192.168.1.5? Ответьте на мой MACAA:BB:CC:11:22:33» - Все устройства в сети получают запрос, но отвечает только B
- B отправляет ARP-ответ (unicast): «
192.168.1.5— это я, мой MAC:DD:EE:FF:44:55:66» - A сохраняет результат в ARP-кэше (временная таблица IP → MAC)
Пример
Компьютер A Компьютер B
(192.168.1.10) (192.168.1.5)
| |
|--- ARP Request (broadcast) ----------->| "Кто 192.168.1.5?"
| (dst: FF:FF:FF:FF:FF:FF) |
| |
|<-- ARP Reply (unicast) ----------------| "Это я, MAC: DD:EE:FF:44:55:66"
| |
| Сохраняю в ARP-кэш |
Посмотреть ARP-кэш: arp -a (Windows/Linux).
Вывод
Ethernet, MAC-адреса, коммутаторы и ARP — фундамент работы локальных сетей. Ethernet задаёт формат передачи, MAC обеспечивает адресацию на L2, коммутатор интеллектуально маршрутизирует кадры внутри LAN, а ARP связывает мир IP-адресов (L3) с миром MAC-адресов (L2).
На собеседовании: часто спрашивают, чем коммутатор отличается от хаба и маршрутизатора. Коммутатор работает на L2 (по MAC), маршрутизатор — на L3 (по IP). Также важно понимать ARP — он объясняет, как пакет «находит» нужную машину в локальной сети.