10.4.1 Сценарий соединения

10.4.1 Сценарий соединения

Процедуру соединения часто называют тройным рукопожатием (three-way handshake), поскольку для установки соединения производится обмен тремя сообщениями — SYN, SYN и ACK.

Во время установки соединения партнеры обмениваются тремя важными порциями информации:

1. Объем буферного пространства для приема данных

2. Максимальное количество данных, переносимое во входящем сегменте

3. Начальный порядковый номер, используемый для исходящих данных

Отметим, что каждая из сторон применяет операции 1 и 2 для указания пределов, в которых будет действовать другая сторона. Персональный компьютер может иметь небольшой приемный буфер, а суперкомпьютер — огромный буфер. Структура памяти персонального компьютера может ограничивать поступающие порции данных 1 Кбайт, а суперкомпьютер управляется с большими сегментами.

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

На рис. 10.8 показан пример сценария соединения. Представлены очень простые начальные порядковые номера, чтобы не перегружать рисунок. Отметим, что на данном рисунке клиент способен получать большие по размеру сегменты, чем сервер.

Рис. 10.8. Установление соединения

Выполняются следующие операции:

1. Сервер инициализируется и становится готовым к соединению с клиентами (это состояние называется пассивным открытием — passive open).

2. Клиент запрашивает у TCP открытие соединения с сервером по указанному IP-адресу и порту (это состояние называется активным открытием — active open).

3. Клиентская TCP получает начальный порядковый номер (в данном примере — 1000) и посылает сегмент синхронизации (synchronize segment — SYN). В этом сегменте пересылается порядковый номер, размер приемного окна (4 К) и размер наибольшего сегмента, который может принять клиент (1460 байт).

4. Когда поступает SYN, серверная TCP получает свой начальный порядковый номер (3000). Она посылает сегмент SYN, содержащий начальный порядковый номер (3000), ACK 1001 (что означает нумерацию первого посланного клиентом байта как 1001), размер приемного окна (4 К) и размер наибольшего сегмента, который сможет получить сервер (1024 байта).

5. Клиентская TCP, получив от сервера сообщение SYN/ACK, отсылает обратно ACK 3001 (первый байт посланных сервером данных должен нумероваться как 3001).

6. Клиентская TCP указывает своему приложению на открытие соединения.

7. Серверная TCP, получив от клиентской TCP сообщение ACK, информирует свое приложение об открытии соединения.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Режим Сценарий

Из книги Pinnacle Studio 11 автора Чиртик Александр Анатольевич

Режим Сценарий Итак, режим Сценарий лучше всего подходит для задания или проверки последовательности сцен, из которых составляется фильм проекта. Каждая сцена в этом режиме представлена кадром на киноленте. Кроме сцен в кадрах ленты могут быть показаны титры и меню. Как


14.9.4 Сценарий TFTP

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

14.9.4 Сценарий TFTP Работу протокола TFTP можно проиллюстрировать простым сценарием. На рис. 14.7 показано, как в TFTP реализуется чтение удаленного файла. После отправки запрашиваемой стороной блока данных она переходит в режим ожидания ACK на посланный блок и, только получив этот


17.5 Сценарий NNTP

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

17.5 Сценарий NNTP Как и SMTP, протокол NNTP работает поверх сеанса telnet в режиме NVT. Показанный ниже диалог демонстрирует взаимодействие по пересылке новостей. В данном случае клиент:? Соединяется с сервером? Запрашивает у сервера список поддерживаемых команд? Запрашивает


24.4.1 Сценарий 1

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

24.4.1 Сценарий 1 Технология Message Digest (резюме сообщения) подойдет для сценария 1 — аутентифицировать отправителя и определить изменения в данных. Рассмотрим, как работает этот механизм (см. рис. 24.1):? Источник и назначение знают секретный ключ.? Источник выполняет вычисление,


24.4.5 Сценарий 2

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

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


24.4.6 Сценарий 3

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

24.4.6 Сценарий 3 Сценарий 3 показан на рис. 24.4. Цель состоит в том, чтобы сделать невидимым для внешнего мира весь трафик, который компания XYZ посылает через недоверенную сеть. Для этого используется инкапсуляция в режиме туннеля, т.е. датаграммы шифруются и инкапсулируются


Линейный сценарий

Из книги автора

Линейный сценарий Как уже было сказано, веб-аналитики описывают сценарий убеждения как последовательность шагов. Такие шаги посетитель делает или в самом начале, или уже в конце процесса конверсии. В первом случае это может быть:переход по ссылке из поисковой системы


Нелинейный сценарий

Из книги автора

Нелинейный сценарий Маркетологи хорошо понимают покупательскую психологию и знают, что люди не любят выполнять действия в предписанном порядке. В процессе покупки у них возникает множество сомнений, которые необходимо разрешить. Вы сможете это сделать, только если


Простейший Web-сценарий

Из книги автора

Простейший Web-сценарий Первый Web-сценарий, который мы напишем, будет совсем простым. Он выведет на Web-страницу текущую дату.В самом начале этой книги, приступив к изучению HTML, мы создали небольшую Web-страничку 1.1.htm. Найдем ее и откроем в Блокноте. В самом конце ее HTML- кода,


Простейший Web-сценарий

Из книги автора

Простейший Web-сценарий Первый Web-сценарий, который мы напишем, будет совсем простым. Он выведет на Web-страницу текущую дату.В самом начале этой книги, приступив к изучению HTML, мы создали небольшую Web-страничку 1.1.htm. Найдем ее и откроем в Блокноте. В самом конце ее HTML- кода,


27.2. Сценарий backup_gen

Из книги автора

27.2. Сценарий backup_gen Сценарий backup_gen приводится здесь вовсе не для иллюстрации методики резервирования каталогов. Этот сценарий является удачным примером совместного использования настроек, общих для нескольких сценариев.Сценарий backup_gen предназначен для создания


27.5. Сценарий logroll

Из книги автора

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


29.4.1. Базовый сценарий cgi

Из книги автора

29.4.1. Базовый сценарий cgi Все сценарии обычно находятся в каталоге cgi?bin Web–сервера, хотя подобное размещение может быть изменено. Для изменения размещения сценариев и подключения сервера cgi следует обратиться к файлам конфигурации srm.conf и разделу ScriptAlias. Все сценарии