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

64. Сетевые компоненты Windows. (Лекция 13)

Уровни модели Open System Interface (OSI/ISO):

L1 – физический, L2 – канальный, L3 – сетевой, L4 – транспортный, L5 – сеансовый, L6 – представления, L7 - приложения.

Сетевые API – независимое от протоколов взаимодействие приложений через сеть (режим ядра+пользователя или только пользователя). Некоторые сетевые API являются оболочками к другим сетевым API. Сетевые API обеспечивают независимое от протоколов взаимодействие приложений через сеть. Сетевые API реализуются либо в режиме ядра и пользовательском режиме, либо только в пользовательском режиме. Неко­торые сетевые API являются оболочками других API и реализуют специфи­ческую модель программирования или предоставляют дополнительные сервисы. (Термином «сетевые АР1» обозначаются любые программные ин­терфейсы, предоставляемые сетевым программным обеспечением.)

TDI (Transport Driver Interface) – интерфейс, позволяющий сетевым API обратиться к любому драйверу протокола. Клиент TDI – компонент сетевого API режима ядра, специфичный для сетевого AP. Транспорт TDI (драйвер протокола) – реализация протоколов L3/L4 с унифицированным интерфейсом. Клиенты TDI Драйверы устройств ре­жима ядра, обычно реализующие ту часть сетевого API, которая работает в режиме ядра. Клиенты TDI называются так из-за того, что пакеты зап­росов ввода-вывода (IRP), которые они посылают драйверам протоколов, форматируются по стандарту Transport Driver Interface. Этот стандарт определяет общий интерфейс программиро­вания драйверов устройств режима ядра.

NDIS (Network Driver Interface Specification) – стандарт аппаратно-независимого взаимодействия драйверов протоколов с драйверами сетевых адаптеров. NDIS-минипорт – драйвер, отвечающий за работу с конкретным сетевым адаптером

Привязка (binding) – процесс соединения уровней сетевых API и драйверов протоколов. Одному и тому же API может соответствовать несколько протоколов и наоборот (NetBIOS для TCP/IP и IPX/SPX). Драйвер протокола может использоваться несколькими драйверами NDIS (Адаптер #1 с включенным TCP/IP, адаптер #2 с включенным IPX/SPX). Библиотека NDIS (Ndis.sys) инкапсулирует функциональность для драйверов адаптеров, скрывая от них специфику среды Windows, рабо­тающей в режиме ядра. Библиотека NDIS экспортирует функции для транспортов TDI, а также функции поддержки для драйверов адаптеров. Минипорт-драйверы NDIS взаимодействуют с сетевыми адаптерами, используя функции биб­лиотеки NDIS, которые вызывают соответствующие функции HAL. Фактически четыре нижних сетевых уровня часто обозначают собиратель­ным термином «транспорт», а компоненты, расположенные на трех верхних уровнях, - термином «пользователи транспорта».

65. Именованные каналы, почтовые ящики, cifs в Windows. (Лекция 13)

Именованный канал (named pipe) – метод установки надежной двусторонней связи между двумя приложениями, в том числе и через сеть:\\сервер\Pipe\Имя канала.

Почтовый ящик (mail slot) – метод установки односторонней ненадежной связи, в том числе с поддержкой широковещания \\сервер\Mailslot\Имя ящика.

CIFS (Common Internet File System, SMB, LAN manager) – протокол совместного использования файлов в сети, не зависящий от транспорта. Common Internet File System – Общая межсетевая файловая система, файловая система CIFS. Обеспечивает непосредственное считывание/запись файлов, хранящихся на удалённых компьютерах, не требуя копирования их на локальную машину, как это происходит при работе в Интернет с такими протоколами, как FTP.

UNC (Universal Name Convention) – стандарт именования сетевого ресурса: \\сервер\ресурс

Сервер – имя сервера по стандартам одного из сетевых API (DNS, NetDIOS, IP-адрес). Служба MUP (Multiple UNC Provider) обеспечивает выбор редиректора (опрос при первом обращении к ресурсу, кеширование результата).

Локальные FSD – файловые системы NTFS и FAT, именованные каналы, почтовые ящики.

FSD редиректора поддерживает локальное кеширование, его тип выдается и отзывается сервером (механизм oplockopportunistic lock): монопольное использование (Level I oplock), кешировать чтение (Level II oplock).

Сервер выдает oplock в зависимости от числа обращений к файлу.

К ак и именованные каналы, почтовые ящики интегрированы с Windows API. Сервер почтового ящика создает почтовый ящик вызовом CreateMailslot. Сервер может создавать почтовые ящики только на той машине, на которой он работает, а назначаемые им имена почтовых ящиков могут включать подкаталоги.

Т.к. почтовые ящики поддерживают одностороннюю ненадежную передачу, число параметров CreateMailslot меньше, чем у CreateNamedPipe. После создания почтового ящика сервер просто отслеживает поступающие клиентские сообщения, вызывая функцию ReadFile и указывая описатель, представляющий почтовый ящик.

Чтобы послать сообщение в определенный экземпляр почтового ящика, клиент вызывает функцию CreateFile, указывая имя, специфичное для компьютера, например «\\Сервер\Mailslot\ИмяПочтовогоЯщика». (Для представления локального компьютера клиент задает «\\.\».) Если клиент хочет получить описатель, представляющий все почтовые ящики с заданным именем в домене, членом которого он является, он указывает имя в формате «\\*\Mailslot\ ИмяПочтовогоЯщика». Для широковещательной передачи во все почтовые ящики с заданным именем в другом домене используется имя в формате «\\ИмяДомена\Mailslot\ИмяПочтовогоЯщика».

O тесной интеграции функций именованных каналов и почтовых ящиков с Windows свидетельствует тот факт, что все они реализованы в Kernel32.dll. ReadFile и WriteFile, используемые приложениями для обмена сообщениями через именованные каналы и почтовые ящики, являются основными Windows-функциями ввода-вывода.