ОБУЧАЕМ С НУЛЯ
IP-АДРЕСА
И АДРЕСАЦИЯ
В СЕТЯХ
Глава 05
Ананко · Качур
Цели главы
СТРУКТУРА ГЛАВЫ
IPv4
  • Понятие и структура — 32 бита, октеты
  • Маска и префикс — граница «сеть / узел»
  • Классы и CIDR — деление сети
  • Виды адресов и рассылки — unicast · multicast · broadcast
IPv6
  • 128 бит — восемь гекстетов
  • Сокращение — ведущие нули и ::
  • Типы — unicast · multicast · anycast
  • link-local — обязательный адрес канала
Глава 05 · Введение
5.0 · Зачем два адреса
ЗАЧЕМ КОМПЬЮТЕРУ ДВА АДРЕСА

Один «вшит» в железо навсегда, второй ему кто-то назначает. На первый взгляд — избыточность. На деле — два разных инструмента для двух задач, и убрать любой нельзя.

аналогия

Посылка другу. На коробке две подписи: адрес дома («куда») и ФИО («кому»). Почта ведёт коробку по адресу, а у двери человек сверяет ФИО.

коробка → пакет
адрес дома
IP
ФИО
MAC
5.0 · Два адреса
5.0 · Зачем два адреса
ПОЧЕМУ НУЖНЫ ОБА
Только имя (MAC)

Не знаем, где живёт человек — пришлось бы обходить всех: «а вы не Петров?». У почты нет способа понять по имени, куда вести коробку.

Только адрес (IP)

Даже зная адрес дома, посылка может не найти адресата: человек мог переехать. Имя остаётся при нём независимо от квартиры.

под запись

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

5.0 · Два адреса
5.0 · Интерактив
ПОСЫЛКА → ПАКЕТ

Убери одну подпись — и доставка ломается. Нужны оба.

5.0 · Посылка
5.0 · Определения
MAC-АДРЕС
под запись
MAC · Media Access Control

уникальный числовой идентификатор размером 48 бит, который однозначно идентифицирует устройство в локальной сети и позволяет устройствам взаимодействовать напрямую. Работает на канальном уровне (L2) модели OSI.

Записывается в hex: F4-46-37-55-24-86 — человеку читать удобнее, чем 11110100 01000110 … Главное свойство: MAC встроен в сетевую плату и в норме неизменен. Небольшое исключение — намеренная подмена MAC в целях безопасности или анонимизации.

5.0 · Определения
5.0 · Определения
IPv4-АДРЕС
под запись
IPv4 · Internet Protocol v4

уникальный числовой идентификатор размером 32 бита, идентифицирует устройство в любых сетях. Работает на сетевом уровне (L3). Записывается в десятичном виде: 192.168.10.1. Главное свойство — маршрутизация между сетями. Не встроен: назначается статически или динамически.

5.0 · Определения
5.0 · Сравнение
MAC vs IP
MACIP (IPv4)
Размер48 бит32 бита
Записьhexдесятичная
Уровень OSIL2 · канальныйL3 · сетевой
Областьлокальная сетьлюбые сети
Происхождениевшит в платуназначается
АналогияФИОадрес дома
5.0 · Сравнение
5.0 · Цифры
В ЦИФРАХ
48 бит
размер MAC-адреса
32 бита
размер IPv4 · 2³² ≈ 4,3 млрд
2019
год, когда IPv4 кончились
5.0 · Цифры
5.1.1 · Структура IPv4
ОТКУДА 32 БИТА

Устройства оперируют не «числами 192.168.15.1», а нулями и единицами. Размер адреса продиктован полями заголовка IP-пакета (RFC 791): поля Source Address и Destination Address — ровно по 32 бита (4 байта) каждое.

решение

Октет. 32 бита делят на 4 группы по 8 бит, каждую переводят в десятичную систему и разделяют точками. Аналогия — телефонный номер: 8 (916) 123-45-67 вместо слитного.

5.1.1 · Структура
5.1.1 · Интерактив
ОКТЕТ-КОНВЕРТЕР · кликай биты
0
128
0
64
0
32
0
16
0
8
0
4
0
2
0
1

5.1.1 · Октет
5.1.1 · Интерактив
32 БИТА → 4 ОКТЕТА → АДРЕС
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0.0.0.0

