Difference between revisions of "Talk:Linux CIFS Utils and Samba"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
(Created page with "== What is SMB, NetBIOS etc.? by Jacco de Leeuw == Jacco de Leeuw wrote a brilliant article explaining Microsoft Windows networking and Samba going back to protocols and term...")
(No difference)

Revision as of 10:06, 27 February 2014

What is SMB, NetBIOS etc.? by Jacco de Leeuw

Jacco de Leeuw wrote a brilliant article explaining Microsoft Windows networking and Samba going back to protocols and terminology I worked with in the 1990s. Again, absolutely brilliant.

What is SMB?

In order to communicate, you and I need a common language, like English or Swahili. Computers are no different. There are a few basic "languages" computers use to communicate on a network, and these languages are called protocols. TCP/IP, NetBEUI, IPX, SNA and Appletalk are examples of protocols.

One of the most popular protocols for PCs lets you share files, disks, directories, printers, and (in some cases) even COM ports across a network: this protocol is called the SMB (Server Message Block) standard. Microsoft is trying to rename SMB-based networking to "Windows Networking" and the protocol to "CIFS" but I'll stick to SMB in the following.

An SMB client or server can communicate with just about any other similar program that adheres to this SMB standard including Warp Connect, Warp 4, LAN Server, Lan Server/400, IBM PC Lan and Warp Server (from IBM), LANtastic in SMB mode (from Artisoft), MS-Client, Windows for Workgroups, Windows 95, LAN Manager and Windows NT Workstation & Server (from Microsoft), DEC Pathworks, LM/UX, AS/UX, Syntax and Samba.

Whoa! That's a lot of products from a lot of vendors. Can they all work together? In short, yes. You can take clients and servers from any of the above and mix and match. The limitations are licensing, and protocols. Although the exact capabilities will vary, since many vendors have 'extended' the SMB protocol into "dialects", you should be able to share at least printers and files with any SMB compatible system. However, some dialects offer more features than others. When you connect to another machine, both have to compromise to the "highest common dialect". This means that sometimes you don't have access to all the features you would like. <P> Now I know what SMB is, what is NetBIOS then? And NetBEUI? SMB-based networks use a variety of underlying protocols, but the most popular are "NetBIOS over NetBEUI" and "NetBIOS over TCP/IP" (also called RFC/Netbios or TCPBEUI). A SMB client or server expects a NetBIOS interface. In other words, it uses (or thinks it uses) the same method of communicating with any other SMB system no matter what type of protocol is used underneath. Think of NetBIOS as a passenger and TCP/IP, NetBEUI, IPX, and SNA as different types of vehicles (like airplanes, automobiles, buses, etc). The vehicle carries the passenger from point A to point B. Likewise, the protocol carries NetBIOS (and other) passengers across a computer network. <P> What's the problem with NetBEUI? NetBEUI (called "IBM OS/2 NETBIOS" in Warp 4 and Warp Connect) is basically NetBIOS pushed straight onto the network. It would be like asking the passenger to walk from point A to point B without taking any vehicle at all. NetBEUI likes to shout a lot. (A typical conversation: "Hey, everybody! I'm Machine #12! I'm looking for Windows 95 Machine #8! Answer me, #8!" ... "Here I am, Machine #12!"). NetBEUI is very fast, but all the shouting makes it "chatty." By default, older versions of Windows and OS/2 Warp (and most other SMB networking systems) will use NetBEUI as the default protocol because it needs almost no additional configuring. <P> Why, and when, do I need the "NetBIOS over TCP/IP" protocol? It turns out that there are advantages to using TCP/IP, IPX, or some other protocol as the underlying communication between computers. NetBIOS can be carried by these protocols. They prefer not to "shout" (broadcast) and encourage sending direct messages. "NetBIOS over TCP/IP" has become the most popular of these protocols. TCP/IP, of course, is the protocol used on the Internet, so many systems already have it installed and configured correctly. In fact, Samba even requires "NetBIOS over TCP/IP". It doesn't support "NetBIOS over NetBEUI" (however, code has been donated by a company which implements this). Since "NetBIOS over TCP/IP" runs over the TCP/IP, you can even share drives and printers over the Internet. This is of course a big security risk so most users prefer to install a personal firewall to prevent this, or they remove the NetBIOS 'binding' on the Internet interface (see next paragraph. If you open the "Network" configuration window in recent versions of Windows, you might have noticed that there is no option for "NetBIOS over TCP/IP". There is a "NetBEUI" entry, with which Microsoft actually means "NetBIOS over NetBEUI". If you install the TCP/IP protocol, Windows automatically installs the "NetBIOS over TCP/IP" protocol too. If you do want the TCP/IP protocol, but not "NetBIOS over TCP/IP" (because you're worried about security), you should uncheck "Files and Printer Sharing" in the Bindings tab of the TCP/IP entry in Network Configuration. <P> Can I use OS/2 as an SMB client to connect to Windows NT, Windows for Workgroups etc? Yes. Warp 4 and Warp Connect can speak to any or all of them. TCP/IP, NetBEUI, and IPX are built in to OS/2 Warp 4, and other protocols can be added. Also built into Warp 4 is a program called the "IBM File and Print Client" (called "IBM Peer" in Warp Connect). If you don't have Warp 4 or Warp Connect, you can use the free Microsoft LAN Manager Client for OS/2 instead. Read this for more information. <P> Can I share my files/printers/etc with other WfWg, NT, Lan Manager, OS/2 Warp etc. clients? The answer depends on what version of OS/2 you use and what you are willing to spend. OS/2 Warp 4 and Warp Connect have full peer to peer functionality called OS/2 Peer. It interacts with IBM Lan Requester, NT, WfWg, LAN Manager Client, Lan Manager, Samba and other SMB-based networks. This is the easiest, all-in-one package, solution. Upgrade from older OS/2 versions if you've got the money. The LAN Manager client used to have this functionality, until Microsoft announced NT. The Client for OS/2 mysteriously lost this functionality at that time. On the positive side, you can download this software for free (I haven't seen that older version with limited peer to peer anywhere -- JdL). So you can't use the LAN Manager Client for sharing your own resources. Artisoft used to offer another peer-to-peer solution, called Lantastic for OS/2 but it's not supported anymore. It can connect to Lan Manager, Lan Server, NT, WfWg etc. As a last resort, you could use the OS/2 version of Samba. However, it only supports "NetBIOS over TCP/IP". This means you must already have a working TCP/IP stack. Warp 4 and Warp Connect both come with a TCP/IP but there is probably not much point in using them with Samba/2 because these versions of Warp also already come with SMB/NetBIOS support. When you are using OS/2 2.x with IBM TCP/IP v2.0, or Warp 3 with FreeTCP, then this might be an option. In that case, see this for more instructions on how to set it up. <P> How about the MSIPX protocol to connect to NT or NetWare servers running it? "NetBIOS over IPX" is also called IPXBEUI or MSIPX. In Warp 4 and Warp Connect you'll find it as "NetWare NetBIOS Emulation over IPX". IPX is most commonly used with Novell NetWare servers. It is not available with the LAN Manager Client for OS/2.