3.2.1 Интерфейс транспортного драйвера
Уровнем выше над стеком сетевых протоколов TCP/IP находится интерфейс транспортного драйвера (Transport Driver Interface – TDI). Этот высокопроизводительный интерфейс режима ядра предназначен для сетевых приложений, которым требуется запрос и получение услуг сетевых транспортных
протоколов. Интерфейс TDI реализован в виде библиотеки, к которой подключаются драйверы режима ядра; он позволяет осуществлять связь по сети и пытается сократить количество операций копирования данных, например между буфером приложения и буфером сетевого транспортного протокола.
В частности, TDI позволяет приложениям регистрировать функции обратного вызова. Когда приложение получает пакет с данными, вызывается указанная функция обратного вызова. Процедура обратного вызова может просто просматривать пакет с данными, особенно если он небольшой, и сообщать, что обработка пакета завершена (после чего он будет отмечен как успешно доставленный). Если необходимо, клиент может копировать пакет в буфер для последующей обработки.
3.2.2 Подсистема буферизаций перенаправленных дисков
На следующем уровне находится подсистема буферизации перенаправленных дисков (Redirected Drive Buffering Subsystem – RDBSS), которая отвечает за предоставление кода буферизации всем перенаправителям (redirectors). Подсистема обеспечивает полноценное взаимодействие с диспетчером кэша Windows NT для всех сетевых файловых систем. Подсистема RDBSS впервые появилась в Windows 2000; до этого момента всем сетевым файловым системам требовался полноценный драйвер, который обеспечивал взаимодействие с операционной системой.
3.2.3 Мини-перенаправители
Эти устройства обеспечивают работу функций, относящихся к конкретной сетевой файловой системе или протоколу и пользуются услугами RDBSS для обработки рутинных операций взаимодействия с Windows NT. В Windows 2000 и Windows ХР предоставляется несколько мини-перенаправителей.
Мини-перенаправителем CIFS оснащены Windows 2000, Windows ХР и Windows Server 2003. В более ранних версий Windows NT был реа- лизван монолитный перенаправитель. Код RDBSS, общий для всех мини-перенаправителей, реализовался независимо каждым поставщиком. Технология CIFS более подробно рассматривается в разделе 3.3.
Мини-перенаправитель WebDAV (Web Distributed Authoring and Ver- sioning) поддерживает протокол HTTP 1.1 и расширения WebDAV для чтения и записи документов Web. Он предоставляет возможности, позволяющие назначать буквы дисков серверу независимо от протокола доступа к последнему. Назначение поддерживается как для серверов HTTP, так и для серверов CIFS. Корпоративные брандмауэры обычно разрешают прохождение пакетов HTTP и зачастую блокируют запросы/ответы протокола CIFS. Таким образом, мини-перенаправитель WebDAV обеспечивает доступ к серверам HTTP через брандмауэры, блокирующие пакеты CIFS. Поскольку стандарты XML и HTTP играют все большую роль, важность мини-перенаправителя WebDAV со временем будет увеличиваться. Обратите внимание, что WebDAV представляет собой исключительно клиент-серверный протокол, не поддерживающий взаимодействие между серверами.
Система Windows NT Services for UNIX (SFU) поставляется с мини- перенаправителем, поддерживающим протокол NFS. Файловая система NFS рассматривается в разделе 3.4.
3.2.4 Поставщик множественных имен UNC
В Windows поддерживается универсальное соглашение об именовании (Universal Naming Convention – UNC), необходимое для получения доступа к удаленным файлам. Поддержка UNC своими корнями уходит во времена MS DOS 3.3, которая существовала задолго до создания Windows NT. Имена UNC позволяют приложениям указывать файлы согласно их расположению на сервере и общем ресурсе (помните, что на одном сервере может существовать несколько общих ресурсов). Формат имен UNC выглядит следующим образом:
\\ИмяСервера\Ресурс\Подкаталог1\...\ПодкаталогN\ИмяФайла
Поддержка UNC в разных версиях Windows различается следующими параметрами:
максимальная длина пути UNC;
максимальная длина каждого элемента пути UNC, например длина имени подкаталога;