16 / 723
[MS-CIFS] - v20160714
Common Internet File System (CIFS) Protocol
Copyright © 2016 Microsoft Corporation
Release: July 14, 2016
1 Introduction
The Common Internet File System (CIFS) Protocol is a cross-platform, transport-independent protocol
that provides a mechanism for client systems to use file and print services made available by server
systems over a network.
CIFS is a dialect of the Server Message Block (SMB) protocol, which was originally developed by
IBM Corporation and then further enhanced by Microsoft, IBM, Intel, 3Com, and others. There are
several dialects of SMB. A standard for the SMB protocol, covering dialects prior to CIFS, was
published by X/Open (now The Open Group) as [XOPEN-SMB].
The meaning of the term "CIFS" has changed since it was first introduced. It was originally used to
indicate a proposed standard version of SMB based upon the design of the Windows NT 4.0 operating
system and Windows 2000 operating system implementations. In some references, "CIFS" has been
used as a name for the SMB protocol in general (all dialects) and, additionally, the suite of protocols
that support and include SMB. In this document, the term "CIFS" is used specifically to identify the
Windows NT LAN Manager (NTLM) dialect of SMB as designed for use with Windows: in particular,
Windows NT Server 3.51 operating system and Windows NT Server 4.0 operating system, Windows NT
Workstation 4.0 operating system, and Microsoft Windows 98 operating system.
This document defines the protocol as it was designed for Windows NT operating system. It also
specifies the behaviors of Windows NT and Windows 98, with respect to optional behavior, and
documents known errors and variances in implementation. Changes and enhancements made to the
SMB protocol are documented in [MS-SMB].
Sections 1.5, 1.8, 1.9, 2, and 3 of this specification are normative. All other sections and examples in
this specification are informative.
1.1 Glossary
This document uses the following terms:
8.3 name: A file name string restricted in length to 12 characters that includes a base name of up
to eight characters, one character for a period, and up to three characters for a file name
extension. For more information on 8.3 file names, see [MS-CIFS] section 2.2.1.1.1.
ASCII: The American Standard Code for Information Interchange (ASCII) is an 8-bit character-
encoding scheme based on the English alphabet. ASCII codes represent text in computers,
communications equipment, and other devices that work with text. ASCII refers to a single 8-bit
ASCII character or an array of 8-bit ASCII characters with the high bit of each character set to
zero.
authentication: The ability of one entity to determine the identity of another entity.
blocking mode: Determines if input/output (I/O) operations will wait for their entire data to be
transferred before returning to the caller. For a write operation, if blocking is enabled, the write
request will not complete until the named pipe reader has consumed all of the data inserted
into the named pipe as part of a write request. If blocking is not enabled, the write will
complete as soon as the data has been inserted into the named pipe, regardless of when the
data in the named pipe is consumed. For a read operation, if blocking is enabled, the read
request will be suspended until the data is available to be read. If blocking is not enabled, the
read will complete immediately, even if there is no data available to be read.
broadcast: A style of resource location or data transmission in which a client makes a request to
all parties on a network simultaneously (a one-to-many communication). Also, a mode of
resource location that does not use a name service.