Шпаргалка: основи мереж
OSI/TCP-IP, HTTP, DNS, TCP/UDP, IP, Ethernet — коротко й по суті. Відкривайте з будь-якого уроку в змісті.
Шари OSI і TCP/IP
OSI (7 шарів)
Модель для навчання: фізичний → канальний → мережевий → транспортний → сеансовий → представницький → прикладний. Кожен шар обслуговує шар вище.
Запамʼятайте знизу вгору: фізика, кадри (L2), маршрути (L3), наскрізна доставка (L4), решта — додатки.
TCP/IP (4 шари)
Практичний стек інтернету: канальний (L2), інтернет/IP (L3), транспортний TCP/UDP (L4), прикладний (HTTP, DNS…).
Інкапсуляція: дані додатку → TCP/UDP-заголовок → IP-заголовок → Ethernet-кадр.
PDU на шарах
Імена «одиниці» даних: біт → кадр → пакет → сегмент/датаграма → повідомлення. Допомагає читати tcpdump і схеми.
HTTP і DNS
HTTP запит/відповідь
Текстовий протокол поверх TCP (зазвичай порт 80/443). Метод (GET, POST…), URL, заголовки, необовʼязкове тіло; відповідь — код стану, заголовки, тіло.
1xx інфо; 2xx OK; 3xx перенаправлення; 4xx помилка клієнта; 5xx помилка сервера. GET — ідемпотентний, без зміни стану; POST — створення/дія.
HTTPS
HTTP + TLS: шифрування, перевірка сервера (сертифікат). Порт 443. SNI — імʼя хоста в TLS-рукостисканні для віртуальних хостів.
DNS
Імʼя → IP (і навпаки). Ієрархія: корінь → TLD → авторитативний. Резолвер кешує TTL.
A/AAAA — IPv4/IPv6; CNAME — псевдонім; MX — пошта. dig example.com або nslookup — перевірка записів.
Keep-alive і HTTP/2
Одне TCP-зʼєднання — багато запитів (менше рукостискань). HTTP/2 — мультиплексування потоків в одному зʼєднанні.
UDP проти TCP
TCP
Надійна доставка потоку байтів між процесами: порядок, повторна передача, керування потоком. Орієнтований на зʼєднання — спочатку рукостискання.
Порти 0–65535; добре відомі 0–1023. Сокет = IP + порт + протокол.
UDP
Датаграма без гарантій: швидше, менше накладних витрат. DNS, VoIP, потокове відео, QUIC поверх UDP.
Немає зʼєднання — відправили й забули; втрати й порядок — відповідальність додатку.
Коли що
TCP — веб, API, файли, усе де важлива цілісність. UDP — коли затримка важливіша за повторну передачу (реальний час, виявлення служб).
Рукостискання і перевантаження
Тристороннє рукостискання
SYN → SYN-ACK → ACK: узгодження ISN, відкриття зʼєднання. Четвертий крок (дані) часто йде разом з ACK.
Закриття — чотиристороннє (FIN/ACK). Стани: LISTEN, SYN_SENT, ESTABLISHED, TIME_WAIT…
Вікно й RTT
Вікно прийому обмежує, скільки байтів можна надіслати без ACK. RTT — час туди-назад; впливає на пропускну здатність.
Перевантаження
Мета — не задушити мережу. Повільний старт, уникнення перевантаження, реакція на втрати (або ECN). Алгоритми еволюціонують (CUBIC, BBR…).
IP, NAT, Ethernet
IPv4 / IPv6
Адреса хоста + префікс мережі. IPv4 — 32 біти; IPv6 — 128. CIDR: 192.0.2.0/24.
TTL/Hop Limit зменшується на кожному стрибку — захист від петель.
Маршрутизація vs пересилання
Маршрутизація будує таблиці (площина керування). Пересилання — швидкий вибір виходу за таблицею (площина даних).
NAT
Приватні адреси всередині, публічна ззовні. Змінює IP/порти в заголовках, тримає таблицю сесій.
Допомагає з дефіцитом IPv4, але ускладнює вхідні зʼєднання (P2P, ігри).
Ethernet / L2
Кадр з MAC джерела й призначення. Комутатор вчить MAC→порт; широкомовлення — на всі порти VLAN.
ARP: «хто має цей IPv4?» → MAC. Без ARP IP не знайде сусіда в локальній мережі.