Сетевой протокол tcp функции формат сегмента область применения

Лекция 2.Протокол tcp. Структура tcp-сегмента

Полная спецификация протокола TCPпредставлена в документеRFC793.

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

TCP находится на транспортном уровне стека TCP/IP, между протоколом IP и собственно приложением. Протокол IP занимается пересылкой дейтаграмм по сети, никак не гарантируя доставку, целостность, порядок прибытия информации и готовность получателя к приему данных; все эти задачи возложены на протокол TCP.

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

Ниже основные функции протокола TCP и их реализация рассмотрены более подробно.

Базовая передача данных

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

Обеспечение достоверности

Протокол TCP должен иметь защиту от разрушения данных, потери, дублирования и нарушения очередности получения. Это достигается присвоением очередного номера каждому передаваемому байту, а также требованием подтверждения (ACK) от программы TCP, принимающей данные. Если подтверждения не получено в течение контрольного интервала времени, то данные посылаются повторно. Со стороны получателя номера очереди используются для восстановления очередности сегментов, которые могут быть получены в неправильном порядке, а также для ограничения возможности появления дубликатов.

Читайте также:  Аппаратные средства компьютерных сетей это определение

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

Протокол TCP дает средства получателю управлять количеством данных, посылаемых ему отправителем. Это достигается возвратом так называемого «окна» (window) вместе с каждым подтверждением, которое указывает диапазон приемлемых номеров, следующих за номером последнего успешно принятого сегмента. Окно определяет количество байтов, которое отправитель может послать до получения дальнейших указаний.

Мультиплексирование каналов

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

Все распространенные сервисы Интернет имеют стандартизованные номера портов. Например, номер порта сервера электронной почты — 25, сервера FTP – 21, сервера TELNET – 23, WWW-сервера – 80 и т.д.

Совокупность IP-адреса и номера порта называется сокетом. Сокет уникально идентифицирует прикладной процесс. Например, сокет сервера электронной почты на хосте 194.84.124.4 обозначается как 194.84.124.4.25; часто номер порта отделяется двоеточием.

Работа с соединениями

Соединение — это совокупность информации о состоянии потока данных, включающая сокеты, номера посланных, принятых и подтвержденных байтов, размеры окон. Каждое соединение уникально идентифицируется парой сокетов. Соединение характеризуется для клиента некоторым указателем на структуру TCB (Transmission Control Block), содержащую полную информацию о соединении.

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

Читайте также:  Постройте сетевой график модели для каждого i

Формат TCP-сегмента

Источник

Оцените статью
Adblock
detector