Если посмотреть на операции в интерактивном сеансе, можно обнаружить много сегментов с небольшим количеством данных, и, более того, выталкивание можно встретить практически в каждом сегменте данных. Однако выталкивание не должно применяться во время пересылки файлов (за исключением самого последнего сегмента), и TCP сможет наиболее эффективно паковать данные в сегменты.
10.2.4 Срочные данные
Модель пересылки данных приложением предполагает применение упорядоченного потока байтов, следующего к точке назначения. Снова обратившись к примеру интерактивного сеанса, предположим, что пользователь нажал клавишу
Механизм
10.2.5 Порты приложения
Клиент должен идентифицировать службу, к которой он хочет получить доступ. Это выполняется через спецификацию IP-адреса службы хоста и его номера порта TCP. Как и для UDP, номера портов TCP находятся в диапазоне от 0 до 65 535. Порты в диапазоне от 0 до 1023 называются общеизвестными (well-known) и используются для доступа к стандартным службам.
Несколько примеров общеизвестных портов и соответствующих им приложений показано в таблице 10.1. Службы
Таблица 10.1 Общеизвестные порты TCP и соответствующие им приложения
Порт | Приложение | Описание |
---|---|---|
9 | Discard | Отмена всех входящих данных |
19 | Chargen | Генератор символов. Обмен потоком символов |
20 | FTP-Data | Порт пересылки данных FTP |
21 | FTP | Порт для диалога FTP |
23 | TELNET | Порт для удаленной регистрации по Telnet |
25 | SMTP | Порт протокола SMTP |
110 | POP3 | Служба выборки почтовых сообщений для персональных компьютеров |
119 | NNTP | Доступ к сетевым новостям |
Что можно сказать о портах, используемых клиентами? В редких случаях клиент работает не через общеизвестный порт. Но в таких ситуациях, желая открыть соединение, он часто запрашивает у операционной системы присвоения ему неиспользуемого и незарезервированного порта. В конце соединения клиент обязан возвратить этот порт обратно, после чего порт может быть использован повторно другим клиентом. Поскольку в пуле нерезервированных номеров существует более 63 000 портов TCP, ограничения на порты для клиентов можно не учитывать.
10.2.6 Адреса socket
Как мы уже знаем, комбинация IP-адреса и порта для коммуникации называется
Рис. 10.4. Адреса socket
Заголовок каждой датаграммы содержит IP-адреса источника и назначения. В дальнейшем будет видно, что номера портов источника и назначения указываются в заголовке сегмента TCP.
Обычно сервер способен одновременно управлять несколькими клиентами. Уникальные адреса socket сервера присваиваются одновременно всем его клиентам (см. рис. 10.5).
Рис. 10.5. Несколько клиентов соединены с адресами socket сервера
Поскольку датаграмма содержит сегмент соединения TCP, идентифицирующийся IP-адресами и портами, серверу очень просто отслеживать несколько соединений с клиентами.
10.3 Механизм обеспечения надежности TCP
В этом разделе мы рассмотрим механизм TCP, используемый для надежной доставки данных при сохранении порядка пересылки и исключения потерь либо дублирования.
10.3.1 Нумерация и подтверждение
Для обеспечения надежной пересылки данных в TCP используются нумерация (numbering) и подтверждение (acknowledgment — ACK). Схема нумерации TCP несколько необычна:
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии