Protocolos SMB vs NFS: Uma Comparação Detalhada

Compartilhar arquivos entre computadores e usuários ajuda a comunicar e trocar dados de forma mais eficiente e conveniente. Você pode compartilhar arquivos pela rede de diferentes maneiras, por exemplo, usando os protocolos SMB ou NFS em servidores e computadores. Dispositivos NAS (armazenamento conectado à rede) também são usados para compartilhar arquivos via SMB e NFS.

Leia a comparação NFS vs SMB para entender o que usar no seu caso e qual protocolo escolher.

O que é o Protocolo SMB?

O SMB (Server Message Block) é um protocolo de compartilhamento de arquivos que fornece acesso a dados compartilhados pela rede. É amplamente utilizado em ambientes Windows para acessar arquivos pela rede local (LAN). Desenvolvido pela IBM em 1983, a Microsoft adotou esse protocolo posteriormente e agora oferece suporte SMB integrado no Windows. O protocolo continua evoluindo, e a versão mais recente do SMB é a v.3.1.1.

Às vezes, o termo CIFS é confundido com SMB. CIFS é um dialeto do SMP, ou seja, uma implementação do SMB v1 pela Microsoft. Leia esta comparação CIFS vs SMB para saber mais.

O que é o Protocolo NFS?

O NFS (Network File System) é um protocolo de compartilhamento de arquivos para sistemas operacionais baseados em UNIX e Linux. Apesar do nome, NFS não é um sistema de arquivos. O protocolo NFS foi originalmente desenvolvido pela Sun Microsystems em 1984.

  • A versão 1 do NFS era usada pela Sun para propósitos internos e nunca foi lançada.
  • O NFS v2 fornecia funcionalidade básica de compartilhamento de arquivos.
  • O NFS v3 suporta manipulação de tamanho variável e relatórios de erro aprimorados, mas não é compatível com clientes NFS v2.
  • NFS v4 é a versão mais recente do NFS que foi desenvolvida com o Internet Engineering Task Force (IETF). Ele suporta acesso simultâneo a arquivos, e a segurança foi melhorada nesta versão. A compatibilidade retroativa com o NFS v2 e o NFS v3 está presente. O NFS v4 suporta autenticação Kerberos.

NFS vs Samba – Principais Diferenças

O Samba é uma implementação de software livre para instalar um servidor SMB no Linux. Note que o Samba não inclui o cliente SMB. Você deve instalar o pacote cifs-utils para obter um cliente SMB no Linux.

O NFS, um protocolo de rede, não deve ser comparado com um pacote de software (Samba). No entanto, se estivermos falando sobre a implementação do NFS para o Windows, o servidor NFS apropriado e/ou o papel do cliente NFS (dependendo de nossas tarefas) precisam ser instalados no Windows para usar o NFS.

NFS vs SMB – Visão Geral de Recursos

Nesta seção, comparamos os recursos do SMB e do NFS em 7 categorias diferentes.

1. Conexão de rede/portas usadas

  • Ambos os protocolos de compartilhamento SMB e NFS funcionam na camada de aplicativo do modelo OSI (camada 7) e usam a arquitetura cliente-servidor.
  • O SMB requer estabelecimento de sessões (não necessário com o NFS).
  • O SMB também pode usar a camada de apresentação para sua operação (camada 6).
  • Esses dois protocolos são otimizados para funcionar na rede local (LAN) em vez de pela internet. Os protocolos de compartilhamento SMB e NFS não são adequados para tradução de endereços de rede e roteamento para serem usados pela internet.
  • O NFS usa as portas 2049 (TCP e UDP) e a porta 111 (TCP e UDP). TCP 111 é usado pelo mapeador de portas. TCP 1110 e UDP 1110 são usados para status de cluster e cliente. O gerenciador de bloqueio NFS usa TCP 4045 e UDP 4045.
  • O SMB usa a porta TCP 445 sem o transporte NetBIOS, usando diretamente TCP/IP (é assim que o SMB funciona a partir do Windows 2000, incluindo as últimas versões do SMB usadas atualmente). O SMB usa as portas TCP 139, UDP 137 e UDP 138 para funcionar em cima do NetBIOS sobre TCP/IP. O NetBIOS é um protocolo da camada de sessão (funciona na camada 5 do modelo OSI) que foi usado em implementações SMB mais antigas antes do Windows 2000.

2. Compartilhamento de impressoras

O SMB suporta o compartilhamento de impressoras, o que permite que usuários remotos usem uma impressora conectada a uma máquina específica para imprimir arquivos pela rede. O protocolo NFS não fornece o recurso de compartilhamento de impressoras – o Linux possui outros mecanismos para impressão em rede.

3. Autenticação

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

  • O SMB usa o conceito de ACL (lista de controle de acesso) com usuários e grupos. O SMB fornece acesso aos arquivos compartilhados para usuários e grupos selecionados (autenticação baseada em usuário). Você pode configurar permissões de forma flexível. Para configurar o acesso para os hosts permitidos, você pode usar o firewall.
  • O NFS tradicionalmente fornece acesso a endereços IP permitidos. O NFS usa o sistema de autenticação baseado em host – você pode habilitar os endereços IP dos hosts que têm permissão para acessar o compartilhamento NFS. Nesse caso, todo usuário da máquina permitida pode acessar o compartilhamento NFS.

A propriedade e as permissões no estilo Linux são recursos do protocolo NFS. O Linux opera com UID (identificador de usuário) e GID (identificador de grupo), enquanto o Windows opera com SID (identificador de segurança).

O suporte do Kerberos no NFS v4 melhora o sistema de autenticação (para aprimorar a funcionalidade de fornecer acesso para usuários selecionados).

4. Acessando compartilhamentos de arquivos

Travas de arquivos são obrigatórias para o SMB e consultivas para o NFS. Mecanismos de bloqueio de arquivos são usados para garantir a consistência de arquivos que são abertos por um usuário. Com uma trava, outros usuários não podem escrever dados em arquivos abertos até que sejam fechados.

Você pode acessar um compartilhamento de arquivos SMB usando o caminho UNC

no Windows:

\\servidor\compartilhamento\diretório1\diretório2

No Linux:

smb://servidor/compartilhamento/diretório1/diretório2

Você pode acessar compartilhamentos NFS usando o caminho do Sistema de Arquivos Exportado (EFS) e este formato:

servidor:/diretório1/diretório2

5. Suporte e integração em sistemas operacionais

O protocolo NFS é otimizado para Linux. O SMB é otimizado para Windows e é um protocolo nativo de compartilhamento de arquivos no Windows com excelente integração.

No entanto, ambos os protocolos podem ser usados no Windows e no Linux. Você precisa instalar um cliente SMB (cifs-utils) ou um servidor SMB (Samba) no Linux para usar o protocolo SMB. Você precisa instalar um cliente e/ou servidor NFS no Windows como componentes adicionais (funções) para usar a configuração NFS do Windows.

O NFS é sensível a maiúsculas e minúsculas ao acessar arquivos, enquanto o SMB não é sensível a maiúsculas e minúsculas. Isso afeta como você pesquisa arquivos e como insere nomes de arquivo.

O protocolo NFS é um padrão aberto e pode ser implementado por qualquer pessoa.

6. Segurança/criptografia

  • Comunicações NFS baseadas no protocolo de solicitação-resposta (RPC) são arriscadas sem um firewall. Quando o NFS funciona usando o protocolo UDP subjacente, que não é seguro, o nível geral de segurança é reduzido. O NFS suporta criptografia usando TLS (o protocolo de Segurança da Camada de Transporte baseado em SSL).
  • O SMB suporta criptografia de ponta a ponta com padrões criptográficos AES-256, que são mais fortes do que a criptografia Kerberos para NFS. Enquanto o SMB 1 é considerado um protocolo vulnerável, as últimas versões do SMB 3 são seguras, tornando o nível de segurança com SMB melhor do que com NFS.

7. Desempenho do NFS vs SMB

O NFS é a melhor escolha para transferir arquivos pequenos e médios pela rede (por exemplo, arquivos de cerca de 1 MB ou menos em tamanho). O desempenho de ambos os protocolos é semelhante ao transferir arquivos grandes (por exemplo, arquivos de 500 MB).

O NFS é mais rápido do que o SMB ao usar criptografia. As transações de leitura são mais rápidas no SMB com a taxa de 4 MB. Cargas de tráfego elevadas podem retardar o procedimento de transferência de dados. Podemos observar que a largura de banda máxima foi aumentada com o NFS v.4.2.

Comparação SMB vs NFS: Tabela de Comparação

Podemos resumir as principais diferenças em nossa comparação NFS vs SMB na tabela.

SMB NFS
Ambiente Usado nativamente no Windows Mais usado em sistemas Linux
Autenticação Autenticação conveniente baseada em usuário A autenticação baseada em host é o método principal
Portas utilizadas TCP 445; TCP 139, UDP 137, 138 TCP 2049, UDP 2049, TCP 111 e UDP 111; TCP 1110, UDP 1110, TCP 4045, UDP 4045.
Encriptação e segurança Sim – Kerberos, AES-256 Sim – Kerberos e TLS
Ambiente de plataforma cruzada Compatível Compatível
Bloqueio de arquivo Obrigatório Aconselhável
Compartilhamento de impressora Sim Não
Acessando recursos \\servidor\diretório1\diretório2 servidor:/diretório1/diretório2

Conclusão

Selecionar NFS versus SMB como protocolo de compartilhamento de arquivos depende principalmente do sistema operacional usado nos computadores na rede e de outros fatores. Ambos os protocolos são confiáveis e podem ser usados em diferentes sistemas operacionais e dispositivos NAS. Independentemente do que escolher, é importante fazer backup de seus dados ao usar compartilhamento de arquivos na rede. O NAKIVO Backup & Replication é uma solução completa de proteção de dados que pode ser usada para proteger dados de compartilhamento SMB e NFS, assim como dados em máquinas virtuais, servidores físicos e no Microsoft 365.

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