Каждый раз, когда вы открываете сайт, отправляете сообщение в мессенджере, скачиваете файл или смотрите видео на YouTube, в работу вступает модель TCP/IP (Transmission Control Protocol / Internet Protocol). Именно она является фундаментом современного Интернета.
Если модель OSI чаще используется как теоретическая основа для изучения компьютерных сетей, то TCP/IP - это практическая модель, на которой построен Интернет и большинство современных сетевых технологий.
TCP/IP - это стек сетевых протоколов, который определяет правила передачи данных между устройствами в сети.
Название происходит от двух основных протоколов:
Несмотря на название, модель включает гораздо больше протоколов. Сегодня практически весь Интернет работает именно благодаря TCP/IP.
Без единого стандарта компьютеры разных производителей не смогли бы обмениваться информацией.
TCP/IP решает сразу несколько задач:
Именно благодаря этому компьютер на Windows спокойно взаимодействует с сервером Linux, смартфон Android - с iPhone, а маршрутизаторы Cisco - с устройствами MikroTik.
Четыре уровня модели TCP/IP
Модель состоит из четырех уровней:
1. Уровень сетевого доступа (Network Access Layer)
Это самый нижний уровень модели TCP/IP.
Он отвечает за непосредственную передачу информации между устройствами по физической сети.
Именно здесь работают:
Здесь данные превращаются в электрические сигналы, радиоволны или световые импульсы.
Основные задачи:
Используемые технологии:
Что происходит:
Предположим, компьютер хочет отправить данные.
Он знает IP-адрес получателя, но для передачи внутри локальной сети необходим MAC-адрес.
Если MAC неизвестен:
На этом уровне данные называются Frame (Кадр).
2. Интернет-уровень (Internet Layer)
Это сердце всей модели TCP/IP.
Именно здесь определяется, каким маршрутом пакет пройдет через Интернет.
Основные задачи:
Главный протокол: IP (Internet Protocol).
IP отвечает за адрес каждого устройства.
Например:
192.168.1.10
или (IP v6):
2001:db8::1
Другие протоколы:
- ICMP
Используется для диагностики сети. Например:
ping google.com
работает через ICMP.
- IGMP
Используется для multicast.
- IPSec
Обеспечивает защищенную передачу IP-пакетов.
Как работает IP:
Допустим: компьютер в Баку отправляет данные серверу в Нью-Йорке.
Пакет проходит через десятки маршрутизаторов.
Каждый маршрутизатор:
Сам IP не гарантирует доставку. Он лишь пытается доставить пакет.
На этом уровне данные называются: Packet (Пакет).
3. Транспортный уровень (Transport Layer)
Этот уровень отвечает за передачу данных между приложениями.
Если Интернет-уровень доставляет пакет нужному компьютеру, то транспортный уровень доставляет данные нужной программе.
Например: браузеру, Telegram, Steam, Discord.
Основные задачи:
- TCP
Самый известный протокол Интернета.
Он обеспечивает:
TCP используется для: HTTP, HTTPS, FTP, SMTP, IMAP, SSH.
Пример:
Если скачивается архив размером 3 ГБ: TCP делит его на тысячи сегментов.
Если один сегмент потерялся, TCP запросит только его повторно.
- UDP
В отличие от TCP, UDP ничего не проверяет.
Он просто отправляет данные. Поэтому работает намного быстрее.
Используется для:
Почему игры используют UDP:
Если один пакет потеряется, проще отправить следующий, чем ждать повторную передачу.
Игрок даже не заметит потерю.
На этом уровне данные называются:
4. Прикладной уровень (Application Layer)
Это уровень, с которым взаимодействует пользователь. Здесь работают все привычные приложения.
Основные задачи:
Наиболее известные протоколы:
Единица данных:
На прикладном уровне данные обычно называют просто данными (Data) или сообщениями (Message).
Как данные проходят через все уровни
Представим, что пользователь открывает сайт.
Шаг 1. Прикладной уровень
Браузер формирует HTTP-запрос:
GET / HTTP/1.1 Host: example.com
Шаг 2. Транспортный уровень
TCP разбивает запрос на сегменты, добавляет номер порта (например, 443 для HTTPS), контрольную сумму и информацию для надежной доставки.
Шаг 3. Интернет-уровень
IP добавляет IP-адрес отправителя и получателя, формируя пакет.
Шаг 4. Уровень сетевого доступа
Ethernet или Wi-Fi упаковывает пакет в кадр, добавляет MAC-адреса и передает его по физической сети.
- На стороне получателя
Процесс происходит в обратном порядке:
Source: Orkhan Alishov's notes