Что такое модель TCP/IP и чем она отличается от OSI?
Модель TCP/IP — это практическая модель сетевого взаимодействия, лежащая в основе Интернета, которая описывает реальную работу сетевых протоколов и состоит из 4 уровней.
Аналогия: если OSI — это подробный архитектурный чертёж здания с семью этажами, то TCP/IP — это реально построенное здание, в котором некоторые этажи объединены в один, потому что на практике так удобнее.
Уровни модели TCP/IP
| TCP/IP уровень | Соответствие OSI | Протоколы | Функции |
|---|---|---|---|
| Прикладной (Application) | 5 + 6 + 7 | HTTP, HTTPS, DNS, FTP, SMTP, SSH, DHCP | Протоколы приложений, представление данных, сеансы |
| Транспортный (Transport) | 4 | TCP, UDP | Доставка данных между приложениями, управление потоком |
| Сетевой (Internet) | 3 | IP, ICMP, ARP | Адресация и маршрутизация пакетов между сетями |
| Канальный (Network Access / Link) | 1 + 2 | Ethernet, Wi-Fi, PPP | Передача данных в рамках одной физической сети |
Отличия TCP/IP от OSI
| Критерий | OSI | TCP/IP |
|---|---|---|
| Количество уровней | 7 | 4 |
| Происхождение | Теоретическая модель ISO (1984) | Практическая модель DARPA (1970-е) |
| Применение | Академическое описание, общий язык | Реальная работа Интернета |
| Уровни 5-7 | Разделены (Session, Presentation, Application) | Объединены в Прикладной |
| Уровни 1-2 | Разделены (Physical, Data Link) | Объединены в Канальный |
| Подход | Сначала модель, потом протоколы | Сначала протоколы, потом модель |
Как уровни соотносятся на практике
Пример
OSI TCP/IP
+-----------------------+ +-----------------------+
| 7. Application | | |
+-----------------------+ | |
| 6. Presentation | | Application |
+-----------------------+ | |
| 5. Session | | |
+-----------------------+ +-----------------------+
| 4. Transport | | Transport |
+-----------------------+ +-----------------------+
| 3. Network | | Internet |
+-----------------------+ +-----------------------+
| 2. Data Link | | |
+-----------------------+ | Network Access |
| 1. Physical | | |
+-----------------------+ +-----------------------+
Какую модель использовать
На практике при обсуждении сетей используется «гибридный» подход:
- Терминология уровней из OSI (L2, L3, L4, L7) — потому что она более гранулярная.
- Набор реальных протоколов из TCP/IP (HTTP, TCP, IP, Ethernet) — потому что это то, что реально работает.
Например, когда говорят «L7-балансировщик», имеют в виду балансировщик, работающий на уровне HTTP (Application по OSI), хотя в модели TCP/IP отдельного уровня 7 нет.
Вывод
TCP/IP — практическая 4-уровневая модель, лежащая в основе Интернета. Отличается от OSI объединением верхних (5-7) и нижних (1-2) уровней. На практике используют терминологию OSI (L2-L7), но реальные протоколы соответствуют модели TCP/IP.
На собеседовании: junior-вопрос. Нарисуйте обе модели рядом и покажите соответствие уровней. Ключевое: «OSI — теория (7 уровней), TCP/IP — практика (4 уровня), на деле мы используем терминологию OSI с протоколами TCP/IP». Если спросят «на каком уровне работает HTTP?» — L7 (по OSI), прикладной (по TCP/IP).