Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС лаб№6.docx
Скачиваний:
0
Добавлен:
18.01.2020
Размер:
2.4 Mб
Скачать

Калужский филиал

государственного образовательного учреждения

высшего профессионального образования

«Московский государственный

технический университет

имени Н.Э. Баумана»

Отчёт

по лабораторным работам по курсу

Операционные системы

Лабораторная работа №6

«Архитектура сетевых средств ОС Windows NT»

Выполнил студент: Филиппов Д.В.

Группа УТС.Б-41

Принял: Макаренков А.М.

Калуга, 2013

Цель работы: Изучение архитектурных особенностей и модульной структуры сетевых средств операционных систем семейства Windows NT (2000/XP/Vista/7).

Теоретическая часть

Из-за проблем несовместимости различных ранних стандартов объединения компьютеров в сети от различных фирм международные организации по стандартам предложили ряд моделей, которые ныне приняты повсеместно. Наиболее известными является две модели: модель ISO и модель Института инженеров по электротехнике и радиоэлектронике (IEEE), известная под названием Проект 802.

Модель стандарта OSI

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

Как показано на рис. 1, уровни OSI пронумерованы снизу вверх. Функции наиболее низкого уровня (базовые), такие, как передача битов данных по сетевому кабелю, находятся на самом нижнем уровне, в то время как функции, отвечающие за все аспекты работы приложений, располагаются на верхнем уровне.

Рис. 1. Модель стандарта взаимодействия Открытых Систем (OSI)

В соответствии с моделью OSI, назначение каждого уровня заключается в предоставлении сервиса последующему, более высокому уровню, что позволяет обеспечить независимость более высоких уровней от технических деталей фактической реализации этого сервиса. Уровни OSI абстрагированы таким образом, что каждый уровень "считает", что взаимодействует с тем же уровнем на другом компьютере. В действительности же каждый из них взаимодействует только с соседним уровнем на одном и том же компьютере. Например, для того чтобы информация с уровня 5 на компьютере А была передана на уровень 5 на компьютере В, она фактически должна проделать путь, показанный на рис. 2.

В нижеприведенном списке описано назначение каждого из семи уровней модели OSI, а также сервис, предоставляемый для смежных уровней.

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

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

Рис 2. Коммуникация между уровнями OSI

Точный формат фрейма, используемый в сети, зависит от конкретной сетевой технологии (например: Ethernet, Token Ring, FDDI, 100VG-AnyLAN). Таким образом, фрейм данных в сети Token Ring имеет формат, отличный от формата фрейма Ethernet. Канальный уровень отвечает за обеспечение безошибочной передачи фреймов с одного компьютера на другой через физический уровень. Это позволяет подразумевать на сетевом уровне виртуально безошибочную передачу данных через сетевое соединение. Фреймы содержат исходный адрес и адрес назначения, что позволяет компьютеру, отправляющему данные, и компьютеру, который их принимает, распознавать и извлекать из сети свои фреймы.

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

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

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

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

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

Модель ieee 802

Другая модель сетевой архитектуры, разработанная IEEE, осуществляет дальнейшую детализацию, определяя подуровни для канального уровня. Проект IEEE 802 определяет на уровне канала следующие два подуровня: подуровень управления доступом к среде (Media Access Control, MAC) и подуровень управления логическим каналом (Logical Link Control, LLC).

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

Рис. 3. Подуровни управления логическим каналом и управления доступом к среде

Верхний подуровень, LLC, управляет коммуникацией и определяет использование точек логического интерфейса, называемых точками доступа к сервису (Service Access Points, SAP), на которые можно ссылаться и которые другие компьютеры в сети могут использовать для передачи информации с подуровня LLC на верхние уровни модели OSI. Два протокола, работающих на одном компьютере, будут использовать различные SAP.

Как и прочие архитектурные компоненты ОС Windows NT, сетевые средства также имеют уровневую структуру. Такое строение позволяет обеспечить расширяемость операционной системы путем добавления новых функций и сервисных услуг. На рис. 4 показаны все компоненты, в совокупности образующие сетевую модель Windows NT.

Рис. 4. Сетевая модель WinNT

Модель сетевой архитектуры Windows NT начинается на подуровне MAC, где располагаются драйверы плат сетевых адаптеров. Эти драйверы связывают Windows NT с сетью через платы соответствующих сетевых адаптеров. В состав Windows NT входит сервис удаленного доступа (Remote Access Service, RAS), который позволяет получить доступ к сети

пользователям, которые работает на домашнем компьютере или в дороге. Более подробную информацию об этом можно найти в подразделе "Удаленный доступ для клиентов Windows NT" данного раздела. В состав сетевой модели входят два важных интерфейса: спецификация интерфейса сетевого драйвера (Network Driver Interface Specification) NDIS 3.0 и интерфейс драйвера транспорта (Transport Driver Interface) TDI. Эти интерфейсы обеспечивают независимость уровней друг от друга, позволяя смежным компонентам соответствовать одному общему стандарту. Например, драйвер платы сетевого адаптера (находящийся на уровень ниже интерфейса NDIS) не должен обязательно включать в свой состав блоки кода, написанные специально для транспортного протокола, который он использует. Наоборот, этот драйвер написан для интерфейса NDIS, который использует сервис соответствующего спецификации NDIS транспортного протокола. Эти интерфейсы включены в состав сетевой модели Windows NT для того, чтобы обеспечить мобильность и взаимозаменяемость модулей. Между этими двумя интерфейсами располагаются транспортные протоколы (программные модули поддержки транспортных протоколов в составе сетевой архитектуры Windows NT), действующие в сети как организаторы передачи данных. Транспортный протокол определяет, каким образом данные будут представлены при передаче на принимающий транспортный уровень другого сетевого компьютера (виртуальный путь передачи данных “по горизонтали”), и соответствующим образом их упаковывает. Он также передает данные драйверу платы сетевого адаптера через интерфейс NDIS, и редиректору – через интерфейс TDI (реальный путь передачи данных “по вертикали”). Над интерфейсом TDI располагаются редиректоры, которые "переназначают" сетевым сервисам другого компьютера локальные запросы на сетевые ресурсы. В целях обеспечения межсетевого взаимодействия с сетями от других поставщиков, Windows NT допускает множественные редиректоры. Для каждого редиректора операционная система Windows NT должен иметь соответствующий провайдер, который представляет собой динамически загружаемую библиотеку DLL, поставляемую разработчиками сети. Маршрутизатор множественных провайдеров определяет соответствующий провайдер, и затем перенаправляет запрос приложения через провайдера на соответствующий редиректор.

NDIS позволяет установить несколько сетевых плат на одном компьютере. Каждая плата сетевого адаптера может поддерживать множество транспортных протоколов. Преимущество поддержки драйверов многих протоколов одной сетевой платой заключается в том, что компьютеры под управлением Windows NT могут иметь одновременный доступ к различным типам сетевых серверов, каждый из которых использует свой транспортный протокол. Например, компьютер может одновременно получить доступ к серверу Windows NT через NBF (реализация NetBEUI под Windows NT) и к UNIX-серверу через TCP/IP. В отличие от предшествующих реализаций NDIS, Windows NT не нуждается в модуле менеджера протоколов для обеспечения связи различных компонентов на каждом уровне.

Вместо этого Windows NT использует информацию реестра и небольшой фрагмент кода, который называется оболочкой NDIS (NDIS wrapper).