All Topics  
Server Message Block

 

   Email Print
   Bookmark   Link






 

Server Message Block



 
 
In computer networking
Computer networking

Computer networking is the engineering discipline concerned with communication between computer systems or Peripheral devices. Networking, routers, routing protocols, and networking over the public Internet have their specifications defined in documents called Request for Commentss....
, Server Message Block (SMB) operates as an application-level network protocol
Application layer

Application Layer is a term used in categorizing protocols and methods in architectural models of computer networking. Both, the OSI model and the Internet Protocol Suite contain an application layer....
 mainly used to provide shared access to files
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
, printers
Computer printer

File:Lexmark X5100 Series.jpgIn computing, a printer is a peripheral which produces a hard copy of documents stored in computer file form, usually on physical print media such as paper or Transparency ....
, serial port
Serial port

In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time ....
s, and miscellaneous communications between nodes on a network. It also provides an authenticated Inter-process communication
Inter-process communication

Inter-Process Communication is a set of techniques for the exchange of data among multiple thread in one or more Process . Processes may be running on one or more computers connected by a computer network....
 mechanism. Most usage of SMB involves computers running Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
, where it is often known as "Microsoft Windows Network".

When discussing SMB, one should distinguish:



y Feigenbaum originally designed SMB at IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 with the aim of turning DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
 "Interrupt
Interrupt

In computing, an interrupt is an asynchronous communication signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
 33" (21h) local file-access into a networked file-system.






Discussion
Ask a question about 'Server Message Block'
Start a new discussion about 'Server Message Block'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computer networking
Computer networking

Computer networking is the engineering discipline concerned with communication between computer systems or Peripheral devices. Networking, routers, routing protocols, and networking over the public Internet have their specifications defined in documents called Request for Commentss....
, Server Message Block (SMB) operates as an application-level network protocol
Application layer

Application Layer is a term used in categorizing protocols and methods in architectural models of computer networking. Both, the OSI model and the Internet Protocol Suite contain an application layer....
 mainly used to provide shared access to files
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
, printers
Computer printer

File:Lexmark X5100 Series.jpgIn computing, a printer is a peripheral which produces a hard copy of documents stored in computer file form, usually on physical print media such as paper or Transparency ....
, serial port
Serial port

In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time ....
s, and miscellaneous communications between nodes on a network. It also provides an authenticated Inter-process communication
Inter-process communication

Inter-Process Communication is a set of techniques for the exchange of data among multiple thread in one or more Process . Processes may be running on one or more computers connected by a computer network....
 mechanism. Most usage of SMB involves computers running Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
, where it is often known as "Microsoft Windows Network".

When discussing SMB, one should distinguish:

  • the SMB protocol
  • the SMB services that run on the protocol
  • NetBIOS
    NetBIOS

    NetBIOS is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network....
  • the DCE/RPC
    DCE/RPC

    DCE/RPC stands for "Distributed Computing Environment / Remote Procedure Calls".DCE/RPC is a Remote Procedure Call system that allows software to work across multiple computers, as if it were all working on the same computer....
     services that use SMB as an authenticated Inter-process communication
    Inter-process communication

    Inter-Process Communication is a set of techniques for the exchange of data among multiple thread in one or more Process . Processes may be running on one or more computers connected by a computer network....
     channel (over named pipe
    Named pipe

    In computing, a named pipe is an extension to the traditional pipeline concept on Unix and Unix-like systems, and is one of the methods of inter-process communication....
    s)
  • the "Network Neighborhood" protocols which primarily (but not exclusively) run as datagram services directly on the NetBIOS
    NetBIOS

    NetBIOS is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network....
     transport
    Transport layer

    In computer networking, the Transport Layer is a group of methods and protocols within a layered architecture of network components, within which it is responsible for encapsulating application data blocks into datagrams suitable for transfer to the network infrastructure for transmission to the destination host, or managing the reverse tran...


History

Barry Feigenbaum originally designed SMB at IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
 with the aim of turning DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
 "Interrupt
Interrupt

In computing, an interrupt is an asynchronous communication signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
 33" (21h) local file-access into a networked file-system. Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 has made considerable modifications to the version used most commonly. Microsoft merged the SMB protocol with the LAN Manager
