TCP (Transmission Control Protocol) — надежный протокол транспортного уровня, обеспечивающий гарантированную доставку данных в правильном порядке.
Основные особенности:
- Установка соединения (Handshake): Перед передачей данных устанавливается трехстороннее соединение (SYN, SYN-ACK, ACK).
- Надежная доставка (Reliable Delivery): Используется механизм подтверждений (ACK) и повторной передачи (retransmission) потерянных пакетов.
- Упорядоченная доставка (Ordered Delivery): Пакеты доставляются в том порядке, в котором они были отправлены отправителем, даже если они пришли с опозданием или по другому маршруту.
- Потоковая передача (Stream-oriented): TCP рассматривает данные как непрерывный поток байтов, а не как отдельные сообщения или пакеты.
- Управление потоком (Flow Control): Получатель может регулировать скорость отправки данных отправителем, чтобы избежать переполнения буфера.
- Управление перегрузкой (Congestion Control): Механизмы для предотвращения и устранения перегрузки сети.
- Полнодуплексный режим (Full-duplex Communication): Данные могут передаваться в обоих направлениях одновременно через одно соединение.
TCP подходит для приложений, требующих высокой надежности и упорядоченной доставки данных, таких как веб-браузинг (HTTP/HTTPS), электронная почта (SMTP), передача файлов (FTP) и удаленный доступ (SSH).