Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция14_TCP_IP.doc
Скачиваний:
2
Добавлен:
19.09.2019
Размер:
191.49 Кб
Скачать

Протокол надежной доставки сообщений tcp

В стеке протоколов TCP/IP протокол TCP обеспечивает надёжную транспортировку данных между прикладными процессами путем установления логического соединения.

Протокол TCP представляет собой протокол транспортного уровня и служит для гарантированного (сопровождаемого проверкой) обмена данными между компьютерами сети.

Единицей данных протокола TCP является сегмент. Информация, поступающая к протоколу TCP в рамках логического соединения от протоколов более высокого уровня, рассматривается протоколом TCP как неструктурированный поток байт. Поступающие данные буферизуются средствами TCP. Для передачи на сетевой уровень из буфера «вырезается» некоторая непрерывная часть данных, называемая сегментом.

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

В протоколе TCP предусмотрен случай, когда приложение обращается с запросом о срочной передаче данных. В этом случае протокол TCP, не ожидая заполнения буфера до уровня размера сегмента, немедленно передает указанные данные в сеть (данные передаются вне потока).

Не все сегменты, посланные через соединение, имеют один размер. Однако оба участника соединения должны договориться о максимальном размере сегмента, который они будут использовать. Он выбирается таким образом, чтобы при упаковке сегмента в IP-пакет он помещался туда целиком (т.е. максимальный размер сегмента не должен превосходить максимального размера поля данных IP-пакета). В противном случае пришлось бы выполнять фрагментацию (то есть делить сегмент на несколько частей для того, чтобы он вместился в IP-пакет).

Аналогичные проблемы решаются и на сетевом уровне. Для того, чтобы избежать фрагментации, должен быть выбран соответствующий максимальный размер IP-пакета.

Сообщения протокола TCP называются сегментами и состоят из заголовка и блока данных.

В данном случае дейтаграммами называют скомпонованные для передачи сегменты.

ЗАГОЛОВОК ДАННЫЕ

ДЕЙТАГРАММА

В заголовке дейтаграммы содержится информация различного назначения:

  • номер порта источника (идентифицирует процесс-отправитель) и назначения (идентифицирует процесс-получатель), что позволяет передавать данные в обоих направлениях;

  • номер дейтаграммы (позволяет осуществлять сборку дейтограмм на компьютере адресата в правильной последовательности – реконструкция);

  • контрольная сумма (рассчитывается по сегменту) – позволяет проверить, не произошло ли искажение данных при передаче;

  • номер подтверждения приема – указывает, что данные были получены успешно (если данные не получены в нормальном виде, то получатель не отправляет подтверждения приема и отправитель через некоторое время повторит передачу);

  • указатель срочности.

Обобщение:

Протокол TCP занимается пересылкой больших объемов информации, основываясь на возможностях протокола IP. TCP делит информацию, которую надо переслать, на несколько частей и нумерует их, чтобы обеспечить возможность последующего восстановления. Каждая порция информации вместе с номером образует TCP-пакет, который затем помещается в отдельный IP-пакет, с которым сеть уже «умеет» общаться.

Получатель (TCP-процесс) распаковывает IP-пакеты и получает TCP-пакеты, далее распаковывает их и получает данные. Если какой-то информации не достает, TCP требует переслать эту часть информации снова. Благодаря такой технологии информация собирается в нужном порядке и полностью восстанавливается.

ТСР не допускает не только потери пакетов на линиях связи, но и их искажения. Для этого используется система кодов, исправляющих ошибки. Пример: код, использующий добавление к каждому пакету контрольной суммы (а к каждому байту – бита контроля честности). При создании TCP-пакета вычисляется контрольная сумма, которая записывается в TCP-заголовок, а затем сверяется с вычисленной при приеме суммой. При несовпадении сумм пакет пересылается заново.