5.1.1 · Адрес
5.1.1 · Интерактив
ОБРАТНО · ВЫЧИТАНИЕМ ВЕСОВ
число:
5.1.1 · Обратный перевод
5.1.1 · Обозначение
ПОЛНОЕ И СОКРАЩЁННОЕ

На схемах IP-адреса подписывают двумя способами: полным (у каждого интерфейса весь адрес) и сокращённым (адрес сети, а у интерфейсов — только последняя цифра). Сокращённая форма экономит место на плотных схемах.

Полное
192.168.15.1
192.168.15.2
192.168.15.3
Сокращённое
сеть 192.168.15.0
.1 · .2 · .3
5.1.1 · Обозначение
5.1.2 · Немного истории
КОГДА ПК БЫЛО ПО ПАЛЬЦАМ

В начале компьютеров в сети было мало — их буквально можно было пересчитать по пальцам. Раздавать адреса можно было крупными кусками, не задумываясь об экономии. Так появилась классовая адресация: весь диапазон поделили на классы, и по первому октету сразу видно, к какому классу относится адрес и где в нём граница «сеть / узел».

идея класса

Класс = заранее заданная граница «сеть/узел». Класс A — сеть в 1-м октете, узлы в трёх; B — 2+2; C — 3 октета сеть, 1 октет узлы. Смотришь на первый октет — знаешь класс.

5.1.2 · История
5.1.2 · Классы
КЛАССЫ · ИНДИКАТОР В 1-М ОКТЕТЕ
Класс1-й октетСеть / узлыМаскаУзлов
A1 – 126N.H.H.H255.0.0.0 · /8≈16,7 млн
B128 – 191N.N.H.H255.255.0.0 · /1665 534
C192 – 223N.N.N.H255.255.255.0 · /24254
D224 – 239multicast (групповые)
E240 – 255эксперименты
как считать

192.168.1.7 → первый октет 192 → класс C → сеть 192.168.1.0, узлов 254.

10.0.5.3 → 10 → класс A → сеть 10.0.0.0, узлов миллионы.

Минус классов: сети только трёх «фиксированных» размеров — расточительно. Дальше это исправит CIDR (маска в любом бите).

5.1.2 · Классы
5.1.2 · Маска подсети
МАСКА ПОДСЕТИ

Адрес 192.168.15.1 сам по себе не говорит: какая часть — сеть, какая — узел, и сколько устройств поместится. В ipconfig рядом с IP всегда стоит маска подсети — они ходят парой.

под запись
Маска подсети

32-битное число, которое делит IP-адрес на сетевую и узловую части. Где в маске 1 — бит относится к сети; где пошли 0 — начинается узел. Единицы всегда слева непрерывно.

вывод на ПК · командная строка
IPv4 Address . . . . . : 192.168.1.233
Subnet Mask . . . . . : 255.255.255.0
5.1.2 · Маска
5.1.2 · Полный расчёт
РАЗБИВАЕМ ПО ОКТЕТАМ

Адрес 192.168.15.1 с маской 255.255.255.0. Переведём в двоичный и наложим маску: где в маске 1 — сеть, где 0 — узел.

1 октет2 октет3 октет4 октет
IP · 10192168151
IP · 211000000101010000000111100000001
Маска · 211111111111111111111111100000000
Маска · 102552552550
ЧастьСЕТЕВАЯ (биты = 1)УЗЛОВАЯ (0)
адрес сети
192.168.15.0
широковещательный
192.168.15.255
узлов · 2⁸ − 2
254
5.1.2 · Полный расчёт
5.1.2 · Интерактив
МАСКА-ТРАФАРЕТ + ПРЕФИКС

Пример адреса 192.168.10.20. Двигай слайдер (префикс 0…32) — граница «сеть / узел» едет по адресу. Тёмное — сеть, оранжевое — узлы.

5.1.2 · Маска
5.1.2 · Маска подсети
ПЕРВАЯ ЦЕЛЬ МАСКИ — РАЗМЕР

Сколько адресов вмещает сеть? Это определяется числом свободных (узловых) битов:

Q = 2N

где Q — ёмкость сети, N — количество битов в узловой части. Для маски 255.255.255.0 свободен весь 4-й октет (8 бит): Q = 2⁸ = 256.

5.1.2 · Маска
5.1.3 · Длина префикса
ПРЕФИКС ↔ МАСКА

Краткая запись маски: /24 = 24 сетевых бита. Наведи на строку — подсветится соответствие.

