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

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

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

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

В этом случае соединение остается в состоянии 1ШЕ, ожидая пакета СЛСЕ кЕООЕ5Т. 666 Глава Б. Транспортный уровень Состояние Простой Ожидание В очереди Установлено Отправление Получение Рвэьединенив РН -/Просюй РЗ: А1/Установ- лено Р2: А2/Простой /Установ ено ЫЗТЕМ Р1: -/Простой Р1: АЭ/ Ожидание СОММЕСТ Р4: А5/Простой Р4: Аб/Разъеди- нение 018СОММЕС Р5: Ат/Усмн ов- лено Р5: Аб/Отпра- вление Ав/Получение НЕСЕ1ЧЕ РЗ: А1/Установена РЗ А4/В очерел Запрос соединения /уствнов ено Запрос принят А10/Уствнов- /П лена А10/Ус/янов- А10/Установлено пено -/Проста" Запрос разъединения -/Простой Подтвержде разьедннен ия А12/Установ- лено Пакет данных Ат/Установ- лено А11/Установ- лено Кредит ыиросто Тайм-вут Првднхвты действия мления) рис. 6.16.

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

В нашем примере нет состояния 115ТЕ/У1/у'С, которое вполне могло бы следовать после вызова примитива ~15Т5М. Состояния 11БТЕ/у11/1С нет потому, что оно связано с полем ззниси соединения, а примитив П5т5М не создает Р1; Таблица соединений полная Р2: Выполняется запрос соединения РЗ: Выполняется примитив ЫЗТЕМ Р4: Выполняется запрос разъединения Р5; Кредит ес/ъ А1: Поспать ппдтВЕРждение соединения А2: Ждать запрос соединения АЗ: Поспеть гкщтверзщвние соединения А4: Запустить таймер А5: Послать подтверждения разъединения Аб: Послать запрос разъединения ослвть соо щение Аб: ждать кредита Ав: Поглвть крепит дт 0: установить Флаг азапрос разъединения получен> А11: Записать кредит А12: Принять сообщение Простой транспортный протокол 697 записи соединения.

Почему же7 Потому что мы решили использовать в качестве идентификаторов соединений номера виртуальных каналов сетевого уровня, а для примитива Е15ТЕИ номер виртуального канала в конечном счете выбирается сетевым уровнем, когда прибывает пакет САП РЕООЕ5Т. Действия с А1 по А 12 представляют собой значительные действия, такие как отправление пакетов и запуск таймера. В таблице не перечислены менее значимые события, как, например, инициализация полей записи соедчтнения.

Бели действие включает активизацию спящего процесса, то действие, следующее за активизацией, также учитывается. Например, если прибывает пакет САСС РЕОБЕ5Т и процесс находился в состоянии ожидания этого пакета, то передача пакета САСС ЯССЕРТ, следующая за активизацией, рассматривается как часть реакции на прибытие пакета САСС РЕООЕ5Т. После выполнения каждого действия соединение может переместиться в новое состояние, как показано на рис. 6.16. Представление протокола в аиде матрицы состояний обладает тремя преимуществами. Во-первых, такая форма значительно упрощает программисту проверку всех комбинаций состояний и событий при принятии решения о том, не требуется ли какое-либо действие со стороны протокола. В рабочих версиях протокола некоторые комбинации использовались бы для обработки ошибок.

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

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

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

Основной недостаток подхода на основе конечного автомата состоит в том, что он может оказаться более сложным для понимания, чем приведенный ранее в листинге пример программы. Однако частично эту проблему можно решить, изобразив конечный автомат в виде графа, как это сделано на рис. 6.17. В98 Глава б. Транспортный уровень рнс. 6.17. Прнмвр протокола в виде графа. для простоты переходы, нв нзмвняющнв состояние соединения, были опущены Транспортные протоколы Интернета: 00Р В Интернете нашли применение два основных протокола транспортного уровня, один из которых ориентирован на соединение, другой — нет.

В следующих разделах мы изучим их. Протоколом без установления соединения является 1)1)Р. Протокол ТСР, напротив, ориентирован на соединение. Так как 1)ЭР— зто, на самом деле, просто 1Р с добавлением небольшого заголовка, мы изучим сперва его. Рассмотрим также два практических применения 1)РР. Основы 00Р Среди набора протоколов Интернета есть транспортный протокол без установления соединения, 1ЛЭР (1)зег 1)атайгагл Ргогосо! — пользовательский дейтаграммный протокол).

