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

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

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

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

По определениюпакета ошибок, его первый и последний биты должны быть равны 1, поэтому бу-240Элементарные протоколы передачи данныхГлава 3. Уровень передачи данныхдет ли он совпадать с образующим многочленом, будет зависеть от г - 1 промежуточных битов. Если все комбинации считать равновероятными, то вероятность такой нераспознаваемой ошибки будет равна (1/2)г~'.Также можно показать, что при возникновении пакета ошибок длиннее г + 1битов или нескольких коротких пакетов вероятность пропуска ошибки составляет (1/2)г при условии, что все комбинации битов равновероятны.Некоторые образующие многочлены стали международными стандартами.Вот, например, полином, использующийся в IEEE 802:Среди других его полезных свойств имеется и такое: этот многочлен позволяет определяться любые пакеты ошибок длиной не более 32 бит и пакеты, дающиенечетное число бит.Хотя алгоритм вычисления контрольной суммы может показаться сложным,Питерсон (Peterson) и Браун (Brown) в 1961 году показали, что может быть создана простая схема для аппаратной проверки и подсчета контрольных сумм наоснове сдвигового регистра.

Эта схема до сих пор применяется почти во всей аппаратуре ЛВС, а иногда и двухабонентских систем.В течение десятилетий предполагалось, что кадры, контрольные суммы которыхвычисляются, содержат случайные биты. Все исследования алгоритмов подсчетаконтрольных сумм основывались на этом предположении. Недавние исследования реальных данных показали, что эти предположения были совершенно неверными. Как следствие, при некоторых обстоятельствах вероятность прохождениянеобнаруженных ошибок оказалась значительно выше, чем считалось ранее (Partridge и др., 1995).Элементарные протоколы передачиданныхЗнакомство с протоколами мы начнем с рассмотрения трех протоколов возрастающей сложности.

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

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

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

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

Он просто сидит без дела, ожидая, что что-то произойдет. В приводимых в данной главе примерах протоколовожидание событий уровнем передачи данных обозначается вызовом процедуры—-=—wait_for_event(&event). Эта процедура возвращает управление, только когда чтото происходит (например, прибывает кадр). При этом переменная event сообщает,что именно случилось. Наборы возможных событий отличаются в разных протоколах и поэтому будут описываться для каждого протокола отдельно. Следуетзаметить, что в действительности уровень передачи данных не находится в холостом цикле ожидания событий, как мы предположили, а получает прерывание,когда это событие происходит. При этом он приостанавливает свои текущие процессы и обрабатывает пришедший кадр.

Тем не менее, для простоты мы проигнорируем эти детали и предположим, что уровень передачи данных все свое времяпосвящает работе с одним каналом.Когда приемная машина получает кадр, аппаратура вычисляет его контрольнуюсумму. Если она неверна (то есть при передаче возникли ошибки), то уровеньпередачи данных получает соответствующую информацию (event = cksum_err).Если кадр прибывает в целости, уровню передачи данных об этом также сообщается (euew£=frame_arrival), после чего он может получить этот кадр у физического уровня с помощью процедуры from_physical_layer.

Получив неповрежденныйL,242Глава 3. Уровень передачи данныхкадр, уровень передачи данных проверяет управляющую информацию, находящуюся в заголовке кадра, и если все в порядке, часть этого кадра передается сетевому уровню. Заголовок кадра не передается сетевому уровню ни при какихобстоятельствах.Для запрета передачи сетевому уровню любой части заголовка кадра есть веская причина: поддержание полного разделения сетевого уровня и уровня передачи данных. До тех пор, пока сетевой уровень ничего не знает о формате кадра ипротоколе уровня передачи данных, изменения формата и протокола не потребуют изменений программного обеспечения сетевого уровня.

Поддержание строгого интерфейса между сетевым уровнем и уровнем передачи данных значительноупрощает разработку программ, так как протоколы различных уровней могут развиваться независимо.В листинге 3.1 показаны некоторые объявления (на языке С), общие для многих протоколов, обсуждаемых далее. Определены пять структур данных: boolean,seq_nr, packet, framejdnd и frame.

Тип boolean представляет собой перечисляемыйтип, переменные которого могут принимать значения true или false. Тип seq_nrявляется целым без знака, используемым для нумерации кадров. Эти последовательные номера могут принимать значения от 0 до числа MAX_SEQ включительно, которое определяется в каждом протоколе, использующем его. Тип packet является единицей информации, используемой при обмене информацией междусетевым уровнем и уровнем передачи данных одной машины или двумя равноранговыми сетевыми уровнями.

В нашей модели пакет всегда состоит из МАХ_РКТ байт, хотя на практике он обычно имеет переменную длину.Структура frame состоит из четырех полей: kind, seq, ack и info, — первые трииз которых содержат управляющую информацию, а последнее может содержатьданные, которые необходимо передать. Эти три управляющих поля вместе называются заголовком кадра.Поле kind сообщает о наличии данных в кадре, так как некоторые протоколы отличают кадры, содержащие только управляющую информацию, от кадров,содержащих также и данные. Поля seq и ack используются соответственно дляхранения последовательного номера кадра и подтверждения.

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

Таким образом, сетевой уровень может действовать так, какбудто машины обмениваются пакетами напрямую.В листинге 3.1 также перечислен ряд процедур. Это библиотечные процедуры, детали которых зависят от конкретной реализации, и их внутреннее устройство мы рассматривать не будем. Как уже упоминалось ранее, процедура wait_for_event представляет собой холостой цикл ожидания какого-нибудь события.Процедуры to_network_layer и from_network_layer используются уровнем передачиЭлементарные протоколы передачи данных243данных для передачи пакетов сетевому уровню и для получения пакетов от сетевого уровня соответственно.

Обратите внимание: процедуры from_physical_layerи to_phy s i са 1 _1 aye г используются для обмена кадрами между уровнем передачиданных и физическим уровнем, тогда как процедуры tojietworkjayer и from_networkjayer применяются для передачи пакетов между уровнем передачи данных и сетевым уровнем. Другими словами, процедуры tojietworkjayer и from_networkj ayer относятся к интерфейсу между уровнями 2 и 3, тогда как процедуры from_physical_layer и to_physical_1ayer относятся к интерфейсу между уровнями 1 и 2.В большинстве протоколов предполагается использование ненадежного канала, который может случайно потерять целый кадр.

Для обработки подобных ситуаций передающий уровень передачи данных, посылая кадр, запускает таймер.Если за установленный интервал времени ответ не получен, таймер воспринимает это как тайм-аут, и уровень передачи данных получает сигнал прерывания.В наших примерах протоколов это реализовано в виде значения event=timeout,возвращаемого процедурой wait_for_event. Для запуска и остановки таймера используются процедуры start_timer и stop_timer соответственно.

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

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

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

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