LAN Manager

The LAN Manager was a Network operating system from Microsoft developed in cooperation with 3Com. It was designed to succeed 3Com's 3+Share network server software which ran on top of MS-DOS....
 product which it had started developing with 3Com
3Com

3Com is a manufacturer best known for its computer network infrastructure products. The company was co-founded in 1979 by Robert Metcalfe, Bruce Borden, and Greg Shaw, and is headquartered in Marlborough, Massachusetts, Massachusetts....
 circa 1990, and continued to add features to the protocol in Windows for Workgroups (circa 1992) and in later versions of Windows.

The original design of SMB envisaged it running on top of the NetBIOS
NetBIOS

NetBIOS is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network....
/NetBEUI
NetBEUI

NetBIOS Frames or NBF protocol is a non-routable network- and transport-level data communications protocol most commonly used as one of the layers of Microsoft Windows networking in the 1990s....
 API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (typically implemented with NBF, NetBIOS over IPX/SPX
IPX/SPX

IPX/SPX stands for Internetwork Packet Exchange/Sequenced Packet Exchange. IPX and SPX are networking protocols used primarily on networks using the Novell NetWare operating systems....
, or NBT), though SMB can also run directly on top of TCP
Transmission Control Protocol

The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is so central that the entire suite is often referred to as "TCP/IP"....
, a feature introduced with Windows 2000
Windows 2000

Windows 2000 is a line of operating systems produced by Microsoft for use on business desktops, Laptop, and Server . Released on 17 February, 2000, it was the successor to Windows NT 4.0, and is the final release of Microsoft Windows to display the "Windows NT" designation....
 (the server listens on TCP port 445 for this purpose).

At around the time when Sun Microsystems announced WebNFS
WebNFS

WebNFS is an extension to the Network File System for allowing clients to access a file system over the internet using a simplified, firewall-friendly protocol....
 , Microsoft launched an initiative in 1996 to rename SMB to Common Internet File System (CIFS) (pronounced ), and added more features, including support for symbolic link
Symbolic link

In computing, a symbolic link is a special type of computer file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution....
s, hard link
Hard link

In computing, a hard link is a directory reference, or pointer, to a file on a storage volume. The name associated with the file is a label stored in a directory structure that refers the operating system to the file data....
s, larger file sizes, and an initial attempt at supporting direct connections over TCP port 445 without all the NetBIOS
NetBIOS

NetBIOS is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network....
 trimmings (a largely experimental effort that required further refinement). Microsoft submitted some partial specifications as Internet-Drafts
Internet Draft

Internet Drafts is a series of working documents published by the IETF. Typically, they are drafts for Request for Commentss, but may be other works in progress not intended for publication as RFCs....
 to the IETF
Internet Engineering Task Force

The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the World Wide Web Consortium and International Organization for Standardization/International Electrotechnical Commission standard bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite....
, though these submissions have expired.

Because of the importance of the SMB protocol in interacting with the widespread Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 platform, coupled with the heavily modified nature of the SMB implementation present in that platform, the Samba
Samba (software)

Samba is a free software re-implementation of Server Message Block Computer networking protocol , originally developed by Australian Andrew Tridgell....
 project originated with the aim of reverse engineering
Reverse engineering

Reverse engineering is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation....
 and providing a free
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 implementation of a compatible SMB client and server for use with non-Microsoft operating systems.

With Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
 (released in 2006), Microsoft introduced Server Message Block 2.0
Windows Vista networking technologies

Windows Vista and Windows Server 2008 contain a new networking stack, named Next Generation TCP/IP stack, which brings large improvements in all areas of network-related functionality....
.

Implementation


Client-server approach

SMB works through a peer-to-peer
Peer-to-peer

A peer-to-peer computer network uses diverse connectivity between participants in a network and the cumulative bandwidth of network participants rather than conventional centralized resources where a relatively low number of Server s provide the core value to a service or application....
 approach, where a client
Client (computing)