ПрефиксМаскаQ=2ᴺузлов −2
/8255.0.0.01677721616777214
/16255.255.0.06553665534
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
5.1.3 · Префикс
5.1.4 · Понятия
УЗЕЛ · ПОДСЕТЬ
узел

Узел (host) — любое устройство в сети со своим IP: ПК, телефон, принтер, интерфейс маршрутизатора. Узловая часть адреса — это его номер внутри сети.

подсеть

Подсеть — часть большой сети, «нарезанная» под свою группу узлов. Каждая подсеть — со своим адресом сети и своим широковещательным адресом.

5.1.4 · Понятия
5.1.4 · Виды адресов
ТРИ ВИДА АДРЕСОВ В СЕТИ
Адрес сети

первый адрес диапазона, узловая часть — все нули. «Имя» сети, интерфейсу не назначается.

Адреса узлов

всё между ними — их можно назначать устройствам.

Широковещательный

последний адрес, узловая часть — все единицы. Сообщение сразу всем.

5.1.4 · Виды адресов
5.1.4 · Интерактив
СЕТЬ · УЗЛЫ · ШИРОКОВЕЩАТЕЛЬНЫЙ

Сеть 192.168.10.0/24 — это 256 адресов подряд. Шагай по ним кнопкой и смотри, какой адрес чем занят.

192.168.10.0
.0 сеть.1 – .254 узлы (можно назначить).255 широковещ.
Q = 2⁸ = 256; узлов 2⁸ − 2 = 254
5.1.4 · Ось сети
5.1.5 · Шлюз
ШЛЮЗ ПО УМОЛЧАНИЮ

Как распределять узловые адреса — решает владелец сети. Негласное правило: шлюзу дают первый или последний узловой адрес (.1 или .254) — инженер в незнакомой сети почти наверняка угадает.

под запись
Шлюз по умолчанию

интерфейс устройства уровня L3 (обычно маршрутизатора), через который трафик уходит из сети. «Свой» — вручается напрямую; «чужой» — отправляют на шлюз.

5.1.5 · Шлюз
5.1.5 · Настройка
УСТРОЙСТВО ЗНАЕТ ТРИ ВЕЩИ

Устройство всегда знает о себе три параметра: свой IP-адрес, свою маску подсети и адрес шлюза по умолчанию. Их задают вручную или автоматически по DHCP. Посмотреть — командой ipconfig (Windows) или ifconfig (Linux).

IPv4 Address . . . . : 192.168.1.233
Subnet Mask . . . . : 255.255.255.0
Default Gateway . . : 192.168.1.1
5.1.5 · Настройка
5.1.6 · Вторая цель маски
ПОБИТОВОЕ «И» · СВОЙ / ЧУЖОЙ

Вторая цель маски — понять, в одной ли сети ПК1 и ПК2. IP И маска даёт адрес сети у каждого. Совпали → свой; где биты сети не совпали — подсвечиваем, это «чужой» через шлюз.

ПК1 
ПК2 
маска 
5.1.6 · Побитовое И
5.1.7–9 · Интерактив
ТРИ РАССЫЛКИ

Смотри, кто обрабатывает кадр, а кто откидывает.

5.1.7 · Рассылки
5.1.8 · Multicast
ГРУППОВОЙ · ДИАПАЗОНЫ

