Стек TCP/IP и сопоставление с OSI
Знакомимся с практической четырёхуровневой моделью TCP/IP и сопоставляем её с семью уровнями OSI.
Модель TCP/IP — практический стек из четырёх уровней, по которому реально работает интернет. Названа по двум ключевым протоколам: TCP и IP.
Четыре уровня TCP/IP
OSI — красивая теория, но реальный интернет строился вокруг более простой модели. В ней четыре уровня, и почти все технологии вокруг них группируются естественно.
| Уровень TCP/IP | Что делает | Протоколы |
| Прикладной (Application) | данные приложений | HTTP, DNS, TLS, SMTP |
| Транспортный (Transport) | доставка процессу, порты, надёжность | TCP, UDP |
| Сетевой / Интернет (Internet) | IP-адреса, маршрутизация | IP, ICMP |
| Канальный / Доступа к среде (Link) | физическая передача в сегменте | Ethernet, Wi-Fi |
Сопоставление OSI и TCP/IP
Главное на собеседовании — уметь «склеить» две модели. TCP/IP объединяет несколько уровней OSI в один:
| OSI (7) | TCP/IP (4) |
| 7 Прикладной + 6 Представления + 5 Сеансовый | Прикладной |
| 4 Транспортный | Транспортный |
| 3 Сетевой | Сетевой (Internet) |
| 2 Канальный + 1 Физический | Канальный (Link) |
То есть верхние три уровня OSI в TCP/IP — это один прикладной, а два нижних OSI — один канальный. Транспортный и сетевой совпадают один в один.
Почему так «схлопнули»? OSI разделяла верхние уровни ради теоретической чистоты, но на практике граница между «сеансом», «представлением» и «приложением» размыта: одно и то же приложение часто само управляет и кодировкой, и диалогом. Разработчикам TCP/IP было проще считать всё это единым прикладным уровнем. Аналогично, физический и канальный почти всегда идут парой (конкретная технология вроде Ethernet задаёт и сигнал, и формат кадра), поэтому их объединили в один уровень доступа к среде.
Почему победил TCP/IP
OSI разрабатывали как «правильную» модель «сверху», комитетами. TCP/IP вырос «снизу», из работающего кода ARPANET. Победила практика: к моменту, когда стандарты OSI допилили, интернет уже работал на TCP/IP. Урок для инженера — рабочий код часто побеждает идеальную спецификацию.
Где живут знакомые вам вещи
fetch,XMLHttpRequest, REST, GraphQL, веб-сокеты — прикладной уровень.- TLS (HTTPS) — формально между прикладным и транспортным, в TCP/IP его относят к прикладному.
- «Порт 443», «порт 80» — транспортный.
- «IP-адрес сервера», «маршрут», VPN — сетевой.
- «Подключиться к Wi-Fi», MAC-адрес — канальный.
Итог
- TCP/IP — практический стек из 4 уровней: прикладной, транспортный, сетевой, канальный.
- Верхние 3 уровня OSI = прикладной TCP/IP; нижние 2 OSI = канальный TCP/IP.
- Транспортный и сетевой уровни в обеих моделях совпадают.
- Интернет работает по TCP/IP; OSI используют как язык объяснения.