1 / 33

NFS : Network File System

NFS : Network File System. SMU CSE8343 Prof. Khalil September 27, 2003 Group 1 Group members: Payal Patel, Malka Samata, Wael Faheem, Hazem Morsy, Poramate Ongsakorn. Outline. Definition NFS OSI v.s. NFS How does NFS work ? File Handles Statelessness Idempotent procedures

zared
Download Presentation

NFS : Network File System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NFS : Network File System SMU CSE8343 Prof. Khalil September 27, 2003 Group 1 Group members: Payal Patel, Malka Samata, Wael Faheem, Hazem Morsy, Poramate Ongsakorn

  2. Outline • Definition • NFS • OSI v.s. NFS • How does NFS work ? • File Handles • Statelessness • Idempotent procedures • TCP or UDP • How does RPC work ? • How does RPC differ from Local procedure call ? • Port Mapper/RPCBIND • Summary • Reference & Appendix

  3. Definition • The Network File System (NFS) is a distributed file system that allows users to access files and directories located on remote computers and treat those files and directories as if they were local. • The NFS protocol is designed to be machine, operating system, network architecture, and transport protocol independent.

  4. Several workstations with NFS

  5. Several workstations with NFS(Logical view)

  6. OSI v.s. NFS

  7. Outline • Definition • NFS • OSI v.s. NFS • How does NFS work ? • File Handles • Statelessness • Idempotent procedures • TCP or UDP • How does RPC work ? • How does RPC differ from Local procedure call ? • Port Mapper/RPCBIND • Summary • Reference & Appendix

  8. How does NFS work ? Client wants to access a file from server

  9. File Handles • How does a server know which file/directory the client needs to access? • At first, client obtains a file handle for root of the file system • File handle is opaque to the client • Client sends file handle to server when referencing a file/directory • No need to use the full path names • “The file handle can contain whatever information the server needs to distinguish an individual file”

  10. Example of File Handles Suppose : client needs to cat the file sub2/myname.txt under the current directory (~/pongsak)

  11. Statelessness • What is statelessness ? • Server does not need to maintain protocol state about it’s client • Server does not keep previous request information • Client keeps track of all information required to send requests to the server • Advantage : • If server crashes, no state information lost • Client needs only retransmit a request until the server responds

  12. Why is idempotent important ? Suppose : client needs to remove the file sub2/myname.txt

  13. Idempotent procedures • Can be executed more than once by the server and still return the same result • Stateless protocol requires idempotent operation • How to makes all NFS requests idempotent: • Server records recently performed operations in cache • Server checks in cache for duplicate requests • Server returns the previous result if it is a duplicate

  14. Should NFS use TCP or UDP ? • From the beginning, NFS used UDP • Most NFS systems were on LAN • High overhead if using TCP • Currently, NFS across WAN needs TCP • Reliability and congestion control • Both sides set TCP’s keep alive option • If server crashes, client opens new TCP connection • If client crashes, server will terminate the connection after the next keep alive probe

  15. Outline • Definition • NFS • OSI v.s. NFS • How does NFS work ? • File Handles • Statelessness • Idempotent procedures • TCP or UDP • How does RPC work ? • How does RPC differ from Local procedure call ? • Port Mapper/RPCBIND • Summary • Reference & Appendix

  16. How does RPC works ?

  17. How does RPC different from local procedure call ? • Error handling: • failures of the server or network must be handled • Global variables: • arguments cannot be passed as global variables • Performance: • slower than local procedure calls • Authentication: • RPC can be transported over insecure networks

  18. Port Mapper : Analogy

  19. Port Mapper : Analogy

  20. Port Mapper/RPCBIND

  21. Outline • Definition • NFS • OSI v.s. NFS • How does NFS work ? • File Handles • Statelessness • Idempotent procedures • TCP or UDP • How does RPC work ? • How does RPC differ from Local procedure call ? • Port Mapper/RPCBIND • Summary • Reference & Appendix

  22. Summary • NFS provides transparent file accesses • NFS sends messages in XDR format using RPC • NFS server is stateless • NFS procedures are idempotent • RPC executes remote procedure for clients • Most RPC programs use ephemeral ports • Port Mapper maps RPC programs and version numbers to port numbers

  23. Reference & Appendix • http://www.faqs.org/rfcs/ • http://www.ussg.iu.edu/usail/network/nfs/overview.html • http://www.scit.wlv.ac.uk/~jphb/comms/nfs.html • http://www.opengroup.org/onlinepubs/9629399/chap1.htm • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_start_page.asp • http://www.cis.udel.edu/~srisath/NFS/index.html • Silberschatz/Galvin/Gagne, Operating System Concepts, Wiley • William Stallings, Operating Systems, Prentice Hall

  24. RFC DocumentsRequest For Comments • RFC 1014 – XDR (1987) • RFC 1057 – RPCv2 (1988) • RFC 1094 - NFSv2 (1989) • RFC 1813 - NFSv3 (1995) • RFC 2054 - WebNFS (1996) • RFC 2624 - NFSv4 (1999) • RFC 3010 - NFSv4 Protocol (2000) • RFC 3530 - NFSv4 Protocol (2003) http://www.faqs.org/rfcs/

  25. NFS v2 • 18 ops • File sizes limited to 32 bit • Slow writes • Arbitrary transfer limit • Lack of cache consistency

  26. NFS v3 • 22 ops • File size extended to 64 bit • Fast write • Increased transfer write • Support caching and ACLs

  27. WebNFS • Eliminate overhead of PORTMAP and MOUNT • Possible for firewall transit • Reduce number of LOOKUP request

  28. NFS v4 • Internet • Need for cross platform support • Strong security • Design for growth

  29. NFS procedures

  30. Format of RPC call

  31. Format of RPC reply

  32. Questions and Comments

  33. Thank You!

More Related