Если вы когда-нибудь задавались вопросом, как же компьютеры в сети узнают друг друга и договариваются, кому посылать свои послания, то эта статья — именно для вас! Мы погрузимся в таинственный мир сетевой адресации, где правят физические адреса, IP-адреса и их хитрый посредник — протокол ARP. Узнаем, почему адреса Ethernet — это не просто набор цифр, как устроены IP-адреса и зачем нам протокол разрешения адресов. Плюс, по ходу дела — яркие примеры и сравнения, чтобы понять всё без лишнего занудства.


Что такое адрес Ethernet и физический (MAC) адрес?

Представьте, что сеть — это огромный город, а компьютеры — дома. Чтобы почтальон мог доставить письмо, у каждого дома должен быть уникальный адрес. В мире сетей такой уникальный адрес, который "пришивается" к каждой сетевой карте, называется физическим адресом Ethernet или MAC-адресом.

Этот адрес — 48-битовое число (6 байт), записанное обычно в виде шести групп по два шестнадцатеричных числа, например, 11-A0-17-3D-BC-01. Он назначается производителем и ни у кого другого не повторяется. Это как отпечаток пальца вашей сетевой платы!

Характеристика MAC-адреса Значение
Длина 48 бит (6 байт)
Формат 6 групп по 8 бит
Уникальность Гарантируется производителем
Назначение Идентификация сетевого интерфейса

Как формируется и назначается физический адрес Ethernet?

Производители покупают специальные блоки адресов у международной организации IEEE. Каждый блок содержит уникальные адреса, которые они присваивают сетевым платам. Это как если бы вы купили сотню уникальных почтовых адресов и раздавали их соседям — никто не повторится!

Если вы меняете сетевую карту, то меняется и физический адрес. Так что, в какой-то мере, физический адрес привязан к железу, а не к компьютеру. И это важно для понимания работы сети.


Типы адресов в Ethernet: кто кому посылает пакеты?

В Ethernet существует три типа адресов:

  • Одноадресатный (унicast) — адрес конкретной машины. Пакеты идут туда.
  • Многоадресатный (multicast) — пакет идёт группе машин, которые "записались" в этот список. Например, все компьютеры, которые любят смотреть одно и то же видео одновременно.
  • Широковещательный (broadcast) — пакет идёт всем компьютерам сети. Как будто громко кричишь на улице: "Всем внимание!"

Уникальный широковещательный адрес — это 48 единиц (FF:FF:FF:FF:FF:FF).

Тип адреса Описание Пример применения
Одноадресатный Пакет к одному получателю Сервер отправляет данные клиенту
Многоадресатный Пакет группе устройств Видеоконференции
Широковещательный Пакет всем компьютерам сети Поиск нового устройства в сети

Как сетевая плата фильтрует пакеты по физическим адресам?

Ваша сетевая плата — настоящий секретный агент. В сети все пакеты шлются всем подряд (особенно если используется хаб), и именно плата решает: "А это для меня?" Она проверяет адрес получателя в поле пакета и пропускает дальше только те, что совпадают с её MAC-адресом, либо широковещательные и многоадресатные. Остальные просто игнорируются. Это экономит ресурсы компьютера и снижает нагрузку на процессор.


Проблема сопоставления IP-адресов и физических адресов

IP-адрес — это уже адрес на сетевом уровне, который легче запомнить и назначать программно. Но для того, чтобы отправить пакет по физической сети, нужно знать физический MAC-адрес получателя.

Проблема в том, что машина А знает IP-адрес машины В, но не знает её MAC-адрес. Значит, нужно как-то отобразить IP в MAC — и именно это делает протокол ARP (Address Resolution Protocol).


Способы разрешения адресов и роль ARP

Как это делается?

  • Некоторые протоколы просто хранят таблицы соответствий IP-MAC.
  • В некоторых сетях физический адрес можно вывести из IP-адреса (как в proNET-10).
  • В Ethernet с его 48-битным MAC-адресом и динамическими условиями таблицы — плохо масштабируемы.
  • Поэтому используют ARP — протокол, который динамически и автоматически находит MAC по IP.

Протокол ARP посылает широковещательный запрос: "Кто у вас IP такой-то? Подскажите MAC!" И машина с таким IP отвечает своим MAC.


Как работает протокол ARP: запросы и ответы

Процесс простой, но гениальный.

  • Машина А хочет отправить пакет машине В.
  • У неё есть IP В, нет MAC В.
  • А рассылает всем в сети ARP-запрос с IP В.
  • Все получают этот запрос, но отвечает только машина с IP В, сообщая свой MAC.
  • А записывает в свой кэш эту пару (IP В — MAC В).
  • Теперь А может слать пакеты напрямую по MAC.

Вот таблица процесса:

Шаг Действие
1 А знает IP В, не знает MAC В
2 А посылает ARP-запрос широковещательно
3 Машина с IP В отвечает MAC В
4 А обновляет кэш ARP и использует MAC В для передачи

Формат сообщений ARP

ARP — это как почтовая карточка с заполненными полями.

Основные поля:

