Open In App

What is CIFS (Common Internet File System)?

Last Updated : 26 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

The Common Internet File System (CIFS), additionally called Server Message Block (SMB), is a community file-sharing protocol used for gaining access to documents, printers, and different assets on a community. Initially advanced using IBM in the Eighties and later refined by way of Microsoft, CIFS/SMB has become the de facto popular for sharing files and sources in heterogeneous network environments, inclusive of Windows, Unix, Linux, and macOS systems.

What is CIFS?

CIFS or Common Internet File System is a file-sharing protocol that works in the Application and Presentation Layer. It is mainly used to provide shared access to all the local systems to the remote files or other services like printing remotely, it also provides access to the interprocess communication services, without being available in the same network.

It follows the basic Client-Server Architecture concept, in which a client makes the request and the server replies to it. A CIFS client i.e. any computer of that network can read, write, edit, and even delete files from the remote server. It also can communicate with any server in the network that has been set up to communicate with the CIFS client, there are no restrictions like it will only connect with specific devices that come with it.

CIFS was first developed by a Scientist named Barry Feigenbaum, who worked at IBM at that point. Later it was acquired by Microsoft, in which they made some later modifications. Microsoft worked with other companies like Intel, IBM, 3Com, etc. to make it more suitable for their devices.

Primary Terminologies Related to CIFS

  • CIFS (Common Internet File System) – CIFS is a file-sharing protocol across different networks that is primarily used in Windows-based devices, as it is owned and modified by Microsoft.
  • SMB (Server Message Block) – SMB is an underlying protocol that works on the concept of CIFS, CIFS is another dialect or version of the SMB. It starts the communication between the Client and the Server.
  • File Sharing – It is the primary function of the CIFS protocol, It grants access to the files and directories of one device to the other devices present in the network
  • Access Control – Access Control means setting proper permissions to the files and directories in that network, it controls who can access or manipulate the files and directories, and what actions they can perform out of read, write, execute. present in that network.
  • Authentication – Authentication means verifying the identity of the users who will access and manipulate the files and the directories.
  • CIFS Client – A CIFS client is a device that accesses the shared resources hosted in the CIFS servers. It takes the advantage of CIFS protocol to manipulate the shared files or request any access.
  • CIFS Server – A CIFS Server is a device that hosts shared resources and makes them accessible to the CIFS clients, the server responds to the CIFS client’s requests and answers to its File queries.
CIFS CLIENT

CIFS CLIENT

Working of CIFS

Generally, a Common Internet File System client initiates an application-level communication connection with a CIFS server. For instance, a user can use Windows File Explorer to visit a shared folder. Using a full duplex TCP session over port 139, the client establishes a NetBIOS session with the server, enabling it to access shared resources.

The client and server decide the dialect to use after establishing the NetBIOS session. After the client and server have decided on a dialect, the client requests a Unique Identifier (UID) from the server by sending authentication credentials, which are often a username and password. The client provides the authentication credentials and a list of its capabilities.

Thus, this step is crucial even if the server does not require authentication. Although Active Directory usually manages authentication, CIFS can also employ other authentication protocols like RADIUS.

Different Parts of CIFS

CIFS mainly consists of 3 parts/entities:

  • The Client
  • The Server
  • The Application

1. Client: The Client is the originator of most of the messages/requests made by the user.

2. Server: The Server on the other hand provides the maximum number of services according to the client’s requests. Some sub-systems could be integrated into a CIFS server or they can work separately. Some of those services are given below –

  • User Authentication Subsystem.
  • Distributed File System processing Subsystems.
  • Remote Procedure Call (RPC) processing subsystems.
  • Remote Administration Protocol (RAP) processing subsystems.

3. Application: The Application part takes control of the starting of any operation that will be done by the Client, which means that it acts as a trigger, it initiates the process which is then controlled by the Client. The application doesn’t implement the CIFS protocol itself, rather it relies upon the client who implements the CIFS protocol directly and gains benefit from it. The Application can have a GUI, which is easier to handle by the users and it takes care of the Word Processing or File Management jobs.

CIFS Protocol Features

