Модель OSI: Огляд всіх 7 рівнів¶
Вступ¶
Модель OSI (Open Systems Interconnection) — це концептуальна модель, яка описує як різні мережеві системи комунікують між собою. Створена у 1984 році організацією ISO, вона стала стандартом для розуміння та проектування мережевих архітектур.
Навіщо потрібна модель OSI?¶
Стандартизація¶
┌─────────────────────────────────────────────────────────────────┐
│ Без стандарту: │
│ Виробник A ──?──> Виробник B (несумісні протоколи) │
│ │
│ Зі стандартом OSI: │
│ Виробник A ──OSI──> Виробник B (працюють разом!) │
└─────────────────────────────────────────────────────────────────┘
Troubleshooting¶
Модель допомагає систематично шукати проблеми:
Немає інтернету? Перевіряємо знизу вгору:
L1: Кабель підключений? LED горить?
↓ так
L2: MAC адреса отримана? Свіч бачить порт?
↓ так
L3: IP адреса є? Пінг шлюзу працює?
↓ так
L4: Порт відкритий? Firewall не блокує?
↓ так
L7: Сервіс працює? DNS резолвиться?
Модульність¶
Кожен рівень можна змінювати незалежно:
- Змінив кабель (L1) — протоколи вище не змінились
- Перейшов з HTTP на HTTPS (L7) — нижні рівні ті самі
7 рівнів моделі OSI¶
flowchart TB
subgraph OSI ["Модель OSI"]
L7[7 - Application<br/>HTTP, FTP, SSH, DNS]
L6[6 - Presentation<br/>SSL/TLS, JPEG, ASCII]
L5[5 - Session<br/>NetBIOS, RPC]
L4[4 - Transport<br/>TCP, UDP, SCTP]
L3[3 - Network<br/>IP, ICMP, IGMP]
L2[2 - Data Link<br/>Ethernet, Wi-Fi]
L1[1 - Physical<br/>Кабелі, роз'єми]
end
User((👤 User)) --> L7
L7 --> L6 --> L5 --> L4 --> L3 --> L2 --> L1
L1 --> Medium([🔌 Physical Medium])
style L7 fill:#ef4444,color:#fff
style L6 fill:#f97316,color:#fff
style L5 fill:#f59e0b,color:#000
style L4 fill:#84cc16,color:#000
style L3 fill:#22c55e,color:#fff
style L2 fill:#06b6d4,color:#fff
style L1 fill:#3b82f6,color:#fffКоротко про кожен рівень¶
| Рівень | Назва | PDU | Що робить | Обладнання |
|---|---|---|---|---|
| L7 | Application | Дані | Інтерфейс для користувача | — |
| L6 | Presentation | Дані | Кодування, шифрування | — |
| L5 | Session | Дані | Управління сесіями | — |
| L4 | Transport | Сегменти | Надійна доставка | Firewall |
| L3 | Network | Пакети | Маршрутизація | Роутер |
| L2 | Data Link | Фрейми | Локальна доставка | Свіч |
| L1 | Physical | Біти | Фізична передача | Хаб, кабелі |
PDU (Protocol Data Unit) — одиниця даних на кожному рівні
Інкапсуляція даних¶
При відправці дані "загортаються" на кожному рівні:
Дані користувача: [Hello, World!]
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ L7-L5: Application Data │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Hello, World! │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ L4: TCP Segment │
│ ┌──────────┬──────────────────────────────────────────────────┐ │
│ │TCP Header│ Hello, World! │ │
│ │ Src:4523 │ │ │
│ │ Dst:80 │ │ │
│ └──────────┴──────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ L3: IP Packet │
│ ┌──────────┬──────────┬───────────────────────────────────────┐ │
│ │IP Header │TCP Header│ Hello, World! │ │
│ │Src:10.0.1│ │ │ │
│ │Dst:8.8.8 │ │ │ │
│ └──────────┴──────────┴───────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ L2: Ethernet Frame │
│ ┌──────────┬──────────┬──────────┬─────────────────┬──────────┐ │
│ │ETH Header│IP Header │TCP Header│ Hello, World! │ETH Trail │ │
│ │Src MAC │ │ │ │ FCS │ │
│ │Dst MAC │ │ │ │ │ │
│ └──────────┴──────────┴──────────┴─────────────────┴──────────┘ │
│ │ │
│ ▼ │
│ L1: Bits │
│ 01101000 01100101 01101100 01101100 01101111 ... │
└─────────────────────────────────────────────────────────────────┘
При отриманні відбувається декапсуляція — розпаковування у зворотному порядку.
OSI vs TCP/IP¶
На практиці частіше використовується модель TCP/IP (4 рівні):
flowchart LR
subgraph OSI ["OSI Model (7 layers)"]
direction TB
O7[7 Application]
O6[6 Presentation]
O5[5 Session]
O4[4 Transport]
O3[3 Network]
O2[2 Data Link]
O1[1 Physical]
end
subgraph TCPIP ["TCP/IP Model (4 layers)"]
direction TB
T4[4 Application<br/>HTTP, FTP, DNS]
T3[3 Transport<br/>TCP, UDP]
T2[2 Internet<br/>IP, ICMP]
T1[1 Network Access<br/>Ethernet, Wi-Fi]
end
O7 -.-> T4
O6 -.-> T4
O5 -.-> T4
O4 -.-> T3
O3 -.-> T2
O2 -.-> T1
O1 -.-> T1
style T4 fill:#ef4444,color:#fff
style T3 fill:#22c55e,color:#fff
style T2 fill:#3b82f6,color:#fff
style T1 fill:#8b5cf6,color:#fffКоли що використовувати?¶
- OSI — для навчання та troubleshooting (більш детальна)
- TCP/IP — для практичної роботи (реальні протоколи)
Мнемоніки для запам'ятовування¶
Знизу вгору (L1 → L7)¶
Англійська:
Please Do Not Throw Sausage Pizza Away
Physical - Data Link - Network - Transport - Session - Presentation - Application
Українська:
Поганий Друг Нестор Танцює Сальсу Після Алкоголю
Фізичний - Канальний - Мережевий - Транспортний - Сеансовий - Представлення - Прикладний
Зверху вниз (L7 → L1)¶
All People Seem To Need Data Processing
Application - Presentation - Session - Transport - Network - Data Link - Physical
Діагностика по рівнях¶
Інструменти для кожного рівня¶
| Рівень | Linux команди | Що перевіряємо |
|---|---|---|
| L1 | ethtool eth0, ip link |
Стан інтерфейсу, швидкість |
| L2 | ip neighbor, bridge fdb |
MAC таблиця, VLAN |
| L3 | ping, traceroute, ip route |
IP зв'язність, маршрути |
| L4 | ss -tuln, netstat, nc |
Порти, з'єднання |
| L5-L7 | curl, dig, openssl s_client |
Сервіси, DNS, TLS |
Приклад діагностики "Не працює сайт"¶
# L1: Фізичний рівень
ip link show eth0
# Чи є link up?
# L2: Канальний рівень
ip neighbor show
# Чи є MAC шлюзу?
# L3: Мережевий рівень
ping -c 3 8.8.8.8
# Чи є зв'язок з інтернетом?
# L3: DNS (частина L7, але перевіряємо окремо)
dig example.com
# Чи резолвиться домен?
# L4: Транспортний рівень
nc -zv example.com 443
# Чи відкритий порт?
# L7: Прикладний рівень
curl -I https://example.com
# Чи відповідає сервер?
Приклад: Як працює HTTP запит¶
Коли ви відкриваєте https://example.com у браузері:
L7 (Application): Браузер формує HTTP GET запит
│
▼
L6 (Presentation): Дані шифруються через TLS
│
▼
L5 (Session): Встановлюється TLS сесія
│
▼
L4 (Transport): TCP 3-way handshake, порт 443
│
▼
L3 (Network): IP пакет до 93.184.216.34
│
▼
L2 (Data Link): Ethernet фрейм до MAC роутера
│
▼
L1 (Physical): Електричні сигнали по кабелю
│
▼
[Інтернет через багато хопів]
│
▼
[Сервер example.com — декапсуляція L1→L7]
│
▼
[Відповідь тим самим шляхом назад]
Детальні статті про кожен рівень¶
| Рівень | Стаття | Ключові теми |
|---|---|---|
| L1 | Фізичний рівень | Кабелі, роз'єми, топології |
| L2 | Канальний рівень | MAC, Ethernet, свічі, VLAN |
| L3 | Мережевий рівень | IP, маршрутизація, NAT |
| L4 | Транспортний рівень | TCP, UDP, порти |
| L5 | Сеансовий рівень | Сесії, RPC, синхронізація |
| L6 | Рівень представлення | Кодування, шифрування |
| L7 | Прикладний рівень | HTTP, DNS, SSH |
Типові проблеми та їх рівні¶
| Симптом | Імовірний рівень | Що перевірити |
|---|---|---|
| Немає Link LED | L1 | Кабель, порт свіча |
| Немає IP адреси | L2-L3 | DHCP, VLAN |
| Пінг не працює | L3 | Маршрути, firewall |
| Порт закритий | L4 | Firewall, сервіс |
| Сертифікат помилка | L6 | TLS, час системи |
| 404/500 помилки | L7 | Веб-сервер, додаток |
Підсумок¶
Модель OSI — це фундамент для розуміння мереж. Запам'ятайте:
- 7 рівнів — від фізичного до прикладного
- Інкапсуляція — кожен рівень додає свій заголовок
- Troubleshooting — перевіряйте знизу вгору
- Кожен рівень — своя відповідальність
Див. також¶
- IPv4 адресація — основи IP
- Маршрутизація — як пакети знаходять шлях
- DNS — система доменних імен
Шлях: networking/basics/osi-model.md