Common Internet File System (CIFS) is a network filesystem protocol used for providing shared access to files and printers between machines on the network.
The Common Internet File System (CIFS), also known as Server Message Block (SMB), is a network protocol whose most common use is sharing files on a Local Area Network (LAN). The protocol allows a client to manipulate files just as if they were on the local computer.
It allows operations such as:
- read
- write
- create
- delete
The only difference being that the files are not on the local computer and are actually on a remote server.
The CIFS protocol works by sending packets from the client to the server. Each packet is typically a basic request of some kind, such as open file, close file, or read file.
The server then receives the packet, checks to see if the request is legal, verifies the client has the appropriate 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 a fairly high-level network protocol. In the OSI model, it is probably best described at the Application/Presentation layer. This means CIFS relies on other protocols for transport. The most common protocol used for reliable transport is NetBIOS over TCP (NBT), which will be described in the NetBIOS chapter below. Other protocols have been used for the transport layer, however with the enormous popularity of the Internet, NBT has become the de-facto standard.
The Common Internet File System (CIFS) is a general-purpose network file system protocol. It provides clients with managed, concurrent access to files and directories hosted on server systems. It also provides access to print queues and interprocess communication services, and supports authenticated transport for remote procedure call subprotocols. With a few exceptions, CIFS is client-driven in that a client makes requests to which a server responds.
To this end, CIFS defines three entities: the client, the server, and the application. The client is an implementation of the protocol and originates most of the messages. The server is also an implementation of the protocol and provides the majority of the functionality described herein as a service. Remaining functionality is handled by a number of subsystems associated with CIFS. These include:
◾Transaction processing subsystems (SMB Trans, SMB Trans2, and NT Trans)
◾User authentication subsystem
◾Distributed File System (DFS) processing subsystem
◾Remote Administration Protocol (RAP) processing subsystem
◾Remote Procedure Call (RPC) processing subsystem
These subsystems can be integrated into a CIFS server implementation or can be accessed as separate services via CIFS.
References: