IP over NetBIOS: Standard for the transmission of IP datagrams over NetBIOS networks
How to carry IP datagrams inside NetBIOS datagrams by building each NetBIOS name from an IP address.
McLaughlin, L.J., "Standard for the transmission of IP datagrams over NetBIOS networks", STD 48, RFC 1088, DOI 10.17487/RFC1088, February 1989, <https://www.rfc-editor.org/info/rfc1088>.
@misc{rfc1088,
series = {Request for Comments},
number = 1088,
howpublished = {RFC 1088},
publisher = {RFC Editor},
doi = {10.17487/RFC1088},
url = {https://www.rfc-editor.org/info/rfc1088},
author = {L.J. McLaughlin},
title = {{Standard for the transmission of IP datagrams over NetBIOS networks}},
pagetotal = 3,
year = 1989,
month = feb,
} RFC text
Contents
Network Working Group L. McLaughlin III
Request for Comments: 1088 TWG
February 1989
A Standard for the Transmission of IP Datagrams over NetBIOS Networks
Status of this Memo
This document specifies a standard method of encapsulating the
Internet Protocol [1] (IP) datagrams on NetBIOS [2] networks.
Distribution of this memo is unlimited.
Introduction
The goal of this specification is to allow compatible and
interoperable implementations for transmitting IP datagrams over
NetBIOS networks.
NetBIOS is a standard which specifies a means of creating virtual
circuits and of transmitting and receiving point-to-point, multicast,
and broadcast datagrams. This specification uses only the datagram
services.
Previous versions of this memo specified the use of the NetBIOS
broadcast datagram services instead of the NetBIOS group name
services to implement IP broadcasting. These versions are now
obsolete.
Description
NetBIOS networks may be used to support IP networks and subnets [3]
of any class. By means of encapsulating IP datagrams within NetBIOS
datagrams and assigning IP numbers to the hosts on a NetBIOS network,
IP-based applications are supported on these hosts. The addition of
a router capable of encapsulating IP packets within ordinary data-
link protocols (such as 802.3 [4]) as well as within NetBIOS
datagrams allows these NetBIOS hosts to communicate with the Internet
at large.
Address Mappings
In general, NetBIOS names may be any series of 16 bytes, however, a
few values are reserved or used by common networking packages.
NetBIOS names for the IP applications on each host are chosen on the
basis of the internet number of that host. Since NetBIOS names are a
mapping of IP addresses, no physical address query mechanism (e.g.,
ARP [5]) is required.
For these internet protocol applications, IP.XX.XX.XX.XX is the
NetBIOS name for any IP over NetBIOS host where XX represents the
ascii hexadecimal representation of that byte of the internet
address.
This addressing scheme allows for the multiplexing of standard
datagram protocols over NetBIOS as well as easy visual confirmation
of the correctness of a given packet's address.
Broadcast and Multicast Addresses
Broadcast Internet addresses are represented by the NetBIOS group
name IP.FF.FF.FF.FF. Currently, no attempt is made to provide
support of IP multicast addresses using NetBIOS group names.
Maximum Transmission Unit
The maximum data size of a NetBIOS datagram, and therefore the
Maximum Transmission Unit (MTU) for IP over NetBIOS networks, is 512
bytes. Therefore, any hosts communicating with a host on a NetBIOS
network may be required to reassemble fragmented datagrams.
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 is received, it is
processed by the protocol stack and another receive datagram request
is submitted.
When an IP datagram is sent, it is considered to be NetBIOS datagram
data and sent by a send datagram request to either IP.XX.XX.XX.XX or
IP.FF.FF.FF.FF.
Optionally, the IP software may desire to make adapter status queries
of the NetBIOS network. As support for SNMP becomes a requirement
for IP hosts, these adapter status queries may become mandatory.
Finally, when the IP support for a given NetBIOS host is
discontinued, a cancel command request should be submitted for every
pending receive datagram, and a delete name request should be
submitted for both the IP.XX.XX.XX.XX and IP.FF.FF.FF.FF address
added during initialization.
Acknowledgements
This document would not have been possible without the efforts of
John Bartas, James Davidson, and Dan Ladermann in the early design
and implementation of IP over NetBIOS.
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
ISO Plain Language
On this page
§1Purpose and Scope
RFC 1088 sets one standard way to encapsulate Internet Protocol (RFC 791) datagrams inside NetBIOS datagrams, so that separate implementations can interoperate. NetBIOS can also create virtual circuits and send point-to-point, multicast and broadcast datagrams, but this specification uses only its datagram services.
Hosts on a NetBIOS network are given IP numbers, so IP-based applications work there. A router that can also encapsulate IP packets in ordinary data-link protocols such as 802.3 lets those hosts reach the wider Internet. The RFC notes that earlier versions of the memo used the NetBIOS broadcast datagram service for IP broadcasting instead of group names, and that those versions are now obsolete.
The RFC defines one shared way to put Internet packets into NetBIOS envelopes, so that equipment from different makers works together.
§2Names Built from IP Addresses
A NetBIOS name may be any series of 16 bytes, though a few values are reserved by common networking packages. For IP applications the name is chosen from the host's internet number: IP.XX.XX.XX.XX is the NetBIOS name of any IP over NetBIOS host, where each XX is the ASCII hexadecimal representation of that byte of the internet address.
Because NetBIOS names are a mapping of IP addresses, no physical address query mechanism such as ARP is required. The addressing scheme also allows standard datagram protocols to be multiplexed over NetBIOS and lets a person confirm by eye that a packet's address is correct.
Each computer's network name is made directly from its IP address, so nothing has to look the name up before sending.
§3Broadcast, Multicast and MTU
Broadcast internet addresses are represented by the NetBIOS group name IP.FF.FF.FF.FF. At present no attempt is made to support IP multicast addresses using NetBIOS group names.
The maximum data size of a NetBIOS datagram is 512 bytes, and therefore the Maximum Transmission Unit (MTU) for IP over NetBIOS networks is 512 bytes. Hosts communicating with a host on a NetBIOS network may therefore be required to reassemble fragmented datagrams.
Messages to everyone go to one shared name. Each envelope holds at most 512 bytes, so larger packets are split into pieces and put back together.
§4Starting and Stopping IP Support
To support IP for a given address, the initialization code must add IP.XX.XX.XX.XX to the host's NetBIOS name table, add IP.FF.FF.FF.FF to the host's group name table, and submit a receive datagram request for each of the two names. When a datagram arrives it is processed by the protocol stack and another receive request is submitted.
Sending an IP datagram means treating it as NetBIOS datagram data and using a send datagram request to IP.XX.XX.XX.XX or IP.FF.FF.FF.FF. Adapter status queries are optional, though the RFC says they may become mandatory as SNMP support becomes a requirement for IP hosts. When IP support is discontinued, a cancel request is submitted for every pending receive and a delete name request for both names.
A host registers its two names at start-up and listens for messages on them, and it removes them when it stops speaking IP.