Чтобы по-настоящему понять различия между протоколами TCP и UDP, необходимо выяснить, как каждый из них использует определённые средства обеспечения надёжности, а также как они отслеживают сеансы передачи данных.
Протокол управления передачей (TCP)
Первоначально протокол TCP был описан в документе RFC 793. Помимо поддержки таких базовых функций, как сегментация данных и повторная компоновка, протокол TCP, как показано на рисунке, также обеспечивает:
- каналы связи с установлением соединения посредством установления сеансов
- надёжность доставки
- восстановление последовательности данных
- управление потоком
Установление сеанса
TCP является протоколом с установлением соединения. Перед пересылкой любого трафика протокол с установлением соединения согласовывает и настраивает постоянное соединение (или сеанс) между устройством источника и устройством назначения. Установление сеанса позволяет подготовить устройства к обмену данными друг с другом. Сеанс позволяет устройствам согласовать объём трафика, который можно переслать в заданный момент времени, а также данные, пересылаемые между ними двумя, которые можно непосредственно обработать. Сеанс будет завершен только после выполнения передачи всех данных.
Надёжность доставки
Протокол TCP может предоставить способ обеспечения надёжной доставки данных. В сетевой терминологии надёжность означает доставку на узел назначения каждой части данных, отправленной узлом источника. Вследствие многих причин при передаче по сети одна из частей данных может быть повреждена или полностью утрачена. Используя повторную отправку повреждённых или потерянных данных, TCP может гарантировать, что данные полностью достигнут своего назначения.
Доставка в одинаковом порядке
Поскольку в сетях могут использоваться несколько маршрутов с разными скоростями передачи информации, в процессе доставки данных их порядок может измениться. Используя нумерацию и упорядочивание сегментов, TCP может гарантировать, что они будут собраны в правильном порядке.
Управление потоком
Такие ресурсы сетевых узлов, как память или полоса пропускания, довольно ограничены. Когда протокол TCP получает информацию о том, что эти ресурсы используются слишком активно, он может потребовать от отправляющего приложения уменьшить скорость потока данных. Для этого TCP регулирует количество информации, передаваемой источником. Управление потоком может предотвратить потери сегментов при их прохождении по сети и исключить необходимость повторной передачи данных.