Протокол TCP | Курс "Компьютерные сети"

Описание к видео Протокол TCP | Курс "Компьютерные сети"

Видеолекция по протоколу TCP.
Лекции по курсу "Компьютерные сети" - https://goo.gl/0aIOuf

TCP (Transmission Control Protocol, протокол управления передачей) – протокол транспортного уровня стека TCP/IP. Он предоставляет сервис надежной передача потока байт (reliable byte stream). TCP предоставляет следующие гарантии:
- Доставка данных.
- Сохранения порядка следования сообщений.

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

Для гарантии доставки TCP использует подтверждение получения данных. Получатель, после приема очередной порции данных, передает отправителю подтверждения о получении. В случае, если подтверждение не пришло, отправитель передает данные еще раз.

В TCP подтверждается не получение каждого сегмента, а получение нескольких сегментов. Это сделано для увеличения скорости передачи данных: отправитель может передать без остановки несколько сегментов, не дожидаясь прихода подтверждения. Такой тип подтверждения называется кумулятивный: подтверждается получение последнего сегмента, и всех предыдущих. Количество сегментов, которые отправитель может передать без подтверждения, называется размер скользящего окна.

Однако только подтверждения и повторной отправки недостаточно для надежной передачи потока байт. В дополнение к потере данных возможна и другая проблема: нарушение порядка следования сообщений:
- Сегменты приходят в неправильном порядке.
- Сегменты дублируются.

Для сохранения порядка следования сообщений используется нумерация сообщений. Особенность протокола TCP в том, что он нумерует не сегменты, а байты в сегментах. Нумерация сообщений позволяет расставить перепутанные сегменты в правильном порядке, а также не учитывать дублирующийся сегменты.

Перед отправкой данных по TCP необходимо установить соединение. Задачи соединения:
- Убедиться, что отправитель и получатель хотят передавать данные друг другу.
- Договориться о нумерации потока байт.
- Договорится о параметрах соединения (максимальный размер сегмента и т.п.).

После завершения передачи данных соединение TCP разрывается.

Практические занятия по курсу "Компьютерные сети" - https://goo.gl/YP3l83

Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках:
https://goo.gl/kW93MA

Комментарии

Информация по комментариям в разработке