NetBIOS, NetBEUI, NBF, NBT, NBIPX, SMB, CIFS Networking: NetBIOS to CIFS | ||
---|---|---|
<<< Previous | NetBIOS, NetBEUI, NetBIOS Frames Protocol | Next >>> |
The Name Management Protocol (NMP) allows systems to create unique symbolic names that are visible on the network. NMP has some similarities with the AppleTalk Name Binding Protocol: The Name Management Protocol broadcasts a system's intention to use a new name and if no other system objects, the name is registered. NetBIOS broadcasts a name claim packet several times and if no other station contests the name claim the name is added to the local name table. Typically the packets are sent at half second intervals six times, although in principal these parameters can be tuned. Often a node will require three seconds to check each name it is using.
The original Name Management Protocol is described in the appendix called NetBIOS protocols in IBM PC Network in the section the section called Name Management Frames in IBM PC Networks in the appendix called NetBIOS protocols in IBM PC Network .
In the NetBIOS Frames Protocol on 802.2 networks there are four non-session level Name Management Frames. As described in the section called Addressing - NetBIOS names there are two kinds of names: unique names and group names.
The "ADD NAME QUERY" frame (0x01) is used by a node to verify that the name it wishes to add is unique within the network.
The frame begins with a two byte length field with a value of 0x002C followed by the two byte frame deliminator field 0xEFFF; these fields are transmitted byte reversed. These fields are followed by the one octet command frame which has a value of 0x01 identifying it as an "ADD NAME QUERY" frame.
Five reserved octets are followed by a two byte response correlator, transmitted byte reversed, created by the sender and used to correlate any responses to the query. The next sixteen octets, used for the destination name in other frames, are reserved in this case. The following sixteen octets for the source name are used to identify the name to be added.
The "ADD GROUP NAME" frame (0x00) is used by a node to verify that the group name does not exist as a unique name within the network.
The frame begins with a two byte length field with a value of 0x002C followed by the two byte frame deliminator field 0xEFFF; these fields are transmitted byte reversed. These fields are followed by the one octet command frame which has a value of 0x00 identifying it as an "ADD GROUP NAME QUERY" frame.
Five reserved octets are followed by a two byte response correlator, transmitted byte reversed, created by the sender and used to correlate any responses to the query. The next sixteen octets, used for the destination name in other frames, are reserved in this case. The following sixteen octets for the source name are used to identify the group name to be added.
The "ADD NAME RESPONSE" frame (0x0D) is used in response to one of the above query frames to inform the node wishing to add the name that the name is already in use. The "ADD NAME RESPONSE" frame (0x0D) is used in response to one of the above query frames to inform the node wishing to add the name that the name is already in use.
The frame begins with a two byte length field with a value of 0x002C followed by the two byte frame deliminator field 0xEFFF; these fields are transmitted byte reversed. These fields are followed by the one octet command frame which has a value of 0x0D identifying it as an "ADD NAME RESPONSE" frame.
The next octet, the "DATA1" octet is set to 1 or 0; 0 = "add name not in process", 1 = "add name in process". The next two bytes, known as "DATA2", constitutes a define word set to 0 or 1; 0 = "unique name, 1 = "group name"; this is transmitted byte reversed. The next two bytes constitute a correlator, transmitted byte reversed, used to correlate the response with the original query. Two reserved octets are followed by sixteen octets holding the name to be added and a further sixteen octets which again hold the name to be added.
The "NAME IN CONFLICT" frame (0x02) is used to indicate a problem with names on the network; it is sent if more than one adapter has the same unique name registered or a name is registered as both a unique name and a group name.
The frame begins with a two byte length field with a value of 0x002C followed by the two byte frame deliminator field 0xEFFF; these fields are transmitted byte reversed. These fields are followed by the one octet command frame which has a value of 0x02 identifying it as an "NAME IN CONFLICT" frame.
Seven reserved octets are followed by sixteen octets representing the name in conflict. The final sixteen octets represent the special "NAME NUMBER 1" of the node sending the frame.
The "ADD NAME QUERY" frame (0x01) is used by a node to verify that the name it wishes to add is unique within the network.
Table 3. Name Management Frames (Octets in order transmitted.)
Management frame | Management frame | Management frame | Management frame | ||
---|---|---|---|---|---|
Field Name | Length | ADD GROUP NAME QUERY | ADD NAME QUERY | ADD NAME RESPONSE | NAME IN CONFLICT |
Length | 2 | 0x2C | 0x2C | 0x2C | 0x2C |
0x00 | 0x00 | 0x00 | 0x00 | ||
Deliminator | 2 | 0xFF | 0xFF | 0xFF | 0xFF |
0xEF | 0xEF | 0xEF | 0xEF | ||
Command | 1 | 0x00 | 0x01 | 0x0D | 0x02 |
Data 1 | 1 | Reserved | Reserved | 0 or 1 | Reserved |
Data 2 | 2 | Reserved | Reserved | 0 or 1 | Reserved |
Reserved | Reserved | 0 | Reserved | ||
XMIT Cor | 2 | Reserved | Reserved | nn | Reserved |
Reserved | Reserved | nn | Reserved | ||
RSP Cor | 2 | nn | nn | Reserved | Reserved |
nn | nn | Reserved | Reserved | ||
Destination Name | 16 | Reserved | Reserved | Name to be added | Name in conflict |
Source Name | 16 | Group name to add | Name to add | Name to be added | NAME NUMBER 1 |
In the NetBIOS Frames Protocol on 802.2 networks there are two frames used for managing names in session establishment. Although not part of name management, these frames are included here for convenience.
The "NAME QUERY" frame (0x0A) is used to find a name on the network or to request a remote node to establish a session.
The frame begins with a two byte length field with a value of 0x002C followed by the two byte frame deliminator field 0xEFFF; these fields are transmitted byte reversed. These fields are followed by the one octet command frame which has a value of 0x0A identifying it as an "NAME QUERY" frame.
Following the "DATA1" field which is reserved, the two octets of the "DATA2" field are set to "ttss" where "tt" indicates the type of name being called, 00 for a unique name and 01 for a group name; "ss" is used to indicate the session number. The "DATA2" field is transmitted byte reversed. Two reserved octets are followed by a two byte response correlator, transmitted byte reversed. Sixteen octets identify the name being called. The final sixteen octets identify the name of the node making the call.
The "NAME RECOGNISED" frame (0x0E) is used in response to a NAME QUERY frame to indicate that a session can be established with the name or to provide the location of the name.
The frame begins with a two byte length field with a value of 0x002C followed by the two byte frame deliminator field 0xEFFF; these fields are transmitted byte reversed. These fields are followed by the one octet command frame which has a value of 0x0E identifying it as an "NAME RECOGNISED" frame.
Following the "DATA1" field which is reserved, the two bytes of the "DATA2" field are set to "ttss" where "tt" is set to 0x00 to indicate a unique recognized name or 0x01 to indicate a unique recognized group name. the type of name being called, 00 for a unique name and 01 for a group "ss" is used to indicate the "state" of the name: 0x00 is used when the station is not listening for this name, 0xFF is used when the station is listening for this name, but can not establish a session, 0x01 to 0xFE are used as a number which will identify this session. The "DATA2" field is transmitted byte reversed.
A two byte transmit correlator is used to correlate the response with the NAME QUERY frame. This is followed by a two byte response correlator used with SESSION INITIALIZE frames; these fields are transmitted byte reversed. Sixteen octets identify the name of the node making the NAME QUERY call. The final sixteen octets identify the name being queried.
Table 4. Frames for managing names in session establishment (Octets in order transmitted).
Management frame | Management frame | ||
---|---|---|---|
Field Name | Length | NAME QUERY | NAME RECOGNISED |
Length | 2 | 0x2C | 0x2C |
0x00 | 0x00 | ||
Deliminator | 2 | 0xFF | 0xFF |
0xEF | 0xEF | ||
Command | 1 | 0x0A | 0x0E |
Data 1 | 1 | Reserved | Reserved |
Data 2 | 2 | X ss | X ss |
X tt | X tt | ||
XMIT Cor | 2 | Reserved | nn |
Reserved | nn | ||
RSP Cor | 2 | nn | nn |
nn | nn | ||
Destination Name | 16 | Name of receiver | Name of receiver |
Source Name | 16 | Name of sender | Name of sender |
<<< Previous | Home | Next >>> |
Addressing - NetBIOS names | Up | User Datagram Protocol |