Основи мережевої адресації: IP-адреси та маски підмереж¶
Вступ¶
Цей гайд пояснює базові концепції мережевої адресації — як комп'ютери знаходять один одного в мережі, що таке IP-адреса, навіщо потрібні маски підмереж, і як це все працює разом.
Частина 1: Що таке IP-адреса?¶
Аналогія з поштовою адресою¶
IP-адреса — це як поштова адреса для комп'ютера в мережі. Коли ти відправляєш листа, потрібно вказати:
- Країну
- Місто
- Вулицю
- Номер будинку
IP-адреса працює схоже — вона вказує де саме в мережі знаходиться пристрій.
Формат IPv4 адреси¶
IPv4 адреса складається з 4 чисел (октетів), розділених крапками:
192.168.1.100
│ │ │ │
│ │ │ └── Четвертий октет (0-255)
│ │ └───── Третій октет (0-255)
│ └───────── Другий октет (0-255)
└───────────── Перший октет (0-255)
Кожен октет — це число від 0 до 255.
Чому саме 0-255?¶
Кожен октет — це 8 біт (1 байт). В двійковій системі:
- 8 біт можуть представити числа від 00000000 до 11111111
- В десятковій системі це 0-255
- Всього 256 можливих значень
Двійково: 11000000.10101000.00000001.01100100
Десятково: 192 .168 .1 .100
Загальна кількість IPv4 адрес¶
4 октети × 8 біт = 32 біти
2³² = 4,294,967,296 адрес (приблизно 4.3 мільярди)
Здається багато? Насправді це вже замало для сучасного інтернету!
Частина 2: Структура IP-адреси¶
Дві частини адреси¶
Кожна IP-адреса складається з двох частин:
┌─────────────────────┬─────────────────────┐
│ МЕРЕЖЕВА ЧАСТИНА │ ХОСТОВА ЧАСТИНА │
│ (Network ID) │ (Host ID) │
├─────────────────────┼─────────────────────┤
│ Визначає мережу │ Визначає пристрій │
│ (вулиця) │ (номер будинку) │
└─────────────────────┴─────────────────────┘
Приклад:
IP: 192.168.1.100
└──┬───┘ └┬┘
│ └── Хост #100 в цій мережі
└───────── Мережа 192.168.1.x
Звідки знати де закінчується мережа і починається хост?¶
Саме для цього потрібна маска підмережі (subnet mask)!
Частина 3: Маска підмережі¶
Що таке маска?¶
Маска підмережі — це спеціальне число, яке показує яка частина IP-адреси відноситься до мережі, а яка — до хоста.
Формат маски¶
Маска виглядає як IP-адреса:
255.255.255.0
Але в двійковому вигляді вона особлива — спочатку йдуть всі одиниці, потім всі нулі:
255 .255 .255 .0
│ │ │ │
▼ ▼ ▼ ▼
11111111.11111111.11111111.00000000
└────────────┬───────────┘└───┬────┘
│ │
Мережева Хостова
частина частина
Як маска працює?¶
Маска накладається на IP-адресу:
- Де в масці 1 — це мережева частина
- Де в масці 0 — це хостова частина
IP-адреса: 192.168.1.100
11000000.10101000.00000001.01100100
Маска: 255.255.255.0
11111111.11111111.11111111.00000000
├────────────────────────┤├───────┤
Мережа (24 біти) Хост (8 біт)
Результат: Мережа = 192.168.1.0
Хост = .100
CIDR нотація (скорочений запис)¶
Замість писати повну маску, можна вказати кількість "одиничних" біт:
| Маска | CIDR | Біти мережі | Біти хоста |
|---|---|---|---|
| 255.0.0.0 | /8 | 8 | 24 |
| 255.255.0.0 | /16 | 16 | 16 |
| 255.255.255.0 | /24 | 24 | 8 |
| 255.255.255.128 | /25 | 25 | 7 |
| 255.255.255.192 | /26 | 26 | 6 |
| 255.255.255.224 | /27 | 27 | 5 |
| 255.255.255.240 | /28 | 28 | 4 |
| 255.255.255.248 | /29 | 29 | 3 |
| 255.255.255.252 | /30 | 30 | 2 |
Приклад записів:
192.168.1.100/24 = 192.168.1.100 з маскою 255.255.255.0
10.0.0.1/8 = 10.0.0.1 з маскою 255.0.0.0
172.16.0.1/16 = 172.16.0.1 з маскою 255.255.0.0
Частина 4: Розрахунок підмереж¶
Скільки хостів в підмережі?¶
Формула: 2^(кількість нульових біт) - 2
Чому мінус 2?
- Перша адреса — адреса мережі (network address)
- Остання адреса — широкомовна адреса (broadcast)
| Маска | Біти хоста | Всього адрес | Доступно хостів |
|---|---|---|---|
| /24 | 8 | 256 | 254 |
| /25 | 7 | 128 | 126 |
| /26 | 6 | 64 | 62 |
| /27 | 5 | 32 | 30 |
| /28 | 4 | 16 | 14 |
| /29 | 3 | 8 | 6 |
| /30 | 2 | 4 | 2 |
Приклад розрахунку для 192.168.1.0/24¶
Мережа: 192.168.1.0/24
Маска: 255.255.255.0
Адреса мережі: 192.168.1.0 (не можна присвоїти хосту)
Перший хост: 192.168.1.1
Останній хост: 192.168.1.254
Broadcast: 192.168.1.255 (не можна присвоїти хосту)
Всього хостів: 254
Приклад розрахунку для 192.168.1.0/26¶
Мережа: 192.168.1.0/26
Маска: 255.255.255.192
Чому 192? В двійковій: 11000000 = 128 + 64 = 192
Адреса мережі: 192.168.1.0
Перший хост: 192.168.1.1
Останній хост: 192.168.1.62
Broadcast: 192.168.1.63
Всього хостів: 62
Частина 5: Приватні та публічні адреси¶
Публічні адреси¶
Унікальні адреси в глобальному інтернеті. Видаються провайдерами.
Приватні адреси (RFC 1918)¶
Зарезервовані діапазони для локальних мереж:
| Діапазон | CIDR | Кількість адрес | Типове використання |
|---|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16,777,216 | Великі корпоративні мережі |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1,048,576 | Середні мережі |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65,536 | Домашні мережі |
Спеціальні адреси¶
| Адреса | Призначення |
|---|---|
| 127.0.0.0/8 | Loopback (localhost) |
| 169.254.0.0/16 | Link-local (APIPA) |
| 0.0.0.0 | "Будь-яка адреса" |
| 255.255.255.255 | Глобальний broadcast |
Частина 6: Практичні приклади¶
Приклад 1: Домашня мережа¶
Роутер: 192.168.1.1/24
Комп'ютер: 192.168.1.100/24
Телефон: 192.168.1.101/24
Принтер: 192.168.1.200/24
Всі в одній мережі 192.168.1.0/24 — бачать один одного напряму.
Приклад 2: Офіс з відділами¶
Відділ продажів: 192.168.10.0/24 (254 хости)
Відділ розробки: 192.168.20.0/24 (254 хости)
Бухгалтерія: 192.168.30.0/24 (254 хости)
Сервери: 192.168.100.0/24 (254 хости)
Кожен відділ — окрема мережа. Для комунікації між ними потрібен роутер.
Приклад 3: Точка-точка з'єднання¶
Роутер A: 10.0.0.1/30
Роутер B: 10.0.0.2/30
/30 дає тільки 2 хости — ідеально для з'єднання двох роутерів.
Економимо адреси!
Частина 7: Як визначити чи хости в одній мережі?¶
Алгоритм¶
- Візьми IP-адресу першого хоста
- Застосуй маску (AND операція)
- Отримай адресу мережі
- Повтори для другого хоста
- Якщо адреси мережі однакові — хости в одній мережі
Приклад¶
Хост A: 192.168.1.100/24
Хост B: 192.168.1.200/24
Хост C: 192.168.2.50/24
Хост A: 192.168.1.100 AND 255.255.255.0 = 192.168.1.0
Хост B: 192.168.1.200 AND 255.255.255.0 = 192.168.1.0
Хост C: 192.168.2.50 AND 255.255.255.0 = 192.168.2.0
Результат: A і B в одній мережі, C — в іншій.
Швидка шпаргалка¶
Популярні маски¶
| CIDR | Маска | Хостів | Використання |
|---|---|---|---|
| /8 | 255.0.0.0 | 16M | Величезні мережі |
| /16 | 255.255.0.0 | 65K | Великі організації |
| /24 | 255.255.255.0 | 254 | Стандартна LAN |
| /25 | 255.255.255.128 | 126 | Половина /24 |
| /26 | 255.255.255.192 | 62 | Четвертина /24 |
| /27 | 255.255.255.224 | 30 | Невеликий офіс |
| /28 | 255.255.255.240 | 14 | Мала група |
| /29 | 255.255.255.248 | 6 | DMZ, сервери |
| /30 | 255.255.255.252 | 2 | Point-to-point |
| /32 | 255.255.255.255 | 1 | Один хост |
Швидкий розрахунок¶
/24 = 256 адрес, крок 1
/25 = 128 адрес, крок 128
/26 = 64 адреси, крок 64
/27 = 32 адреси, крок 32
/28 = 16 адрес, крок 16
/29 = 8 адрес, крок 8
/30 = 4 адреси, крок 4
Наступна частина: IPv6 адресація
Шлях: networking/basics/ipv4.md