Good

Модель 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 — це фундамент для розуміння мереж. Запам'ятайте:

  1. 7 рівнів — від фізичного до прикладного
  2. Інкапсуляція — кожен рівень додає свій заголовок
  3. Troubleshooting — перевіряйте знизу вгору
  4. Кожен рівень — своя відповідальність

Див. також

Шлях: networking/basics/osi-model.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications