Главная » Просмотр файлов » tanenbaum_seti_all.pages

tanenbaum_seti_all.pages (525408), страница 157

Файл №525408 tanenbaum_seti_all.pages (Таненбаум Э. - Компьютерные сети) 157 страницаtanenbaum_seti_all.pages (525408) страница 1572013-09-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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

Кроме того, большая часть этих идей уже достаточно подробно обсуждалась в главе 3. Вместо этого мы решили использовать ориентированную на соединение надежную сетевую службу. При этом мы сможем уделить максимум внимания 588 Глава 6, Транспортный уровень Таблица 6.3. Пакеты сетевого уровня, используемые в примере Сетеаойпакет Значение СА1Л.ЙЕООЕВТ САЕЕАССЕРТЕО С«ЕАЙ ЙЕОЦЕВТ СЬЕАЙ СОМР1ЙМАТ1ОМ ОАТА СЙЕО1Т Запрос соединения. Посылается для установки соединения Вызов принят. Ответ на СА1 Е ЙЕООЕЯТ Запрос разъединения. Посылается для разрыва соединения Подтверждение разъединения.

Ответ на СЬЕАЙ ЙЕОЦЕЯТ Данные Кредит. Служебный пакет для управления окном При обращении к процедуре го пег транспортная сущность заполняет все значения параметров и передает их сетевому уровню. При вызове процедуры Тгов пеГ сетевой уровень передает входящий пакет транспортной сущности. Благодаря передаче информации сетевому уровню в виде параметров процслуры вместо передачи самого входящего или исходящего пакета транспортная сущность оказывается защищенной от деталей протокола сетевого уровня. Если транспортная транспортным вопросам, не встречавшимся на более низких уровнях.

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

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

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

