news
Технологии Serverspace в ОАЭ: Запуск Falconcloud
БС
Борислав Сухарев
10 октября 2022
Обновлено 23 октября 2022

TCP

TCP (Transmission Control Protocol ) — это протокол передачи данных интернета, он находится на транспортном уровне на ряду с UDP, RTP. Различие UDP и TCP заключается в том, что второй более надежно доставляет данные.

TCP гарантирует

  • Доставку данных
  • Сохранение порядка следования сообщений.

Гарантией доставки данных и сохранения порядка следования сообщений является, получение подтверждающего сообщения.

Пример работы протокола

Отправитель пересылает по сети сообщение, получатель принимает его и посылает отправителю АСК (Acknowledgment - Подтверждение; ACK говорит о том что сегмент данных получен). После отправляется следующее сообщение, и если адресат получил его,то он опять отправит АСК.

Такая операция будет повторяться до тех пор, пока файл отправки, не будет получен адресатом.

Работа протокола при ошибке

Если во время транспортировке произойдет какая то ошибка, то сегмент данных просто не дойдет до получателя, а тот в свою очередь не отправит АСК. Отправитель, отправляя файл, устанавливает таймлок, по истечении времени которого, файл будет отправлен повторно, если не прибудет АСК. При успешной работе таймера, протокол возобновляет отправку сегментов до конечного получения файла.

Протокол TCP подтверждает несколько сегментов отправленных друг за другом, а не отдельный сегмент.

К TCP файлы поступают как один большой поток байт. Затем, этот поток разделяется на куски. Эти куски называются сегментами. После разделения, сегменты отправляются друг за другом адресату. Адресат, получает их, объединяет в один поток  и отправляет его приложению.

Весь процесс отправки защищен только от потери сегментов. Полученные сегменты могут быть получены не в том порядке, в котором они были отправлены. Также сегменты могут дублироваться.