Главная » Просмотр файлов » Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)

Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 22

Файл №1162619 Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)) 22 страницаЭ. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619) страница 222019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 22)

Выбор того, какой из них использовать, завр1сит отсвойств лежащего ниже сетевого уровня. Никогда ни один из них не должен пе­регружаться.Время от времени предлагаются дополнительные транспортные протоколы.Так, например, для поддержки передачи данных в реальном времени был опре­делен транспортный протокол реального времени {Real-time Transport Protocol,RTP). RTP — это кадровый протокол, который определяет формат пакета для2.1.

Уровни протоколов89данных реального времени, ничего не говоря о механизмах гарантированной дос­тавки этих данных. Кроме того, в нем определен протокол для мониторингаи управления передачей RTP-пакетов [406].TCP в архитектуре клиент-серверВзаимодействие клиент-сервер в распределенных системах часто осуществляетсяпутем использования транспортного протокола базовой сети. С ростом популяр­ности Интернета нередко можно наблюдать построение приложений клиент-сер­вер и систем на базе TCP. Преимущества протокола TCP по сравнению с UDPсостоят в том, что он надежно работает в любой сети. Очеврщная оборотная сто­рона — протокол TCP создает значительную дополнительную нагрузку на сеть,особегпю в тех случаях, когда базовая сеть высоконадежна, например, в локаль­ных сетях.Когда на карту поставлены производительность и надежность, альтернативойвсегда является протокол UDP в сочетании с дополнительными процедурамиконтроля ошибок и потоков, оптимизированными для конкретного приложения.Оборотная сторона этого подхода состоит в том, что приходится проделыватьмассу дополнительной работы, а также в том, что полученное решение будет ча­стным, снижающим открытость системы.Протокол TCP во многих случаях непривлекателен из-за невозможности при­способить его для поддержки синхронного поведения запрос-ответ, используемогово многих взаимодействиях клиент-сервер.

На рис. 2.4, а показано применениепротокола TCP для поддержки взаимодействия клиент-сервер в нормальных ус­ловиях (когда сообщения не пропадают). Сначала клиент инициирует установ­ление соединения, которое происходит по трехэтапному протоколу установле­ния связи (первые три сообщения на рисунке). Этот протокол необходим длядостижения договоренности о порядке нумерации пакетов, пересылаемых черезсоединение (детали можно найти в [446]). Когда соединение установлено, кли­ент посылает свой запрос (сообщение 4), сопровождаемый пакетом, требующимот сервера разорвать соединение (сообщение 5).Сервер отвечает немедленным подтверждением приема запроса от клиента,которое скомпоновано с подтверждеиР1ем разрыва соединения (сообщение 6).Затем сервер выполняет требуемую работу и посылает клиенту ответ (сообще­ние 7), также сопровождаемый требованием разорвать соединение (сообщение 8).Клиент должен только послать подтверждение разрыва связи на сервер (сообще­ние 9).Ясно, что большая часть дополнительной нагрузки на сеть связана с управле­нием соединением.

При использовании TCP для управления взаимодействиемклиент-сервер гораздо дешевле будет скомбинировать установление соединенияс немедленной посылкой запроса, а посылку ответа — с разрывом соедиР1ения.Получившийся протокол носит название TCP для транзакций {TCP for Tran­sactions), сокращаемое до Т/ТСР. То, как функционирует этот протокол в нор­мальных условиях, можно увидеть на рис. 2.4, б.В нормальной обстановке происходит следующее: клиент посылает одно со­общение (сообщение 1), содержащее три порции информации: запрос на уста-90Глава 2. Связьновленрге соединения, собственно запрос к серверу и запрос, сообщающий серве­ру, что после этого он может немедленно разорвать соединение.СерверКлиент1СерверSYNSYN.aanpoc.FINSYN.ACK(FIN).OTBeT,FlN.SYN,ACK(SYN)••ACK(SYN)^запросACK(FIN)"FINВремяiВремя1Рис.

2 . 4 . Нормальное функционирование протокола TCP (а).Функционирование протокола TCP для транзакций (б)Сервер отвечает только после того, как обработает запрос. Он может послатьданные, для передачи которых и создавалось соединение, и немедленно потребо­вать его разрыва, что иллюстрирует сообще1П1е 2. После этого клиенту остаетсятолько подтвердить разрыв соединения (сообщение 3).Протокол Т/ТСР, созданный как расширение TCP, автоматически преобра­зуется в нормальный протокол TCP, если другая сторона не поддерживает эторасширение. Дополнительную информацию по TCP/IP можно найти в [437].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].Кроме того, существует множество протоколов общего назначения, исполь­зуемых в различных приложениях. Они попали в прикладные протоколы, пото­му что их нельзя было отнести к транспортным. Во многих случаях они могутсчитаться протоколами промежуточного уровня, которые мы сейчас рассмотрим.Протоколы промежуточного уровняк промежуточному уровню относятся приложения, логически помещаемые наприкладной уровень, но содержащие множество протоколов общего назначения.92Глава 2.

Связьчто дает им право на их собственный уровень, независимый от других, более спе­циализированных приложений. Можно отделить высокоуровневые протоколывзаимодействия от протоколов для предоставления различных служб промежу­точного уровня.Существует множество протоколов, которые поддерживают разнообразныеслужбы промежуточного уровня. Так, например, в главе 8 мы обсуждаем раз­нообразные методы аутентификации, то есть методы удостоверения личности.Протоколы аутентификации не привязаны к какому-либо конкретному прило­жению. Вместо этого они встраиваются в системы промежуточного уровня направах общедоступной службы.

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

Протоколы подтверждения делаюттак, чтобы в группе процессов либо все процессы прошли через определеннуюоперацр1ю, либо операция не была применена ни к одному из них. Это явление,известное также как атомарность, широко используется при транзакциях. Какмы увидим, не только транзакции, но и другие приложения, особенно рассчитан­ные на устойчивость к сбоям, также могут нуждаться в протоколах распределен­ного подтверждения.В качестве последнего примера рассмотрим протоколы распределенной бло­кировки, при помощи которых может быть предотвращен одновременный дос­туп к ресурсам нескольких процессов, распределенных по множеству машин.Мы рассмотрим некоторые из этих протоколов в главе 5. Это еще один примерпротоколов, которые могут быть реализованы в виде общедоступной службыпромежуточного уровня, который в то же время не зависит от какого-либо кон­кретного приложения.Коммуникационные протоколы промежуточного уровня поддерживают вы­сокоуровневые коммуникационные службы.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6552
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее