Сетевые основы: подсети, MAC, DNS, DHCP, NAT

Oct, 22, 2025

🌐 Подсети, маски и адресное пространство IPv4

Сетевая маска подсети (subnet mask) — это бинарный шаблон, который определяет, какая часть IP-адреса используется для идентификации сети (network ID), а какая — для идентификации узла (host ID) внутри этой сети.
Маска представляет собой 32-битное значение, где единицы (1) обозначают биты сетевого префикса, а нули (0) — биты узла.

🧩 Структура IPv4-адреса

IPv4-адрес состоит из 32 бит, обычно представленных в виде четырёх октетов в десятичной точке:

192.168.10.15  11000000.10101000.00001010.00001111

При применении маски подсети выполняется побитовое логическое "И" (AND) между IP-адресом и маской, что позволяет выделить сетевой префикс.

Пример:

IP:    192.168.10.15      11000000.10101000.00001010.00001111
Mask:  255.255.255.0      11111111.11111111.11111111.00000000
--------------------------------------------------------------
Net:   192.168.10.0        11000000.10101000.00001010.00000000

Таким образом, адрес 192.168.10.15 принадлежит сети 192.168.10.0/24, где /24 указывает количество бит в маске, выделенных под сетевую часть (CIDR-нотация).


🧮 CIDR и VLSM

Современная система адресации использует концепции:

  • CIDR (Classless Inter-Domain Routing) — безклассовая маршрутизация, заменившая устаревшие классы A, B, C.
    CIDR позволяет гибко задавать длину сетевого префикса (/8/30 и т.д.), что повышает эффективность использования адресного пространства.
  • VLSM (Variable Length Subnet Masking) — переменная длина маски подсети, позволяющая создавать подсети разного размера в пределах одной адресной области.

📌 Преимущества CIDR/VLSM:

  • уменьшение потерь IP-адресов;
  • агрегирование маршрутов (route summarization);
  • повышение эффективности таблиц маршрутизации.

cidr


🔗 Типы адресов в пределах подсети

Каждая подсеть содержит несколько зарезервированных адресов:

НазначениеПримерОписание
Network address192.168.10.0Идентификатор подсети, не назначается узлам
Usable hosts192.168.10.1 – 254Доступные IP для устройств
Broadcast address192.168.10.255Широковещательный адрес для всех узлов в сети

📡 Шлюз и маршрутизация

Шлюз по умолчанию (default gateway) — это сетевой интерфейс маршрутизатора, через который узел передаёт пакеты за пределы своей подсети.
При отправке пакета:

  1. Если IP-адрес назначения принадлежит той же сети (определяется маской), пакет отправляется напрямую по ARP (Address Resolution Protocol).
  2. Если адрес находится вне сети, пакет перенаправляется через шлюз.

Пример конфигурации маршрута:

ip route add default via 192.168.10.1

В таблице маршрутизации Linux шлюз отображается как:

ip route show
default via 192.168.10.1 dev eth0
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.15

📖 Нормативные документы:


🔗 MAC-адреса и ARP

MAC-адрес (Media Access Control) — уникальный идентификатор сетевого интерфейса, встроенный на уровне канального уровня (L2).
Формат: 00:1A:2B:3C:4D:5E

ARP (Address Resolution Protocol) используется для сопоставления IP-адресов с MAC-адресами в локальной сети.

Пример таблицы ARP:

ip neigh show

🔹 Процесс:

  1. Узел посылает широковещательный ARP-запрос.
  2. Узел с соответствующим IP отвечает своим MAC-адресом.
  3. Ответ кэшируется в таблице ARP.

📖 RFC 826 — Address Resolution Protocol


🌍 DNS — принципы работы и записи

DNS (Domain Name System) — иерархическая система разрешения имён в IP-адреса.
Она переводит, например, example.com93.184.216.34.

Типы записей:

ЗаписьНазначениеПример
AIPv4-адресexample.com → 93.184.216.34
AAAAIPv6-адресexample.com → 2606:2800:220:1:248:1893:25c8:1946
CNAMEАлиас имениwww → example.com
MXПочтовый сервер10 mail.example.com
NSDNS-сервер зоныns1.example.com

Для диагностики:

dig example.com

📖 RFC 1034, RFC 1035 — Domain Names


⚙️ DHCP — автоматическая выдача адресов

DHCP (Dynamic Host Configuration Protocol) — протокол автоматической выдачи IP-адресов и сетевых параметров.

DHCP может назначать:

  • IP-адрес;
  • маску подсети;
  • шлюз;
  • DNS-серверы.

📖 RFC 2131 — Dynamic Host Configuration Protocol


🔁 NAT и PAT — трансляция адресов

NAT (Network Address Translation) — механизм преобразования частных IP-адресов во внешние публичные.
Используется на границе локальной сети и Интернета.

PAT (Port Address Translation) — разновидность NAT, при которой несколько внутренних хостов используют один внешний IP с разными портами.

Пример:

192.168.1.10:52345  203.0.113.5:80
192.168.1.11:52346  203.0.113.5:80

Команда для отображения таблицы NAT:

sudo iptables -t nat -L -n -v

📖 RFC 3022 — Traditional NAT


📚 Сводка

ТехнологияУровень OSIОсновная функция
MAC / ARPКанальный (L2)Определение физического адреса
IP / Маски / ШлюзыСетевой (L3)Адресация и маршрутизация
DNS / DHCPПрикладной (L7)Разрешение имён и конфигурация узлов
NAT / PATСетевой (L3)Трансляция адресов между сетями

🧭 Все эти механизмы совместно обеспечивают маршрутизацию, адресацию и доступность узлов в локальных и глобальных сетях.

Сетевые основы: подсети, MAC, DNS, DHCP, NAT | Aleksandr Suprun