QNA > C > Come Funziona Nfs (Network File System)?

Come funziona NFS (Network File System)?

NFS inizia con due o più computer che possono parlare UDP/IP tra loro, su una connessione di rete a bassa latenza come Ethernet. Versioni successive di NFS permettono anche il TCP/IP, buono per reti ad ampio raggio.

Un computer sarà il server NFS, tiene una lista di directory esportabili nel suo file /etc/exports. Questo file elenca anche quali client hanno accesso in lettura-scrittura o in sola lettura.

Gli altri computer saranno client NFS; eseguono richieste di montaggio che sono permesse o negate a seconda della directory richiesta e dell'indirizzo IP del client. Il montaggio si basa sul client e su tutti i suoi utenti; il server dipende dal client per far rispettare le procedure di accesso ai file. Questo richiede che tutte le parti usino lo stesso database di password distribuito per mantenere coerenti gli ID utente.

Quando un client vuole accedere a un particolare file sul server, avrà un data handle opaco per il punto di montaggio, un altro data handle opaco per la directory selezionata, e un nome di file (non un inode) a cui accedere. Nella richiesta sono inclusi anche un offset in byte e una lunghezza per i dati. (Una lseek() implicita viene eseguita per ogni I/O; il server non ha bisogno di tenere traccia della posizione all'interno del file tra le richieste.)

I dati sono impacchettati in formato XDR, che permette ai computer little-endian di parlare con quelli big-endian. La richiesta è avvolta in RPC (remote procedure call). Più demoni NFS (nfsd) in esecuzione sul server gestiscono le richieste dei client. Nessuno stato è memorizzato sul server, quindi una connessione NFS può essere ricreata dalla richiesta del client. Questo permette ad un server di riavviarsi e riprendere a gestire le richieste; il client vede solo una lunga latenza prima di continuare. Questo è meglio del caso di un file server di Windows che va giù e porta tutti i file aperti giù con esso.

Anche incluso con Sun NFS era l'idea della workstation senza disco. Prima che il DHCP fosse formalizzato, si usava il protocollo BOOTP. La workstation trasmetteva "Conosco il mio indirizzo MAC, qualcuno potrebbe dirmi il mio indirizzo IP e il mio nome, e l'indirizzo IP del mio file server e il percorso della mia directory principale". Dai file nella directory principale del client conoscerebbe la netmask, l'indirizzo broadcast e il gateway predefinito. La capacità di essere un client NFS era incorporata nel kernel del client.

Alla McDonnell-Douglas-Tymshare, avevamo workstation epifite (senza root) per client con un singolo disco da 105MB. Root e /usr vivevano sul file server, swap, /tmp e /home vivevano sul disco locale. L'utente aveva una quota disco molto alta per /home.

Di Medlin Desch

È possibile utilizzare un telecomando PS4 per giocare senza rete domestica su Xperia? :: Cosa succede se non pago le tasse di Uber?
Link utili