book1

3.7.1 Адреса (Addresses)

Главная идея

Сегментировать данные недостаточно — каждый пакет должен знать куда идти. За доставку отвечают два уровня: Network (сетевой) и Data Link (канальный), и у каждого свои адреса с разными задачами.


Два типа адресов

УровеньТип адресаЗадача
Network (L3)IP-адрес (логический)Доставить пакет от источника до конечного получателя — даже через разные сети
Data Link (L2)MAC-адрес (физический)Доставить фрейм от одной сетевой карты (NIC) до другой в пределах одной сети

Что содержит каждый уровень — по схеме

УровеньЧто передаётся
PhysicalБиты синхронизации и тайминга
Data LinkMAC-адреса источника и получателя (физические)
NetworkIP-адреса источника и получателя (логические)
TransportПорты источника и получателя (номера процессов)
Upper LayersЗакодированные данные приложения


Аналогия

Представь посылку:

  • IP-адрес — это адрес города и улицы (куда везти в целом)
  • MAC-адрес — это кто передаёт посылку из рук в руки на каждом конкретном участке пути

Пакет может пройти через несколько роутеров — IP-адрес назначения не меняется, а MAC-адреса меняются на каждом участке пути.


3.7.2 Layer 3 — Логический IP-адрес

Что такое IP-адрес?

IP-адрес — это логический адрес уровня 3 (Network), который используется для доставки пакета от источника до конечного получателя, независимо от того, сколько роутеров на пути.

Пример из схемы

IP-пакет на всём пути содержит одни и те же адреса:

  • Source IP: 192.168.1.110 (PC1)
  • Destination IP: 172.16.1.99 (сервер)

Эти адреса не меняются на протяжении всего маршрута.


IP-пакет содержит два адреса

АдресЧто это
Source IPIP-адрес отправителя
Destination IPIP-адрес получателя

Структура IP-адреса — две части

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

ЧастьIPv4IPv6Что означает
Сетевая частьNetwork portionPrefixЛевая часть адреса — определяет сеть. У всех устройств одной сети она одинакова
Хостовая частьHost portionInterface IDПравая часть — уникально идентифицирует конкретное устройство в сети

Пример

Адрес 192.168.1.110 с маской /24:

  • 192.168.1 — сетевая часть (все устройства в этой сети имеют такой же префикс)
  • 110 — хостовая часть (уникальна для этого устройства)

Маска подсети (subnet mask) в IPv4 и длина префикса (prefix-length) в IPv6 — это то, что показывает, где заканчивается сетевая часть и начинается хостовая.


3.7.3 Устройства в одной сети

Сценарий

PC1 отправляет данные на FTP-сервер, и оба находятся в одной сети (192.168.1.x):

УстройствоIP-адресMAC-адрес
PC1 (отправитель)192.168.1.110AA-AA-AA-AA-AA-AA
FTP Server (получатель)192.168.1.9CC-CC-CC-CC-CC-CC

Как выглядит фрейм

Смотри на схему — фрейм содержит два уровня адресации одновременно:


Ключевой момент — как понять, что устройства в одной сети?

Сравниваем сетевую часть IP-адресов:

IP-адресСетевая частьХостовая часть
PC1192.168.1.110192.168.1110
FTP Server192.168.1.9192.168.19

Сетевая часть одинакова → устройства в одной сети → роутер не нужен, трафик идёт напрямую через свитч.


Вывод

Когда Source и Destination находятся в одной сети:

  • IP-адреса указывают конечных отправителя и получателя
  • MAC-адреса в фрейме — это MAC самого PC1 и MAC FTP-сервера напрямую
  • Пакет не выходит за пределы локальной сети

3.7.4 Роль адресов канального уровня — одна IP-сеть

Главная мысль

Когда отправитель и получатель находятся в одной сети, фрейм Data Link (Ethernet) отправляется напрямую на устройство-получатель. Адреса канального уровня в сети Ethernet называются MAC-адресами.


Что происходит в этом примере

На схеме выделены (желтым) MAC-адреса — именно они используются в заголовке Ethernet фрейма:

PC1 (отправитель)FTP Server (получатель)
IP-адрес192.168.1.110192.168.1.9
MAC-адресAA-AA-AA-AA-AA-AACC-CC-CC-CC-CC-CC

Структура фрейма


Ключевой вывод

Когда оба устройства в одной сети:

  • MAC Destination = MAC самого FTP-сервера (напрямую)
  • MAC Source = MAC самого PC1
  • Роутер не задействован — фрейм идёт прямо через свитч

3.7.6 Роль адресов сетевого уровня — разные сети

Сценарий: PC1 → Web Server (разные сети)

