first draft of NetBIOS.txt - WINS server and Broadcast NetBIOS name
[tprouty/samba.git] / docs / textdocs / NetBIOS.txt
1 =======
2 NetBIOS 
3 =======
4
5 NetBIOS runs over the following tranports: TCP/IP; NetBEUI and IPX/SPX.
6 Samba only uses NetBIOS over TCP/IP.  For details on the TCP/IP NetBIOS 
7 Session Service NetBIOS Datagram Service, and NetBIOS Names, see
8 rfc1001.txt and rfc1002.txt.
9
10 NetBIOS applications (such as samba) offer their services (for example,
11 SMB file and print sharing) on a NetBIOS name.  They must claim this name
12 on the network before doing so.  The NetBIOS session service will then
13 accept connections on the application's behalf (on the NetBIOS name
14 claimed by the application).  A NetBIOS session between the application
15 and the client can then commence.
16
17 NetBIOS names consist of 15 characters plus a 'type' character.  This is
18 similar, in concept, to an IP address and a TCP port number, respectively.
19 A NetBIOS-aware application on a host will offer different services under
20 different NetBIOS name types, just as a host will offer different TCP/IP
21 services on different port numbers.
22
23 NetBIOS names must be claimed on a network, and must be defended.  The use
24 of NetBIOS names is most suitable on a single subnet; a Local Area Network
25 or a Wide Area Network.
26
27 NetBIOS names are either UNIQUE or GROUP.  Only one application can claim a
28 UNIQUE NetBIOS name on a network.
29
30 There are two kinds of NetBIOS Name resolution: Broadcast and Point-to-Point.
31
32 =================
33 BROADCAST NetBIOS
34 =================
35
36 Clients can claim names, and therefore offer services on successfully claimed
37 names, on their broadcast-isolated subnet.  One way to get NetBIOS services
38 (such as browsing: see ftp.microsoft.com/drg/developr/CIFS/browdiff.txt; and
39 SMB file/print sharing: see cifs4.txt) working on a LAN or WAN is to make
40 your routers forward all broadcast packets from TCP/IP ports 137, 138 and 139.
41
42 This, however, is not recommended.  If you have a large LAN or WAN, you will
43 find that some of your hosts spend 95 percent of their time dealing with
44 broadcast traffic.  [If you have IPX/SPX on your LAN or WAN, you will find
45 that this is already happening: a packet analyzer will show, roughly
46 every twelve minutes, great swathes of broadcast traffic!].
47
48
49 ============
50 NBNS NetBIOS
51 ============
52
53 rfc1001.txt describes, amongst other things, the implementation and use
54 of, a 'NetBIOS Name Service'.  NT/AS offers 'Windows Internet Name Service'
55 which is fully rfc1001/2 compliant, but has had to take specific action
56 with certain NetBIOS names in order to make it useful.  (for example, it
57 deals with the registration of <1c> <1d> <1e> names all in different ways.
58 I recommend the reading of the Microsoft WINS Server Help files for full
59 details).
60
61 Samba also offers WINS server capabilities.  Samba does not interact
62 with NT/AS (WINS replication), so if you have a mixed NT server and
63 Samba server environment, it is recommended that you use the NT server's
64 WINS capabilities, instead of samba's WINS server capabilities.
65
66 The use of a WINS server cuts down on broadcast network traffic for
67 NetBIOS name resolution.  It has the effect of pulling all the broadcast
68 isolated subnets together into a single NetBIOS scope, across your LAN
69 or WAN, while avoiding the use of TCP/IP broadcast packets.
70
71 When you have a WINS server on your LAN, WINS clients will be able to
72 contact the WINS server to resolve NetBIOS names.  Note that only those
73 WINS clients that have registered with the same WINS server will be
74 visible.  The WINS server _can_ have static NetBIOS entries added to its
75 database (usually for security reasons you might want to consider putting
76 your domain controllers or other important servers as static entries,
77 but you should not rely on this as your sole means of security), but for
78 the most part, NetBIOS names are registered dynamically.
79
80 [It is important to mention that samba's browsing capabilities (as a WINS
81 client) must have access to a WINS server.  if you are using samba also
82 as a WINS server, then it will have a direct short-cut into the WINS
83 database.
84
85 This provides some confusion for lots of people, and is worth mentioning
86 here:  a Browse Server is NOT a WINS Server, even if these services are
87 implemented in the same application.  A Browse Server _needs_ a WINS server
88 because a Browse Server is a WINS client, which is _not_ the same thing].
89
90 Clients can claim names, and therefore offer services on successfully claimed
91 names, on their broadcast-isolated subnet.  One way to get NetBIOS services
92 (such as browsing: see ftp.microsoft.com/drg/developr/CIFS/browdiff.txt; and
93 SMB file/print sharing: see cifs4.txt) working on a LAN or WAN is to make
94 your routers forward all broadcast packets from TCP/IP ports 137, 138 and 139.
95
96 WINS Clients therefore claim names from the WINS server.  If the WINS
97 server allows them to register a name, the client's NetBIOS session service
98 can then offer services on this name.  Other WINS clients will then
99 contact the WINS server to resolve a NetBIOS name.
100
101 To configure samba as a WINS server, you must add "wins support = yes" to
102 the [global] section of your smb.conf file.  This will enable WINS server
103 capabilities in nmbd.
104
105 To configure samba as a WINS client, you must add "wins server = x.x.x.x"
106 to the [global] section of your smb.conf file, where x.x.x.x is the TCP/IP
107 address of your WINS server.  The browsing capabilities in nmbd will then
108 register (and resolve) WAN-wide NetBIOS names with this WINS server.
109
110 Note that if samba has "wins support = yes", then the browsing capabilities
111 will _not_ use the "wins server" option to resolve NetBIOS names: it will
112 go directly to the internal WINS database for NetBIOS name resolution.  It
113 is therefore invalid to have both "wins support = yes" and
114 "wins server = x.x.x.x".  Note, in particular, that if you configure the
115 "wins server" parameter to be the ip address of your samba server itself
116 (as might one intuitively think), that you will run into difficulties.
117 Do not use both parameters!
118
119