[linux-cifs-client] Linuc cifs over UDP

Christopher R. Hertel crh at ubiqx.mn.org
Wed Mar 10 16:06:41 MST 2010


Steve French wrote:
> 
> On Thu, Mar 4, 2010 at 7:53 AM, Jaspal wrote:
> 
>     Hello,
> 
>     Is it possible to mount netapp cifs share over UDP?
> 
> 
>     	
> 
> 
> No. The SMB/CIFS protocol requires a reliable transport with guaranteed
> delivery (e.g. TCP rather than UDP).  Interestingly even with NFS which
> can run over UDP (because NFS uses an intermediate layer, SunRPC, which
> guarantes delivery, a layer which CIFS does not have or need) - NFS can
> lose data over UDP over 100Mb and faster networks.
> 
> I am not aware of any SMB/CIFS client being able to mount over transport
> protocols other than the following:
> 1) By far the most common: TCP/IP (RFC1001 specifies the 4 byte header
> with simple frame length field used when over TCP/IP)

There are two protocols here.  There's NBT (RFC 1001/1002) and there's what
Microsoft calls Direct TCP.  The NBT Session Service requires both the
Session Request exchange and the four-byte framing headers you mention.
Direct TCP does not use the Session Request exchange at the start of the
session, but retains the four byte framing header.

The difference is that NBT is intended to be mapped to the NetBIOS API,
while Direct TCP bypasses the NetBIOS API on Windows systems.

> 2) Netbios frames protocol (the original default used many, many years ago)

NBF is the frames protocol generated by the NetBEUI driver and used over
IEEE 802.* networks.  The NetBEUI API was, in turn, an extension to the
original NetBIOS API which worked directly with the Sytek LAN Adapters.  I
have never found anyone who claims to know the actual wire protocol that the
Sytek LANAs used.  They were pre-802.*.

> 3) IPX/SPX

There are actually two IPX-based transports supported by older Windows and
OS/2 systems.  There is NWLink, which is NetBIOS over IPX/SPX.  There is
also Direct IPX, which bypasses the NetBIOS API layer (on Windows, DOS, and
OS/2 systems) and goes directly to the IPX layer.

IPX, however, is connectionless... and yes, so is Direct IPX.  In order to
make this work, additional fields are added to the SMB header to provide
sequencing and delivery verification.  The Direct IPX protocol is deprecated
(long dead, really) and is only of historical interest now, but there was a
time--long, long ago--when you could carry CIFS connections over a
connectionless transport.

Chris -)-----


More information about the linux-cifs-client mailing list