Главная » Просмотр файлов » Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF)

Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (1130118), страница 13

Файл №1130118 Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF)) 13 страницаЭ. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (1130118) страница 132019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

Она подобнаотправке заказного письма с подтверждением получения. Получив подтверждение, отправитель уверен, что письмо доставлено адресату, а не потеряно по дороге.Кроме того, существует служба запросов и ответов, в которой отправительпосылает дейтаграммы, содержащие запросы, и получает ответы от получателя.Например, к данной категории можно отнести вопрос к библиотеке о том, где говорят по-уйгурски. Обычно модель запросов и ответов применяется для реализации общения в модели «клиент-сервер»: клиент посылает запрос, а сервер отвечает на него. Обсуждавшиеся ранее типы служб сведены в таблицу на рис.

1.13.NataHaus.RU58Глава 1. ВведениеСетевое программное обеспечениеТаблица 1.3. Пять сервисных примитивов, обеспечивающихпростую передачу с установлением соединенияПримерСлужбаНадежный поток сообщений Последовательность страницОриентированная <на соединениеБез установлениясоединения59ЗначениеПримитивLISTEN (ожидание)CONNECT (соединение)Блок ожидает входящего соединенияНадежный поток байтУдаленная регистрацияНенадежное соединениеЦифровая голосовая связьRECEIVE (прием)Блок ожидает входящего сообщенияНенадежная дейтаграммаРассылка рекламыэлектронной почтойSEND (отправка)Отправка сообщения ожидающей сущноститого же рангаДейтаграммас подтверждениямиЗаказные письмаDISCONNECT (разрыв)Разрыв соединенияЗапрос — ответЗапрос к базе данныхРис.

1.13. Шесть типов службКонцепция использования ненадежной связи поначалу может показаться несколько странной. В самом деле, почему это может возникать такая ситуация,когда выгоднее предпочесть ненадежную связь надежной? Во-первых, надежноесоединение (в том смысле, который был оговорен ранее, то есть с подтверждением) не всегда можно установить. Скажем, Ethernet не является «надежным»средством коммуникации. Пакеты при передаче могут искажаться, но решать этупроблему должны протоколы более высоких уровней. Во-вторых, задержки, связанные с отсылкой подтверждения, в некоторых случаях неприемлемы, особеннопри передаче мультимедиа в реальном времени. Именно благодаря этим факторам продолжают сосуществовать надежные и ненадежные соединения.Установка соединения с ожидающей сущностью того жерангаЗатем процесс клиента выполняет примитив CONNECT, устанавливая соединение с сервером.

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

1.14стрелочкой с пометкой (1). Процесс клиента приостанавливается в ожиданииответа. Пакет, пришедший на сервер, обрабатывается его операционной системой.Если в пакете обнаруживается запрос на соединение, начинается поиск того клиента, который отправил этот запрос. При его обнаружении производятся два действия: клиент разблокируется и ему отсылается подтверждение (2). Реальное разблокирование происходит по прибытии подтверждения на клиентскую машину.Начиная с этого момента считается, что сервер и клиент установили соединение.Важно отметить здесь то, что подтверждение (2) генерируется самим кодом протокола и не является ответом на примитив пользователя, содержащий запрос.

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

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

Скажем, примитивы сервисов с установлением соединения и без него различаются. В табл. 1.3приведен минимальный набор примитивов, обеспечивающий надежную передачу битового потока в среде типа «клиент-сервер».Эти примитивы могут использоваться следующим образом.

Вначале серверисполняет LISTEN, показывая тем самым, что он готов устанавливать входящиесоединения. Этот примитив обычно реализуется в виде блокирующего системного вызова. После его исполнения процесс сервера приостанавливается до техпор, пока не будет установлено соединение.КлиентПроцессклиентаСервер(1) Запрос на соединение(2) Подтверждение соединения?Процесс(3) Запрос данных(4) Ответсервера(5) Разрыв соединения(6) Разрыв соединенияsоImIРис. 1.14. Простейшее взаимодействие клиента и сервера при передаче пакетовпо сети с установлением соединенияСамым очевидным жизненным примером такого взаимодействия может служить звонок покупателя (клиента) в сервисный центр компании.