A client is an Application software or system that accesses a remote service on another computer system, known as a Server , by way of a Computer network....
 makes specific requests and the server responds accordingly. One section of the SMB protocol specifically deals with access to filesystems, such that clients may make requests to a file server
File server

In computing, a file server is a computer attached to a network that has the primary purpose of providing a location for the shared storage of computer files that can be accessed by the workstations that are attached to the computer network....
; but some other sections of the SMB protocol specialize in inter-process communication
Inter-process communication

Inter-Process Communication is a set of techniques for the exchange of data among multiple thread in one or more Process . Processes may be running on one or more computers connected by a computer network....
 (IPC). Developers have optimized the SMB protocol for local subnet
Subnetwork

A subnetwork, or subnet, describes networked computers and devices that have a common, designated IP address routing prefix.Subnetting is used to break the network into smaller more efficient subnets to prevent excessive rates of Ethernet packet collision in a large network....
 usage, but users have also put SMB to work to access different subnets across the Internet — exploit
Exploit (computer security)

An exploit is a piece of software, a chunk of data, or sequence of commands that take advantage of a software bug, glitch or vulnerability in order to cause unintended or unanticipated behavior to occur on computer software, hardware, or something electronic ....
s involving file-sharing or print-sharing in MS Windows environments usually focus on such usage.

SMB servers make their file systems and other resource
Resource (computer science)

A resource, or system resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource....
s available to clients on the network. Client computers may want access to the shared file systems and printers on the server, and in this primary functionality SMB has become best-known and most heavily used. However, the SMB file-server aspect would count for little without the NT domains suite of protocols, which provide NT-style domain-based authentication
Authentication

Authentication is the act of establishing or confirming something as authentic, that is, that claims made by or about the subject are true....
 at the very least. The NT Domains protocols offer MSRPC
MSRPC

MSRPC is a modified version of DCE/RPC. Additions include support for Unicode strings, implicit handles, inheritance of interfaces , and complex calculations in the variable-length string and structure paradigms already present in DCE/RPC....
 services available almost exclusively on SMB IPC "named pipe
Named pipe

In computing, a named pipe is an extension to the traditional pipeline concept on Unix and Unix-like systems, and is one of the methods of inter-process communication....
", and almost all implementations of SMB servers use NT Domain authentication to validate user-access to resources.

Performance issues

Many people believe that the SMB protocol makes heavy use of network bandwidth
Bandwidth (computing)

In computer networking and computer science, digital bandwidth, network bandwidth or just bandwidth is a measure of available or consumed data communication resources expressed in bit/s or multiples of it ....
 because each client broadcasts its presence to the whole subnet. SMB itself does not use broadcasts. The broadcast problems commonly associated with SMB actually originate with the NetBIOS service location protocol
Service Location Protocol

The Service Location Protocol is a service discovery protocol that allows computers and other devices to find services in a local area network without prior configuration....
. By default, a Microsoft Windows server will use NetBIOS to advertise and locate services. NetBIOS functions by broadcasting services available on a particular host at regular intervals. While this usually makes for an acceptable default in a network with fewer than 20 hosts, broadcast traffic will cause problems as the number of hosts increases. A proper implementation of a NetBIOS Name Server (NBNS) can mitigate this problem — for example Windows Internet Naming Service
Windows Internet Naming Service

Windows Internet Name Service is Microsoft's implementation of NetBIOS over TCP/IP#Name service , a name server and service for NetBIOS computer names....
 (WINS) offers a suitable solution in Microsoft environments. WINS uses a much more advanced system of registration and centralized service requests, but imposes its own complexity upon the design and maintenance of the network. Microsoft recommends the use of Dynamic DNS
Dynamic DNS

Dynamic Domain Name System is a method, protocol, or network service that provides the capability for a networked device, such as a router or computer system using the Internet Protocol Suite, to notify a domain name server to change, in real time the active DNS configuration of its configured hostnames, addresses or other information stored...
, another viable option, in Microsoft Active Directory
Active Directory

Active Directory is a technology created by Microsoft that provides a variety of network services, including:* Lightweight Directory Access Protocol-like directory services...
 environments.

Network designer
Network planning and design

