Информационные технологии

Сетевая файловая система WINDOWS SMB

Сетевые файловые системы играют важную роль в информационной инфраструктуре. Несмотря на растущую популярность серверов приложений, файловый сервис остается универсальным средством организаций коллективного доступа к информации. Более того, многие серверы приложений одновременно выступают и в роли файловых серверов.

Изначально сетевые возможности использовались для передачи данных от одной машины к другой. Позже это поучило своё развитие в обеспечении подключения пользователей удаленно к другим машинам. Следующим логическим шагом было предоставление данных пользователю, а не приближение пользователя к данным – так родились сетевые файловые системы.

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

Несмотря на разнообразие сетевых файловых систем, безусловными лидерами являются системы NFS (Network File System) и SMB (Service Message block).Цель данной работы, более подробно познакомиться с системой SMB.Группа компаний, «застраивающих» рынок PC, создала собственный протокол обмена SMB (Server Message Block) – (блок сообщений сервера). Этот протокол впервые был разработан сотрудником IBM, доктором Бэрри Фейгенбау, но в последствии протокол передали на доработку Microsoft, которая в то время была софтверным субподрядчиком IBM по созданию NT-0S/2. Создавая SMB, разработчики ориентировались на NetWare Core Protocol, лидировавший в то время на рынке. Поэтому на уровне пакетов, например, SMB очень похож на NCP.

Активное участие в разработках принимали компании 3Com и Intel. Термин SMB впервые использовался IBM в 1985 году. Еще раньше IBM (точнее, Sytek по заказу IBM) был предложен известный стандарт NetBIOS, на котором до недавнего времени основывались все сетевые возможности MS Windows и еще несколько десятков менее известных или уже забытых систем. (Некоторые программисты помнят NetBIOS как «сервис INT 5C»). Функции NetBIOS воспроизводят файловые операции DOS для упрощения трансляции вызовов между этими API. Непростая ситуация и с NetBIOS. Хотя протокол SMB получил собственный 1Р-порт(445) и не зависит от NetBIOS, некоторые системы (например, Windows 98) используют запросы NetBIOS для поиска ресурсов в одноранговых сетях. Так что избавиться от NetBIOS пока невозможно, «сервис INT 5С» по-прежнему работает. Надо сказать, что на этом основывается множество существующих вирусов и других «сервисов» для Windows.

SMB реализует:

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

Все эти операции могут быть помещены в сообщение SMB и переданы к серверу и от него.

Операционные системы от Microsoft имеют встроенную поддержку клиентской и серверной части протокола SMB. Wndows NT 4.0 использует более новый протокол SMB, чем Windows for Workgroups, а также имеет расширенную форму безопасности. Кроме того, существует большое количество коммерческих продуктов для серверов SMB от компаний Sun, Compaq, SCO, HP, Syntax и IBM. К сожалению, клиентская сторона представлена гораздо меньше, ограничиваясь продуктами от Digital Equipment Pathwork и Samba.

Несмотря на коммерческий статус протокола SMB, существует свободно распространяемый программный пакет Samba, обеспечивающий поддержку сервисов SMB для Unix/Linux. Разработчик Samba Эндрю Триджелл (Andrew Tridgell).Samba – свободно распространяемое програмное обеспечение (GPL), позволяющее:

а) создавать файл- и принт-серверов (для клиентов поддерживающих одну из реализаций протокола SMB) на базе открытых систем (OpenVMS, Digital Unix, AIX, IRIX, HPUX, Solaris, FreeBSD, NetBSD, Linux, и т.д.);

б) поддерживать (не полностью) доменную структуру NT DOMAIN;

В последнее время для того, чтобы дистанцироваться от старых версий SMB, был разработан протокол CIFS. SMB/CIFS – это протокол для соединения компьютеров с ОС типа Windows 95/98 и NT между собой или с сервером Samba Он был разработан недавно протокол CIFS (Common Internet File System), позволяет отказаться от старых версий SMB. После того, как новый CIFS-протокол был удачно представлен в качестве «открытого стандарта», финансирование проекта «CIFS для UNIX» и сотрудничество с Samba Team было прекращено. В результате Microsoft получила серьезное преимущество перед Sun, отвоевав большую часть локальных сетей для SMB. Сегодня нет стандарта SMB, есть только реализация секретного протокола MS, изобилующая недокументированными возможностями и прочими характеристиками благоприобретенного кода. Единственный способ узнать истину о протоколе – произвести анализ трафика, чем и занимается группа Samba Team.

Тем не менее, SMB продолжает наступление на NFS, ведь SMB – это часть Windows, а Windows – это, увы, настоящее для большинства современных вычислительных систем.

Протокол SMB несколько раз дополнялся новыми командами после выпуска первой версии. Но каждая новая версия совместима с предыдущей. Это дает возможность иметь в одной сети как клиентов, так и серверы с различными версиями протокола. Вообще сегодня насчитывается три диалекта SMB:

1) старый, применяемый в DOS/Windows 3.11 for Workgroups,

2) новый, фирменный CIFS от Microsoft,

3) квазистандартный, применяемый, например, в Samba. Старые протоколы SMB также имеют свои варианты – CORE, LANMAN и NT.

Microsoft имеет далеко идущие планы в отношении CIFS. Так, в ОС Windows NT 5.0 корпорация намерена реализовать функционирование CIFS непосредственно через TCP/IP без всяких там NetBIOS.

Распределенные файловые системы обладают многими свойствами, делающими их полезным инструментом для организации единой файловой системы в гетерогенных сетевых средах, что подтверждается их широким распространением. Тем не менее, предлагаемые сегодня распределенными файловыми системами подходы оказываются неработоспособными при переходе к сетям большого масштаба. Главная проблема – масштабируемость. В этой области проводятся интенсивные исследования, имеющие целью создание сетевой файловой системы в рамках всей сети Internet.

Н.В. Денисова