RFC 1088

Standard for the transmission of IP datagrams over NetBIOS networks

πŸ“… published February 1989, from ietf

A Standard for the Transmission of IP Datagrams over NetBIOS Networks ✨

Okay bestie, let's start with the title block πŸŽ€

  • RFC number: RFC 1088 πŸ’…
  • Author: Leo J. McLaughlin III of The Wollongong Group (TWG) 🧚
  • Stream: Network Working Group
  • Date: February 1989 🌸
  • Category: The title block doesn't label a category, but the Status of this Memo section says it specifies a standard method. πŸ‘‘
  • Obsoletes / Updates: There are no such fields here. The memo just says that earlier versions of itself are now obsolete πŸ¦‹

Status of this Memo

Okay so this doc specifies a standard way to wrap up IP datagrams (the Internet Protocol packets) inside NetBIOS [2] networks. Distribution is unlimited, so share it with everyone πŸ’œ

Introduction

The whole goal here is making sure different implementations can work together and talk to each other over NetBIOS networks. It's giving compatibility goals fr fr ✨

NetBIOS is a standard for making virtual circuits and for sending and receiving datagrams that are point-to-point, multicast, and broadcast. This spec only uses the datagram services, so that's the only part we care about πŸ¦‹

Quick heads up: earlier versions of this memo used the NetBIOS broadcast datagram services instead of the NetBIOS group name services to do IP broadcasting. Those versions are now obsolete, so don't go looking at them πŸ™ˆ

Description

NetBIOS networks can support IP networks and subnets [3] of any class. Basically, you wrap IP datagrams inside NetBIOS datagrams and give the hosts on that NetBIOS network IP numbers, and suddenly IP-based apps work on those hosts πŸ’–

Then if you add a router that can wrap IP packets in ordinary data-link protocols (like 802.3 [4]) as well as in NetBIOS datagrams, those NetBIOS hosts can talk to the wider Internet too. Main character energy πŸ‘‘

Address Mappings

In general, NetBIOS names can be any series of 16 bytes. A few values are reserved or used by common networking packages, though, so be careful πŸ’€

The NetBIOS names for the IP apps on each host are picked based on that host's internet number. Since NetBIOS names map to IP addresses, you don't need any physical address query mechanism (like ARP [5]) 🫢

Here's the naming format. IP.XX.XX.XX.XX is the NetBIOS name for any IP over NetBIOS host, where each XX is the ASCII hexadecimal representation of that byte of the internet address 🧚

This addressing scheme lets standard datagram protocols multiplex over NetBIOS, and you can visually confirm a packet's address just by looking at it. Iconic, honestly 😭

Broadcast and Multicast Addresses

Broadcast Internet addresses are represented by the NetBIOS group name IP.FF.FF.FF.FF. For now, nobody's trying to support IP multicast addresses with NetBIOS group names, so that's not a thing yet 🌈

Maximum Transmission Unit

The maximum data size of a NetBIOS datagram is 512 bytes. That makes it the Maximum Transmission Unit (MTU) for IP over NetBIOS networks. So any hosts talking to a host on a NetBIOS network may be required to reassemble fragmented datagrams. Plan for it, bestie ⭐

Implementation

To support IP on a NetBIOS host for any given IP address, the initialization code must:

  1. Add IP.XX.XX.XX.XX to the host's NetBIOS name table. πŸŽ€
  2. Add IP.FF.FF.FF.FF to the host's NetBIOS group name table. 🌸
  3. Submit a receive datagram request for the reception of NetBIOS datagrams destined for IP.XX.XX.XX.XX. πŸ¦‹
  4. Submit a receive datagram request for the reception of NetBIOS datagrams destined for IP.FF.FF.FF.FF. πŸ’…

When a NetBIOS datagram to either address comes in, it gets processed by the protocol stack, and then another receive datagram request is submitted. Periodt πŸ”

When an IP datagram gets sent, it's treated as NetBIOS datagram data and goes out through a send datagram request to either IP.XX.XX.XX.XX or IP.FF.FF.FF.FF πŸ’œ

Optionally, the IP software may want to make adapter status queries of the NetBIOS network. As SNMP support becomes a requirement for IP hosts, these adapter status queries may become mandatory. Watch this space πŸ‘€

Finally, when IP support for a given NetBIOS host gets discontinued, a cancel command request should be submitted for every pending receive datagram. A delete name request should also be submitted for both the IP.XX.XX.XX.XX and IP.FF.FF.FF.FF addresses that got added during initialization. Clean up after yourself, queen 🧹✨

Acknowledgements

This document wouldn't exist without the early design and implementation work of John Bartas, James Davidson, and Dan Ladermann on IP over NetBIOS. Thank you, icons 🫢

References

[1] Postel, J., "Internet Protocol", RFC-791, September 1981. πŸ“š

[2] IBM PC Network Technical Reference, Document Number 6322916, September 1984. πŸ“š

[3] Mogul, J., and J. Postel, "Internet Standard Subnetting Procedure", RFC-950, August 1985. πŸ“š

[4] Postel, J., and J. Reynolds, "A Standard for the Transmission of IP datagrams over IEEE 802 Networks", RFC-1042, February 1988. πŸ“š

[5] Plummer, D., "An Ethernet Address Resolution Protocol", RFC-826, November 1982. πŸ“š

Author's Address

Leo J. McLaughlin III The Wollongong Group 1129 San antonio Road Palo Alto, CA 94303

Phone: (415) 962-7100

EMail: ljm@TWG.COM πŸ’Œ

πŸ“¦ where this page comes from