🌐 Подсети, маски и адресное пространство 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);
- повышение эффективности таблиц маршрутизации.

🔗 Типы адресов в пределах подсети
Каждая подсеть содержит несколько зарезервированных адресов:
| Назначение | Пример | Описание |
|---|---|---|
| Network address | 192.168.10.0 | Идентификатор подсети, не назначается узлам |
| Usable hosts | 192.168.10.1 – 254 | Доступные IP для устройств |
| Broadcast address | 192.168.10.255 | Широковещательный адрес для всех узлов в сети |
📡 Шлюз и маршрутизация
Шлюз по умолчанию (default gateway) — это сетевой интерфейс маршрутизатора, через который узел передаёт пакеты за пределы своей подсети.
При отправке пакета:
- Если IP-адрес назначения принадлежит той же сети (определяется маской), пакет отправляется напрямую по ARP (Address Resolution Protocol).
- Если адрес находится вне сети, пакет перенаправляется через шлюз.
Пример конфигурации маршрута:
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
📖 Нормативные документы:
- RFC 791 — Internet Protocol (IPv4)
- RFC 950 — Internet Standard Subnetting Procedure
- RFC 4632 — Classless Inter-Domain Routing (CIDR)
🔗 MAC-адреса и ARP
MAC-адрес (Media Access Control) — уникальный идентификатор сетевого интерфейса, встроенный на уровне канального уровня (L2).
Формат: 00:1A:2B:3C:4D:5E
ARP (Address Resolution Protocol) используется для сопоставления IP-адресов с MAC-адресами в локальной сети.
Пример таблицы ARP:
ip neigh show
🔹 Процесс:
- Узел посылает широковещательный ARP-запрос.
- Узел с соответствующим IP отвечает своим MAC-адресом.
- Ответ кэшируется в таблице ARP.
📖 RFC 826 — Address Resolution Protocol
🌍 DNS — принципы работы и записи
DNS (Domain Name System) — иерархическая система разрешения имён в IP-адреса.
Она переводит, например, example.com → 93.184.216.34.
Типы записей:
| Запись | Назначение | Пример |
|---|---|---|
| A | IPv4-адрес | example.com → 93.184.216.34 |
| AAAA | IPv6-адрес | example.com → 2606:2800:220:1:248:1893:25c8:1946 |
| CNAME | Алиас имени | www → example.com |
| MX | Почтовый сервер | 10 mail.example.com |
| NS | DNS-сервер зоны | 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
📚 Сводка
| Технология | Уровень OSI | Основная функция |
|---|---|---|
| MAC / ARP | Канальный (L2) | Определение физического адреса |
| IP / Маски / Шлюзы | Сетевой (L3) | Адресация и маршрутизация |
| DNS / DHCP | Прикладной (L7) | Разрешение имён и конфигурация узлов |
| NAT / PAT | Сетевой (L3) | Трансляция адресов между сетями |
🧭 Все эти механизмы совместно обеспечивают маршрутизацию, адресацию и доступность узлов в локальных и глобальных сетях.