Network planning and design is an iterative process, encompassing#A network planning methodology, #A network planning methodology, and #A network planning methodology, and is aimed at ensuring that a new network or service meets the needs of the subscriber and operator....
s should expect that latency
Lag

In computing and especially computer networks, lag is a term used where the computer freezes and then continues some time later when an action is performed, for example clicking a mouse button....
 will have a significant impact on the performance of the SMB protocol. Monitoring reveals this most commonly in cases of navigating among directories
Directory (file systems)

In computing, a directory, folder, catalog, or drawer is a virtual container within a digital file system, in which groups of files and other directories can be kept and organized....
 through SMB when significant network latency exists between hosts. For example, a VPN
Virtual private network

VPN which stands for Virtual Private Networks are used as secure extranets and Internets . It protects its network by using encryption, firewalls and other security strategies....
 connection over the Internet
Internet

The Internet is a global network of interconnected computers, enabling users to share information along multiple channels. Typically, a computer that connects to the Internet can access information from a vast array of available server and other computers by moving information from them to the computer's local memory....
 will often introduce network latency, which can make for a frustrating experience.

Microsoft's modifications

Microsoft added several extensions to its own SMB implementation. For example, it added NTLM
NTLM

NTLM is a Microsoft authentication protocol used with the Server Message Block protocol. MS-CHAP is similar and is used for authentication with Microsoft remote access protocols....
 Version 2 because NTLM version 1 (derived from the original legacy SMB specification's requirement to use IBM "LanManager" passwords) uses DES
Data Encryption Standard

The Data Encryption Standard is a block cipher that was selected by National Bureau of Standards as an official Federal Information Processing Standard for the United States in 1976 and which has subsequently enjoyed widespread use internationally....
 in a flawed manner. Additionally, the NT 4.0 Domain Logon protocols use 40-bit encryption outside of the United States of America, because of export restrictions on 128-bit encryption.

SMB2

Microsoft introduced a new version of the Server Message Block
Server Message Block

In computer networking, Server Message Block operates as an Application layer mainly used to provide shared access to Computer file, Computer printer, serial ports, and miscellaneous communications between nodes on a network....
 (SMB) protocol (SMB 2.0
Windows Vista networking technologies

Windows Vista and Windows Server 2008 contain a new networking stack, named Next Generation TCP/IP stack, which brings large improvements in all areas of network-related functionality....
 or SMB2) with Windows Vista
Windows Vista

Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
 in 2006.

SMB2 reduces the 'chattiness' of the protocol by reducing the number of commands and subcommands to 19 from over 100. It has mechanisms for pipelining, that is, sending additional requests before the response to a previous request arrives.

It adds the ability to compound multiple actions into a single request, which significantly reduces the number of round-trips
Round-trip delay time

In telecommunications, the term round-trip delay time or round-trip time has the following meanings:# The elapsed time for transit of a signal processing over a closed circuit, or time elapsed for a message to a remote place and back again....
 the client needs to make to the server, improving performance as a result. SMB1 also has a compounding mechanism — known as AndX — to compound multiple actions, but Microsoft clients rarely use AndX.

SMB2 supports larger buffer-sizes, which can provide better performance with large file-transfers and better use of faster networks.

It also introduces the notion of "durable file handles": these allow a connection to an SMB server to survive brief network-outages, such as may occur in a wireless network, without having to construct a new session.

SMB2 includes support for symbolic link
Symbolic link

In computing, a symbolic link is a special type of computer file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution....
s. Other improvements include caching of file properties, improved message signing with HMAC SHA-256 hashing algorithm and better scalability by increasing number of users, shares and open files per server among others.

The SMB 1 protocol often uses 16-bit sizes. SMB2 uses 32 or 64 bits for many of these, and 16 bytes in the case of file-handles.

Windows Vista and later operating systems use SMB 2.0 when communicating with other machines running Windows Vista or later. SMB 1.0 continues in use for connections to any previous version of Windows, or to Samba. Samba 4 also includes experimental support for SMB 2.0.

SMB2 brings two substantial benefits to Microsoft:

  1. clearer intellectual-property ownership. SMB 1, originally designed by IBM, became part of a wide variety of non-Windows operating systems such as SCO Xenix, OS/2 and DEC VMS (Pathworks). X/Open standardised it partially; it also had draft IETF
    Internet Engineering Task Force

    The Internet Engineering Task Force develops and promotes Internet standards, cooperating closely with the World Wide Web Consortium and International Organization for Standardization/International Electrotechnical Commission standard bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite....
     standards which lapsed. (See http://ubiqx.org/cifs/Intro.html for historical detail).
  2. a relatively clean break with the past. Microsoft's SMB1 code has to work with a huge variety of SMB clients and servers. A large number of items in the protocol remain optional (such as short and long filenames). SMB1 features many levels of information for commands (selecting what structure to return for a particular request). SMB1 added Unicode
    Unicode

    Unicode is a computing industry standard allowing computers to consistently represent and manipulate Character expressed in most of the world's writing systems....
     at a later date. SMB2 involves significantly reduced compatibility-testing for Microsoft ( involving only other Windows Vista clients and servers). SMB2 code has considerably less complexity since far less variability exists (for example, non-Unicode code paths become redundant as SMB2 requires Unicode support).


Points of interest


SMB's "Inter-Process Communication" mechanism deserves a specific mention. The SMB "IPC" system provides named pipe
Named pipe

In computing, a named pipe is an extension to the traditional pipeline concept on Unix and Unix-like systems, and is one of the methods of inter-process communication....
s. SMB's IPC mechanism provides one of the first few inter-process mechanisms commonly available to programmers that provides a means for services to inherit the authentication carried out when a client first connected to an SMB server. The inherited authentication in named pipes has become so ubiquitous and transparent that both Windows-users and programmers who use the Windows API
Windows API

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems....
 often simply take it for granted.

Some services that operate over named pipes, such as those which use Microsoft's own implementation of DCE/RPC
DCE/RPC

DCE/RPC stands for "Distributed Computing Environment / Remote Procedure Calls".DCE/RPC is a Remote Procedure Call system that allows software to work across multiple computers, as if it were all working on the same computer....
 over SMB, known as MSRPC
MSRPC

MSRPC is a modified version of DCE/RPC. Additions include support for Unicode strings, implicit handles, inheritance of interfaces , and complex calculations in the variable-length string and structure paradigms already present in DCE/RPC....
 over SMB, also allow MSRPC client programs to perform authentication, which over-rides the authorization provided by the SMB server, but only in the context of the MSRPC client program that successfully makes the additional authentication.

Packet-signing has a significant deleterious effect on SMB over TCP, since the signature is added at the beginning of the packet. Thus, no offloading technique can be used. However, because Windows Servers use SMB to transmit system policies at login, they normally have packet-signing enabled (used to prevent Man-in-the-middle attack
Man-in-the-middle attack

In cryptography, the man-in-the-middle attack or bucket-brigade attack , sometimes Janus attack, is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other over a private connection when i...
s). The design of Server Message Block version 2
Windows Vista networking technologies

Windows Vista and Windows Server 2008 contain a new networking stack, named Next Generation TCP/IP stack, which brings large improvements in all areas of network-related functionality....
 (SMB2) aims to mitigate this performance-limitation by coalescing SMB signals into single packets.

As another point of interest, SMB supports opportunistic locking
Opportunistic Locking

In the Server Message Block protocol, Opportunistic Locking is a file locking mechanism designed to improve performance by controlling caching of files on the client....
 — a special type of locking-mechanism — on files in order to improve performance.

SMB serves as the basis for Microsoft's Distributed File System
Distributed File System (Microsoft)

Distributed File System, or DFS, is a set of client and server services that allow a large enterprise to organize many distributed Server Message Block file shares into a distributed file system....
 implementation.

Versions and implementations


The list below explicitly refers to "SMB" as including an SMB client or an SMB server, plus the various protocols that extend SMB, such as the Network Neighborhood suite of protocols and the NT Domains suite. For simplicity and conciseness and vagueness, however, the list omits mention of the extent or completeness of the reimplementation or porting status for any of these implementations, "lumping" them all together simply as "SMB".

  • Samba
    Samba (software)

    Samba is a free software re-implementation of Server Message Block Computer networking protocol , originally developed by Australian Andrew Tridgell....
    , which re-implements the SMB protocol and the Microsoft extensions to it as free software
    Free software

    Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
    , includes an SMB server and a command-line SMB client.
  • Samba TNG: a fork
    Fork (software development)

    In software engineering, a project fork happens when developers take a copy of source code from one Computer software and start independent development on it, creating a distinct piece of software....
     of Samba.
  • The Linux kernel
    Linux kernel

    The Linux kernel is an operating system kernel used by a family of Unix-like operating systems. The term Linux distribution is used to refer to the various operating systems that run on top of the Linux Kernel....
     includes two SMB client implementations that use the Linux VFS
    Virtual file system

    A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way....
    , providing access to files on an SMB server through the standard file system API
    Application programming interface

    An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
    : smbfs and cifs. Also it is possible to mount the whole hierarchy of workgroups/servers/shares ("neighborhood") through fuse
    Filesystem in Userspace

    Filesystem in Userspace is a loadable kernel module for Unix-like computer operating systems, that allows non-privileged users to create their own file systems without editing the Kernel code....
     kernel module and its userspace counterpart fusesmb.
  • ONStor Inc. offers an SMB implementation that also supports NFS protocol so users can access the same data through both protocols.
  • Novell NetWare
    Novell NetWare

    NetWare is a network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, and the network protocols were based on the archetypal Xerox Xerox Network Services Protocol stack....
     version 6 and newer has a CIFS server implementation providing access to NetWare volumes for Microsoft Network clients.
  • FreeBSD
    FreeBSD

    FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
     includes an SMB client implementation called smbfs that uses its VFS
    Virtual file system

    A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way....
    .
  • NetBSD
    NetBSD

    NetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed....
     and Mac OS X
    Mac OS X

    Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
     include SMB client implementations called smbfs, originally derived from the FreeBSD smbfs; they use the NetBSD and OS X VFS.
  • Solaris has a project called , based on the Mac OS X smbfs.
  • OpenSolaris
    OpenSolaris

    File:Opensolaris-screenshot-2008-05.pngOpenSolaris is an open source operating system based on Sun Microsystems' Solaris . It is also the name of the project initiated by Sun to build a developer and user community around it....
     added in October 2007.
  • Sun Microsystems Cascade, which became known as PC-Netlink, represents a port
    Porting

    In computer science, porting is the process of adapting software so that an executable Computer program can be created for a computing environment that is different from the one for which it was originally designed ....
     of Advanced Server for Unix. Sun
    Sun Microsystems

    Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
     took over two years making the code useful, due to the poor quality of the original port.
  • FreeNAS
    FreeNAS

    FreeNAS is a free network-attached storage server, supporting: CIFS , File Transfer Protocol, Network File System , rsync, Apple Filing Protocol protocols, internet SCSI, Self-Monitoring, Analysis, and Reporting Technology, local user authentication, and software RAID , with a web-based configuration interface....
    , a dedicated small-sized NAS
    Network-attached storage

    Network-attached storage is file-level computer data storage connected to a computer network providing data access to heterogeneous network clients....
     server, runs FreeBSD
    FreeBSD

    FreeBSD is a Unix-like free software operating system descended from AT&T Unix via the Berkeley Software Distribution branch through the 386BSD and Berkeley Software Distribution#4.4BSD and descendants operating systems....
     for Network-attached storage
    Network-attached storage

    Network-attached storage is file-level computer data storage connected to a computer network providing data access to heterogeneous network clients....
     (NAS) services, and supports protocols including CIFS/Samba
  • Advanced Server for Unix (AS/U) comprises a port of Windows NT 3.51's SMB server code to Unix
    Unix

    Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
    . Microsoft licensed the code to AT&T
    AT&T

    AT&T Inc. is the largest US provider of both local and long distance telephone services, and Digital subscriber line Internet access. AT&T is the second largest provider of wireless service in the United States, with over 77 million wireless customers, and more than 150 million total customers....
    , which then licensed it to major Unix vendors. The poor quality of the original port (allegedly carried out by Microsoft itself) has caused any vendor sub-licensing it significant grief.
  • VERITAS Software
    VERITAS Software

    Veritas Software Corp. was an international software company that was founded in 1983 as Tolerant Systems, renamed Veritas Software Corp. in 1989, and merged with Symantec in 2005....
     has an implementation of SMB.
  • SCO has a port of Advanced Server for Unix.
  • SCO also has VisionFS, a Microsoft-independent re-implementation of SMB developed through reference to Samba source code.
  • EMC
    EMC Corporation

    EMC Corporation is a United States Fortune 500 and S&P 500 provider of information infrastructure systems, software and services. It is headquartered in Hopkinton, Massachusetts, USA....
     has an SMB server with its Celerra
    Celerra

    Celerra is the name for EMC Corporation's Network Attached Storage family of products also referred to as Unified Storage platforms. It comes in either a gateway or integrated configuration....
     platforms
  • NetApp has an SMB server implementation
  • Objective Development's Sharity
    Sharity

    In computing, Sharity is a program to allow a Unix system to mount Server Message Block fileshares. It is developed by Christian Starkjohann of Objective Development Software GmbH and is proprietary software....
     provides an SMB file-system
    File system

    In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
     client
    Client (computing)

    A client is an Application software or system that accesses a remote service on another computer system, known as a Server , by way of a Computer network....
     for Unix.
  • The Alfresco
    Alfresco (software)

    Alfresco is an Enterprise content management system for Microsoft Windows and Unix-like operating systems. Alfresco comes in two flavours. Alfresco LABS is free software, GPL licensed open source and open standards, but never officially stable....
      content-management system
    Content management system

    A content management system is a computer application used to create, edit, manage, search and publish various kinds of Content . CMSs are frequently used for storing, controlling, versioning, and publishing industry-specific documentation such as news articles, operators' manuals, technical manuals, sales guides, and marketing brochures....
     includes a Java
    Java (programming language)

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
     implementation of an SMB server
  • offers an implementation of SMB in Java
  • , a CIFS/SMB implementation written in ANSI C. EBS designed RTSMB from scratch, independently of MS or SAMBA design reference, to run in embedded device
    Embedded system

    An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints....
    s.
  • , a CIFS (SMB) server and client solution for embedded devices — ported to many popular real-time operating system
    Real-time operating system

    A Real-Time Operating System is a Computer multitasking operating system intended for real-time computing applications. Such applications include embedded systems , industrial robots, spacecraft, industrial control , and scientific research equipment....
    s (RTOSs)
  • Thursby Software Systems offers a commercial implementation of SMB/CIFS for Mac OS.


See also


  • Shared file access
  • NetBIOS
    NetBIOS

    NetBIOS is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network....
  • AppleTalk
    AppleTalk

    AppleTalk is a proprietary protocol protocol stack developed by Apple Inc for networking computers. It was included in the original Macintosh and is now deprecated by Apple in favor of TCP/IP networking....
  • Network File System (NFS)
  • Remote File System
    Remote File System

    The Remote File System was a distributed file system developed by AT&T in the 1980s. It was first delivered with UNIX System V Release 3 .Compared to Network File System it made quite different design decisions....
     (RFS)
  • Samba


External links


  • Hertel, Christopher (2003). . Prentice Hall. ISBN 0-13-047116-X. (Text licensed under the Open Publication License
    Open Publication License

    Open Publication License is a license open publications created by the Open Content Project, which now recommends using one of the Creative Commons licenses....
    , v1.0 or later, available from the link above.)
  • - Technical details from Microsoft Corporation
  • . In Microsoft Word
    Microsoft Word

    Microsoft Word is Microsoft's word processor computer software. It was first released in 1983 under the name Multi-Tool Word for Xenix systems....
     format
  • Online introduction to CIFS: Lecture/blog by Ron Fredericks
  • Zechner, Anton (2007).
  • -Technology Primer from Blue Coat Systems
    Blue Coat Systems

    Blue Coat Systems , founded in 1996, is a publicly-held company based in Sunnyvale, California. Blue Coat secures Web communications and accelerates business applications across the distributed enterprise....