Обмен файлами между компьютерами и пользователями помогает более эффективно и удобно обмениваться данными. Вы можете делиться файлами по сети различными способами, например, используя протокол 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.