Менеджер сер-60Сетевое программное обеспечениеГлава 1. Введениевисного центра должен находиться у телефона, чтобы иметь возможность ответить в том случае, если он зазвонит. Клиент совершает звонок. Когда менеджерподнимает трубку, считается, что соединение установлено.Следующим шагом будет выполнение сервером примитива RECEIVE, подготавливающего систему к принятию первого запроса. В нормальной ситуации этопроисходит сразу же после прекращения ожидания (LISTEN), даже до того, какклиент получает подтверждение соединения.

Системный вызов RECEIVE вновьблокирует сервер.Клиент выполняет SEND, передает запрос (3) и сразу же выполняет RECEIVE,ожидая ответ.Прием пакета с запросом разблокирует процесс сервера, благодаря чему онможет обработать запрос. По окончании обработки выполняется примитив SEND,и ответ отсылается клиенту (4). Прием пакета разблокирует клиента, теперь наступает его очередь обрабатывать пакет. Если у клиента есть еще запросы к серверу, он может отослать их. В противном случае соединение разрывается с помощью DISCONNECT.

Обычно первый примитив DISCONNECT отсылает пакет,уведомляющий сервер об окончании сеанса, и блокирует клиента (5). В ответсервер генерирует свой примитив DISCONNECT, являющийся подтверждениемдля клиента и командой, разрывающей связь. Клиент, получив его, разблокируется, и соединение считается окончательно разорванным. Именно так в двух словах можно описать схему коммуникации с установлением соединения.Конечно, жизнь не настолько проста.

Описанный алгоритм работы весьма схематичен, а кое-что просто неправильно (например, CONNECT на самом деле выполняется до LISTEN). При этом пакеты, бывает, теряются, возникают и другиепроблемы. Позднее мы рассмотрим все это гораздо более подробно, но на данный момент можно получить лишь общее представление о работе клиент-серверной системы с установлением соединения. Для этого полезно внимательно изучить рис. 1.14.Увидев эти шесть пакетов, необходимых для работы протокола, можно удивиться, почему же не используется протокол без установления соединения? Ответ таков: в идеальном мире, где нужны всего два пакета — один для запроса иодин для ответа, — это, возможно, имело бы смысл.

Но стоит представить себепередачу большого сообщения (скажем, мегабайтного файла), причем в обе стороны, причем с ошибками при передаче, потерянными пакетами и т. д., как ситуация меняется. Если ответ сервера состоит из нескольких сотен пакетов, парочкаиз которых затерялась по пути, то как клиент узнает, что он получил сообщениене в полном объеме? Как он узнает о том, что последний принятый пакет является действительно последним? Допустим, клиент запросил второй файл. Как онотличит пакет 1 из второго файла от потерянного пакета 1 из первого файла, который вдруг нашелся? Короче говоря, в реальном мире простой протокол запросов-ответов без подтверждений часто не подходит.

В главе 3 мы обсудим протоколы, позволяющие решать самые разные проблемы, возникающие при передачеданных. А сейчас поверьте на слово: наличие надежной связи с упорядоченнымбайтовым потоком между процессами — это удобно.61Службы и протоколыСлужбы и протоколы являются различными понятиями, хотя часто эти понятия смешиваются. Различие между ними, однако, столь важно, что мы хотели быеще раз обратить на него ваше внимание. Служба (или сервис) — это набор примитивов (операций), которые более низкий уровень предоставляет более высокому< Служба определяет, какие именно операции уровень будет выполнять отлица своих пользователей, но никак не оговаривает, как должны реализовываться эти операции.

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

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

Тип файла
PDF-файл
Размер
10,99 Mb
Тип материала
Высшее учебное заведение

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

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