Pregunta

Estoy seguro de que hay algún antiguo legado razón para ello, pero ¿qué es? Parece como un servicio que se orienta hacia la entrega de datos fiables.

¿Fue útil?

Solución

  • NFS fue diseñado originalmente para ser utilizado en una LAN, donde las tasas de pérdida son muy bajos.
  • UDP es más rápido y tiene menos sobrecarga
  • NFS es sin estado, por lo que es fácil para los clientes a reintentar

Tenga en cuenta que NFS v3 + puede utilizar TCP.

Otros consejos

UDP es el valor predeterminado para NFSv2 (que nadie debe utilizar realmente en estos días), pero NFSv3 utilizar TCP por defecto. montajes TCP son más fiables y usted sabe que tiene un problema de red mucho más rápido que con UDP.

UDP es sin, TCP no es, pero tiene muchas propiedades TCP predefinidos que no se adecúen a NFS, o más bien que NFS querían gobernar los detalles. En particular, cuando TCP está haciendo transferencias de paquetes, que, regula los tiempos de espera, etc.

Con UDP, se pierden los gastos generales que no quiero particularmente ninguna manera. Cuando el sistema de archivos NFS, la idea era originalmente, el sistema hace una escritura, y si sólo la mitad de los acabados, que sería malo ... así NFS (en modo difícil) continuará para volver a intentar completar la transacción para siempre, a 1 minuto, 5, 10 y hora, un día ... cuando la conexión vuelve la transacción podría continuar hasta su finalización ...

NFS se ocupa del "estado" en lugar de TCP, cuyo diseño establece un nuevo estado en la nueva conexión (o reconexión), esa conexión (y estatal) podría morir por cualquier razón (hardware) y un nuevo wouldn conexión' t persisten ese estado ... Piense en el procesamiento de un archivo ... que acaba de abandonar el proceso por sí solo, la conexión NFS se retira un poco, pero cuando se trata de volver, todo lo que se acaba de seguir .. en estos días las aplicaciones son más inteligentes, rutas son numerosas, las cosas son más modular, y que son mucho más impaciente ... si no va a planificar .. alguien recibe una llamada telefónica y tiene que iniciar sesión y ponerlo en marcha formas que puedan ... en su día , cuando podría ser la izquierda, que era una cosa más fluida ... La forma en que funciona es todavía bien hoy, pero tienen muchas más opciones ahora, y tienden a tener más gente fijación de todo lo más rápidamente ahora. También la idea de cada extremo de pasar objetos de sesión de ida y vuelta y no cometer entre dos trabajos, hasta que ambas partes están de acuerdo en que se haya terminado - en su día NFS hizo mucho de esto para usted ....

La analogía es algo similar a cómo funcionaba la materia RS232 ... la electrónica se haga su trabajo y cargar sus memorias intermedias y obtendrán completo y tienen que parar (o perder infomación), podrían pasar esa corriente de información (y vacía sus tampones y continuar) cuando el CTS (Clear para enviar alfiler como en el pasador metálico en el enchufe) era alta o baja (lo que se supone que es).

Mi conjetura es que es probable que sea por razones de compatibilidad (históricos). Originalmente NFS probablemente fue utilizado en redes de baja latencia en los que había muy pocas posibilidades de error, así que la pérdida de iniciar el 3-way handshake para establecer la conexión TCP (junto con el reconocimiento bidireccional de todos los mensajes) superaba la simplicidad de utilizando un protocolo sin conexión, como UDP.

Cuando se utiliza UDP como protocolo de transporte, es de suponer que sería hasta el cliente NFS para administrar las retransmisiones en caso necesario.

UDP se utiliza cuando el protocolo va a ser gestionado por la propia aplicación. La aplicación puede tener una mejor idea de cómo hacerlo, o puede ser más rápido (en las condiciones especiales de la aplicación). TCP es muy agradable, pero tiene una gran cantidad de gastos generales asociados con ella.

Rendimiento. UDP tiene una sobrecarga mucho más bajo que el TCP. Por otro lado NFS tiene que manejar un transporte fiable en su propia continuación (en comparación con TCP) pero como este es un protocolo para redes de área local, donde los problemas de conexión y las gotas de paquetes son (o mejor: debe ser) no es un problema, que está optimizado para el rendimiento.

UDP también fue utilizado, ya que podría reducir en gran medida el uso de la memoria. En la década de 1980 cuando se desarrolló originalmente NFS, que tendría un sistema UNIX con 4-8mb como de RAM, y (al menos en el entorno académico) el "servidor" podía haber sido simplemente uno de estos sistemas 4-8mb con unos pocos discos adicionales conectados a ella. el uso de RAM en el servidor era una gran preocupación, que podría haber perdido varios MBs a buffers TCP que han sido mi mejor utilizada como caché de disco. También hizo fácil para manejar la presión de memoria, un servidor NFS sobrecargado podría caer simplemente solicitudes.

La conexión UDP sin estado minimiza el tráfico de la red, como el servidor NFS envía al cliente una cookie después de que el cliente está autorizado para acceder al volumen compartido. Esta cookie es un valor aleatorio guardado en el lado del servidor y se transmite junto con las peticiones RPC desde el cliente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top