[comp.protocols.tcp-ip] IP over NetBIOS specification

ljm@TWG.COM (Leo J McLaughlin) (12/15/88)

The Wollongong Group                                    L. J. McLaughlin III
                                                        December 1988


    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 specifes a means of creating virtual
    circuts and of transmitting and receiving point-to-point, multicast,
    and broadcast datagrams.  This specification uses only the datagram
    services.


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 supported by the broadcast datagram
    mechanisms provided in NetBIOS.  Mapping between IP multicast addresses
    and NetBIOS group names is currently not supported.


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 initial-
    ization code must:
	
        1) Add IP.XX.XX.XX.XX to the host's NetBIOS name table.

        2) Submit a receive datagram request for the reception of NetBIOS
           datagrams destined for IP.XX.XX.XX.XX.

        3) Submit a receive broadcast datagram request.

    When a NetBIOS datagram is received, it is processed by the protocol stack
    and another receive datagram or receive broadcast datagram request is
    submitted.

    When an IP datagram is sent, it is considered to be NetBIOS datagram data
    and sent by either a send datagram request to IP.XX.XX.XX.XX or a send
    datagram broadcast request.

    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 or receive broadcast datagram request and a delete name request
    should be submitted for the IP.XX.XX.XX.XX address added during
    initialization.


References

    [1] J. Postel, "Internet Protocol", RFC-791, September 1981.

    [2] IBM PC Network Technical Reference. September 1984. Document
        Number 6322916.

    [3] J. Mogul, "Internet Standard Subnetting Procedure", RFC-950,
        August 1985.

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

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