Каждый раз, когда вы открываете сайт, отправляете сообщение в мессенджере, скачиваете файл или смотрите видео на YouTube, в работу вступает модель TCP/IP (Transmission Control Protocol / Internet Protocol). Именно она является фундаментом современного Интернета.

Если модель OSI чаще используется как теоретическая основа для изучения компьютерных сетей, то TCP/IP - это практическая модель, на которой построен Интернет и большинство современных сетевых технологий.

TCP/IP - это стек сетевых протоколов, который определяет правила передачи данных между устройствами в сети.

Название происходит от двух основных протоколов:

  • TCP (Transmission Control Protocol) - отвечает за надежную передачу данных;
  • IP (Internet Protocol) - отвечает за адресацию и маршрутизацию.

Несмотря на название, модель включает гораздо больше протоколов. Сегодня практически весь Интернет работает именно благодаря TCP/IP.

Без единого стандарта компьютеры разных производителей не смогли бы обмениваться информацией.

TCP/IP решает сразу несколько задач:

  • разделяет сложную передачу данных на уровни;
  • стандартизирует взаимодействие устройств;
  • позволяет легко заменять технологии одного уровня без изменения остальных;
  • обеспечивает совместимость оборудования разных производителей.

Именно благодаря этому компьютер на Windows спокойно взаимодействует с сервером Linux, смартфон Android - с iPhone, а маршрутизаторы Cisco - с устройствами MikroTik.


Четыре уровня модели TCP/IP

Модель состоит из четырех уровней:

  • Прикладной (Application): Работа приложений
  • Транспортный (Transport): Доставка данных
  • Интернет (Internet): Адресация и маршрутизация
  • Сетевой доступ (Network Access / Link): Передача по физической сети

1. Уровень сетевого доступа (Network Access Layer)

Это самый нижний уровень модели TCP/IP.

Он отвечает за непосредственную передачу информации между устройствами по физической сети.

Именно здесь работают:

  • сетевые карты;
  • кабели;
  • Wi-Fi;
  • коммутаторы;
  • MAC-адреса.

Здесь данные превращаются в электрические сигналы, радиоволны или световые импульсы.

Основные задачи:

  • передача кадров (Frames);
  • определение MAC-адресов;
  • обнаружение ошибок передачи;
  • работа с физической средой.

Используемые технологии:

  • Ethernet
  • Wi-Fi
  • Fiber
  • ARP
  • VLAN

Что происходит:

Предположим, компьютер хочет отправить данные.

Он знает IP-адрес получателя, но для передачи внутри локальной сети необходим MAC-адрес.

Если MAC неизвестен:

  1. отправляется ARP-запрос;
  2. устройство отвечает своим MAC;
  3. формируется Ethernet-кадр;
  4. кадр передается по сети.

На этом уровне данные называются Frame (Кадр).


2. Интернет-уровень (Internet Layer)

Это сердце всей модели TCP/IP.

Именно здесь определяется, каким маршрутом пакет пройдет через Интернет.

Основные задачи:

  • 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-адрес;
  • выбирает лучший маршрут;
  • пересылает пакет дальше.

Сам IP не гарантирует доставку. Он лишь пытается доставить пакет.

На этом уровне данные называются: Packet (Пакет).


3. Транспортный уровень (Transport Layer)

Этот уровень отвечает за передачу данных между приложениями.

Если Интернет-уровень доставляет пакет нужному компьютеру, то транспортный уровень доставляет данные нужной программе.

Например: браузеру, Telegram, Steam, Discord.

Основные задачи:

  • контроль ошибок;
  • повторная отправка;
  • контроль последовательности;
  • сегментация данных;
  • контроль скорости передачи;
  • управление соединением.

- TCP

Самый известный протокол Интернета.

Он обеспечивает:

  • надежность
  • проверку ошибок
  • подтверждение получения
  • повторную отправку
  • правильный порядок данных

TCP используется для: HTTP, HTTPS, FTP, SMTP, IMAP, SSH.

Пример:

Если скачивается архив размером 3 ГБ: TCP делит его на тысячи сегментов.

Если один сегмент потерялся, TCP запросит только его повторно.

UDP

В отличие от TCP, UDP ничего не проверяет.

Он просто отправляет данные. Поэтому работает намного быстрее.

Используется для:

  • видеозвонков;
  • онлайн-игр;
  • DNS;
  • потокового видео;
  • IPTV.

Почему игры используют UDP:

Если один пакет потеряется, проще отправить следующий, чем ждать повторную передачу.

Игрок даже не заметит потерю.

На этом уровне данные называются:

  • Segment (Сегмент) - для TCP
  • Datagram (Датаграмма) - для UDP

4. Прикладной уровень (Application Layer)

Это уровень, с которым взаимодействует пользователь. Здесь работают все привычные приложения.

Основные задачи:

  • обмен сообщениями;
  • просмотр сайтов;
  • отправка почты;
  • передача файлов;
  • DNS-запросы;
  • работа API.

Наиболее известные протоколы:

  • HTTP: Передача веб-страниц.
  • HTTPS: Защищенная версия HTTP. Использует TLS-шифрование.
  • FTP: Передача файлов.
  • SMTP: Отправка электронной почты.
  • POP3: Получение почты.
  • IMAP: Синхронизация почтовых ящиков.
  • DNS: Преобразование доменного имени в IP-адрес.
  • DHCP: Автоматическая выдача IP-адресов устройствам.
  • SSH: Безопасное удаленное управление серверами.
  • SNMP: Мониторинг сетевого оборудования.

Единица данных:

На прикладном уровне данные обычно называют просто данными (Data) или сообщениями (Message).


Как данные проходят через все уровни

Представим, что пользователь открывает сайт.

Шаг 1. Прикладной уровень

Браузер формирует HTTP-запрос:

GET / HTTP/1.1
Host: example.com

Шаг 2. Транспортный уровень

TCP разбивает запрос на сегменты, добавляет номер порта (например, 443 для HTTPS), контрольную сумму и информацию для надежной доставки.

Шаг 3. Интернет-уровень

IP добавляет IP-адрес отправителя и получателя, формируя пакет.

Шаг 4. Уровень сетевого доступа

Ethernet или Wi-Fi упаковывает пакет в кадр, добавляет MAC-адреса и передает его по физической сети.

На стороне получателя

Процесс происходит в обратном порядке:

  • принимается кадр;
  • извлекается IP-пакет;
  • транспортный уровень собирает сегменты;
  • HTTP-запрос передается веб-серверу;
  • сервер формирует ответ и отправляет его обратно тем же путем.

Source: Orkhan Alishov's notes