CIFS (Common Internet File System) and SMB (Server Message Block) are both Windows file-sharing protocols used in storage systems, such as network-attached systems (NAS). The key difference between CIFS and SMB is that CIFS is a dialect of SMB – a particular implementation of the SMB protocol.
The CIFS protocol is now considered an outdated SMB dialect, with the newer SMB 2.0 and SMB 3.0 addressing many of the inefficiencies of CIFS.
What is SMB?
SMB (Server Message Block) is a network protocol used for file transfer, print services, and network browsing across a local area network (LAN). Developed by IBM in 1983, the protocol allows devices to communicate with remote computers and servers through a client-server approach.
Since its release, Microsoft has made many changes to SMB, such as merging the file server protocol with the network operating system LAN Manager. This addition enabled computers to access remote Windows file sharing on a network as if it were a local hard drive disk. Subsequent dialects have seen improvements to SMB’s security and performance.
What is CIFS?
CIFS (Common Internet File System) is a version of SMB (or dialect of SMB) introduced by Microsoft in 1996 with the release of Windows 95. The protocol allows client systems to communicate with server systems over a network, enabling the use of file and print services.
CIFS’ main features include: supporting larger file sizes, moving away from NetBIOS towards TCP/IP transport, symbolic links, and hard links.
CIFS clients can also gain simultaneous access to named pipes, print queues, shared files, and other resources.
Other SMB Dialects
Aside from CIFS, Windows has continued to release several newer SMB versions, known as “dialects”. These dialects each improve upon the functionality of their predecessors, including stronger cybersecurity features and better performance capabilities.
The main SMB dialects are listed below.
- SMB 2.0: Released with Windows Vista in 2006. The 2.0 specification includes additional features, such as Wide Area Network (WAN) acceleration support, and reducing client-server latency, i.e., the “chattiness” of the original SMB/CIFS.
- SMB 2.1: Introduced with Windows 7 and Server 2008 R2, bringing enhanced efficiency for caching and performance.
- SMB 3.0: Came out with Windows 8 in 2012, with many changes. Notable updates include end-to-end encryption, SMB Multichannel to facilitate multiple connections in SMB sessions, SMB Direct to allow SMB 3 traffic over RDMA.
- SMB 3.02: Released alongside Windows 8.1 and Windows Server 2012 R2 in 2014, allowing users to disable SMB 1.0 to enhance security.
- SMB 3.1.1: Introduced in 2015 with Windows 10 and Windows Server 2016, adding many security enhancements, such as stronger encryption, session verification, and protection against man-in-the-middle attacks.
CIFS vs. SMB: What’s the Difference?
The main functionality differences between CIFS and the newer SMB dialects are listed below.
CIFS is widely known for its chattiness which created performance issues and network inefficiencies.
Among other improvements like caching and increased storage size, SMB 2.0 added support for Wide Area Network (WAN) acceleration.
Version 3.0 introduced SMB Multichannel, reducing latency and improving network efficiency and performance.
CIFS requires the use of hundreds of instructions and subcommands to transfer files, creating friction for users. SMB improved practicality and simplicity by reducing these commands to just nineteen.
CIFS is an unsecure implementation of SMB – its lack of encryption has seen it exploited through malware like NotPetya and the WannaCry ransomware attack, which occurred through EternalBlue, a zero-day exploit .
SMB 2.0.2 came with pre-authentication integrity and is not vulnerable to NotPetya and WannaCry.
SMB 3.0 introduced the encryption algorithm Advanced Encryption Standard (AES)-cipher-based message authentication code (CMAC). This addition has helped reduce the protocol’s exposure to cybersecurity risks like man-in-the-middle attacks by protecting sensitive data in transit.
Should I Use CIFS or SMB?
The majority of modern storage systems use SMB 2.0, 3.0, or higher. Microsoft strongly recommends users disable CIFS/SMB1 despite compatibility issues this may cause among old devices and software.
CIFS has poor network performance and lack of functionality in comparison to its SMB successors. Users should also avoid CIFS because of its poor cybersecurity measures – namely its lack of encryption.
Major updates to SMB came with SMB 2.0’s release alongside Windows Vista in 2006, followed by SMB 3.0 with Windows 8 and Windows Server 2012. Shortly after, SMB 3.0.2’s release allowed users to disable SMB1 to enhance security. These releases further cemented CIFS as obsolete.
Users should update to the latest version of SMB – 3.1.1 (released with Windows Server 2016 and Windows 10) – to access the greatest performance, security, and scalability.
Other File-Sharing Protocols & SMB Implementations
Below are examples of other file-sharing protocols and SMB implementations – each with different use cases.
Network File System (NFS)
NFS is a file transfer protocol developed by Sun Microsystems in 1984. Like SMB, NFS allows users to access remote file systems locally.
Despite their similar functionality, NFS and CIFS/SMB lack compatibility in that they cannot communicate with each other. NFS world best for Linux Client to Linux server connections.
Developed by Visuality Systems in 1998, NQ is a family of portable SMB client and server implementations. NQ is portable to non-Windows platforms such as Linux, iOS, and Android and supports SMB 3.1.1 dialect.
Samba is an open-source implementation of the SMB protocol and Microsoft Active Directory for Unix systems and Linux distributions.
Samba supports file sharing and print services, authentication and authorization, name resolution (such as DNS), and service announcements between Linux/Unix servers and Windows clients.
Apple's OS X can communicate with Windows file shares using Samba.
The protocol works with Windows Server Domain, Active Directory, and Windows NT.