3.1.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.

The data model is as specified in [RFC1002] and [HYBRID], with the following clarifications:

  • Interface List: A list of interfaces on which NetBIOS over TCP is enabled, in order from most preferred to least preferred. This list SHOULD be administratively configurable. Each entry contains the following:

    • NBNS Address List: A configured list of NBNS addresses, in order from most preferred to least preferred.

  • Node Type: The NetBIOS node type as specified in [RFC1002] and [HYBRID]. This document clarifies that this state is global, not per-interface.

  • Query Table: For each outstanding resolution in progress, in addition to the information specified in [RFC1002] and [HYBRID], the following field is kept:

    • Interface List: A list of interfaces awaiting a response.

  • Local Name Table: The local name table as specified in [RFC1002] and [HYBRID], with the following clarifications:

    • Interface List: A list of interfaces on which registration was attempted. Each entry also contains:

      • Conflict Detected Flag: A flag that, if TRUE, indicates that a conflict was seen. This document clarifies that this flag is kept per-interface (not globally) for each local name.

    • Refresh Timeout: [RFC1002] section 5.1.2.1 specifies the use of a Refresh Timeout. This document clarifies that this state is global, not per-interface.

  • ReadLMHostsFile: A Boolean value that SHOULD default to FALSE.<6> If TRUE, the LMHOSTS file will be read if the LMHOSTS file exists.

  • LMHostsFileLocation: The location of the LMHOSTS file.