NETWORK FILE SYSTEM vs. ANDREW FILE SYSTEM

Introduction to AFS (Andrew File system):

The Andrew File System, AFS, was developed at the CMU and named after the first names of the founders of the university: Andrew Carnegie and Andrew Mellon.

The idea behind the design was to create a network with computers for all the sutdents and employees of the university (up to 10000 users), aka: a major aspect was that it should be capable of scaling up easily.

A Comparitive Study

There are many issues that differentiate AFS from NFS. We have examined some of these issues as follows:

Differences  in their Architectural Styles:

  1. In AFS, file servers and clients form a logical administration (working in an inter-dependent manner) while NFS architecture supports file servers and clients where each file server is managed independent of the client

  2. AFS supports the global approach, i.e. global name spaces can be viewed by all machines. On the other hand, NFS's support to name spaces is not always viewed consistently across machines.

  3. AFS uses automatic file location tracking by system processes and volume location database while NFS uses an automounter for maintaining the mount points and hence tracking a file's physical location set by administrators and users.

  4. One of the main architectural differences between the AFS and NFS is that AFS has stateful server whereas NFS stateless server. A comparison of statefulness vs. statelessness was covered earlier in Implications of Statelessness.

Differences in Security Design:

  1. AFS uses kerberos for authentication purposes while NFS can use an unencrypted userid or trusted user and host as well as kerberos for security purposes.

  2. AFS uses the access control lists for fine tuning directory access and uses standard Unix mode bits for the owner while NFS uses Access control with standard UNIX mode bits on files and directories.

  3. NFS supports only administrators to make groups while AFS allows users to make groups.

  4. There is mutual authentication by system processes and databases and AFS always uses secure RPC while NFS uses the RPC and XDR for authentication purposes.

Differences based on Performance:

  1. AFS use disk caching that reduces file server and network load and server callbacks guarantee cache consistency and attributes are cached several hours then flushed to the disk.To fulfill the concepts of fault tolerance replicas of data are spread to many preffered server ,therefore the load is distributed among preferred servers. NFS has memory caching with small buffers and attributes are cached  between 3-30 seconds .There for time-based cache consistency may cause inconsistencies to occur. Network traffic increased by limited caching but there is no replication of the data to distribute the load.

  2. AFS provides excellent performance in wide-area configurations while NFS is inefficient in wide-area configurations.