SMB против NFS: подробное сравнение

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

Прочтите сравнение NFS и SMB, чтобы понять, что использовать в вашем случае и какой протокол выбрать.

Что такое протокол SMB?

SMB (Server Message Block) – это протокол обмена файлами, обеспечивающий доступ к общим данным по сети. Он широко используется в среде Windows для доступа к файлам через локальную сеть (LAN). Разработанный IBM в 1983 году, позже этот протокол был взят под контроль Microsoft и теперь имеет встроенную поддержку SMB в Windows. Протокол продолжает развиваться, и последняя версия SMB – v.3.1.1.

Иногда термин CIFS путается с SMB. CIFS – это диалект SMP, то есть реализация SMB v1 от Microsoft. Прочтите сравнение CIFS vs SMB, чтобы узнать больше.

Что такое протокол NFS?

NFS (Network File System) – это протокол обмена файлами для операционных систем на базе UNIX и Linux. Несмотря на название, NFS не является файловой системой. Протокол NFS был изначально разработан Sun Microsystems в 1984 году.

  • Версия NFS 1 использовалась Sun внутри компании и никогда не была выпущена.
  • NFS v2 предоставляет базовую функциональность обмена файлами.
  • NFS v3 поддерживает обработку переменного размера и улучшенную отчетность об ошибках, но не совместим с клиентами NFS v2.
  • NFS v4 – это последняя версия NFS, разработанная совместно с Internet Engineering Task Force (IETF). Она поддерживает параллельный доступ к файлам, и в этой версии улучшена безопасность. Обратная совместимость с NFS v2 и NFS v3 присутствует. NFS v4 поддерживает аутентификацию Kerberos.

NFS против Samba – Основные различия

Samba – это бесплатная реализация программного обеспечения для установки сервера SMB на Linux. Обратите внимание, что Samba не включает клиента SMB. В Linux необходимо установить пакет cifs-utils, чтобы получить клиента SMB.

NFS, сетевой протокол, не должен сравниваться с программным обеспечением (Samba). Однако, если речь идет о реализации NFS для Windows, необходимо установить соответствующий сервер и/или клиент NFS (в зависимости от наших задач) в Windows, чтобы использовать NFS.

NFS против SMB – Обзор функций

В этом разделе мы сравниваем особенности SMB и NFS в 7 различных категориях.

1. Сетевое подключение/используемые порты

  • Оба протокола SMB и NFS работают на прикладном уровне модели OSI (уровень 7) и используют клиент-серверную архитектуру.
  • SMB требует установки сеансов (что не требуется с NFS).
  • SMB также может использовать уровень представления для своей работы (уровень 6).
  • Эти два протокола оптимизированы для работы в локальной сети (LAN), а не через интернет. Протоколы SMB и NFS не подходят для применения сетевого адресного перевода и маршрутизации для использования через интернет.
  • NFS использует порты 2049 (TCP и UDP) и порт 111 (TCP и UDP). TCP 111 используется маппером портов. TCP 1110 и UDP 1110 используются для кластера и статуса клиента. Менеджер блокировки NFS использует TCP 4045 и UDP 4045.
  • SMB использует TCP-порт 445 без транспорта NetBIOS, используя напрямую TCP/IP (так работает SMB, начиная с Windows 2000, включая последние используемые версии SMB). SMB использует порты TCP 139, UDP 137 и UDP 138 для работы поверх NetBIOS через TCP/IP. NetBIOS – это протокол сеансового уровня (работает на уровне 5 модели OSI), который использовался для старых реализаций SMB до Windows 2000.

2. Общий доступ к принтерам

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

3. Аутентификация

A major difference between the NFS vs SMB protocols is how they authenticate.

  • SMB использует концепцию ACL (список управления доступом) с пользователями и группами. SMB предоставляет доступ к общим файлам для выбранных пользователей и групп (аутентификация на основе пользователей). Вы можете гибко настраивать разрешения. Для настройки доступа для разрешенных хостов можно использовать брандмауэр.
  • NFS традиционно предоставляет доступ к разрешенным IP-адресам. NFS использует систему аутентификации на основе хоста – вы можете разрешить IP-адреса хостов, которым разрешен доступ к NFS-шаре. В этом случае каждый пользователь разрешенной машины может получить доступ к NFS-шаре.

