Storage network protocols enable applications, servers and other systems to interface with storage across a network. They also make it possible for users to share files and for organizations to support greater storage capacities than can be easily achieved with direct-attached storage.
A storage network protocol provides a standard set of rules that define how data is transmitted between devices. Systems such as network attached storage (NAS) and storage area networks (SANs) rely on storage protocols to facilitate data communications. Cloud storage platforms also use protocols to provide access to their data repositories.
Here are seven of the most common protocols used to support networked storage.
Internet Small Computer System Interface (iSCSI)
ISCSI is a transport layer protocol that provides block-level access to storage devices over a TCP/IP network. The protocol works on top of the TCP and describes how to transmit SCSI packets across LANs, WANs or the internet. ISCSI enables IT to set up a shared storage network such as a SAN.
Organizations often turn to iSCSI because it uses standard Ethernet technologies, making it cheaper and easier to adopt than Fibre Channel (FC). ISCSI can deliver high speeds across long distances, taking advantage of multipathing, jumbo framing, data center bridging (DCB) and other technologies. SAN implementations based on iSCSI now support data rates as high as 25 Gigabit Ethernet, with 50 GbE and 100 GbE not far behind.
Fibre Channel is a high-speed networking technology that delivers lossless, in-order, raw block data. The technology defines multiple communication layers for transporting SCSI commands and information units using the Fibre Channel Protocol (FCP). In addition to SCSI, Fibre Channel can also interoperate with IP and other protocols. It offers point-to-point, switched and loop interfaces and can deliver data rates up to 128 Gbps.
Fibre Channel was created to support SANs and address the shortcomings in SCSI and High-Performance Parallel Interface (HIPPI). It offers a reliable and scalable protocol and interface with high throughput and low latency, making it well suited for shared network storage. When used with optical fiber, Fibre Channel can support devices as far as 10 km apart. However, FC networks can be complex and require specialized equipment such as switches, adapters and ports.
Fibre Channel over Ethernet (FCoE)
The FCoE protocol enables Fibre Channel communications to run directly over Ethernet. The protocol encapsulates the FC frames in Ethernet frames, using a lossless Ethernet fabric and its own frame format. FCoE makes it possible for LAN and SAN traffic to share the same physical network but remain isolated from each other. It works with standard Ethernet cards, switches and cables, along with FCoE-enabled components. FCoE can support the same data rates as high-speed Ethernet.
With FCoE, an organization can use a single cabling method throughout the data center, helping to simplify management and reduce costs compared to regular Fiber Channel. FCoE also retains some of the latency and traffic management benefits of regular Fibre Channel, and it can use DCB to eliminate loss during queue overflow. However, FCoE will not work across routed networks such as Fibre Channel.
Network File System (NFS)
NFS is both a distributed file system and network protocol for accessing and sharing files between devices on the same LAN. The system and its protocol are commonly used to support NAS. NFS is a low-cost option for network file sharing that makes it possible for users and applications to access, store and update files on a remote computer, much like they would with DAS.
NFS uses the Remote Procedure Call (RPC) protocol to route requests between clients and servers. Although participating devices must support NFS, they don't need to understand the network's details. However, RPCs can be insecure, so NFS should be deployed only on trusted networks behind firewalls. The protocol is used primarily in Linux environments, although it is supported by Windows.
Server Message Block/Common Internet File System (SMB/CIFS)
SMB is a client-server communication protocol that enables users and applications to access storage and other network resources on a remote server. Because it's a response-request protocol, it transmits multiple messages between the client and server to establish a connection. SMB operates at the application layer and can run on TCP/IP networks. Like NFS, the protocol is commonly used for NAS.
Since it was first released, numerous SMB dialects (implementations) have been released. One of the earliest was CIFS. Introduced by Microsoft, it was known as a chatty protocol that was buggy and prone to latency issues. Even so, it was embraced by OSes such as Windows, Linux and Unix. Subsequent SMB dialects have made CIFS all but obsolete. Even so, the terms SMB and CIFS are often used interchangeably or referred to as SMB/CIFS, although CIFS is only a single SMB implementation.
Hypertext Transfer Protocol (HTTP)
HTTP isn't typically thought of as a storage protocol, but it supports access to cloud storage services such as Amazon S3, Google Cloud Storage and Microsoft Azure, usually through RESTful APIs and standard HTTP/HTTPS requests. Amazon S3 has become the de facto standard for cloud object storage and is now supported by on-premises storage systems, including NAS, cementing HTTP's role as a storage protocol.
HTTP is a World Wide Web application protocol that runs on top of the TCP/IP. It provides a set of rules for transferring data between HTTP endpoints, which send requests and receive responses. The protocol is based on a client-server model and is widely supported and implemented. Most programming languages include HTTP-request capabilities, which makes it possible for almost any application to access storage using standards-based technologies.
Non-volatile memory over fabrics (NVMe-oF)
Built on the NVMe specification, NVMe-oF is a high-speed storage protocol for accessing solid-state storage across network fabrics such Ethernet, Fibre Channel and InfiniBand. NVMe-oF defines a common architecture for interfacing with storage systems using NVMe message-based commands. The protocol can support many NVMe devices, while extending the distances between NVMe devices and their subsystems.
According to NVM Express Inc., 90% of the NVMe-oF protocol is the same as basic NVMe, which was designed for SSDs that connect directly to a computer through a Peripheral Component Interconnect Express bus. Like NVMe, NVMe-oF can take better advantage of a flash drive's inherent speeds, which are often limited by more traditional protocols and interfaces. Storage vendors offering all-flash arrays are quickly adopting NVMe-oF to support data-intensive workloads and high-performance computing. Many believe that NVMe-oF will eventually become the de facto protocol for enterprise storage.