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

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

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

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

Аналогично для обмена управляющими командамимежду модулями протоколов используются функции pr_ctlinputиpr_ctloutputЦепочка взаимодействующих протоколов производитразмещение и освобождение памяти при обмене сообщениями, которые пе!редаются посредством рассмотренных структур mbuf: при передаче сообще!ний от сети прикладному процессу за освобождение буферов mbuf отвечаетмодуль верхнего уровня и наоборот, при передаче сообщений в сеть память,занимаемая сообщением, освобождается на самом нижнем уровне.www.books-shop.com456Глава 6.сети в операционной системе UNIXПоле pr_flags определяет некоторые характеристики протокола и режимего функционирования, которые в основном относятся к уровню сокетов.Например, протоколы, предусматривающие предварительное установлениесвязи, указывают это с помощью флагане позволяятем самым функциямпередавать данные модулю до создания вир!туального канала.

Если установлен флагсоответствующиефункции сокета будут уведомлять модуль протокола, когда прикладнойпроцесс получает данные из буфера приема. Это может служить сигналомпротоколу для отправления подтверждения о получении, а также для об!новления значения окна в соответствии с освободившимся местом.Заметим, что каждый модуль протокола имеет собственные очереди сооб!щений, используемые для приема и передачи данных.Каждый сетевой интерфейс системы представлен структурой данных, по!казанной на рис.

6.23. Сетевой интерфейс обычно связан с соответствую!щим сетевым адаптером, хотя это не является обязательным условием.Например, внутренний сетевой интерфейс loopback представляет собойпсевдоустройство, используемое для унифицированного взаимодействиясетевых процессов в рамках одного хоста, отладки и т. п.Рис. 6.23. Сетевой интерфейсРешение об использовании того или иного сетевого интерфейса для пере!дачи сообщения базируется на таблице маршрутизации и производитсяwww.books-shop.comсети в BSDмодулем сетевого уровня. Интерфейс может обслуживать протоколы раз!личных коммуникационных доменов. Соответственно, один и тот же ин!терфейс может иметь несколько адресов, определенных для каждого се!мейства протоколов. Структуры, определяющие локальный и широкове!щательный (broadcast) адреса интерфейса, а также сетевую маску, хранятсяв виде связанного списка.Каждый сетевой интерфейс имеет очередь, в которую помещаются сооб!щения для последующей передачи, выполняемой функциейИнтерфейстакжеможетопределитьпроцедурыинициализацииif_initсброса if_resetи обработки таймераПо!следняя может использоваться для управления потенциально ненадежны!ми устройствами или для периодического сбора статистики устройства.Состояние интерфейса характеризуется флагами, хранящимися в полеlags.

Возможные флаги приведены в табл. 6.8.Таблица 6.8. Состояния интерфейсаФлагЗначениеИнтерфейс доступен для использованияIFF_BROADCASTИнтерфейс поддерживает широковещательные адресаИнтерфейс поддерживает групповые адресаИнтерфейс обеспечивает возможность отладкиIFF_LOOPBACKПрограммный внутренний интерфейсИнтерфейс для канала точка%точкаРесурсы интерфейса успешно размещеныIFF_NOARPИнтерфейс не использует протокол трансляции адресаФлаг IFF_UP свидетельствует о готовности интерфейса передавать сооб!щения.

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

Заметим, что эти двафлага являются взаимоисключающими, aи ifa_dstaddrявляются различными именами одного и того же поля. Интерфейс уста!навливает флаг IFF_RUNNING после размещения необходимых структурданных и отправления начального запроса на чтение устройству (напри!мер, сетевому адаптеру), с которым он ассоциирован.www.books-shop.com458Глава 6.сети операционной системе UNIXСостояние интерфейса и ряд других параметров можно просмотреть с по!мощью команды$inet1500netmask ffffffOO broadcastЛегко заметить, что команда выводит значение следующих полей структу!рыдля интерфейса leOi f _ f l a g s , if_mtu (MaximumTransmission Unit, MTU) определяющее максимальный размер пакета, ко!торый может быть передан по физической сети, а также значения полейструктурыадрес интерфейса inetмаску n e t m a s kи широковещательный адрес broadcast (ifa_broadaddr).Интерфейс хранит статистическую информацию, которая может быть ис!пользована при мониторинге сети.

