📄 rfc1434.txt
字号:
In the figure, the transition labeled HALT_DL(ts) represents the
HALT_PENDING state and the transition labeled RESTART_DL(ts)
represents the RESTART_PENDING state. Both these transitional states
have only one input event and only one output action. While in these
states, the Data Link Switch is awaiting responses from the local
station on the adjacent LAN (i.e., a UA response to a DISC command).
Also in the RESTART_PENDING state, the Data Link Switch will attempt
to restart the data link prior to sending a DL_RESTARTED message.
For the IBM 6611 implementation, the start of a data link involves
the exchange of a Test command/response on the adjacent LAN (i.e.,
DLC_START_DL). For other implementations, this additional exchange
may not be required.
4.2.2. State Transition Tables
This section provides a detail representation of the Data Link
Switch, as document by a set of state machines. The first state
machine documents the sending and receiving of SSP messages. Many of
the transitions are dependent upon local signals between the Data
Link Switch entity and one of the DLC entities. These signals and
their definitions are given in the following tables.
Dixon & Kushi [Page 21]
RFC 1434 DLS: Switch-to-Switch Protocol March 1993
Event Name Description
---------- -----------
DLC_CONTACTED Contact Indication: DLC has received an SABME
command and will send a UA response, or DLC has
received a UA response as a result of sending an
SABME command.
DLC_DGRM Datagram Indication: DLC has received a UI frame.
DLC_ERROR Error condition indicated by DLC: Such a
condition occurs when a DISC command is received
or when DLC experiences an unrecoverable error.
DLC_INFO Information Indication: DLC has received an
Information (I) frame.
DLC_DL_HALTED Data Link Halted Indication: DLC has
received a UA response to a DISC command.
DLC_DL_STARTED Data Link Started Indication: DLC has
received a Test response from the null SAP.
DLC_RESET Reset Indication: DLC has received an SABME
command during the time a connection is
currently active and has responded with DM.
DLC_RESOLVE_C Resolve Command Indication: DLC has received
a Test command addressed to the null SAP, or an
XID command addressed to the null SAP.
DLC_XID XID Indication: DLC has received an XID command
or response to a non-null SAP.
Table 3. Local DLC Events
Action Name Description
----------- -----------
DLC_CONTACT Contact Station Request: DLC will send a SABME
command.
DLC_DGRM Datagram Request: DLC will send a UI frame.
DLC_ENTER_BUSY Enter Link Station Busy: DLC will send an
RNR supervisory frame.
DLC_EXIT_BUSY Exit Link Station Busy: DLC will send an RR
supervisory frame.
DLC_HALT_DL Halt Data Link Request: DLC will send a DISC
command.
DLC_INFO Information Request: DLC will send an I frame.
DLC_RESOLVE_R Resolve Response Request: DLC will send a
Test response or XID response from the null SAP.
DLC_START_DL Start Data Link Request: DLC will send a Test
command to the null SAP.
DLC_XID XID Request: DLC will send an XID command or an
XID response.
Table 4. Local DLC Actions
Dixon & Kushi [Page 22]
RFC 1434 DLS: Switch-to-Switch Protocol March 1993
The Data Link Switch may be described by a state transition table
consisting of eleven states. Each of these states is described below
in terms of the events, actions, and next state for each transition.
If a particular event is not listed for a given state, no action and
no state transition should occur for that event. Any significant
comments concerning the transitions within a given state are given
immediately following the table representing the state.
A separate state machine is maintained by the Data Link Switch for
each end-to-end circuit. The number of circuits that may be
supported by each Data Link Switch is a local implementation option.
4.2.2.1 DISCONNECTED State
Event Action(s) Next State
----- --------- ----------
Receive CANUREACH DLC_START_DL RESOLVE_PENDING
Receive ICANREACH Send REACH_ACK, CIRCUIT_ESTABLISHED
DLC_RESOLVE_R
(See note 1)
Receive DATAFRAME DLC_DGRM
Receive NETBIOS_NQ DLC_DGRM RESOLVE_PENDING
Receive NETBIOS_NR Send REACH_ACK, CIRCUIT_ESTABLISHED
DLC_DGRM
(See note 2)
DLC_RESOLVE_C Send CANUREACH
DLC_DGRM If NB_Name_Query:
Send NETBIOS_NQ,
Else:
Send DATAFRAME
It is assumed that each Data Link Switch will build a set of topology
tables giving the identity of each Data Link Switch that can reach a
specific MAC address or a specific NetBIOS name. This table can be
built based upon the origin address information received within the
CANUREACH message or NETBIOS_NQ message and the target address
information within the ICANREACH message or NETBIOS_NR message. As a
consequence, the amount of search traffic can be kept to a minimum.
Upon receipt of a Test command or XID command to the null SAP (i.e.,
DLC_RESOLVE_C signal from DLC), the Data Link Switch will check the
topology table prior to sending the CANUREACH message. If the target
MAC address is in the table, the CANUREACH message will be sent to
only those Data Link Switches that are known to be able to reach the
given MAC address. If the MAC address is not in the table, the
CANUREACH message will be sent to all known Data Link Switches.
Since the destination link SAP (DSAP) value is null, the Target Link
SAP field in the CANUREACH message header is set equal to the Origin
Dixon & Kushi [Page 23]
RFC 1434 DLS: Switch-to-Switch Protocol March 1993
Link SAP value.
Upon receipt of a NB_Name_Query the Data Link Switch will check the
topology table prior to sending the NETBIOS_NQ message. If the
target NetBIOS name is in the table, the NETBIOS_NQ message will be
sent to only those Data Link Switches that are known to be able to
reach the given NetBIOS name. If the NetBIOS name is not in the
table, the NETBIOS_NQ message will be sent to all known Data Link
Switches.
For SNA, the DISCONNECTED state is exited upon receipt of a CANUREACH
message by a prospective target Data Link Switch, or upon receipt of
an ICANREACH message by the origin Data Link Switch. In the former
case, the Data Link Switch will issue a Test command to the target
station (i.e., DLC_START_DL signal is presented to DLC). In the
later case, a Test response is sent to the origin station (i.e.,
DLC_RESOLVE_R will be issued) and a REACH_ACK message will be
returned to the target Data Link Switch.
Note 1- The IBM 6611 will not send a Test response, but will send
a Test command to the station that originated the resolve
procedure (i.e., a DLC_START_DL will be issued) in order to start
the data link.
For NetBIOS, the DISCONNECTED state is exited upon the receipt of a
NETBIOS_NQ message by the prospective target Data Link Switch, or
upon the receipt of a NETBIOS_NR message by the origin Data Link
Switch. In the former case, the Data Link Switch will send a
NB_Name_Query frame. In the later case, the Data Link Switch will
send a NB_Name_Recognized frame to the origin station and a REACH_ACK
message will be returned to the target Data Link Switch.
Note 2- The IBM 6611 will also send a Test command (i.e., a
DLC_START_DL will be issued) to the station that originated the
name resolution in order to start the data link.
4.2.2.2 RESOLVE_PENDING State
Event Action(s) Next State
----- --------- ----------
Receive DATAFRAME DLC_DGRM
DLC_DL_STARTED Send ICANREACH CIRCUIT_PENDING
DLC_ERROR DISCONNECTED
DLC_DGRM If NB_Name_Recognized: If
Send NETBIOS_NR NB_Name_Recognized:
(See note), CIRCUIT_PENDING
Else:
Send DATAFRAME
Dixon & Kushi [Page 24]
RFC 1434 DLS: Switch-to-Switch Protocol March 1993
The RESOLVE_PENDING state is entered upon receipt of a CANUREACH
message or a NETBIOS_NQ message by the target DLS. In the former
case, a data link is started, causing a Test command to be sent by
the DLC. In the later case, a NB_Name_Query frame is sent. This
frame is directed to a group MAC address.
Any CANUREACH messages received in the RESOLVE_PENDING state will be
responded to if a DLC_DL_STARTED signal is received. The Data Link
Switch may also update its topology information based upon the origin
MAC address information in each CANUREACH message.
Upon the receipt of a DLC_DL_STARTED signal in the RESOLVE_PENDING
state, the Data Link Switch may update its topology table base upon
the remote MAC address information. The ICANREACH message should be
returned to all Data Link Switches that had sent a CANUREACH message.
In a similar fashion, the Data Link Switch may update its topology
table upon the receipt of a NB_Name_Recognized frame and a NETBIOS_NR
message will be returned to all Data Link Switches that have sent a
NETBIOS_NQ message.
The RESOLVE_PENDING state is exited once the data link has been
started (i.e., a DLC_DL_STARTED signal is received as a result of a
Test response received by the DLC) or a NB_Name_Recognized frame is
received (i.e., a DLC_DGRM signal is received). The target Data Link
Switch will then enter the CIRCUIT_PENDING state.
Note: The IBM 6611 will also send a Test command in order to
start the data link to the station that responded to the Name
Query frame (i.e., a DLC_START_DL will be issued).
4.2.2.3 CIRCUIT_PENDING State
Event Action(s) Next State
----- --------- ----------
Receive CONTACT DLC_CONTACT CONTACT_PENDING
Receive HALT_DL DLC_HALT_DL HALT_PENDING
Receive REACH_ACK If Connected: If Connected:
Send CONTACT CONNECT_PENDING,
else: CIRCUIT_ESTABLISHED
Receive XIDFRAME DLC_XID
Receive DGRMFRAME DLC_DGRM
Receive DATAFRAME DLC_DGRM
DLC_CONTACTED DLC_ENTER_BUSY
DLC_ERROR Send HALT_DL DISCONNECT_PENDING
DLC_XID Send XIDFRAME
DLC_DGRM Send DGRMFRAME
Dixon & Kushi [Page 25]
RFC 1434 DLS: Switch-to-Switch Protocol March 1993
The CIRCUIT_PENDING state is entered by the target Data Link Switch
following the sending of an ICANREACH message or the sending of a
NETBIOS_NR message. In this state it is awaiting the reception of a
REACH_ACK message from the origin Data Link Switch. If a connection
does not exist with the target station (i.e., the normal case), the
Data Link Switch will enter the CIRCUIT_ESTABLISHED state.
If the target Data Link Switch happens to receive a SABME command
from the target
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -