CIFS (Common Internet File System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:04, 2 апреля 2017.
CIFS
Полное название Common Internet File System
Другие
Операционная система Microsoft Windows 2000, Microsoft Windows NT, Microsoft Windows 98, Microsoft Windows 95, UNIX

CIFS (сокр. от англ. Common Internet File System, Единая Файловая Система Интернета) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Является первой версией протокола SMB (Server Message Block). CIFS была разработана компаниями IBM, Microsoft, Intel и 3Com в 1980-х годах; вторая (SMB 2.0) была создана Microsoft и появилась в Windows Vista. В настоящее время SMB связан главным образом с операционными системами Microsoft Windows, где используется для реализации «Сети Microsoft Windows» (англ. Microsoft Windows Network) и «Совместного использования файлов и принтеров» (англ. File and Printer Sharing).

История

Протокол был разработан сотрудником IBM Бэрри Файгенбаумом (англ. Barry Feigenbaum) в 1983 году. Изначально CIFS был реализован через NetBIOS (поверх NBF, IPX/SPX или NetBIOS over TCP/IP) и использовался в сетях MS-NET и LAN Manager для DOS, а также в Windows for Workgroups. Microsoft Corporation регулярно дополняла протокол новыми возможностями; так, вторая версия CIFS - Microsoft Networks SMB File Sharing Protocol Extensions появилась в 1988 году, 3-я версия — в 1989 году, версия 3.4 — в 1992.

Принцип работы

CIFS — это протокол, основанный на технологии клиент-сервер, который предоставляет клиентским приложениям простой способ для чтения и записи файлов, а также запроса служб у серверных программ в различных типах сетевого окружения.[Источник 1] Единственное отличие от модели клиент-сервер состоит в том, что, когда клиент посылает в качестве запроса возможные блокировки, то сервер вынужден отпустить уже предоставленную блокировку, так как другой клиент запросил открытие файла в режиме, несовместимом с предоставленной блокировкой. В этом случае сервер посылает клиенту уведомительное сообщение о том, что блокировка была снята. Серверы предоставляют файловые системы и другие ресурсы (принтеры, почтовые сегменты, именованные каналы и т. д.) для общего доступа в сети. Клиентские компьютеры могут иметь у себя свои носители информации, но также имеют доступ к ресурсам, предоставленным сервером для общего пользования.

Клиенты соединяются с сервером, используя протоколы TCP/IP (а, точнее, NetBIOS через TCP/IP), NetBEUI или IPX/SPX. После того, как соединение установлено, клиенты могут посылать команды серверу, который даёт им доступ к ресурсам, позволяет открывать, читать файлы, писать в файлы и вообще выполнять весь перечень действий, которые можно выполнять с файловой системой. Однако в случае использования CIFS эти действия совершаются через сеть.

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

  • Сообщения установления соединения, состоящие из команд, которые запускают и завершают соединение перенаправителя с общим ресурсом на сервере.
  • Сообщения о пространстве имен и манипуляциях с файлами, использующиеся перенаправителем для получения доступа к файлам на сервере и для их чтения и записи.
  • Сообщения принтера, использующиеся перенаправителем для отправки данных в очередь печати на сервере и получения информации о состоянии очереди печати.
  • Различные сообщения, использующиеся перенаправителем для записи в mailslots (клиент-серверный интерфейс) и именованные каналы.

CIFS дополняет протокол передачи гипертекста (HTTP), обеспечивая более сложное совместное использование файлов и передачу файлов, чем старые протоколы, такие как FTP. Компоненты в перенаправителе обеспечивают поддержку CIFS, например:

  • Rdbss.sys Все взаимодействия на уровне ядра инкапсулируются в этом драйвере. Сюда входят все менеджеры кэшей, диспетчеры памяти и запросы для удаленных файловых систем, чтобы указанный протокол мог использовать запрошенный сервер.
  • Mrxsmb.sys Этот мини-перенаправитель для CIFS имеет команды, специфичные для CIFS.
  • Mrxnfs.sys Этот мини-редиректор для сетевой файловой системы (NFS) обеспечивает поддержку NFS. Mrxnfs.sys включен в Службы для Unix.

В Windows NT 4.0 разрешение имен Windows Internet Name (WINS) и Domain Name System (DNS) было выполнено с использованием TCP-порта 134. Расширения для CIFS и NetBT теперь позволяют соединения непосредственно через TCP/IP с использованием TCP-порта 445. Оба способа разрешения все еще доступны в Windows 2000. Можно отключить одну или обе этих службы в реестре.

Возможности, предлагаемые CIFS

  • Целостность и параллельность CIFS позволяет нескольким клиентам получать и обновлять один и тот же файл, предотвращая конфликты, обеспечивая совместное использование файлов и блокировку файлов.[Источник 2] Совместное использование файлов и блокировка файлов - это процесс, позволяющий одному пользователю одновременно обращаться к файлу и блокировать доступ ко всем остальным пользователям. Эти механизмы разделения и блокировки могут использоваться через Интернет и Intranet. Они также разрешают агрессивное кэширование, чтение и запись без потери целостности. Файловые кэши буфера должны быть очищены до того, как файл будет использоваться другими клиентами. Эти возможности гарантируют, что одновременно может быть активна только одна копия файла, предотвращая повреждение данных.
  • Оптимизация для медленных ссылок Протокол CIFS настроен на работу с медленными линиями коммутируемого доступа. Эффект - повышение производительности для пользователей, которые подключаются к Интернету с помощью модема.
  • Безопасность Серверы CIFS поддерживают как анонимные передачи, так и безопасный, аутентифицированный доступ к именованным файлам. Политику безопасности файлов и каталогов легко администрировать.
  • Производительность и масштабируемость Серверы CIFS полностью интегрированы с операционной системой и настроены на максимальную производительность системы.
  • Имена файлов в Unicode Имена файлов могут быть записаны в любой кодировке, а не только в кодировках, предназначенных для английского или западноевропейского языков.
  • Глобальные имена файлов Пользователи не должны монтировать удаленные файловые системы, но могут обращаться к ним непосредственно по глобально значимым именам (именам, которые могут быть расположены в любом месте в Интернете), вместо тех, которые имеют только локальное значение (на локальном компьютере или локальной сети). Распределенные файловые системы (Distributed File Systems, DFS) позволяют пользователям создавать пространство имен для всего предприятия. Поддерживаются имена файлов Uniform Naming Convention (UNC), поэтому для доступа к удаленным файлам не требуется создавать букву диска.

SMB

Протокол SMB (Server Message Block) представляет собой сетевой протокол общего доступа к файлам, его реализацией в Microsoft Windows является Microsoft SMB Protocol. Набор пакетов сообщений, который определяет конкретную версию протокола, называется диалектом. Общий протокол файловой системы Интернета (CIFS) - это диалект SMB. SMB и CIFS также доступны в VMS, нескольких версиях UNIX и других операционных системах.[Источник 3]

Хотя его основная цель - совместное использование файлов, дополнительные функции протокола SMB Microsoft включают в себя следующее:

  • Согласование диалекта
  • Определение других серверов протокола SMB в сети.
  • Печать по сети.
  • Аутентификация доступа к файлам, каталогам и общим ресурсам.
  • Блокировка файлов и записей.
  • Уведомление об изменении файла и каталога.
  • Обработка расширенных атрибутов файлов.

В сетевой модели OSI протокол SMB чаще всего используется в качестве протокола уровня приложения или протокола уровня представления, и он полагается на протоколы нижнего уровня для передачи данных. Протокол транспортного уровня, с которым чаще всего используется протокол SMB Microsoft - это NetBIOS через TCP/IP (NBT). Однако протокол Microsoft SMB также может использоваться без отдельного транспортного протокола - комбинация Microsoft SMB Protocol/NBT обычно используется для обратной совместимости.

Протокол Microsoft SMB реализован на основе принципа "клиент-сервер" и состоит из набора пакетов данных, каждый из которых содержит запрос, отправленный клиентом, или ответ, отправленный сервером. Эти пакеты можно классифицировать следующим образом:

  • Пакет управления сеансом - устанавливает и отменяет подключение к общим ресурсам сервера.
  • Пакет доступа к файлу - получает доступ к файлам и каталогам на удаленном сервере и манипулирует ими.
  • Общие пакеты сообщений. Отправляет данные в очереди печати, почтовые интервалы и именованные каналы и предоставляет данные о состоянии очередей печати.

Некоторые пакеты сообщений могут быть сгруппированы и отправлены в одной передаче, чтобы уменьшить задержку ответа и увеличить пропускную способность сети. Это называется «дозирование». В разделе «Сценарий обмена пакетами протокола SMB для протокола SMB» приведен пример сеанса протокола SMB для протокола Microsoft, который использует пакетную пакетную обработку.

Некоторые платформы, поддерживаемые CIFS

Источники

  1. Microsoft TechNet [Электронный ресурс]: Common Internet File System — Дата обращения: 7.03.2017. Режим доступа: https://technet.microsoft.com/en-us/library/cc939973.aspx.
  2. Microsoft MSDN [Электронный ресурс]: Microsoft SMB Protocol and CIFS Protocol Overview — Дата обращения: 7.03.2017. Режим доступа: https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa365233(v=vs.85).aspx.
  3. Wikipedia [Электронный ресурс]: Server Message Block — Дата обращения: 7.03.2017. Режим доступа: https://ru.wikipedia.org/wiki/Server_Message_Block.

Ссылки