1)РР позволяет приложениям отправлять инкапсулированные 1Р-дейтаграммы без установления соединений. 00Р описан в ВЕС 768. Транспортныв протоколы Интернета: ОРР 599 С помощью протокола 1Л)Р передаются сегменты, состоящие из 8-байтного заголовка, за которым следует поле полезной нагрузки. Заголовок показан на рис. 6.18. Два номера портов служат для идентификации конечных точек внутри отправляющей и принимающей машин. Когда прибывает пакет П1)Р, содержимое его поля полезной нагрузки передается процессу, связанному с портом назначения. Это связывание происходит при выполнении примитива типа В1Х1), Это было продемонстрировано в листинге 6.1 применительно к ТСР (в (Л)Р процесс связывания происходит точно так же). В сущности, весь смысл использования 1Л) Р вместо обычного 1Р заключается как раз в указании портов источника и приемника.

Без этих двух полей на транспортном уровне невозможно было бы определить действие, которое следует произвести с пакстом. В соответствии с полями портов производится корректная доставка сегментов. гг Рно. 6.18. Заголовок 00Р Информация о порте источника требуется прежде всего при создании ответа, пересылаемого отправителю. Копируя значения поля Пора исглочника из входящего сегмента в поле Порт назначения исходящего сегмента, процесс, посылающий ответ, может указать, какому именно процессу на противоположной стороне он предназначается. Поле Длина 0РР содержит информацию о длине сегмента, включая заголовок и полезную нагрузку. Контрольная сумма (л)Р не является обязательной.

Если она не подсчитывается, ее значение равно 0 (настоящая нулевая контрольная сумма кодируется всеми единицами). Отключать функцию подсчета контрольной суммы глупо, за исключением одного случая — когда нужна высокая производительность (например, при передаче оцифрованной речи). Наверное, стоит прямо сказать о том, чего 1ЛЗР не делает. Итак, 1ЛЭР не занимается контролем потока, контролем ошибок, повторной передачей после приема испорченного сегмента. Все это перекладывается на пользовательские процессы.

Что же он делает? 1Л)Р предоставляет интерфейс для 1Р путем демультиплексирования нескольких процессов, использующих порты. Это все, что он делает. Для процессов, которым хочется управлять потоком, контролировать ошибки и временные интервалы, протокол ()1)Р— это как раз то, что доктор прописал. Одной из областей, где 1Л)Р применяется особенно широко, является область клиент-серверных приложений. Зачастую клиент посылает короткий запрос серверу и надеется получить короткий ответ.

Если запрос или ответ теряется, клиент по прошествии определенного временного интервала может попытаться еше раз. Это позволяет не только упростить код, но и уменьшить требуемое количе- 600 Глава Б. Транспортный уровень ство собщений по сравнению с протоколами, которым требуется начальная настройка. ПХВ (Роша1п Хаше Яузгеш — служба имен доменов) — это приложение, которое использует 1П)Р именно так, как описано ранее. Мы изучим его в главе 7.

В двух словах, если программе нужно найти 1Р-адрес по имени хоста, например, аав.св.Ьег1ха!еу.еЩ она может послать ()1)Р-пакет с этим именем на сервер 1)ХК Сервер в ответ на запрос посылает ()РР-пакет с 1Р-адресом хоста. Никакой предварительной настройки не требуется, как не требуется и разрыва соединения после завершения задачи. По сети просто передаются два сообшения. Вызов удаленной процедуры В определенном смысле процессы отправки сооб|цения на удаленный хост и получения ответа очень похожи на вызов функции в языке программирования. В обоих случаях необходимо передать один или несколько параметров, и вы получаете результат. Это соображение навело разработчиков на мысль о том, что можно попробовать организовать запросно-ответное взаимодействие по сети, выполняемое в форме вызовов процедур.

Такое решение позволяет упростить и сделать более привычной разработку сетевых приложений. Например, представьте себе процедуру с именем 9е1 ! Р асогезэ(иая хоста), работающую посредством отправки (1ПР-пакетов на сервер РХ8, ожидания ответа и отправки повторного запроса в случае наступления тайм-аута (если одна из сторон работает недостаточно быстро). Таким образом, все детали, связанные с особенностями сетевых технологий, скрыты от программиста.

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

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

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

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

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

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