
- •Глава 2 Связь
- •2.1. Уровни протоколов
- •2.1. Уровни протоколов 83
- •84 Глава 2. Связь
- •2.1. Уровни протоколов 85
- •2.1.1. Низкоуровневые протоколы
- •86 Глава 2. Связь
- •2.1. Уровни протоколов 87
- •2.1.2. Транспортные протоколы (метод_Метелап лр_1)
- •88 Глава 2. Связь
- •2.1. Уровни протоколов 89
- •92 Глава 2. Связь
- •2.1.3. Протоколы верхнего уровня
- •2.1. Уровни протоколов 91
- •92 Глава 2. Связь
- •2.2. Удаленный вызов процедур 93
- •2.2. Удаленный вызов процедур
- •94 Глава 2. Связь
- •2.2.1. Базовые операции rpc
- •2.2. Удаленный вызов процедур 95
- •96 Глава 2. Связь
- •2.2. Удаленный вызов процедур 97
- •98 Глава 2. Связь
- •2.2.2. Передача параметров
- •2.2. Удаленный вызов процедур 99
- •100 Глава 2. Связь
- •2.2. Удаленный вызов процедур 101
- •102 Глава 2. Связь
- •2.2. Удаленный вызов процедур 103
- •2 .2.3. Расширенные модели rpc
- •104 Глава 2. Связь
- •2.2. Удаленный вызов процедур 105
- •106 Глава 2. Связь
- •2.2.4. Пример — dce rpc
- •2.2. Удаленный вызов процедур 107
- •108 Глава 2. Связь
- •2.2. Удаленный вызов процедур 109
- •110 Глава 2. Связь
- •2.3. Обращение к удаленным объектам 111
- •2.3. Обращение к удаленным объектам
- •112 Глава 2. Связь
- •2.3.1. Распределенные объекты
- •2.3. Обращение к удаленным объектам 113
- •114 Глава 2. Связь
- •2.3.2. Привязка клиента к объекту
- •2.3. Обращение к удаленным объектам 115
- •116 Глава 2. Связь
- •2.3. Обращение к удаленным объектам 117
- •2.3.3. Статическое и динамическое удаленное обращение к методам
- •118 Глава 2. Связь
- •2.3.4. Передача параметров
- •2.3. Обращение к удаленным объектам 119
- •120 Глава 2. Связь
- •2.3.5. Пример 1 — удаленные объекты dce
- •2.3. Обращение к удаленным объектам 121
- •122 Глава 2. Связь
- •2.3.6. Пример 2 — Java rmi
- •2.3. Обращение к удаленным объектам 123
- •124 Глава 2. Связь
- •2.3. Обращение к удаленным объектам 125
- •126 Глава 2. Связь
- •2.4. Связь посредством сообщений
- •2.4.1. Сохранность и синхронность во взаимодействиях
- •2 .4. Связь посредством сообщений 127
- •128 Глава 2. Связь
- •2.4. Связь посредством сообщений 129
- •130 Глава 2. Связь
- •2.4. Связь посредством сообщений 131
- •2.4.2. Нерезидентная связь на основе сообщений
- •132 Глава 2. Связь
- •2.4. Связь посредством сообщений 133
- •134 Глава 2. Связь
- •2.4. Связь посредством сообщений 135
- •136 Глава 2. Связь
- •2.4.3. Сохранная связь на основе сообщений
- •2.4. Связь посредством сообщений 137
- •1 38 Глава 2. Связь
- •2.4. Связь посредством сообщений 139
- •140 Глава 2. Связь
2.1.3. Протоколы верхнего уровня
Поверх транспортного уровня OSI указывает на наличие трех дополнительных уровней. На практике используется только прикладной уровень. На самом деле в комплекте протоколов Интернета все, что находится выше транспортного уровня, собирается в одну «кучу». В этом пункте мы увидим, почему с точки зрения систем промежуточного уровня нас не устраивает ни подход OSI, ни подход Интернета.
Сеансовые протоколы и протоколы представления
Сеансовый уровень представляет собой фактически расширенную версию транспортного уровня. Он обеспечивает управление диалогом, отслеживая и запоминая, какая сторона говорит в настоящий момент, и предоставляет средства син-
2.1. Уровни протоколов 91
х
ронизации.
Последние требуются для создания
пользователями контрольных точек
при длинных сеансах передачи данных, а
также уведомления их о сбое в ходе
такого сеанса. При этом необходимо
сделать откат только до последней
контрольной
точки и не нужно проходить весь путь
сначала. На практике сеансовый уровень
нужен немногим приложениям и поддерживается
редко. Он даже не входит
в комплект протоколов Интернета.
В отличие от предыдущих уровней, на которых мы заботились о точной и эффективной пересылке битов от отправителя к получателю, уровень представления занимается смыслом этих битов. Большинство сообщений содержат не случайные последовательности битов, а структурированную информацию типа фамилий, адресов, денежных сумм и т. п. На уровне представления можно определить записи, содержащие подобного рода поля, и потребовать у отправителя уведомлять получателя, что сообщение содержит отдельные записи соответствующего формата. Это упрощает взаимодействие между машинами с различным внутренним представлением данных.
Прикладные протоколы
Прикладной уровень модели OSI изначально должен был содержать набор стандартных сетевых приложений, например для работы с электронной почтой, передачи файлов и эмуляции терминала. В настоящее время он стал местом собрания всех приложений и протоколов, которые не удалось пристроить ни на один из более низких уровней. В свете эталонной модели OSI все распределенные системы являются просто приложениями.
Чего в этой модели нет — так это четкого разграничения приложений, специальных протоколов приложений и протоколов общего назначения. Так, например, популярный в Интернете протокол передачи файлов (File Transfer Protocol, FTP) [203, 361] определяет передачу файлов между клиентской машиной и сервером. Этот протокол не следует путать с программой ftp, которая представляет собой законченное приложение для передачи файлов и совпадает (но не полностью) с реализацией протокола FTP для Интернета.
Другим примером сугубо специального прикладного протокола [142] может служить протокол передачи гипертекста (Hypertext Transfer Protocol, HTTP), разработанный для удаленного управления и загрузки web-страниц. Протокол реализован в таких приложениях, как web-браузеры и web-серверы. Однако сейчас этот протокол используется и в системах, связь которых с Web не предполагается. Так, например, в RMI в языке Java протокол HTTP используется для обращения к удаленному объекту, защищенному брандмауэром [441].
Кроме того, существует множество протоколов общего назначения, используемых в различных приложениях. Они попали в прикладные протоколы, потому что их нельзя было отнести к транспортным. Во многих случаях они могут считаться протоколами промежуточного уровня, которые мы сейчас рассмотрим.
Протоколы промежуточного уровня
К промежуточному уровню относятся приложения, логически помещаемые на прикладной уровень, но содержащие множество протоколов общего назначения,