Windows File Sharing

Last modified: September 14, 2001

Microsoft Windows uses a bizarre naming and location specification mechanism that is a historical artifact of the original IBM-developed PC networking product (PC-LAN) that was intended to compete with Netware.  This naming mechanism, which is being phased out starting with Windows 2000, goes under the rubric "NetBIOS" (not to be confused with NetBEUI, see below).   Host names in Windows (e.g what your computer is called, e.g "net view \\somehost") are NetBIOS names: the network file system sets up NetBIOS sessions between clients (the redirector) and servers (the server). The protocol layering is SMB (Server Message Blocks), over NetBIOS sessions (NetBIOS is a connection-oriented protocol), over a transport protocol (TCP/IP, IPX, or NetBEUI), over a data-link layer (Ethernet, Token Ring, etc).

NetBIOS has ramifications for naming, for browsing, for security (NetBIOS sessions include security concepts, in a rather brain-dead manner).

Later versions of Windows, e.g. NT 4, have added the ability to use DNS names and IP addressing to specify NetBIOS resources.  For example, while previously it was necessary to use a NetBIOS name to make a file sharing connection:

net use t: \\somehost\someshare

It is now possible to use either an IP address:

net use t: \\209.107.134.45\someshare

or a DNS domain name:

net use t: \\somehost.somecompany.com\someshare

An aside: ports and filtering: the discussion here is oversimplified, but brief.  TCP/IP is a network transport that can be used to get data from one computer to another. An IP address (e.g. 207.192.34.24) identifies a particular machine. To get connected to a particular program on that machine (e.g. to talk to the web server on host 207.192.34.24), a port is specified.  Different programs use different ports. For example, by convention, a web server uses port 80, so the 207.192.34.24:80 connects to the web server at host 207.192.34.24.

Microsoft networking (e.g things like net use t: \\somehost\someshare, or browsing the Network Neighborhood in the Explorer), uses the following ports:

PORT 137 (UDP) for NetBIOS Name Service
PORT 138 (UDP) for NetBIOS datagram (Browsing)
PORT 139 (TCP) for NetBIOS session (NET USE)

In order for Microsoft networking to work between two different hosts connected by an Internet link, the ISPs involved must not filter these ports. Because of traffic concerns and security concerns, many ISPs do filter some or all of the these ports.

See Microsoft knowledge base articles Q161431 and Q137565 for more details about using DNS Names or IP addresses to connect to NetBIOS resoures.

Assuming that the Microsoft Networking ports are not being filtered out, and assuming functioning IP connectivity between the client and the server, any of these three addressing mechanisms can be used to make a connection over the Internet:

  1. NetBIOS name: net use t: \\somehost\someshare
    The client must be able to resolve, using standard NetBIOS name resolution techniques, \\somehost into an IP address.  This means that either \\somehost is on the same subnet as the client, or that \\somehost is resolveable from a WINS server, or that \\somehost has an entry in the client's LMHOSTS file.
  2. IP address: net use t: \\207.192.34.24\someshare
  3. DNS name: net use t: \\somehost.somecompany.com\someshare

 


Copyright © 1998 Randy Day
Last modified: September 14, 2001