Собственность и разрешения в стиле Linux являются особенностью протокола NFS. Linux работает с UID (идентификатор пользователя) и GID (идентификатор группы), в то время как Windows работает с SID (идентификатор безопасности).

Поддержка Kerberos в NFS v4 улучшает систему аутентификации (для улучшения функциональности предоставления доступа для выбранных пользователей).

4. Доступ к файловым ресурсам

Блокировки файлов обязательны для SMB и советуются для NFS. Механизмы блокировки файлов используются для обеспечения согласованности файлов, открытых пользователем. С блокировкой другие пользователи не могут записывать данные в открытые файлы, пока они не будут закрыты.

Вы можете получить доступ к файловому ресурсу SMB, используя UNC-путь

в Windows:

\\server\share\directory1\directory2

в Linux:

smb://server/share/directory1/directory2

Вы можете получить доступ к NFS-ресурсам, используя путь Export File System (EFS) и этот формат:

server:/directory1/directory2

5. Поддержка и интеграция в операционные системы

Протокол NFS оптимизирован для Linux. SMB оптимизирован для Windows и является встроенным протоколом обмена файлами в Windows с отличной интеграцией.

Однако оба протокола могут использоваться в Windows и Linux. Чтобы использовать протокол SMB в Linux, необходимо установить клиент SMB (cifs-utils) или сервер SMB (Samba). Для использования конфигурации Windows NFS в Windows необходимо установить клиент и/или сервер NFS в качестве дополнительных компонентов (ролей).

NFS чувствителен к регистру при доступе к файлам, в то время как SMB не чувствителен к регистру. Это влияет на то, как вы ищете файлы и как вводите имена файлов.

Протокол NFS является открытым стандартом и может быть реализован кем угодно.

6. Безопасность/шифрование

  • Коммуникации NFS, основанные на протоколе запрос-ответ (RPC), являются рискованными без брандмауэра. Когда NFS работает с использованием базового протокола UDP, который не является безопасным, общий уровень безопасности снижается. NFS поддерживает шифрование с использованием TLS (протокол безопасности транспортного уровня на основе SSL).
  • SMB поддерживает конечное шифрование с использованием стандартов криптографии AES-256, которое является более надежным, чем шифрование Kerberos для NFS. В то время как SMB 1 считается уязвимым протоколом, последние версии SMB 3 являются безопасными, что делает уровень безопасности с SMB лучше, чем с NFS.

7. Производительность NFS против SMB

NFS – лучший выбор для передачи малых и средних файлов по сети (например, файлов размером примерно 1 МБ и меньше). Производительность обоих протоколов примерно одинакова при передаче больших файлов (например, файлов размером 500 МБ).

NFS быстрее SMB при использовании шифрования. Чтение транзакций происходит быстрее в SMB с частотой 4 МБ. Высокие нагрузки трафика могут замедлить процесс передачи данных. Мы можем отметить, что максимальная пропускная способность была увеличена с NFS v.4.2.

Сравнение SMB против NFS: Таблица сравнения

Мы можем подвести основные различия в нашем сравнении NFS против SMB в таблице.

SMB NFS
Окружение Используется нативно в Windows В основном используется в системах Linux
Аутентификация Удобная аутентификация на основе пользователей Аутентификация на основе хоста является основным методом
Используемые порты TCP 445; TCP 139, UDP 137, 138 TCP 2049, UDP 2049, TCP 111 и UDP 111; TCP 1110, UDP 1110, TCP 4045, UDP 4045.
Шифрование и безопасность Да – Kerberos, AES-256 Да – Kerberos и TLS
Кроссплатформенная среда Поддерживается Поддерживается
Блокировка файлов Обязательная Советская
Общий доступ к принтерам Да Нет
Доступ к ресурсам \\сервер\каталог1\каталог2 сервер:/каталог1/каталог2

Заключение

Выбор протокола файлового обмена NFS или SMB зависит преимущественно от операционной системы, используемой на компьютерах в сети, а также от других факторов. Оба протокола надежны и могут быть использованы в различных операционных системах и устройствах NAS. Независимо от выбора, важно регулярно создавать резервные копии ваших данных при использовании общих файловых ресурсов в сети. NAKIVO Backup & Replication – это комплексное решение по защите данных, которое можно использовать для защиты данных общих ресурсов SMB и NFS, а также данных виртуальных машин, физических серверов и в Microsoft 365.

Source:
https://www.nakivo.com/blog/nfs-vs-smb/