Common Internet File System (CIFS) is a network filesystem protocol used for providing shared access to files and printers between machines on the network. A CIFS client application can read, write, edit and even remove files on the remote server. CIFS client can communicate with any server that is set up to receive a CIFS client request. Microsoft implementations are the de facto CIFS standards. As Wikipedia indicates, the CIFS protocol was developed back in the 1980’s by Barry Feigenbaum at IBM. Then known as Server Message Block (SMB). SMB was originally designed to run on top of the NetBIOS / NetBEUI API (typically implemented with NBF, NetBIOS over IPX/SPX, or NBT) with the aim of tuning local file access to network file system.
With the release of Windows 95 in the early 1990’s, Microsoft has made considerable modifications to the most commonly used SMB version. Microsoft then merged the updated version of the SMB protocol (and rebranded it as CIFS) with the LAN Manager product bringing both client and server support. This application (CIFS) helps a client make a specific request and server responds according to needs hence exchange data with authenticated computers. However, over years there have been several usage models where CIFS was initially for file sharing and later has been used for network management and other network services - with networks becoming larger the need for privilege separation and scale of use.
Over time CIFS has had various versions to facilitate usage for various operating systems.
DOS: This is case where the original model was simply for file-sharing in a NETBIOS- environment and this basically worked by specifying the directories list to be shared and name to be shared under and eventually one sets up a password per share.
Windows NT: A concept of grouping computers into domains was developed. Such terms as DC (Domain Controller), PDC (Primary Domain Controller) and Domain Membership were first introduced.
Windows 2000: This came as the first operating system that came with a support for Active Directory. This was implemented using modified open protocols. Active domain means there are now central points of authority and there are fewer limits to the domain size e.g., - several domains can exist.
CIFS / SMB1.0 is used in Windows 2000, Windows XP, Windows Server 2003 and Windows Server 2002 R2. Its redesign to SMB 2.0 has increased the scale of sharing files, boosting performance for compounding request, enhancing larger reads and writes, has become more secure and robust in case of small command setting and that its signature uses HMACSHA-256 instead of MD5. Since the change was radical and Microsoft had to change the concept users had on the buggy CIFS it was decided to drop the name CIFS, and rename it SMB2.
SMB 2.0 which was integrated in Windows Vista and Windows Server 2008 was much more durable. Its redesign to SMB2.1 in Windows 7 and Windows Server 2008 R2 made improvements in file leasing, ensured large MTU support and Branch Cache.
SMB 3.0 version is commonly used with Windows 8 and Windows Server 2012, granting SMB multi-channeling, SMBDirect, witnessing and transparent failover that improved performance and scaling-out. It still has more features for back-up, security and management, for SQL Server, Power Shell and others. It also introduces several security enhancements, such as end-to-end encryption and a new AES based signing algorithm. In Windows 8.1 and Windows Server 2012 R2 the SMB 3.02 was implemented where Microsoft introduced the option to completely disable CIFS/SMB1 support, including the actual removal of the related binaries. While this is not the default configuration, MS recommend disabling this older version of the protocol in scenarios where it is useless, like Hyper-V over SMB.
SMB 3.1.1 was introduced with Windows 10 and Windows Server 2016. This version supports AES-128-GCM encryption in addition to existing AES-128-CCM encryption and implements pre-authentication integrity check using SHA-512 hash. SMB 3.1.1 also makes secure negotiation mandatory when connecting to clients using SMB 2.x and higher.
To ensure more scalability, best performance, highest availability and overall having implemented most secure
CIFS / SMB it’s advisable one updates to the latest version of SMB.
This site is maintained by Visuality Systems Ltd, world’s leader in commercial CIFS / SMB solutions.