Comparison of NFS vs. others
From Linux NFS
(Difference between revisions)
Revision as of 20:55, 29 July 2005
Here is a description comparing NFS and other similar technologies, found at this page: [1]
CIFS: Strengths: a) Huge installed client base (not just Windows), b) good, open source server implementation available (Samba!), c) token management (oplock) and referral ("dfs") semantics are a good compromise between usefulness and simplicity d) the key part of the filesystem protocol (mostly) documented, rich file open semantics map well to Windows and related OSs, e) kerberos security integration and RPC integration f) broader in scope (print, ACL, browsing etc.) than other filesystem protocols g) optional PDU signing above the RPC allowing maximal flexibility h) Unicode i) high performance j) huge amount of loosely related management/administrative function available via various DCE RPC calls k) efficient PDUs (small frame headers, less wasted bandwidth) Weaknesses: a) the extended protocol poorly documented, b) not an IETF standard c) elements of older protocol dialects still needed adding to complexity of implementations d) protocol needs addition of lock migration/recovery and support for new transport mechanisms (e.g. RDMA) e) ACL support - although useful is hard to understand f) (item j above) management/admistrative calls are proprietary NFSv3: Strengths: a) relatively simple to implement b) maps well to Unix VFS semantics (except for caching) c) protocol easy to understand by stripping file protocol to its minimum d) Unicode Weaknesses: a) statelessness of core protocol causes caching problems b) few Windows NFS clients installed c) maps poorly to Windows operating system API d) poor security (forcing it into lower layers if at all) e) not a standard (informational description published by Sun as informational RFC) f) relatively weak open source server implementation (at least compared to Samba and AFS) has scalability problems g) implementing many protocols needed to get CIFS equivalent e.g. lock manager, mount and port mapping protocol, SunRPC, NIS, ONC extensions (some proprietary) h) WebNFS enhancements partially implemented adding to some confusion NFSv4: Strengths: a) on track to be an IETF standard b) improved recovery (lock migration) c) supports Windows file sharing semantics better than NFS v3 did d) safe file caching Weaknesses: a) few clients b) perceived lack of Microsoft interest c) the existing prototype open source implementation is tricky to integrate into current Linux kernels d) protocol is moving target (it is not quite done yet) e) too late? f) complex DAFS: Strengths: a) Addition of RDMA to NFS style protocol, (probable) high performance in clusters and server farms. b) (see NFS v4) Weaknesses: a) unproven, lack of client support, perceived competition with NFS v4 b) (see NFS v4) HTTP/WebDAV Strengths: a) official standard b) broadly implemented c) well suited to internet d) active standardization work - protocol will improve Weaknesses: a) frame headers are large (high % of frame size is wasted) b) security integration not optimal c) slow d) not a complete match to either Linux VFS or Win2K IFS API requirements NCP(Netware): Strengths: a) NDS integration b) good match for Windows c) good installed base on older systems Weaknesses: a) Proprietary b) poorly documented c) not a standard d) complex, with lots of dialects e) future clients questionable AFS/DFS: Strengths: a) sophisticated distributed caching (token management) b) DCE integration (including Kerberos and RPC) c) standardized by OpenGroup Weakness: a) lack of clients b) bulky, slow Windows clients c) server integration with Unix operating systems and server filesystem is complicated d) most implementations were expensive e) complex to implement Coda: Strengths: a) disconnected support Weaknesses: a) Lack of commercial implementations b) lack of Windows clients c) not well understood