Под групповую рассылку зарезервирован 224.0.0.0 – 239.255.255.255. Внутри — зоны ответственности:

  • 224.0.0.0 – 224.0.0.255 — служебный трафик в пределах локальной сети (не пересылается)
  • 224.0.1.0 – 238.255.255.255 — групповая рассылка через Интернет
  • 239.0.0.0 – 239.255.255.255 — частные домены организаций
  • По умолчанию все узлы подписаны на 224.0.0.1 — «все узлы в подсети».

    как считается MAC группы

    Групповой IP отображается в MAC 01-00-5E-xx-xx-xx: в младшие 23 бита MAC копируются младшие 23 бита IP.
    239.193.1.15 → младшие 23 бита → 01-00-5E-41-01-0F. Коммутатор по этому MAC и рассылает группе.

    5.1.8 · Multicast
    5.1.9 · Широковещательный адрес
    ШИРОКОВЕЩАТЕЛЬНЫЙ IP-АДРЕС

    Один пакет — всем узлам сети сразу. Узловая часть адреса — все единицы. Бывает двух видов:

    направленный
    последний адрес сети

    узловая часть = все единицы. Для сети 192.168.10.0/24 это 192.168.10.255. Доставляется всем узлам этой сети; маршрутизатор может донести его до неё.

    ограниченный
    255.255.255.255

    «всем в моей локальной сети». Не маршрутизируется — не выходит за пределы широковещательного домена. Так работают ARP-запрос и первичный запрос DHCP.

    В IPv6 широковещательного адреса нет — его роль выполняет групповая рассылка (FF02::1).

    5.1.9 · Широковещательный
    5.1.10 · Интерактив
    ШИРОКОВЕЩАТЕЛЬНЫЙ ДОМЕН И ШТОРМ

    Broadcast обходит весь домен. Маршрутизатор R1 — граница домена: он не пропускает broadcast дальше. Убери его — и один кадр разрастётся в шторм на обе сети.

    5.1.10 · Домен
    5.1.11 · Частные адреса
    ДИАПАЗОНЫ ЧАСТНЫХ · RFC 1918
    ДиапазонМаскаГде
    10.0.0.0/8255.0.0.0крупные сети
    172.16.0.0/12255.240.0.0средние
    192.168.0.0/16255.255.0.0дом и офис
    NAT

    Частные адреса в Интернете не маршрутизируются. На границе NAT подменяет частный адрес источника на публичный — как секретарь, ведущий переписку от своего имени.

    5.1.11 · Частные
    5.1.12 · Спец-адреса
    СПЕЦИАЛЬНЫЕ АДРЕСА
    ДиапазонНазначение
    127.0.0.0/8loopback — проверка своего стека (127.0.0.1)
    169.254.0.0/16APIPA — сам себе адрес при отказе DHCP; не маршрутизируется
    192.0.2.0/24TEST-NET — адреса для обучения и примеров в документации
    5.1.12 · Спец-адреса
    5.1.14 · Интерактив
    «ДЕЛИМ СЕТЬ» · КЛАССЫ → CIDR

    Преподаватель пишет на доске сеть и говорит: «делим». Берём биты из узловой части под номер подсети — двигай ручку и смотри, как меняются подсети и узлы.

    192.168.1.0/24
    бит под подсети:
    5.1.14 · CIDR
    5.2 · IPv6
    IPv4 ЗАКОНЧИЛИСЬ

    Адресов IPv4 всего 2³² ≈ 4,3 млрд — не хватило (2019). Решение — IPv6: 128 бит.

    2³²
    ≈ 4,3 млрд · IPv4
    2¹²⁸
    песчинки на всех пляжах · IPv6
    5.2 · IPv6
    5.2 · Структура IPv6
    ВОСЕМЬ ГЕКСТЕТОВ

    128 бит записывают 32 hex-цифрами. Формат x:x:x:x:x:x:x:x, где каждый x — 4 hex-цифры (16 бит). Группу из 4 hex-цифр называют гекстет. Восемь гекстетов по 16 бит = 128 бит.

    2001:0db8:0000:0000:0a00:0027:fea8:3ebd

    Полный адрес длинный — есть два правила сокращения, применяют по порядку.

    5.2 · Структура
    5.2 · Интерактив
    IPv6-КОМПРЕССОР
    правило 1

    Ведущие нули в каждом гекстете можно убрать: 0db8db8, 00000.

    правило 2

    Одну цепочку из подряд идущих нулевых гекстетов заменяют на :: — но только один раз в адресе.

    5.2 · Сокращение
    5.2 · Интерактив
    ТИПЫ IPv6 · НЕТ ШИРОКОВЕЩАНИЯ

    Тот же принцип: кадр от ПК1 идёт на коммутатор, дальше — по типу адреса.

    5.2 · Типы IPv6
    5.2 · Unicast IPv6
    ИНДИВИДУАЛЬНЫЕ АДРЕСА
    Глобальный (GUA)

    аналог публичного IPv4, маршрутизируется в Интернете

    Локальный в канале (link-local)

    FE80::/10 — общение в пределах канала; обязателен у каждого интерфейса, создаётся сам

    Уникальный локальный (unique local)

    FC00::/7 — аналог частных IPv4, не маршрутизируется глобально

    Префикс LAN обычно /64: 64 бита — сеть, 64 — идентификатор интерфейса. В IPv6 у интерфейса штатно несколько адресов сразу.

    5.2 · Unicast
    5.2 · Link-local
    LINK-LOCAL ПОДРОБНЕЕ

    Локальный адрес канала позволяет общаться с соседями по тому же каналу — и только по нему, в пределах одной подсети. Пакеты с таким адресом не выходят за пределы канала: маршрутизатор не переносит их в другую подсеть. GUA устройству не обязателен, а link-local обязан быть у каждого IPv6-интерфейса: если не задан вручную — создаётся автоматически. Благодаря этому узлы находят друг друга и шлюз сразу, без настройки.

    ключевое

    В IPv4 у интерфейса обычно один IP. В IPv6 штатно сосуществует несколько: обязательный link-local для «разговоров с соседями» и, при необходимости, GUA для выхода в большой мир.

    5.2 · Link-local
    5.2.8 · Групповые IPv6
    ГРУППОВЫЕ IPv6-АДРЕСА

    Групповая рассылка (multicast) в IPv6 делится на два вида:

    присвоенный групповой

    используется для передачи данных группе устройств. Хорошо известные адреса:
    FF02::1 — все узлы,
    FF02::2 — все маршрутизаторы.

    адрес запрошенного узла

    пакеты с таким адресом предназначены только запрошенным узлам. Это точечный групповой адрес FF02::1:FFxx:xxxx — разбираем дальше.

    5.2.8 · Групповые
    5.2 · Адрес запрошенного узла
    АДРЕС ЗАПРОШЕННОГО УЗЛА · FF02::1:FFxx:xxxx

    Точечный групповой адрес: последние 24 бита копируются из unicast-адреса интерфейса.

    5.2 · Solicited-node
    5.2 · Multicast IPv6
    ГРУППОВЫЕ FF00::/8
  • FF02::1 — «все узлы» (замена broadcast)
  • FF02::2 — «все маршрутизаторы»
  • Адрес запрошенного узла FF02::1:FFxx:xxxx — точечно к одному соседу; последние 24 бита копируются из unicast-адреса
  • идея

    IPv6 отказался от «крика на весь двор» в пользу аккуратного multicast: ко всем (FF02::1), к категории (FF02::2) или к одному соседу. Меньше шума — тот же принцип «контролируй домен».

    5.2 · Multicast
    Проверь себя
    Викторина
    Нажми «Старт»
    ВЕРНО
    0
    ВСЕГО
    0

    Кликай ответ · листай кнопками

    Глава 05 · Викторина
    Словарь · 1/2
    СЛОВАРЬ ГЛАВЫ
    MAC (Media Access Control)

    48-битный ID устройства в LAN, L2, hex, вшит

    IPv4

    32-битный ID, L3, десятичный, маршрутизируется

    IPv6

    128-битный преемник, 8 гекстетов

    Октет

    группа 8 бит; IPv4 = 4 октета

    Гекстет

    4 hex-цифры (16 бит) в IPv6

    Маска подсети

    32-битное число, делит адрес на сеть/узел

    Длина префикса

    /N — число сетевых битов

    Ёмкость Q

    Q=2ᴺ; узлов Q=2ᴺ−2

    Адрес сети

    первый адрес, узловая часть — нули

    Broadcast-адрес

    последний, узловая часть — единицы

    Шлюз

    L3-выход из сети, обычно .1/.254

    Побитовое И

    1 только при двух единицах → адрес сети

    Глава 05 · Словарь
    Словарь · 2/2
    СЛОВАРЬ ГЛАВЫ
    unicast

    одному узлу; источник всегда unicast

    broadcast

    всем узлам; прямой и ограниченный 255.255.255.255

    multicast

    группе подписчиков; 224.0.0.0–239.255.255.255

    anycast

    IPv6: один адрес на многих, до ближайшего

    Широковещательный домен

    область broadcast без маршрутизатора (L2)

    Частные адреса

    10/8, 172.16/12, 192.168/16; RFC 1918

    NAT

    подмена частного адреса на публичный

    Loopback 127.0.0.0/8

    самопроверка стека

    APIPA 169.254/16

    сам себе адрес при отказе DHCP

    DHCP

    автовыдача из пула на время аренды

    CIDR

    граница сеть/узел в любом бите

    link-local FE80::/10

    обязателен, в пределах канала

    Глава 05 · Словарь
    ГЛАВА 06
    ДАЛЬШЕ —
    ПОДСЕТИ

    Мы научились читать адрес и маску. В главе 6 — как резать сеть на подсети под нужный размер.

    Глава 06 · Разбиение на подсети →
    Ананко · Качур · VK · TG