SMB, CIFS and Samba: what are these protocols and what are they used for

In order to connect to the Internet, send or receive files, it is essential that there are a series of protocols for this to be possible. In this article we are going to talk about three of them. We are going to explain what is the SMB, CIFS and Samba protocol. We will see what their main differences are and what each of them is used for.

What is the SMB protocol

SMB, CIFS and Samba

First of all we are going to explain what the SMB protocol is. It is one of the oldest and with the passage of time it has allowed access to files and directories, as well as network resources. It is responsible for exchanging information between processes of a system. It was created by IBM.

SMB stands for Server Message Block. This client-server protocol is responsible for managing access to those files or directories. Specifically, it was developed in 1983. It has been present in the different Windows operating systems.

Today this protocol allows connecting to older devices, with previous versions of the Microsoft operating system. In order to exchange files, the two devices must first establish a connection. From here, the SMB protocol allows the client to connect to the server.

The most recent version, the one used in operating systems such as Windows 10 or Windows Server 2016, is SMB 3.1.1. It is important to have this protocol updated correctly, since we have sometimes seen vulnerabilities that can be exploited. An example was the famous EternalBlue exploit that was used to distribute the WannaCry ransomware that caused so much damage a few years ago.

Following the thread of what we mentioned, Microsoft decided to remove support for the first version SMB 1.0. This could allow, for example, to carry out DDoS attacks on a computer.

Compartir archivos SMB CIFS

What is the CIFS protocol?

After explaining what the SMB protocol is, let’s talk about CIFS . Basically we can say that it is a name change. IBM created SMB, but Microsoft quickly started using it. 15 years later, in 1998, Microsoft renamed the first version of Server Message Block to CIFS.

But of course, it was not only a name change. Logically added different features. For example they added support for symbolic links or hard links, larger file size.

CIFS stands for Common Internet File System. They are the acronym for Common Internet File System . It is part of the SMB protocol and will allow multiple platforms to be remotely connected, such as Windows, Linux or macOS.

One good thing about CIFS is that it works universally . In other words, Windows for example usually uses the NTFS file system. For its part, macOS can use HFS. What it does is allow those files to be read and recognized. This will allow file and printer sharing between Windows and UNIX computers.

Therefore, we can say that CIFS is a particular implementation of SMB by Microsoft. However, today when a person talks about one or the other, we can basically say that they are talking about the same thing. Although there are differences in the implementation.

Today CIFS is very rarely used. Modern systems will use SMB 2 or SMB 3. Mainly the latter, since it is in the most recent versions since Windows 8. We can say that they are CIFS updates, which would correspond to the first version of SMB.

How Samba works

So, at this point we will ask ourselves what is Samba . We have seen what SMB and CIFS consist of, but one more term remains to be seen. Samba is also an implementation of the SMB protocol, but in this case it is free.

This implementation was for UNIX-like systems. We can use it in Linux, macOS or Unix and in this way they act as clients in Windows networks. In this case, its initial release was in 1992, although it has had different versions over time.

We can say that, as in the case of CIFS, Samba implements the SMB protocol . This is what will allow Windows clients to access Linux directories, printers, and files on a Samba server.

Therefore, Samba is an open source implementation of SMB. It is one more way to interconnect Microsoft networks with Linux or macOS. We will be able to access files or share printers.

Conclusion of the differences between SMB, CIFS and Samba

So what are the differences between SMB, CIFS, and Samba? We can say that SMB was the original protocol that emerged in the 1980s. It was created by IBM to be able to exchange files and access printers. Over time it has had different versions. It was mainly used in Windows and DOS.

SMB is an enhancement to CIFS. It spread from the beginning of the 90’s with the use of Windows 95. From that moment on, CIFS stopped being as widely used.

For its part, CIFS is how the original version of SMB was later known once Microsoft began using it in its systems. It had certain implementations to allow connecting multiple platforms, such as Windows or Linux. However CIFS is practically not used now. On the other hand, we can find the latest versions of SMB, such as SMB 2 or SMB 3.

Finally, Samba is the implementation of the above in open source. A free implementation to be able to use it in different systems such as Linux, macOS or Unix. In this case it was released in the early 1990s.

Ultimately, these are the main points to keep in mind when we come across the terms SMB, CIFS and Samba. As we can see, they are protocols and implementations that allow exchanging files or accessing printers. They have appeared at different times, although all three are ancient. The first version of SMB appeared in 1983, created by IBM, while Samba emerged in the 1990s. This means that, as we have seen, we must take security precautions and not have outdated protocols enabled that can be used by hackers exploit vulnerabilities and steal information or take control of your computer.