Перейти до вмісту

Модуль 3.1: Основи TCP/IP

Hands-On Lab Available
Ubuntu intermediate 35 min
Launch Lab ↗

Opens in Killercoda in a new tab

Основи мереж | Складність: [MEDIUM] | Час: 30–35 хв

Перед початком цього модуля:


Що ви зможете робити після цього модуля

Розділ «Що ви зможете робити після цього модуля»

Після завершення цього модуля ви зможете:

  • Відстежити TCP-з’єднання від SYN до FIN та пояснити, що відбувається на кожному кроці
  • Розрахувати діапазони підмереж з CIDR-нотації та визначити, чи перебувають дві IP-адреси в одній мережі
  • Діагностувати мережеві проблеми, інтерпретуючи вивід ping, traceroute та ss
  • Пояснити, як таблиці маршрутизації Linux визначають, куди підуть пакети

Чому цей модуль важливий

Розділ «Чому цей модуль важливий»

Кожен под Kubernetes, кожен сервіс, кожен запит через Ingress — усі вони працюють на базі стеку TCP/IP. Коли мережа не працює, вам потрібно розуміти фундамент, на якому вона побудована.

Розуміння TCP/IP допоможе вам:

  • Виправляти помилки зв’язку — чому мій под не може достукатися до іншого сервісу?
  • Розуміти мережі Kubernetes — як насправді працюють Services, NodePorts та LoadBalancers?
  • Вирішувати проблеми з продуктивністю — це затримка (latency), втрата пакетів чи неправильна маршрутизація?
  • Налаштовувати мережі — підмережі, CIDR, маршрути (routes).

Коли curl зависає, коли пакети зникають, коли затримка різко зростає — вам потрібні знання TCP/IP.


  • TCP був розроблений, щоб вижити в ядерній війні — попередник Інтернету, ARPANET, фінансувався DARPA (Міноборони США). Здатність TCP/IP обходити вузли, що вийшли з ладу, походить саме з цього військового минулого.

  • «Тристороннє рукостискання» (SYN, SYN-ACK, ACK) потребує 1.5 повних цикли передачі (RTT) — саме тому TCP-з’єднання мають вищу затримку, ніж UDP. При затримці в 100мс вам знадобиться 150мс тільки на те, щоб встановити зв’язок.

  • IP-адреси — це просто числа довжиною 32 біти (IPv4) або 128 біт (IPv6). Уся магія маршрутизації відбувається з цими простими цифрами. 32 біти IPv4 дають нам близько 4.3 мільярда адрес, які вже закінчилися, тому ми переходимо на IPv6.


Модель OSI проти моделі TCP/IP

Розділ «Модель OSI проти моделі TCP/IP»
┌─────────────────────────────────────────────────────────────────┐
│ Модель OSI │ Модель TCP/IP │
├─────────────────────────────────────────────────────────────────┤
│ 7. Прикладний │ │
│ 6. Представлення │ Прикладний │
│ 5. Сеансовий │ (HTTP, DNS, SSH) │
├─────────────────────────────────────────────────────────────────┤
│ 4. Транспортний │ Транспортний │
│ (TCP, UDP) │ (TCP, UDP) │
├─────────────────────────────────────────────────────────────────┤
│ 3. Мережевий │ Міжмережевий (Internet) │
│ (IP) │ (IP) │
├─────────────────────────────────────────────────────────────────┤
│ 2. Канальний │ │
│ 1. Фізичний │ Мережевий доступ │
│ (Ethernet, WiFi) │ (Ethernet) │
└─────────────────────────────────────────────────────────────────┘

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

Розділ «Структура IPv4-адреси»
IP-адреса: 192.168.1.100
Двійкова: 11000000.10101000.00000001.01100100
Маска підмережі: 255.255.255.0 (або /24)
Двійкова: 11111111.11111111.11111111.00000000
Мережа: 192.168.1.0 (перші 24 біти)
Хост: .100 (останні 8 біт)

CIDR нотація (популярні маски)

Розділ «CIDR нотація (популярні маски)»
CIDRМаскаК-сть хостівВикористання
/32255.255.255.2551Конкретний хост
/24255.255.255.0254Мала мережа
/16255.255.0.065,534Мережа компанії
/8255.0.0.016 млнВелика мережа

TCP: Надійний, впорядкований

Розділ «TCP: Надійний, впорядкований»
Клієнт Сервер
│ │
│────────── SYN (Привіт, давай з'єднаємось) ──▶│
│ │
│◀───────── SYN-ACK (Привіт, давай!) ──────────│
│ │
│────────── ACK (Окей, починаємо дані) ───────▶│
│ │
│ З'ЄДНАННЯ ВСТАНОВЛЕНО │

Особливості:

  • Гарантує доставку пакетів.
  • Зберігає порядок даних.
  • Використовується для HTTP, баз даних, SSH.

UDP: Швидкий, простий

Розділ «UDP: Швидкий, простий»

Особливості:

  • Немає “рукостискання”.
  • Немає гарантії доставки.
  • Мінімальні затримки.
  • Використовується для DNS, стрімінгу відео, ігор.

Маршрутизація (Routing)

Розділ «Маршрутизація (Routing)»

Таблиця маршрутизації каже ядру, куди відправляти пакети для різних адрес.

Terminal window
# Подивитися таблицю маршрутизації
ip route
  • default via … — це ваш “шлюз за замовчуванням” (Gateway). Туди йдуть усі пакети, для яких немає точного правила.

ПортСервісПротокол
22SSHTCP
53DNSUDP/TCP
80HTTPTCP
443HTTPSTCP
6443Kubernetes APITCP
Terminal window
# Подивитися відкриті порти
ss -tulpn

  1. Що таке CIDR /24?

    Відповідь Це маска підмережі 255.255.255.0. Вона означає, що перші 24 біти адреси належать мережі, а останні 8 біт — конкретному комп'ютеру в ній. Це дає можливість підключити 254 пристрої.
  2. Яка головна перевага UDP над TCP?

    Відповідь Швидкість. UDP не витрачає час на встановлення з'єднання та підтвердження отримання кожного байта даних. Це критично для дзвінків та онлайн-ігор.
  3. Яка команда в Linux показує IP-адреси на мережевих інтерфейсах?

    Відповідь `ip addr` (або застаріла `ifconfig`).
  4. Що таке Default Gateway?

    Відповідь Це "вихід" із вашої мережі в інші мережі (зазвичай в Інтернет). Якщо ваш комп'ютер не знає, де знаходиться отримувач пакета, він відправляє його на Default Gateway.

Завдання: Дослідити мережеві налаштування своєї системи.

  1. Подивіться всі свої IP-адреси:
    Terminal window
    ip -br addr
  2. Знайдіть свій шлюз за замовчуванням:
    Terminal window
    ip route | grep default
  3. Перевірте, які порти зараз “слухають” на вашій машині:
    Terminal window
    sudo ss -tlnp
  4. Спробуйте дізнатися шлях пакета до сервера Google:
    Terminal window
    traceroute -m 10 8.8.8.8

Критерії успіху: Ви розумієте свою мережеву адресу та знаєте, як перевірити порти.


  • TCP/IP — мова, якою спілкується Інтернет та Kubernetes.
  • IP-адреса ідентифікує машину, Порт ідентифікує програму на ній.
  • TCP — надійність, UDP — швидкість.
  • Routing — це дорожня карта для пакетів у мережі.

Далі: Модуль 3.2: DNS в Linux — дізнайтеся, як текстові імена перетворюються на IP-адреси.