FTP allow users to create multiple separate copies of a file. SMB allow multiple users to read from and write to a single shared file.
FTP is a File Transfer protocol. Its primary purpose is to let users copy an entire file from one computer to another.
Using FTP means:
-the FTP client must have enough local storage space to store a copy of the entire file
- there are two separate copies of the file: the original file on the FTP server and the copy of the file on the FTP client. The two files are then independent: any changes in one copy of the file are not reflected in the other copy.
SMB is a File Server protocol. Its primary purpose is to allow multiple users to read and write from the same file that is stored only on the File Server.
Using SMB means:
-the SMB client does not have to use any local storage to store a copy of the file. It can read and write data directly on the File Server.
-any changes that one user makes to the file are immediately visible to the other users of the same file. There is only a single file that is shared by multiple users.
You can also use the SMB protocol to make a separate copy of a file. One advantage of using SMB to create a copy is that SMB supports all of the file attributes supported by the Windows operating system. FTP is designed to support only the file attributes supported by POSIX operating systems.
There are some tools that try to allow using the FTP protocol to collaborate on a shared copy of a file. These tools use FTP to download a copy of a file to a client, and then try to keep the two copies in sync by using FTP to upload and download any changes. However, these tools have issues if two users are accessing and modifying the file at the same time, because FTP has no method to coordinate changes from multiple users. SMB is designed to coordinate changes coming from multiple users at the same time.