1.2.1 Named Pipes

Common Internet File System (CIFS)/Server Message Block (SMB) serves a special role in the protocols, because CIFS/SMB offers a construct that is known as the named pipe. A named pipe is a logical connection, similar to a Transmission Control Protocol (TCP) session, between the client and server that are involved in the CIFS/SMB connection. The name of the pipe serves as the endpoint for the communication, in the same manner as a port number serves as the endpoint for TCP sessions. This is called a named pipe endpoint.

Many protocols layer on top of named pipes, either directly, as seen in the Common Internet File System (CIFS) Browser Protocol as specified in [MS-BRWS], or indirectly, through the Remote Procedure Call Protocol Extensions as specified in [MS-RPCE]. When named pipes are used, they have the advantage of insulating the higher-layer protocol from what transport was chosen and also of offering the higher-layer protocol the authentication services of the CIFS/SMB connection.

Note  When this document refers to SMB, both SMB and SMB2 are applicable, unless otherwise specified.

A share is a local resource that is offered by an SMB server for access by SMB clients over the network. The protocol defines three types of shares: file (or disk) shares, which represent a directory tree and its included files; pipe shares, which expose access to named pipes; and print shares, which provide access to print resources on the server.

A pipe share, as defined by the SMB Protocol, MUST always have the name "IPC$". A pipe share MUST only allow named pipe operations and Distributed File System (DFS) referral requests to itself. The data that is carried over IPC$ is an implementation detail of SMB. This implementation detail is transparent to the Remote Procedure Call Protocol Extensions as specified in [MS-RPCE].