Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Реализация стека протоколов в универсальной ос

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

Компьютер может также играть роль промежуточного узла сети, являясь маршрутизатором, для этого к его операционной системе должно быть добавлено несколько программных модулей, в первую очередь модуль IP-маршрутиза­ции, который обеспечивает транзитную передачу IP-пакетов через компьютер.

Как было сказано ранее, такие маршрутизаторы относятся к классу программных; они были достаточно популярны в 80-е и в начале 90-х годов. Однако сравнительно невысокая скорость маршрутизации в универсальных ОС, в которых программный маршрутизатор работал наряду с обычными программами без оптимизации его специфических операций манипуляции пакетами, привела к постепенной замене программных маршрутизаторов аппаратными, такими как маршрутизаторы компаний Cisco или Juniper.

ПРИМЕЧАНИЕ Названия — «программные маршрутизаторы» и «аппаратные маршрутизаторы» — не вполне точны, так как, в сущности, все маршрутизаторы являются программно-аппаратными. Правильнее было бы сказать, что программные маршрутизаторы — это такие устройства, в которых программное обеспечение работает на универсальной аппаратной платформе (универсальном компьютере). Аппаратные маршрутизаторы, в свою очередь, являются устройствами, в которых программное обеспечение работает на специализированной аппаратной платформе.

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

Структура транспортных средств универсальной ос

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

В главе 7 уже рассматривалась общая структура системы ввода-вывода, здесь мы будем пользоваться введенными там понятиями и терминами.

В вертикальной подсистеме сетевых устройств, приведенной на рис. 9.12, аппаратными драйверами являются драйверы сетевых адаптеров, которые выполняют функции низкоуровневых канальных протоколов, таких как Ethernet, Frame Relay, ATM и других. Эти драйверы выполняют простые функции — они организуют передачу кадров данных между компьютерами одной сети. Над ними располагается слой модулей, которые реализуют функции более интеллектуальных протоколов сетевого уровня IP и IPX, обеспечивающих взаимодействие компьютеров разных сетей с произвольной топологией связей. Модули IP и IPX также могут быть оформлены как драйверы, хотя они находятся в промежуточном программном слое и непосредственно с аппаратурой не взаимодействуют. Вообще, вертикальная подсистема управления сетевыми устройствами является примером эффективного многоуровневого подхода к организации драйверов — просто в силу того, что в ее основе лежит хорошо продуманная семиуровневая модель взаимодействия открытых систем OSI. И хотя все семь уровней модели OSI обычно не выделяются в самостоятельные программные уровни, четыре уровня драйверов в подсистеме управления сетевыми устройствами чаще всего присутствуют. Над слоем драйверов сетевых протоколов располагается слой драйверов транспортных протоколов, таких как TCP/UDP, SPX и NetBEUI, которые отвечают за надежную связь между компьютерами сети. Еще выше расположен слой служб протоколов прикладного уровня (на рисунке — http, ftp и SMB), которые предоставляют пользователям сети конечные услуги по доступу к гипертекстовой информации, архивам файлов и многие другие.

Рис. 9.12. Реализация коммуникационных протоколов в универсальной ОС

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