# CIFS (Common Internet File System)

## What is NFS?

CIFS (Common Internet File System) is defined as a network protocol that is used for accessing or sharing files over a network. It defines the way in which the files are stored and retrieved from storage devices across networks. The Network File System is defined by the NFS protocol. It utilizes Remote Procedure Calls (RPCs) which allows routing requests between clients and servers. For communication purposes, it uses the **TCP/IP**. It is an application layer protocol.

## How Does NFS Work?

Network File System is a distributed file system protocol that helps the user to access the files over a network. Here is a brief description of how the Network File System works.

### Client-Server Architecture

Network File System works on a client-server architecture. In this architecture, the server hosts the file system which will be shared and the client can access those shared files.

### Mounting File Systems

When the user wants to access the files from the **NFS** server, they need to connect to the server file's system. With the help of this connection, the accessing of files became easier as they are located on the local computer.

### Communication Protocol

Network File System takes use of Remote Procedure Call (RPC) to establish communication between the client and the server. Due to this client are allowed to send requests for performing operations on files.

### File Access

Once the connection get established with the server file system, they can perform operations or interact with the files as they are located on the local computer.

### Security

It takes help of various security mechanisms to have controlled access to the files. It offers security features like user authentication, file permissions, etc.

### Performance

Network File System is designed to work fast and be efficient. With the help of various caching machanisms, it can reduce the traffic on the network and improve the performance.

## Benefits of NFS

   - The Network File System allows local access to remote files.
   - It is a very easy to use protocol.
   - It offers great scalability so that a large number of users can connect to a single server.
   - For new files, there is no need for manual refresh.
   - It is a reliable protocol which can handle network problems without losing the data.
   - It offers a variety of security features to protect our network from failure or attacks.

## Limitations of NFS

   - The setup and configuration of Network File System is complex for those users who don't have knowledge of it.
   - There is dependence on Remote procedure calls to perform all of its operations.
   - It is vulnerable to internal threats.
   - It is difficult to accommodate large numbers of user at one time.
   - It has no load balancing.
