7 | Application |
---|---|
6 | Présentation |
5 | Session |
4 | Transport |
3 | Réseau |
2 | Liaison de données |
1 | Physique |
Modèle OSI |
Network File System (NFS), signifiant en français " Système de fichiers en réseau ", est un protocole développé par Sun Microsystems qui permet à un ordinateur d'accéder à des fichiers via un réseau.
Ce système de fichiers en réseau permet de partager des données principalement entre systèmes UNIX. Des implémentations existent pour Macintosh ou Microsoft Windows.
NFS est compatible avec IPv6 sur la plupart des systèmes.[1]
Les versions 1 et 2 sont non sécurisées, prévues pour fonctionner sur UDP.
La version 3 est étendue pour prendre en charge TCP.
À ce stade la gestion de la sécurité reste élémentaire et souffre d'importantes lacunes. Le système est sans état (stateless) et ne permet pas la reprise sur incidents.
Inspirée de AFS la version 4 du protocole marque une rupture totale avec les versions précédentes. L'ensemble du protocole est repensé, et les codes sont réécrits. Il s'agit d'un système de fichier objet.
Imaginée pour répondre aux besoins d'internet, NFSv4 intègre :
Cependant ces améliorations de NFSv4 rendent NFSv4 incompatible avec NFSv3. Notamment, la reprise sur incident et la délégation impliquent que NFSv4 soit un serveur à état (statefull), non compatible avec les précédentes versions. De plus, NFSv4 n'est pas prévue pour supporter UDP.
Pour toutes ces raisons il est hautement préférable d'utiliser NFSv4 plutôt que NFSv3, dans la mesure où une migration totale est possible.
La version 4.1 de NFS est à l'état de RFC[2]. Cette version issue de NFSv4 est inspirée de pNFS et de LUSTRE, ainsi que des protocoles internet tels que Http. Elle tire parti de la conception objet du protocole. La notion de géométrie de fichier et celle de segments sont désormais abstraites : ils peuvent être parallélisés ou utiliser des chemins multiples vers les données. L'utilisation de fichier essentiellement creux est optimisée. Le transport de données est également abstrait, et est maintenant indépendant non seulement de TCP mais aussi de IP. La notion de session fait son apparition.
Bien que les RFC de la versions 4.1 ne soient pas stabilisés, l'implémentation du protocole a déjà débuté sur la plupart des solutions Unix.