УстройствоIP-адресMAC-адрес
PC1192.168.1.110AA-AA-AA-AA-AA-AA
R1 (шлюз PC1)192.168.1.111-11-11-11-11-11
R2 (шлюз сервера)172.16.1.122-22-22-22-22-22
Web Server172.16.1.99AB-CD-EF-12-34-56

Сетевые части разные: 192.168.1.x172.16.1.x → нужен роутер.


Главное отличие от предыдущей темы

IP-адреса не меняются на всём пути:

Source IP: 192.168.1.110  →  всегда одинаковый
Dest IP:   172.16.1.99    →  всегда одинаковый

MAC-адреса меняются на каждом участке:

Участок путиDst MACSrc MAC
PC1 → R111-11-11-11-11-11 (MAC роутера R1)AA-AA-AA-AA-AA-AA (MAC PC1)
R1 → R2MAC интерфейса R2MAC интерфейса R1
R2 → Web ServerAB-CD-EF-12-34-56 (MAC сервера)22-22-22-22-22-22 (MAC R2)

На схеме первый фрейм (PC1 → R1):

Dst MAC: 11-11-11-11-11-11  ← это MAC роутера R1, не сервера!
Src MAC: AA-AA-AA-AA-AA-AA
Source IP: 192.168.1.110
Dest IP:   172.16.1.99

Ключевой вывод

Когда устройства в разных сетях — PC1 не может отправить фрейм напрямую серверу. Он отправляет его на шлюз по умолчанию (default gateway) — то есть на роутер R1. MAC-адрес назначения в первом фрейме — это MAC роутера, а не конечного сервера.

Роутер на каждом “прыжке” (hop) снимает старый фрейм и создаёт новый с нужными MAC-адресами для следующего участка — IP при этом не трогает.


3.7.7 Роль адресов канального уровня — разные IP-сети

Проблема

Когда получатель в другой сети — PC1 не может отправить фрейм напрямую на Web Server, потому что сервер недостижим напрямую в локальной сети PC1.

Решение — Default Gateway (шлюз по умолчанию)

PC1 отправляет фрейм на роутер R1 — это и есть шлюз по умолчанию.


Что записывается в фрейм (первый участок: PC1 → R1)

ПолеЗначениеПояснение
Src MACAA-AA-AA-AA-AA-AAMAC самого PC1
Dst MAC11-11-11-11-11-11MAC роутера R1 ← не сервера!
Source IP192.168.1.110IP PC1 — не меняется
Dest IP172.16.1.99IP Web Server — не меняется

На схеме выделены желтым именно эти два MAC — PC1 и R1, потому что они в одной локальной сети.


Что происходит дальше

PC1 ──фрейм──► R1 (снимает фрейм, смотрит IP, создаёт новый фрейм)
               R1 ──новый фрейм──► R2 ──► Web Server

R1 получает фрейм, снимает Ethernet-заголовок, смотрит на IP-адрес назначения и создаёт новый фрейм для следующего участка — и так до конца.


Важное правило

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

Итоговая формула:

СитуацияDst MAC в фрейме
Получатель в той же сетиMAC самого получателя
Получатель в другой сетиMAC шлюза по умолчанию (роутера)

Главная идея

MAC-адрес (Layer 2) служит только для доставки фрейма от одной сетевой карты (NIC) до другой в пределах одного участка сети. На каждом “прыжке” (hop) фрейм пересоздаётся заново.


Три этапа пути — три разных фрейма

Смотри на три схемы:

1️⃣ Host → Router (PC1 → R1)

L2 (MAC)L3 (IP)
SourceMAC PC1 (зелёный)192.168.1.110
DestinationMAC R1 (зелёный)172.16.1.99

2️⃣ Router → Router (R1 → R2)

L2 (MAC)L3 (IP)
SourceMAC R1 выходной NIC (серый)192.168.1.110
DestinationMAC R2 входной NIC (серый)172.16.1.99

3️⃣ Router → Server (R2 → Web Server)

L2 (MAC)L3 (IP)
SourceMAC R2 выходной NIC (синий)192.168.1.110
DestinationMAC Web Server (синий)172.16.1.99

Что меняется, что остаётся

L3 (IP-адреса):   НЕ МЕНЯЮТСЯ на всём пути ✓
L2 (MAC-адреса):  МЕНЯЮТСЯ на каждом участке ✗→✓

Правило роутера

Когда роутер получает фрейм:

  1. Снимает L2-заголовок (старый MAC)
  2. Смотрит на IP-адрес назначения в L3
  3. Создаёт новый L2-заголовок с MAC-адресами для следующего участка
  4. Отправляет через нужный NIC дальше

Source MAC — всегда MAC той NIC, которая отправляет фрейм Destination MAC — MAC следующего устройства (роутера или конечного получателя)

computernetworks