2.2.10.1 Name Record
The following diagram shows the format of a Name Record.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name Length |
|||||||||||||||||||||||||||||||
Name (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Padding (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Reserved1 |
Flags |
||||||||||||||||||||||||||||||
Group |
Reserved2 |
||||||||||||||||||||||||||||||
Version Number Hi |
|||||||||||||||||||||||||||||||
Version Number Lo |
|||||||||||||||||||||||||||||||
Address Record (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Reserved3 |
Name Length (4 bytes): An unsigned 32-bit integer that gives the length of the name, in bytes, including the terminating 0x00 byte.<8>
Name (variable): Name terminates with a 0x00 byte. It can include a NetBIOS scope identifier, as specified in [RFC1001]. The maximum length of the Name field is 255 bytes including the 0x00 byte. If no NetBIOS scope is included, then the length of the name is 17 including the 0x00 byte.
Padding (variable): If the Name field is 4-byte aligned, then the Padding field is 4 bytes in size. If the Name field is not 4-byte aligned, then the Padding field is of a size that achieves 4-byte alignment with the Name field. This field MUST be ignored upon receipt.
Reserved1 (3 bytes): An unsigned 24-bit integer. It MUST be set to 0 and MUST be ignored upon receipt.
Flags (1 byte): A byte providing various properties of the name. The following table specifies the details of the properties and the corresponding bits.
-
Bits and name
Field description
Value
Value description
7
(S flag)
How the name record was created in its owner NBNS server.
0
The name record was created through NetBT name registration by a client. It is called a dynamic record.
1
The name record was added by an administrator into the NBNS server through a management utility. It is called a static record.
6–5
(NT flag)
NetBIOS node type of the machine that the name corresponds to.
0
b-node, as defined in [RFC1001].
1
p-node, as defined in [RFC1001].
2
m-node, as defined in [RFC1001].
3
Reserved; if received MUST be treated as opaque data.
4
(L flag)
Whether this record is local or replica.
0
This record is a local record. That is, the name record is owned by the sending server.
1
This record is a replica. That is, the name record is not owned by the sending server, but by another NBNS server.
3–2
(ST flag)
The state of the name record (see section 3.1.1.1 for more information).
0
Active. States of a name record are defined in section 3.1.1.1.
2
Other values
MUST NOT be used. If received, then it MUST be treated as opaque data.
1–0
(ET flag)
Entry type of the name record.
0
Unique name. One unique name has only one IPv4 address.
1
Normal group name. A normal group name does not contain multiple members. A normal group name always resolves to the limited broadcast address (255.255.255.255) for NetBT query of the normal group name.
2
Special group name. NBNS server special group names can contain multiple member addresses as in the group name, as defined in [RFC1001].
3
Multihomed machine name. This is a name for a machine that has several network interfaces, and thus has several IPv4 addresses.
Group (1 byte): An unsigned byte shows whether the name record is a group name or a unique name.
-
Value
Meaning
Unique name
0x00
When ET in the Flags field is 0 (unique name) or 3 (multihomed machine), Group MUST be set to 0.
Group name
1
When ET in the Flags field is 1 (normal group) or 2 (special group), Group MUST be set to 1.
Reserved
2 — 255
These values MUST NOT be used. If received, MUST be treated as 1.
Reserved2 (3 bytes): An unsigned 24-bit integer. It MUST be set to 0 and MUST be ignored upon receipt.
Version Number Hi (4 bytes): The higher 32-bit of the unsigned 64-bit integer version number of the name record.
Version Number Lo (4 bytes): The lower 32-bit of the unsigned 64-bit integer version number of the name record.
Address Record (variable): This field contains the address information for the name record. If the ET flag in the Flags field is 0 (unique name) or 1 (normal group), then the Address Record is an IPv4 address for the name. If the ET flag in the Flags field is 2 (special group) or 3 (multihomed machine), then the Address Record format is specified in the following section.
Reserved3 (4 bytes): An unsigned 32-bit integer. It MUST be set to 0xFFFFFFFF and MUST be ignored upon receipt.