ГоловнаСтаттіComputer Science

Мережеві протоколи

Мережеві протоколи - це набір правил та стандартів, що визначають, як пристрої обмінюються інформацією через мережу. Вони забезпечують надійну та ефективну комунікацію між різними системами, дозволяючи створювати складні мережеві архітектури, такі як Інтернет.

mysimulator teamОновлено — липень 2026≈ 3 хв читання▶ Відкрити симуляцію

🎯 Вступ до мережевих протоколів

Мережеві протоколи - це набір правил та стандартів, що визначають, як пристрої обмінюються інформацією через мережу. Вони забезпечують надійну та ефективну комунікацію між різними системами, дозволяючи створювати складні мережеві архітектури, такі як Інтернет.

🔑 Основні принципи:

Стандартизація: Єдині правила для всіх пристроїв

Модульність: Різні рівні для різних функцій

Надійність: Гарантії доставки та цілісності даних

Безпека: Захист від несанкціонованого доступу

🏗️ Модель OSI та TCP/IP

📊 Модель OSI (7 рівнів)

HTTP, FTP, SMTP, DNS

Функція: Інтерфейс між користувачем та мережею

SSL/TLS, JPEG, MPEG

Функція: Шифрування, стиснення, форматування

RPC, SQL, NetBIOS

Функція: Управління сеансами комунікації

TCP, UDP

Функція: Надійна доставка даних

IP, ICMP, ARP

Функція: Маршрутизація та логічна адресація

Ethernet, WiFi, PPP

Функція: Фізична адресація та виявлення помилок

Кабель, радіосигнали

Функція: Передача бітів по середовищу

🔗 Модель TCP/IP (4 рівні)

HTTP, FTP, SMTP, DNS, SSH

TCP, UDP

IP, ICMP, IGMP

Ethernet, WiFi, DSL

🌍 Протокол IP (Internet Protocol)

📡 IPv4

Структура IPv4 заголовка

Версія протоколу IP (4)

Довжина заголовка в 32-бітних словах

Пріоритет та тип сервісу

Загальна довжина пакету

IP адреса відправника

IP адреса отримувача

🔢 Класи IP адрес

1.0.0.0 - 126.255.255.255

Підмережа: /8

Хоста: 16,777,214

128.0.0.0 - 191.255.255.255

Підмережа: /16

Хоста: 65,534

192.0.0.0 - 223.255.255.255

Підмережа: /24

Хоста: 254

🔮 IPv6

Переваги IPv6

Розширена адресна простір: 128 бітів замість 32

Автоконфігурація: SLAAC (Stateless Address Autoconfiguration)

Вбудована безпека: IPSec обов'язковий

Спрощений заголовок: Менше полів для швидшої обробки

Мобільність: Краща підтримка мобільних пристроїв

Формат IPv6 адреси

// Приклади IPv6 адрес: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 2001:db8:85a3::8a2e:370:7334 // Скорочена форма ::1 // Loopback (localhost) :: // Всі нулі

🚦 TCP (Transmission Control Protocol)

🔗 Встановлення з'єднання

Three-Way Handshake

SYN: Клієнт надсилає SYN пакет з початковим номером послідовності

SYN-ACK: Сервер відповідає SYN-ACK пакетом з власним номером послідовності

ACK: Клієнт підтверджує отримання SYN-ACK

📊 Керування потоком та переповненням

Контролює швидкість передачі даних, щоб уникнути переповнення буферів отримувача.

Механізм: Window Size у TCP заголовку

Контролює швидкість передачі для уникнення переповнення мережі.

Алгоритми: Slow Start, Congestion Avoidance, Fast Recovery

🔄 Алгоритми керування переповненням

Починає з малого розміру вікна та подвоює його після кожного успішного ACK.

Ціль: Швидко досягти доступної пропускної здатності

Повільно збільшує розмір вікна після досягнення порогу.

Формула: cwnd += 1/cwnd за кожний RTT

Швидко відновлюється після втрати пакетів без повернення до Slow Start.

Умова: При втраті одного пакету

// Three-Way Handshake: Client → Server: SYN (seq=x) Server → Client: SYN-ACK (seq=y, ack=x+1) Client → Server: ACK (seq=x+1, ack=y+1) // З'єднання встановлено!

⚡ UDP (User Datagram Protocol)

📦 Характеристики UDP

Не встановлює з'єднання перед передачею даних

Не гарантує доставку або порядок пакетів

Мінімальний overhead порівняно з TCP

Мінімальний заголовок (8 байтів)

🎯 Застосування UDP

Швидкі запити на резолюцію імен

Реальний час, толерантність до втрат

Низька затримка важливіша за надійність

Автоматичне отримання IP адрес

жива демонстрація · пов'язана симуляція● LIVE

🌐 HTTP (Hypertext Transfer Protocol)

📡 HTTP/1.1

Основні особливості HTTP/1.1

Persistent Connections: Перевикористання з'єднань

Pipelining: Множинні запити в одному з'єднанні

Chunked Transfer Encoding: Передача даних частинами

Cache Control: Кешування ресурсів

🚀 HTTP/2

Множинні потоки в одному з'єднанні

Сервер може надсилати ресурси проактивно

Стиснення заголовків (HPACK)

Бінарний формат замість текстового

⚡ HTTP/3

Основні нововведення HTTP/3

QUIC протокол: Основа на UDP замість TCP

Вбудована безпека: TLS 1.3 інтегрований

Швидше встановлення з'єднання: 0-RTT та 1-RTT

Кращий multiplexing: Без блокування потоків

🔒 SSL/TLS (Secure Sockets Layer/Transport Layer Security)

🛡️ Процес рукостискання TLS

TLS 1.3 Handshake

Client Hello: Клієнт надсилає підтримувані шифри та ключі

Server Hello: Сервер вибирає шифри та надсилає сертифікат

Key Exchange: Обмін ключами (ECDHE або DHE)

Finished: Підтвердження завершення рукостискання

🔐 Шифрування та аутентифікація

AES-256, ChaCha20 для шифрування даних

RSA, ECDSA для аутентифікації та обміну ключами

SHA-256, SHA-384 для цілісності

Цифрові сертифікати X.509

🌍 DNS (Domain Name System)

🏗️ Архітектура DNS

13 кореневих серверів (A-M)

.com, .org, .uk, .ua

Сервери доменних імен

Локальні DNS сервери

📊 Типи DNS записів

IPv4 адреса для доменного імені

Приклад: example.com → 192.168.1.1

IPv6 адреса для доменного імені

Приклад: example.com → 2001:db8::1

Псевдонім для іншого доменного імені

Приклад: www.example.com → example.com

Поштовий сервер для домену

Приклад: example.com → mail.example.com

🎯 Практичні застосування

🌐 Веб-розробка

HTTP/HTTPS, REST API, WebSocket

📧 Електронна пошта

SMTP, POP3, IMAP протоколи

📁 Файлові передачі

FTP, SFTP, TFTP протоколи

🎮 Інтернет речей

MQTT, CoAP для IoT пристроїв

📚 Рекомендована література

"Computer Networks" - Andrew Tanenbaum, David Wetherall

"TCP/IP Illustrated" - W. Richard Stevens

"HTTP: The Definitive Guide" - David Gourley, Brian Totty

"DNS and BIND" - Cricket Liu, Paul Albitz

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Hash Function Avalanche Visualizer і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Hash Function Avalanche Visualizer

Що ви знайшли?

Додати кроки відтворення (опційно)