CIFS stands for Common Internet File System. It is also known as Server Message Block (SMB). It is a network protocol whose most common use is sharing documents on a Local Area Network (LAN).
The protocol allows users to manipulate files just as if they were on the local computer. Various operations such as read, write, create, delete, and rename are all supported. The only difference is that the files are not on the local computer and are actually on a small server.
The CIFS protocol operates by sending packets from the user to the server. Each packet is a basic request of some kind, such as an open file, close file, or read file.
The server then receives the packet, determines if the request is legal, verifies the client has the suitable file permissions, and finally executes the request and returns a response packet to the client. The client then parses the response packet and can determine whether or not the initial request was successful.
CIFS is an adequately high-level network protocol. In the OSI model, it is best represented at the Application/Presentation layer. This means CIFS depends on various protocols for transport. The most frequent protocol used for stable transport is NetBIOS over TCP (NBT).
The Common Internet File System supports a definitive set of commands that computers can access a remote system and read and write files remotely. It provides both anonymous document transfers and authenticated access. It is used to avoid unauthorized access to specific folders and files. CIFS also contains file locking, which avoids various users from editing the same file at a similar time.
Following are the features of CIFS −
Authenticate Transfer − A user can generate a secured file transfer within the network so that no data found happens.
Transport Independent − To pass the SMB messages between the user and the server, we do not need some external transport protocol.
Resource access − A user can create several shared services such as editing the files, deleting the files or printing queues on the server.
RPC Transport − It provides authenticated file transfer for RPC protocols such as RPC and RAP.
Safe Caching − It supports record tracking and allows the users to cache the data for good performance.
Extended attributes − It also supports attributes like author name, content, description, which comes under the non-file system.
File Access − The users can access the documents over the network. It contains reading, writing, editing, etc.
Notification − When the contents of documents are changed over the network by a user or client, the server gets notified about the change.
File and record locking − It provides unlocked file access and features such as file and record locking.
Distributed replicated virtual volumes − It provides file system subtrees with several volumes and servers. Files and directories can be transferred to multiple servers without changing names. Subtrees can be duplicated for fault tolerance and load sharing.
Batched requests − It can support various requests batching as individual messages to decrease round trip latencies. Messages are categorized into connection establishment messages, namespace, and file manipulation messages, typesetter messages, and various messages.