6.3. Последние два параметра — зто указатель на данные и целое число, указывающее па количество байтов данных. Простой транспортный протокол 689 Листинг 6.2. Пример транспортной сущности Убе/тпе МАХ СОКИ 32 /* максимальное число одновременных соединений "/ Убеыне МАХ М50 512Е 0192 Убеттпе МАХ РКТ 5!2Е 512 УбеП пе Т!МЕООТ 20 Убеы пе СКЕО ! Убей пе ОК 0 /* наксниальный размер сообщения в байтах */ /* максмнальный размер пакета в байтах */ УбеП пе ЕКК РОСС - 1 Убеы пе ЕКК КЕОЕСТ -2 Убеыпе ЕКК СС05ЕО -3 Убе(япе СОИ ЕКК -3 туребе/ тпт Сгапврог( аббгевв: ьтребет епыщ (САКС КЕО.САСС АСС.ССЕАК КЕО,ССЕАК СОКР.ОАТА РКТ.СКЕ01Т) рй! тУРе: ьтребе/ епищ (!О!Е,ИА!Т!ИО,ООЕОЕО,Е5ТАОС15МЕ0.5ЕИ01ИО,КЕСЕ!Х1И0,015СОИИ) свтате: /* глобальные лерененные */ Сгапврогт аббгевв 11втеп аббгевв; зпт !тасей сопл; */ опвтрпеб слаг бата(МАХ РКТ 512Е1: /* временная область для пакетных данных */ сущность попытается послать пакет, когда в скользящем окне более низкого уровия нет свободных буферов, опа приостановится в процедуре со пес до тех пор, пока в окне це появится место.

Для транспортной суппгости этот механизм прозрачеи и управляется сетевым уровнем с поьтошькт комаид типа епаЬ1е 'сгапврогт 1ауег и б1забзе ьгапврогь 1ауег, аналогичных описанным в протоколах главы 3, Управление окном также осуществляется сетевым уровнем. Помимо этого прозра шого механизма приостановки есть также процедуры я1еер и ыайеор (ие показаны), вызываемые транспортной сушиостьк>.

Процедура з1еер вызывается, когда транспортная сущность логически блокирована ожидаиием виешисго события, обычно прибытия пакета. После вызова процедуры з1еер транспортная сушиость (и пользовательский пропесс, конечно) остаиавливаются. Программа транспортно!! сушиости показана в лист/инго 6.2. Каждое соединение может находиться в одном из слсдук>ших семи состояний: 1.

П)ЕŠ— соединение егце ие устаповлецо. 2. ЖА1Т1)х(Π— примитив СОИИЕСТ выполнен, пакет САП. КЕООЕ5Т послан. 3. О()Е()ЕЭ вЂ” пакет СЯ' С КЕООЕ5Т прибыл. Примитив С15ТЕИ еще ие вызывался, 4. ЕКАВ!.15НЕЕХ вЂ” соединение установлено. 5. ЯЕЫ01!х!Π— пользователь ожидает разрешения отправить пакет. 6. ВЕСЕ!Х/11хС вЂ” примитив КЕСЕ!ХЕ выполпеи. 7. 01БСОХХЕСТ1!х!С вЂ” примитив О!5СОИИЕСТ выполнен локально.

Между состояниями могут происходить переходы при одном из следующих событий: вьшолияется примитив, прибывает пакет или истекает время ожидаиия. 590 Глава 6. Транспортный уровень ча1б з1еер(чо1б); /* прототипы */ чо1б ыайецр(чо(б): чо(б Со пеС(тпС с1б, 1пС ц, 1пС щ, рХС Суре рС, цпз!Опеб сцаг *р, 1пС Ьутез); чотб Сгощ пеС(1пС *с!б, 1пС *ц, 1пС *щ.

рХС Суре *рС. цпв10пеб сЬаг *р, тпС *Ьутез): !пг 1!эсен(СгапэрогС аббгезз С) (/* Пользователь ждет соединения. Посмотреть, не прибыл ли уже пакет САСС йЕО. */ тпС т - 1, тоцпб 0; Сог (1 - 1; т <= МАХ СОИМ; 1ь+) /* поиск САСС йЕО в таблице */ зт (сопл[э).зсаСе — ООЕОЕО ае сопл[1].1оса1 аббгезэ — С) ( тоцпб - 1; Ьгеак: ] 1т (Соцпб — О) ( /* Нет пакетов САЕС йЕО, ждущих подтверждения. Можно спать, пока не прибудет пакет или не сработает тайнер. */ 1!эсен аббгезэ = С; э1еер(); ! - 1тэсеп сопл; сопл[1).зсате - ЕБТАВС[БНЕО; сопл[1).С1шег - 0; 11зтеп сопл - 0: Со пеС(1, О, О. САСС АСС, баса, О); */ гесцгп(1): /* вернуть идентификатор соединения */ эпС соппесС(СгапврогС аббгеэв 1, Сгапзрогс аббгеээ г) (/* Пользователь желает установить соединение с удаленнын процессон; послать пакет САСС йЕО */ 1пС 1; вСгцсС сопл *срсг: баСа[0] - г: бата[!] - 1: /* это нужно для пакета САВЕ йЕО */ 1 МАХ СОИИ: /* поиск в таблице с конца "/ н611е (сопл[э).зсасе 1- !0(.Е ад 1 > 1) т - т -1: 1Т (сопл[1].эСате — !ОСЕ) ( /* отметить в таблице.

что САСС ПЕР послан */ сртг - асопп[1). сртг->1оса1 аббгеьв - 1: сртг- гещосе аббгеэз - г; эсгцсС сопл ( Сгапэрогс аббгезв 1оса1 аббгевз, свсате э(асе: цпв!йпеб слаг *цвег Ьцт аббг; 1пС Ьуте соцпС; 1пС с1г гец тесе(чеб; ССЕАй йЕО */ (пС С1щег: для пакетов сАЕЕ йеО */ 1пС сгеб1(з; послать */ ) сопл[МАХ СОНИ+!]; гещосе аббгеэз: 7* состояние этого соединения */ /* указатель на приенный буфер */ /* счетчик передачи/лриема */ /* устанавливается при получении пакета /* используется для ожидания подтверждений /* число сообщений, которые разрешается /* 0-й интервал не используется */ /* соединение установлено */ /* тайнер не используется */ /* 0 считается неверныи адресом */ /* велеть сетевону уровню принять сообщение Простой транспортный протокол 591 срСг->эсасе НА1Т(ИО; срсг->с1г гей тесе(чеб - 0; срСг->сгесщсэ - О.

срсг->С!жег - О; Со пеС(1, О, О, САСС йЕО. баСа, 2): э1еер(): /* ждать САКС АСС или ССЕАй йЕО */ Чт (срсг->зсасе — Е5ТАВС)5НЕО) гесигп(!): ЧГ (срСг->с1г гец тесе!чеб) ( /* другая сторона отказалась от соединения */ срсг- эсасе - 10[Е; /* назад в состояние ожидания */ Со пеС(1, О, О, ССЕАй СОИР, баса, О); геСигп(Ейй йЕЗЕСТ); ) ) е!эе ге(игп(Ейй РОСС); таблице */ /* отказаться от соединения: нет песта в /* на каждое сообщение расходуется 1 кредит сртг->сгесщсэ */ срСг- эСасе - Е5ТАВ[15НЕО; гесигп(ОК); ) е1эе ( срсг- эсасе - Е5ТАВС)5НЕО; гесигп(Ейй СС05ЕО): разорвать соединение */ /* ошибка передачи: другая сторона хочет 1пС гесеЧче(1пС с1б, ипэтдпеб слаг Ьитрсг[], 1пС *Ьусеэ) (/* пользователь готов принять сообщение */ эсгисС сопл »срсг - ассом[сто]: Чт (срсг->с1г гец гесе1чеб — О) ( /* соединение установлено; попытка получения */ 1пС эепб(тпС с!б, ипэ1дпеб слаг Ьитрсг[], )пС Ьусеэ) (/* Пользователь хочет послать сообщение.

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

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

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

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