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

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

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

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

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

Чтобы получить представление о транспортной службе, рассмотрим пять пРимитивов, перечисленных в табл. 6.1. Этот транспортный интерфейс сильно упрощен, но он дает представление о назначении ориентированного на соединение тРанспортного интерфейса. Он позволяет прикладным программам устанавливать, использовать и освобождать соединения, чего вполне достаточно для многих приложений. Транспортная служба 556 Таблица 6.1. Примитивы простой транспортной службы Посланный модуль данных Знвчвнив транспортного протокола Примитив ЫЗТЕМ (Ожиддть) (нет) Блокировать сервер, пока какой-либо процесс не попытается соединиться Активно пытаться установить соединение Послать информацию Блокировать сервер, пока не прибудугданные Прерватьсоединение ЗАПРОС СОЕДИНЕНИЯ СОММЕСТ (СОЕДИНИТЬ) ЗЕМО(ПОСЛАТЬ) РЕСЕ)УЕ (ПОЛУЧИТСЯ О)ЗСОММЕСТ (РАЗЪЕДИНИТЬ) ДАННЫЕ (нет) ЗАПРОС РАЗЪЕДИНЕНИЯ Заголовок кадра Заголовок Заголовок пакета ТРОСЬмодуля Рис.

6.2. Вложенность модулей данных транспортного протокола, пакетов н кадРов Чтобы понять, как могут быть использованы зти примитивы, рассмотрим приложение, состоящее из сервера и нескольких удаленных клиентов. Вначале сервер выполняет примитив С!5ТС)( — обычно для этого вызывается библиотечная процедура, которая обращается к системе. В результате сервер блокируется, пока клиент не обратится к нему. Когда клиент хочет поговорить с сервером, он выполняет примитив СОп))ГСТ. Транспортный объект выполняет этот примитив, блокируя обратившегося к нему клиента и посылая пакет серверу. Поле данных пакета содержит сообщение транспортного уровня, адресованное транспортному объекту сервера.

Следует сказать пару слов о терминологии. За неимением лучшего термина, для сообщений, посылаемых одной транспортной сущностью другой транспортной сущности, нам придется использовать несколько неуклюжее сокращение ТР1Н1 (Тгапзрог( Ргогосо1 Рата ()п(Š— модуль данных транспортного протокола). Модули данных, которыми обмениваются транспортные уровни, помещаются в пакеты (которыми обмениваются сетевые уровни). Эти пакеты, в свою очередь, содержатся в кадрах, которыми обмениваются уровни передачи данных. Получив кадр, уровень передачи данных обрабатывает заголовок кадра и передает содержимое поля полезной нагрузки кадра наверх, сетевой сущности. Сетевая сущность обрабатывает заголовок пакета и передает содержимое поля полезной нагрузки пакета наверх, транспортной сущности. Эта вложенность проиллюстрирована на рис. 6.2.

656 Глава 6, Транспортный уровень Итак, вернемся к нашему примеру общения клиента и сервера. В результате запроса клиента СОИИЕСТ серверу посылается модуль данных транспортного протокола, содержаший СОИИЕСТ!ОИ ЙЕООЕ5Т (запрос соединения). Когда он прибывает, транспортная сущность проверяет, заблокирован ли сервер примитивом Е15ТЕИ (то есть заинтересован ли сервер в обработке запросов). Затем она разблокирует сервер и посылает обратно клиенту модуль данных СОИИЕСТ1ОИ АССЕРТЕО (соединение принято). Получив этот модуль, клиент разблокируется, после чего соединение считается установленным. Теперь клиент и сервер могут обмениваться данными с помощью примитивов 5ЕИО и ИЕСЕ1ЧЕ. В простейшем случае каждая из сторон может использовать блокирующий примитив ВЕСЕ!ЧЕ для перехода в режим ожидания модуля данных, посылаемого противоположной стороной при помощи примитива 5ЕИО. Когда модуль данных прибывает, получатель разблокируется. Затем он может обработать полученный модуль и послать ответ.

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

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

Эта способность скрывать сложность от пользователей свидетельствует о том, что многоуровневые протоколы являются довольно мощным инструментом. Когда соединение больше не требуется, оно должно быть разорвано, чтобы можно было освободить место в таблицах двух транспортных сущностей. Разъединение существует в двух вариантах: симметричном и асимметричном. В асимметричном варианте любой пользователь транспортной службы может вызвать примитив 015СОИИЕСТ, в результате чего удаленной транспортной сущности будет послан управляющий модуль ТР?Н1 015СОИиЕСТ!Ои ИЕООЕ5Т (запрос разъединения).

После получения модуля ТРЕ)(3 удаленной транспортной сугцностью соединение разрывается. В симметричном варианте каждое направление закрывается отдельно, независимо от другого. Когда одна сторона выполняет примитив 015СОИИЕСТ, зто означает, что у нее больше нет данных для передачи, но что она все еше готова принимать данные от своего партнера. В этой схеме соединение разрывается, когда обе стороны выполняют примитив 015СОИИЕСТ. Диаграмма состояний для установки и разрыва соединения показана на рис. 6.3.

Каждый переход вызывается каким-то событием или примитивом, выполненным локальным пользователем транспортной службы или входящим пакетом. Для простоты мы будем считать, что каждый модуль треэ() подтверждается отдельно. Транспортная служба ВВ7 Мы также предполагаем, что используется модель симметричного разъединения в которой клиент делает первый ход. Обратите внимание на простоту этой моде- ли. Позднее мы рассмотрим более реалистичные модели. Получен ТРРСьмодуль с запросом соединяли Выполнен примитив 1 Выполнен примитив СОЕДИНИТЬ Получен ТРОО с запросом резь дуль ем ПАССИВНОЕ РАЗЪЕДИНЕНИЕ одупь сзепросом рвзьединения Выполнен примитив РАЗЪЕДИНИТЬ Рис. 6.3.

Диаграмма состояний для простой схемы управления соединениями. Переходы, обозначенные курсивом, вызываются прибытием пакетов. Сплошными линиями показана последовательность состояний клиента. Пунктирными линиями показана последовательность состояний сервера Сокеты Беркли Теперь рассмотрим другой набор транспортных примитивов — примитивы сокетов (иногда называемых гнездами), используемые в операционной системе Вег)ге1еу ())к(1Х для протокола ТСР (Тгапзт(зз(оп Соптго1 Ргососо1 — протокол управления передачей). Они приведены в табл. 6.2. Модель сокетов во многом подобна рассмотренной ранее модели транспортных примитивов, но обладает большей гибкостью и предоставляет больше возможностей.

Модули ТРТ)Ц соответствующие этой модели, будут рассматриваться далее в этой главе, когда мы будем изучать ТСР. Первые четыре примитива списка выполняются серверами в таком же порядке. Примитив 50СКСТ создает новый сокет и выделяет для него место в таблице транспортной сущности. Параметры вызова указывают используемый формат адресов, тип требуемой услуги (например, надежный байтовый поток) и протокол. В случае успеха примитив 50СКЕТ возвращает обычный описатель файла, ис- 658 Глава 6.

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

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

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

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