Главная » Просмотр файлов » А. Робачевский - Операционная система UNIX

А. Робачевский - Операционная система UNIX (1114671), страница 88

Файл №1114671 А. Робачевский - Операционная система UNIX (А. Робачевский - Операционная система UNIX) 88 страницаА. Робачевский - Операционная система UNIX (1114671) страница 882019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Соответственно модуль IP имеет возможность непосредст!венно вызвать функцию pr_inputтребуемого протокола следующегоуровня.В случае, когда полученная датаграмма не содержит ошибок, но не адре!сована данному хосту, она, возможно, должна быть передана на другойсетевой интерфейс для последующей передачи фактическому адресату. Этапроцедура носит название шлюзования (forwarding) и включает выполнениеследующих шагов:О Производится проверка разрешенияВ случае отрица!тельного результата хост не может выполнять функции шлюза иданные уничтожаются.Возможность передачи на другой интерфейс определяется установкой соответствующегофлага при конфигурации сетевой подсистемы (модуля IP). Например, в операционнойсистеме SCO UNIX за это отвечает настраиваемый параметр ядраwww.books-shop.comсети в BSD UNIXПроизводится проверка адреса получателя.

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

В этих случа!ях модуль формирует соответствующее сообщение ICMP и передает егоотправителю датаграммы. Эти сообщения ICMP и причины их отправкиприведены в табл. 6.9.Таблица 6.9. Сообщения ICMPСообщениеПричинаDESTINATION UNREACHABLEНевозможно доставитьПричин можетбыть несколько:Отсутствует маршрут к сети2. Отсутствует маршрут к хосту3. Для передачи необходима фрагментация, но взаголовке установлен флаг(Don't Fragment)SOURCE QUENCHПереполнение сети. Шлюз передает это сообще%ние, запрашивая отправителя на уменьшение ско%рости передачи данныхТайм%аут.

Причины могут быть две:Истекло время жизни датаграммы в сети2. Произошел тайм%аут реассемблирования, т. е.через определенный промежуток времени полу%чены не все фрагменты датаграммыTIME EXCEEDEDПри вызове функциией передаетсякоторуюнеобходимо отправить, указатель на маршрут (структура route, хранящая!ся в управляющем блоке), а также флаги (например, указание не исполь!зоватьтаблицы).

Передача маршрута не является обя!Адреса сетей класса D — групповые (multicast) адреса — используются для создания специ!альных наложенных сетей (Multicast backbone,предназначенных для таких при!ложений, как видео!, аудиоконференции и т. п.

Обработка таких датаграмм выполняется,как правило, специальными демонами отдельно от стандартных функций шлюзования.Если в системе включена поддержка групповых адресов, данные с указанными адресамибудут передаваться этим демонам, которые и выполнят логическое шлюзование/передачу.www.books-shop.com468Глава 6. Поддержкав операционной системе UNIXзательной. Если функции не передан указатель на маршрут, будет исполь!зован маршрут из таблицы маршрутизации. В противном случае будетпроизведена проверка переданного маршрута, и при необходимости егозначение будет обновлено для последующего использования.Функцияможет быть вызвана и модулем транспортногопротокола (UDP или TCP).

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

Сначала функцияпроверяет правильность кон!трольной суммы и допустимость установленных полей заголовка. Если ука!занные проверки закончились неудачно, пакет "молчаливо" уничтожается.Далее определяется получатель пакета. Для этого на основании адресов иномеров портов отправителя и получателя производится поиск соответст!вующего управляющего блокаВ системе могут существоватьнесколько управляющих блоков с одинаковым номером локального порта,но с различными адресами и/или номерами портов отправителя.

В этомслучае выбирается блок, для которого найдено лучшее совпадение по всемчетырем параметрам. Конечно, лучшим является точное совпадение, но еслитакового не найдено, будет выбран блок с совпадающим номером локаль!ного порта, но неуказанным адресом и/или номером порта отправителя. Та!ким образом, управляющий блок, у которого не указаны часть или все четы!ре параметра, является получателем всех пакетов, для которых не найденолучшегоЕсли управляющий блок найден, данные и адрес отправителя помещаютсяв буфер приема сокета, связанного с управляющим блоком. В противномслучае генерируется сообщениеPORT UNREACHABLE.Функции udp_input передается целиком датаграмма, включающая заголовокзаго!ловоки данные протоколов верхнего уровня (приложений).

Помимо того что этаинформация необходима для определения адресата, по заголовку IP вычисляется кон!трольная сумма UDP. Такой подход гарантирует максимальную точность доставки данныхнужному приложению.Возможность создания таких получателей "по умолчанию" используется в сетевом супер!сервере inetd, который прослушивает все запросы и при необходимости запускает требуе!мый сервис (например FTP или Telnet). Это позволяет избежать запуска серверов без не!обходимости и тем самым сократить потребление ресурсов.www.books-shop.comсети в BSD UNIX469Передача данных от приложения инициируется системным вызовомsendto(2), который на уровне сокета преобразуется в вызов функциис запросом PRU_SEND. Если передача инициирована сис!темным вызовомто вместе с данными передается адрес получате!ля.

Если же данные были переданы с помощью системного вызова send(2),то адрес получателя определяется из управляющего блока, где он был со!хранен предшествующим вызовомФактическая передача осуществляется функциейкотораяформирует заголовок пакета, устанавливает значения его полей и вычисля!ет контрольную сумму. После этого производится вызов уже рассмотрен!ной ранее функции ip_outputКак следует из предшествующего описания TCP, этот транспортный про!токол обеспечивает гораздо более высокое качество передачи, чем UDP.Соответственно, его реализация также является гораздо более сложной. Впредыдущих разделах уже встречались различные алгоритмы, используе!мые при реализации протокола. В этом разделе мы остановимся на одномважном механизме TCP — его таймерах.Поскольку корректное функционирование протокола во многом зависитот порядка обмена управляющими сегментами, каждый канал обслужива!ется набором таймеров, позволяющих восстановить работу по тайм!ауту вслучае потери управляющих пакетов.

Эти таймеры хранятся в соответст!вующем управляющем блоке протокола TCP и, при их установке, обслу!каждые 500 миллисекунд функциейДля обеспечения передачи данных используются два таймера. Первый изних — таймер повторной передачи (retransmit timer). Этот таймер запуска!ется при передаче сегмента, если он уже не был запущен.

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

Скорость увеличениязначения таймера (timer backoff) определяется по специальной таблице иимеет экспоненциальный характер.Протоколне предусматривает предварительного установления связи с получателемданных. Поэтому, в отличие от TCP, вызовне приводит к формированиюуправляющих сообщений и обмену ими между сторонами. В данном случае он служитлишь для сохранения адреса получателя в управляющем блоке.Обслуживание таймера заключается в уменьшении установленного значения и уведомле!нии модуля, когда значение таймера становится равным нулю.Ⱦɚɧɧɚɹɜɟɪɫɢɹɤɧɢɝɢɜɵɩɭɳɟɧɚɷɥɟɤɬɪɨɧɧɵɦɢɡɞɚɬɟɥɶɫɬɜɨɦ%RRNVVKRSɊɚɫɩɪɨɫɬɪɚɧɟɧɢɟɩɪɨɞɚɠɚɩɟɪɟɡɚɩɢɫɶɞɚɧɧɨɣɤɧɢɝɢɢɥɢɟɟɱɚɫɬɟɣɁȺɉɊȿɓȿɇɕɈɜɫɟɯɧɚɪɭɲɟɧɢɹɯɩɪɨɫɶɛɚɫɨɨɛɳɚɬɶɩɨɚɞɪɟɫɭpiracy@books-shop.com470Глава 6.сети в операционнойUNIXВторой таймер — это(таймер сохранения). Этот таймер обеспе!чивает защиту от потери управляющих сообщений, содержащихзначения окна.

В случае, если отправитель готов передать данные, но анонси!рованное получателем окно слишком мало (равно нулю или меньше опреде!ленного значения), и отсутствуют неподтвержденные данные (т. е. таймер по!вторной передачи не включен), включается таймер сохранения. Если таймерсрабатывает (его значение становится равным нулю), а обновленное значениетак и не получено, отправитель передает максимально допустимый объемданных, определяемый текущим окном. Если же в этом случае значение те!кущего окна равно нулю (нулевое окно), то передается пробный сегмент(window probe), содержащий один октет данных, и таймер запускается снова.Если сообщение с обновленным значением окна было утеряно, или получа!тель по!прежнему отказывается изменить его размер, будет получено под!тверждение, содержащее текущее значение окна.

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

Еслиза определенный промежуток времени данные по каналу переданы не были,модуль TCP отправляет пробный сегмент keepalive, ожидая в ответ либоподтверждения (это означает, что задержка в передаче данных временная),либо сообщения сброса канала (RST). Если получен сегмент RST, каналбудет закрыт. Если после нескольких попыток, не будет получен отклик,канал будет уничтожен.Последний таймер из рассматриваемых, это(2MSL — двойноемаксимальное время жизни сегмента в сети). Модуль TCP запускает этоттаймер, когда производится завершение связи, и уже отправлено подтвер!ждение полученному сегменту FIN.

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

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

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

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