CIFS protocol has been widely updated by Microsoft after it acquired it, there are lots of features that were made available for CIFS by them.

  • Supported Transportation Types – Although CISF was mainly created for Connection-oriented The Protocols like TCP, it can also work on the top of a connectionless environment.
  • Connectivity – The CIFS Protocol is extremely flexible in terms of connectivity, there are no limitations to how many servers a single client can connect with. A single client can connect with as many servers as needed at the same time as per the requirement.
  • Access to the Resources – The CIFS client can access multiple files simultaneously and work with them too. Also, there is no File Locking Mechanism available, which means that the same file can be used by multiple clients at the same time.
  • Supports External Protocols – CIFS can also use some external Protocols if needed, which helps in increasing the functionality.
  • Named Pipe Interprocess Communication – CIFS uses Convention the named pipes for the Interprocess Communication between the Client and Server.
  • Supports Batched Commands – CIFS allows the grouping of messages to processed them in sequence.
  • Supports DFS – CIFS also supports the Distributed File System which creates a Global Namespace which includes resources on multiple servers.
  • RPC Support – CIFS Protocol supports the RPC protocols such as MS-RPCE and MS-RAP. As it was acquired by Microsoft it supports most RPC protocols that are developed by Microsoft.
  • Multiple Filesets Naming Convention support – CIFS protocol supports to the UNICODE and ASCII character set.

Functionality of CISF

  • Transport independence: The transport protocol that sends messages between the client and server is not required by CIFS. The protocol can function through connectionless protocols as well as connection-oriented protocols, which are typically used for transport.
  • Flexible connectivity: One person can connect to many servers at once.
  • Feature negotiation: For each connection, a different set of supported features and the CIFS dialect are negotiated.
  • Resource access: On the target server, shared resources including files, named pipes, and print cues are accessible to multiple CIFS clients concurrently.
  • Contexts for security: Clients can establish multiple security contexts over a connection if needed.
  • File access: Multiple clients may view the same file simultaneously since the server controls file sharing.
  • Extended subprotocols: A collection of protocols that allow for more advanced server capability can be utilised in conjunction with CIFS.
  • File and record locking, as well as secure caching: Opportunistic locking allows clients to cache data, improving network performance. File and record locking is also supported by the protocol.
  • File, directory, and volume properties can be viewed and changed by clients thanks to the CIFS specification. Access Control Lists (ACLs) are also compatible with CIFS.
  • Notification of file and directory changes: Clients have the option to be notified via email whenever changes are made to files in a server directory or directory tree.

Difference Between CIFS and NFS

CIFS

NFS

The Common Internet File System is shortened to CIFS.

Network File System is shortened to NFS.

Windows operating systems share files using this protocol.

Linux and Unix operating systems share files via this protocol.

The scalability is poor

It has a lot of scalability.

The communication pace is mediocre

Communication happens quickly.

The sessions are provided by this protocol

The session is not provided by this protocol.

The CIFS protocol is dependable.

The NFS protocol is unreliable.

Compared to the Network File System, the Common Internet File System is more secure.

The protocol used by the network file system is not secure.

Its application is complex

It is simple to set up and execute this protocol.

Frequently Asked Question on Common Internet File System – FAQs

What is CIFS and how does it differ from SMB?

CIFS stands for Common Internet File System, it is a file sharing protocol which allow devices to access and manipulate remote files and directories over the network, CIFS is just and upgraded version of the SMB protocol, they works the same, the only difference is that SMB used to work primarily in Windows based devices whereas SMB works in Windows, Linux, MacOS devices.

What is the Purpose of CIFS in a Network Environment?

The main purpose of using CIFS in a network environment is to let devices seamlessly access printing services and file sharing between different devices in remote networks. It is useful to read, write, execute, access files, directories, folders etc remotely, across various different devices using different configurations.

Is CIFS secure?

CIFS doesn’t provide an in-built facility for security, so the users’ are recommended to use a Tuneling device like VPN or use CIFS between a trusted and safe network.

Are there any alternatives to CIFS?

There are some alternatives like NFS, FTP, WebDAV, SFTP,DFS etc. which can be used as an alternative of CIFS.

What are the advantages of CIFS?

Compared to its predecessor, CIFS is a more efficient protocol with improved performance and scalability in mind. Greater dependability, enhanced security, and higher file sizes are supported.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads