Pergunta

Eu tenho certeza que há algum motivo antigo legado para ele, mas o que é? Parece que um serviço que está orientado para a entrega de dados confiável.

Foi útil?

Solução

  • NFS foi projetado originalmente para ser usado em uma LAN onde as taxas de perda são muito baixos.
  • UDP é mais rápido e tem menos sobrecarga
  • NFS é apátrida, por isso é simples para os clientes a repetição

Note que o NFS v3 + pode usar TCP.

Outras dicas

UDP é o padrão para NFSv2 (que ninguém deve realmente usar estes dias) mas NFSv3 uso TCP por padrão. TCP montagens são mais confiáveis ??e você sabe que tem um problema de rede muito mais rápido do que com UDP.

UDP é apátrida, TCP não é, mas TCP tem muitas propriedades predefinidas que não atendam NFS, ou melhor, que NFS queriam governar as especificidades. Em particular, quando TCP está fazendo transferências de pacotes, ele não governar tempos de espera, etc.

Com UDP, você perde as despesas gerais que você particularmente não quero de forma alguma. Quando o sistema de arquivos NFS, o pensamento era originalmente, o sistema faz uma gravação, e se apenas metade acabamentos, isso seria ruim ... então NFS (no modo duro) vai continuar a tentar novamente para completar a transação para sempre, 1 minuto, 5, 10 e hora, um dia ... quando a conexão voltar a transação poderia continuar até a conclusão ...

NFS cuida do "Estado" em vez de TCP, cujo design configura um novo estado na nova conexão (ou reconexão), essa conexão (e estadual) poderia morrer por qualquer (hardware) razão e um novo wouldn conexão' t persistir nesse estado ... Pense sobre o processamento de um arquivo ... você acabou de deixar o processo sozinho, a conexão NFS cai para um pouco, mas quando se trata de volta, tudo vai apenas continuar .. Estes dias aplicações são mais espertos, rotas são numerosas, as coisas são mais modular, e nós somos muito mais impaciente ... se a sua não vai plano .. alguém recebe um telefonema e tem que entrar e ir buscá-la de qualquer maneira que puderem ... de volta ao dia , quando poderia ser à esquerda, foi uma coisa mais perfeita ... a maneira que ele funciona ainda é bom hoje, mas tem muitas mais opções agora, e tendem a ter mais pessoas a fixação tudo o mais rapidamente agora. Também a idéia de cada sessão de passagem final objetos e para trás e não cometer entre postos de trabalho, até que ambos os lados concordam que eles são feitos - de volta no dia NFS fez um monte de presente para você ....

A analogia é um pouco semelhante à forma como as coisas RS232 trabalhou ... eletrônica iria fazer a sua coisa e carregar seus buffers e vai ficar completo e tem que parar (ou infomation perder), que podia passar por aquele fluxo de informação (e vazio seus buffers e continuar) quando o CTS (Clear para enviar pin- como no pino de metal no plugue) era alta ou baixa (o que nunca seu suposto ser).

Meu palpite é que é provavelmente por legados razões (históricas). Originalmente NFS foi provavelmente usada em redes de baixa latência, onde havia muito pouca possibilidade de erro, de modo que a sobrecarga de iniciar o 3-way handshake para configurar a conexão TCP (juntamente com o reconhecimento bi-direcional de todas as mensagens) superaram a simplicidade de usando um protocolo sem conexão, como UDP.

Quando UDP é usado como um protocolo de transporte, presumivelmente seria até o cliente NFS para gerir retransmissões, se necessário.

O UDP é utilizado quando o protocolo vai ser gerido pela própria aplicação. O aplicativo pode ter uma idéia melhor de como fazê-lo, ou pode ser mais rápido (sob as condições especiais de aplicação). TCP é muito bom, mas tem um monte de sobrecarga associada a ele.

Performance. UDP tem uma sobrecarga muito menor do TCP. Por outro lado NFS tem de lidar com transporte confiável em seu próprio país, então (em comparação com TCP), mas como este é um protocolo para LANs onde os problemas de conexão e gotas pacote são (ou melhor: deveria ser) não um problema, ele é otimizado para desempenho.

UDP também foi usado porque poderia reduzir significativamente o uso de memória. Na década de 1980, quando NFS foi desenvolvido originalmente, você teria um sistema UNIX com como 4-8MB de RAM, e (pelo menos no ambiente acadêmico) o "servidor" pode ter sido simplesmente um desses 4-8MB sistemas com alguns discos adicionais ligados a ele. uso RAM no servidor era uma grande preocupação, você poderia ter perdido vários MBs para buffers TCP que meu ter sido mais bem utilizadas como cache de disco. Ele também facilitou a pressão de memória alça, um servidor NFS sobrecarregado poderia simplesmente cair pedidos.

O apátrida UDP tráfego de rede minimiza conexão, como o servidor NFS envia ao cliente um cookie depois que o cliente está autorizado a acessar o volume compartilhado. Este cookie é um valor aleatório armazenado do lado do servidor e é passado juntamente com pedidos RPC do cliente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top