Андрей Робачевский - Операционная система UNIX

Тут можно читать онлайн Андрей Робачевский - Операционная система UNIX - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство BHV - Санкт-Петербург, год 1997. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Операционная система UNIX
  • Автор:
  • Жанр:
  • Издательство:
    BHV - Санкт-Петербург
  • Год:
    1997
  • Город:
    Санкт-Петербург
  • ISBN:
    5-7791-0057-8
  • Рейтинг:
    4.63/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Андрей Робачевский - Операционная система UNIX краткое содержание

Операционная система UNIX - описание и краткое содержание, автор Андрей Робачевский, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга посвящена семейству операционных систем UNIX и содержит информацию о принципах организации, идеологии и архитектуре, объединяющих различные версии этой операционной системы.

В книге рассматриваются: архитектура ядра UNIX (подсистемы ввода/вывода, управления памятью и процессами, а также файловая подсистема), программный интерфейс UNIX (системные вызовы и основные библиотечные функции), пользовательская среда (командный интерпретатор shell, основные команды и утилиты) и сетевая поддержка в UNIX (протоколов семейства TCP/IP, архитектура сетевой подсистемы, программные интерфейсы сокетов и TLI).

Для широкого круга пользователей

Операционная система UNIX - читать онлайн бесплатно полную версию (весь текст целиком)

Операционная система UNIX - читать книгу онлайн бесплатно, автор Андрей Робачевский
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

При определении маршрута модуль сетевого протокола (IP) сначала просматривает элементы таблицы для хостов, а затем для сетей. Если оба поиска не дают результата, используется маршрут по умолчанию (если такой установлен), определенный как маршрут в сеть с адресом 0. Обычно используется первый найденный маршрут. Таким образом, порядок поиска обеспечивает приоритетность маршрутов к хостам по отношению к маршрутам к сетям, что естественно, поскольку первые представлены более конкретными адресами.

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

Рис 625 Элемент таблицы маршрутизации Различают не только маршруты к хостам - фото 114

Рис. 6.25. Элемент таблицы маршрутизации

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

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

Данный аспект проиллюстрирован на рис. 6.26. Здесь мы рассмотрели процесс передачи IP-датаграммы хосту, расположенному в удаленном сетевом сегменте Ethernet. Поскольку доставка датаграммы предполагает использование промежуточного шлюза, передача данных на канальном уровне требует соответствующей адресации: на первом "перегоне" в качестве адреса получателя используется МАС-адрес шлюза, и только затем — МАС-адрес фактического адресата.

Рис 626 Инкапсуляция пакетов для косвенных маршрутов На то что маршрут - фото 115

Рис. 6.26. Инкапсуляция пакетов для косвенных маршрутов

На то, что маршрут является косвенным, указывает флаг RTF_GATEWAYэлемента таблицы маршрутов. В этом случае MAC-адрес получателя при формировании кадра канального уровня, будет определяться исходя из сетевого адреса шлюза, хранящегося в поле rt_gateway. [85] Для определения соответствия между IP-адресами интерфейсов и их MAC-адресами используется протокол ARP (Address Resolution Protocol), позволяющий производить формирование адреса кадра уровня канала данных.

Модуль протокола имеет возможность доступа к маршрутизационной информации с помощью трех функций: rtalloc()для получения маршрута, rtfree()для его освобождения и rtredirect()для обработки управляющих сообщений о перенаправлении маршрута ( ICMP REDIRECT).

Функция rtalloc()позволяет модулю протокола определить маршрут к требуемому адресату. В результате модуль размещает структуру route, имеющую следующие поля:

struct rtentry *ro_rt Указатель на соответствующий элемент таблицы маршрутизации
struct sockaddr ro_dst Адрес получателя данных

Возвращаемый функцией rtalloc()маршрут может быть освобожден с помощью функции rtfree()(это не означает, что маршрут будет удален из таблицы маршрутизации). Время жизни маршрута зависит от протокола верхнего уровня. Например, модуль протокола TCP хранит маршрут на протяжении жизни виртуального канала.

Функция rtredirect()обычно вызывается модулем протокола в ответ на получение от соседних шлюзов управляющих сообщений о перенаправлении маршрута. [86] В семействе протоколов TCP/IP для этих целей служит протокол ICMP. Сообщения о перенаправлении маршрутов ICMP REDIRECT формируются IP-модулем шлюза и информируют IP-модули соседних хостов (шлюзов) о существовании более выгодного маршрута к данному адресату. Шлюз генерирует такое сообщение в случае, когда обнаружен более предпочтительный маршрут для передаваемого пакета. Например, если хосты А и В находятся в одной и той же сети, и хост А направляет пакеты В через шлюз С, последний отправит А сообщение о перенаправлении маршрута, информирующее, что А в дальнейшем должен посылать данные В непосредственно. Этот процесс показан на рис. 6.27.

Рис 627 Перенаправление маршрутов Данная возможность может использоваться - фото 116

Рис. 6.27. Перенаправление маршрутов

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

Функция rtredirect()вызывается с параметрами, указывающими на адрес получателя, новый адрес шлюза, который необходимо миновать для достижения адресата, а также источник перенаправления маршрута. Заметим, что сообщения о перенаправлении маршрута принимаются только от текущего шлюза для данного получателя. Если существует маршрут, отличный от маршрута по умолчанию, то для него изменяется поле rt_gatewayсогласно указанному в сообщении новому адресу шлюза. В противном случае создается новая запись таблицы маршрутизации.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Андрей Робачевский читать все книги автора по порядку

Андрей Робачевский - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Операционная система UNIX отзывы


Отзывы читателей о книге Операционная система UNIX, автор: Андрей Робачевский. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x