На транспортном уровне (Transport Layer) модели OSI/TCP/IP происходит взаимодействие между приложениями на разных хостах, а не между самими хостами. Основные функции:
- Сегментация и сборка данных: Данные от верхних уровней разбиваются на сегменты (для TCP) или датаграммы (для UDP) и передаются сетевому уровню. На принимающей стороне эти части собираются обратно.
- Идентификация приложений (Порты): Используются номера портов для различения приложений, запущенных на одном хосте. Например, веб-сервер обычно использует порт 80 (HTTP) или 443 (HTTPS).
- Контроль потока (Flow Control, для TCP): Управляет скоростью передачи данных между отправителем и получателем, чтобы избежать перегрузки буферов получателя.
- Контроль ошибок (Error Control, для TCP): Обеспечивает надежную доставку данных, используя номера последовательности, подтверждения (ACKS) и повторную передачу (retransmission) потерянных сегментов. UDP не имеет встроенного контроля ошибок на этом уровне.
- Управление соединением (Connection Management, для TCP): Устанавливает, поддерживает и разрывает логическое соединение между приложениями. Типичный пример - "трехстороннее рукопожатие" (three-way handshake) для установки TCP-соединения. UDP является безсоединительным протоколом.
Два основных протокола транспортного уровня:
- TCP (Transmission Control Protocol): Надежный, ориентированный на соединение протокол. Гарантирует доставку данных в правильном порядке. Используется для приложений, требующих высокой надежности (например, HTTP, FTP, SMTP).
- **UDP (User Datagram