dcrocker@TWG.COM (Dave Crocker) (11/11/88)
The use of NetBios over TCP has been a very interesting merging of work in the research and hard-core commercial worlds. Some of the benefits of the merging were cited in the notes sent late last month and early this month, but there are a few points that should be clarified: 1. Netbios mostly uses TCP, not UDP. UDP is used for NetBios datagrams and various "management" tasks, such as name registration and lookup. This applies to all of the vendor implementations that were in existance two years ago. 2. Netbios does not allow file sharing. Let me repeat this: Netbios is only a facility for the sending of uninterpreted bits. It carries NO semantics, such as file structure. This function is performed through a protocol that runs on top of Netbios, called Server Message Block (SMB). As I understand the history, Sytek did the original NetBios, for IBM and Microsoft did the original SMB, also for IBM. 3. Ascribing to vendors the intent of using Netbios over nationwide networks, as the reason for puting Netbios over TCP, sounds great but does not appear to apply to any of the original vendor implementations. Most, in fact, did not allow any access to a non-broadcast network. Of those that did, only one did it in a "natural" fashion. The standard approach was to hard-code some NetBios names as mapping to a specific IP address, which thereby might be on another network. Only one used an internet name server, with fully dynamic registration and lookup. (I.e., the only hard-wired information was the IP address of the server.) Getting this sort of feature into the standard that finally emerged was a very, very hard-fought battle. The original intent of the standards group was to limit the functionality to broadcast nets (read: a single LAN) only. 4. So what was the reason? Simple. For the PC market, Netbios was the ONLY network service/"protocol" standard. It vastly outweighed whatever was in second place. So, if a vendor wanted to hit the PC-to-PC networking market, they implemented NetBios. Why do this over TCP? Because that was the protocol of choice for most of the vendors. IBM published to functional specifications for the service, but not the underlying protocols. Hence, vendors were free to choose their own. Most networking vendors in that market had experience with XNS and/or TCP and chose one or both and the underlying framework, onto which they added their own NetBios protocol. The only requirement was that all PC applications had to see the same Int 5C NetBios service. (Simply put, if it worked on the original Sytek implementation, it was supposed to work on the vendor's implementation. The application, of course, does not see that actual protocol.) Dave Crocker