В частности, эта информация включаетчисло полученных пакетов уровня канала (if_ipackets), количествоошибок при приеме (if_ierrors), число отправленных пакетов уровняканалаколичество ошибок при передаче (if_oerrors) ичисло коллизий (if_collisions). Командапозволяет полу!чить эту информацию для сконфигурированных интерфейсов в системе:$inNameleOMtu8231500Net/Dest127.0.0.0194.85.160.0Address127.0.0.1168761162463601042Opkts168761110166OerrsО1933CollisО382604МаршрутизацияСетевая подсистема предназначена для работы в коммуникационной сре!де, представляющей собой набор сетевых сегментов, связанных между со!бой. Связь между отдельными сегментами достигается путем подключенияих к хостам, имеющим несколько различных сетевых интерфейсов, какпоказано на рис. 6.24.

Такие хосты при необходимости выполняют переда!чу данных от одного сегмента к другомуДля сетей пакетнойкоммутации, о которых идет речь, выполнение этой задачи непосредст!венно связано с выбором маршрута прохождения пакетов данных (routing).Для этого система хранит таблицы маршрутизации, которые используютсяпротоколами сетевого уровня (например, IP) для выбора требуемого ин!терфейса для передачи пакета адресату.информация хранится в виде двух таблиц, одна изкоторых предназначена для маршрутов к хостам, а другая — для маршру!тов к сетям.

Такой подход позволяет использовать универсальные меха!Заметим, что каждый интерфейс такого хоста!шлюза имеет собственный адрес, соответст!вующий той сети, к которой он непосредственно подключен. Например, для сетей с раз!деляемой средой передачи сетевая часть этого адреса равна адресу сети.www.books-shop.comсети в BSD UNIX459определения маршрута как для сетей с разделяемой средой переда!чи (например, Ethernet), так и для сетей с каналами типа точка!точка.

На!пример, для доставки пакета удаленному хосту, подключенному к сетипервого типа, достаточно знать адрес этой сети, в то время как для кана!лов точка!точка необходимо явно задать адрес интерфейса противополож!ного концаРис. 6.24. Коммуникационная среда UNIX (internetwork)При определении маршрута модуль сетевого протокола (IP) сначала про!сматривает элементы таблицы для хостов, а затем для сетей. Если оба по!иска не дают результата, используется маршрут по умолчанию (если такойустановлен), определенный как маршрут в сеть с адресом 0.

Обычно ис!пользуется первый найденный маршрут. Таким образом, порядок поискаобеспечивает приоритетность маршрутов к хостам по отношению к мар!шрутам к сетям, что естественно, поскольку первые представлены болееконкретными адресами.Каждый элемент таблицы маршрутизации, показанный на рис. 6.25, со!держит адрес получателя (это может быть адрес сети получателя или адресВспомним, что IP!адрес состоит из двух частей — адреса сети и адреса хоста в этой сети.Для интерфейса, подключенного к разделяемой среде, каковой является большинство ло!кальных сетей, существенным является лишь первая часть адреса!получателя, посколькучерез этот интерфейс непосредственно доступны все хосты с данным адресом сети.

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

Следующее по!ле, rt_gateway, определяет следующий шлюз, которому необходимо на!править пакет, чтобы последний в конечном итоге достиг адресата. Полеrt_flags определяет тип маршрута (к хосту или к сети), а также его со!стояние. В поле rt_use хранится число переданных по данному маршрутупакетов, a rt_refcnt определяет использование маршрута сетевыми про!цессами (виртуальными каналами). Наконец, поле rt_ifp адресует сете!вой интерфейс, которому необходимо направить пакет для дальнейшейпередачи по данному маршруту.Рис.

6.25. Элемент таблицы мар%шрутизацииРазличают не только маршруты к хостам и сетям, но также маршруты пря!мые (direct) и косвенные (indirect). Первое различие определяет критерийсравнения адреса получателя пакета с полем rt_dst элемента таблицымаршрутизации. Если маршрут к сети, то сравнивается только сетеваячасть адреса, в противном случае требуется полное совпадение адресов.Определение маршрута как прямого или косвенного зависит от того, име!ется ли непосредственная связь между получателем, указанным в полеи сетевым интерфейсом, обслуживающим данный маршрут. На!пример, маршрут в сеть, непосредственно подключенную к сетевому ин!терфейсу, является прямым.

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

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

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

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