On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Действие

Как указывалось ранее, главной целью протокола TCP является обеспече- 
ние надежного, безопасного сервиса для логических цепей или соедине- 
ний между парами процессов. Чтобы обеспечить такой сервис, основыва- 
ясь на менее надежных коммуникациях Internet, система должна иметь 
возможности для работы в следующих областях:- базовая передача данных
- достоверность- управление потоком- разделение каналов- работа с соединениями
- приоритет и безопасность
   Основные действия протокола TCP в каждой из этих областей описаны 
   в следующих параграфах.Базовая передача данных
      Протокол TCP способен передавать непрерывные потоки октетов 
   между своими клиентами в обоих направлениях, пакуя некое количес- 
   тво октетов в сегменты для передачи через системы Internet. В об- 
   щем случае протоколы TCP решают по своему усмотрению, когда произ- 
   водить блокировку и передачу данных. 
      Иногда пользователям бывает необходимо убедиться в том, что все 
   данные, переданные ими протоколу TCP, уже отправлены. Для этой це- 
   ли определена функция проталкивания (push). Чтобы убедиться в том, 
   что данные, отправленные протоколу TCP, действительно переданы, 
   отправитель указывает, что их следует протолкнуть к получателю. 
   Проталкивание приводит к тому, что программы протокола TCP сразу 
   осуществляют отправление и, соответственно, получение остающихся 
   данных. Правильно осуществленное проталкивание может быть невидимо 
   для получателя, а сама функция проталкивания может не иметь 
   маркера границы записи.Достоверность
      Протокол TCP должен иметь защиту от разрушения данных, потери, 
   дублирования и нарушения очередности получения, вызываемых 
   коммуникационной системой Internet. Это достигается присвоением 
   очередного номера каждому передаваемому октету, а также 
   требованием подтверждения (ACK) от программы TCP, принимающей 
   данные. Если подтверждения не получено в течении контрольного 
   интервала времени, то данные посылаются повторно. Со стороны 
   получателя номера очереди используются для восстановления 
   очередности сегментов, которые могут быть получены в неправильном 
   порядке, а также для ограничения возможности появления дубликатов. 
   Повреждения фиксируются посредством добавления к каждому 
   передаваемому сегменту контрольной суммы, проверки ее при 
   получении и последующей ликвидации дефектных сегментов. 
      До тех пор, пока программы протокола TCP продолжают функциони- 
   ровать корректно, а система Internet не развалилась полностью на 
   составные части, ошибки пересылки не будут влиять на правильное 
   получение данных. Протокол TCP защищает от ошибок коммуникационной 
   системы Internet. Управление потоком
      Протокол TCP дает средства получателю управлять количеством 
   данных, посылаемых ему отправителем. Это достигается возвратом так 
   называемого "окна" (window) вместе с каждым подтверждением, кото- 
   рое указывает диапазон приемлемых номеров, следующих за номером 
   последнего успешно принятого сегмента. Окно определяет количество 
   октетов, которое отправитель может послать до получения дальнейших 
   указаний. Разделение каналов
      Чтобы позволить на отдельно взятом компьютере многим процессам 
   одновременно использовать коммуникационные возможности уровня TCP, 
   протокол TCP предоставляет на каждом хост-компьютере набор адресов 
   или портов. Вместе с адресами сетей и хост-компьютеров на коммни- 
   кационном уровне Internet они образуют сокет (socket - разъем). 
   Каждое соединение уникальным образом идентифицируется парой соке- 
   тов. Таким образом, любой сокет может одновременно использоваться 
   во многих соединениях.
      Соотнесение портов и процесов осуществляется каждым хост- 
   компьютером самостоятельно. Однако оказывается полезным связывать 
   часто используемые процессы (такие как "logger" или сервис с раз- 
   делением времени) с фиксированными документированными сокетами. 
   Этот сервис можно впоследствии использовать через известные адре- 
   са. Установка и настройка адресов портов для других процессов мо- 
   жет включать более динамичные механизмы. Работа с соединениями
      Механизмы управления потоком и обеспечения достоверности, опи- 
   санные выше, требуют, чтобы программы протокола TCP инициализиро- 
   вали и поддерживали определенную информацию о состоянии каждого 
   потока данных. Набор такой информации, включающий сокеты, номера 
   очереди, размеры окон, называется соединением. Каждое соединение 
   уникальным образом идентифицируется парой сокетов на двух концах. 
      Если два процесса желают обмениваться информацией, соответству- 
   ющие программы протокола TCP должны сперва установить соединение 
   (на каждой стороне инициализировать информаицию о статусе). По за- 
   вершении обмена информацией соединение должно быть расторгнуто или 
   закрыто, чтобы освободить ресурсы для предоставления другим поль- 
   зователям. 
      Поскольку соединения должны устанавливаться между ненадежными 
   хост-компьютерами и через ненадежную коммуникационную систему 
   Internet, то во избежание ошибочной инициализации соединений ис- 
   пользуется механизм подтверждения связи с хронометрированными но- 
   мерами очереди. Приоритет и безопасность
      Пользователи протокола TCP могут затребовать для своего соеди- 
   нения приоритет и безопасность. Предусмотрены принимаемые по умол- 
   чанию характеристики соединений, когда такие параметры не требуют-    
   ся.
Назад       Содержание       Вперёд