Поле Значение и описание
Тип оборудования Тип физической сети (например, Ethernet — 1)
Тип протокола Тип верхнего протокола (IP — 0x0800)
Длина MAC-адреса Обычно 6 байт
Длина протокольного адреса Обычно 4 байта для IP
Операция Запрос (1) или ответ (2)
MAC отправителя Физический адрес отправителя
IP отправителя IP-адрес отправителя
MAC получателя Физический адрес получателя (для запроса может быть пустым)
IP получателя IP-адрес получателя

Кэш ARP: зачем он нужен и как работает

Повторять ARP-запросы при каждой отправке пакета — это было бы как каждый раз кричать "Где такой-то дом?", вызывая шум на всю улицу. Поэтому устройства запоминают недавно найденные пары IP-MAC в кэше ARP.

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


Проблемы ARP и их решения

  • Если машина с новым MAC не обновит кэш у других — пакеты потеряются.
  • Запросы ARP могут теряться, приходится повторять.
  • Широковещание — дорогой ресурс, но используется только при необходимости.
  • Кэш фиксированного размера может переполниться при большом трафике ARP.
  • ARP уязвим для атак, так как не проверяет достоверность ответов (спуфинг).

Типы адресов в TCP/IP-сетях

В компьютерных сетях TCP/IP у каждого узла минимум три вида адресов:

  • Физический (MAC) адрес — локальный, жёстко привязанный к сетевому интерфейсу.
  • Сетевой (IP) адрес — логический, назначается администратором или провайдером.
  • Символьный (DNS-имя) — удобочитаемое имя, которое переводится в IP.

Структура IP-адреса и классы

IP-адрес — 32-битное число, обычно записывается как 4 десятичных числа через точку (например, 192.168.1.1).

IP-адрес состоит из двух частей:

  • Номер сети
  • Номер узла

Существуют классы:

Класс Начальные биты Размер сети Число узлов в сети Диапазон адресов
A 0 1 байт До 16 млн узлов 1.0.0.0 — 126.0.0.0
B 10 2 байта До 65536 узлов 128.0.0.0 — 191.255.0.0
C 110 3 байта До 256 узлов 192.0.1.0 — 223.255.255.0
D 1110 multicast Групповой адрес 224.0.0.0 — 239.255.255.255
E 11110 резерв Зарезервировано 240.0.0.0 — 247.255.255.255

Стек протоколов TCP/IP

Почти как стопка тортов! Каждый слой протоколов отвечает за свою часть задачи.

Уровень Протоколы и роль
4. Прикладной HTTP, FTP, DNS — для работы с пользовательскими данными
3. Транспортный TCP, UDP — обеспечивает доставку данных
2. Межсетевой IP — маршрутизация и логическая адресация
1. Канальный Ethernet, Wi-Fi — передача кадров по физической сети

ARP работает на уровне канального интерфейса, помогая мостить IP к физическим адресам.


IPv4 и IPv6: эволюция адресации

IPv4 — старожил с 32-битным адресом, примерно 4.3 миллиарда адресов. Кажется много, но интернет растет, и их стало не хватать.

IPv6 — новый стандарт с 128-битной адресацией, которая даст столько адресов, что на каждого муравья на Земле можно назначить миллион IP! Кроме того, у IPv6 другая структура и способы назначения адресов.

IPv6 адрес пишется в виде восьми групп из четырёх шестнадцатеричных цифр, например:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Итоги и советы

  • Физический MAC-адрес уникален и "приклеен" к сетевой плате.
  • IP-адрес — логический адрес для маршрутизации пакетов.
  • Протокол ARP решает проблему сопоставления IP с MAC динамически.
  • Кэш ARP — ваш друг, он снижает нагрузку и трафик.
  • Не забывайте, что ARP уязвим и может вызвать сетевые проблемы.
  • Понимание адресации — первый шаг к мастерству в сетях!

FAQ

1. Что делать, если ARP-кэш устарел?
Компьютер удалит старые записи по таймеру и заново запросит адреса.

2. Можно ли вручную задать MAC-адрес?
Да, некоторые сетевые карты позволяют менять MAC-адрес программно.

3. Что такое широковещательный адрес?
Это адрес, по которому посылается пакет всем устройствам в сети.

4. Почему ARP использует широковещание, если это дорого?
Это компромисс для динамического поиска MAC-адресов, который оптимизируется кэшированием.

5. В чем разница между IP и MAC адресом?
MAC — физический, уникален для сетевой платы; IP — логический, назначается сети.


Чек-лист для понимания адресации в сети

  • [x] Помню, что MAC-адрес — уникальный физический идентификатор устройства
  • [x] Знаю, что IP-адрес — логический адрес узла в сети
  • [x] Понимаю, как ARP сопоставляет IP и MAC через запросы и ответы
  • [x] В курсе, что кэш ARP экономит сетевой трафик и ускоряет работу
  • [x] Отличаю типы адресов Ethernet: одноадресатные, многоадресатные и широковещательные
  • [x] Знаком с основами IP-адресов и их классами
  • [x] Понимаю, что стек TCP/IP организован в четыре уровня
  • [x] Знаю отличие IPv6 от IPv4 и причины появления IPv6

Теперь, вооружившись этой магией адресов, вы можете не бояться сложных сетевых вопросов и даже немного покорить мир Ethernet!