NetBIOS

From dankwiki
Jump to navigation Jump to search

NetBIOS is neither merely a protocol nor a topology; it is an API which makes assumptions about both. Communication endpoints are addressed by 16-byte strings ("NetBIOS Names"). A machine can support multiple names, though it typically registers a primary "Machine Name/Workstation Name" upon joining the network. "Group names" may be shared by machines, implementing a multicast. There is no concept of routing (though a NetBIOS LAN may well be implemented over multiple routed networks).

NetBIOS LAN Emulation

Defined in RFC 1001 and RFC 1002, NBT/NetBT/TCPBEUI implements NetBIOS over TCP/UDP.

Mandatory Elements

  • Name Service: map NetBIOS names to network layer (IPv4/IPv6) addresses (UDP 137, TCP 137 specified but unused)
    • 16-bit Transaction ID
    • 16 bits of flags
    • 16 bits each of Question Count, Answer Count, Additional Count, and Authority Count (just like DNS)
    • Resource records, using NetBIOS encodings and NB (0x0020) resource types
  • Datagram Service: delivery of NetBIOS datagrams over UDP (UDP 138)
  • Session Service: establishment and maintenance of circuits over TCP (TCP 139)

See Also