📄 rfc1434.txt
字号:
XID frames. SNA devices send these frames to the null SAP in order to determine the source route information in support of bridging. Normally SNA devices use SAP x'04', x'08', or x'0C'. Typically the SAP would be used to determine if the Test frames should be sent to the DLS code in the router. If both bridging and DLS are enabled, this allows the product to ensure that SNA frames are not both bridged and switched. For NetBIOS, circuit establishment is via the Name Query and Name Recognized frames. These frames are used for both address resolution and source route determination. Normally NetBIOS devices use SAP x'F0'.4.2.1. Data Link Switch States The Switch-to-Switch Protocols will be formally defined through a single state machine. The following table lists the eleven possible states. A separate state machine is employed for each end-to-end circuit that is maintained by the Data Link Switch. The three steady states are DISCONNECTED, CIRCUIT_ESTABLISHED, and CONNECTED.Dixon & Kushi [Page 16]RFC 1434 DLS: Switch-to-Switch Protocol March 1993 State Name Description ---------- ----------- CIRCUIT_ESTABLISHED The end-to-end circuit has been established. At this time LLC Type 1 services are available from end-to-end. CIRCUIT_PENDING The target DLS is awaiting a REACH_ACK response to an ICANREACH message. CIRCUIT_RESTART The DLS that originated the reset is awaiting the restart of the data link and the DL_RESTARTED response to a RESTART_DL message. CONNECTED The end-to-end connection has been established thereby allowing LLC Type 2 services from end-to-end in addition to LLC Type 1 services. CONNECT_PENDING The origin DLS is awaiting the CONTACTED response to a CONTACT message. CONTACT_PENDING The target DLS is awaiting the DLC_CONTACTED confirmation to a DLC_CONTACT signal (i.e., DLC is waiting for a UA response to an SABME command). DISCONNECTED The initial state with no circuit or connection established, the DLS is awaiting either a CANUREACH, an ICANREACH, a NETBIOS_NQ, or a NETBIOS_NR message. DISCONNECT_PENDING The DLS that originated the disconnect is awaiting the DL_HALTED response to a HALT_DL message. HALT_PENDING The remote DLS is awaiting the DLC_DL_HALTED indication following the DLC_HALT_DL request (i.e., DLC is waiting for a UA response to a DISC command). RESTART_PENDING The remote DLS is awaiting the DLC_DL_HALTED indication following the DLC_HALT_DL request (i.e., DLC is waiting for a UA response to a DISC command), and the restart of the data link. RESOLVE_PENDING The target DLS is awaiting either the DLC_DL_STARTED indication following the DLC_START_DL reqest (i.e., DLC is waiting for a Test response as a result of sending a Test command), or a NB_Name_Recognized frame in response to a NB_Name_Query frame. Table 2. Data Link Switch States The following figure depicts the events that cause a transition to a new state. The resulting action(s) are not explicitly shown. TheDixon & Kushi [Page 17]RFC 1434 DLS: Switch-to-Switch Protocol March 1993 DISCONNECT_PENDING state will be entered whenever a DLC error condition occurs in any of the other states (except RESOLVE_PENDING), or when a DISC command is received by the DLC.Dixon & Kushi [Page 18]RFC 1434 DLS: Switch-to-Switch Protocol March 1993 DLC_RESOLVE_C+----+ +----DLC_ERROR---+ | | \|/ | +------------+ +>+--+---------+ CANUREACH +-+----------+ | Disconnect +--DL_HALTED-->|Disconnected|------------>| Resolve | | Pending |<+ +------->| |<-------+ | Pending | +---------+--+ | | +-----+------+ | +-----+------+ /|\ | HALT_DL| /|\ |/|\/|\ | |DLC_ERROR +----+ | +----+ | | +------+ | DLC_DL_STARTED | | | |HALT_DL(ts)| +------+ | | | ICANREACH| | HALT_DL(ts)| +--HALT_DL(ts)+ | | | | | | | HALT_DL(ts) | | HALT_DL(ts) | | | | | | | | | | +-RESTART_DL(ts)+----+ | | | | | | | | \|/ \|/| | | \|/ +----+---+---+ | +-------+----+ | +-+----------+ | Contact |<-CONTACT--+--+ Circuit |<-REACH_ACK--+ Circuit | | Pending | | | Established| (DLC not | Pending | +-----+------+ | +----------+-+ contacted)+-+------+---+ | /|\ | /|\ /|\ | | | | | | +--+----+ | | | | | | +-CONTACT--+--+--------+----+------+----------+ REACH_ACK | | |RESTART_DL(ts) | (DLC contacted) DLC_CONTACTED | +------+ | | +--------------+ | | | | | | DLC_CONTACTED | | +---------------+-------+ | | +-----------------+ | | +-----DL_RESTARTED | | | | | | | (DLC not contacted) \|/| | \|/ | \|/ +-----+------+ +---+-+------+ CONTACTED +-----+------+ | Circuit |<-DLC_RESET---+ Connected |<------------+ Connect | | Restart | | | | Pending | +----------+-+ +------------+ +-----+------+ /|\ | DL_RESTARTED /|\ | | +----------------(DLC contacted)--------------+ | | | +-------------------------DLC_RESET--------------------+ Figure 7. DLS State Transitions (ts = transitional state) The DISCONNECT state is the initial state for a new circuit. One end station starts the connection via a TEST or XID command (i.e., DLC_RESOLVE_C) or a NetBIOS Name Query command (not explicitly shown). Upon receipt, the Data Link Switches exchange a set of CANUREACH, ICANREACH and REACH_ACK messages. Upon completion of this three-legged exchange, both Data Link Switches will be in the CIRCUIT_ESTABLISHED state. Two pending states also exist during this exchange. The RESOLVE_PENDING state is entered by the target Data Link Switch awaiting a Test response to a Test Command and theDixon & Kushi [Page 19]RFC 1434 DLS: Switch-to-Switch Protocol March 1993 CIRCUIT_PENDING state is entered by the target DLS awaiting the REACH_ACK reply to an ICANREACH message. The CIRCUIT_ESTABLISHED state allows for the exchange of LLC Type 1 frames such as the XID exchanges between SNA stations that occurs prior to the establishment of a connection. Also, datagram traffic (i.e., UI frames) may be sent and received between the end stations. These exchanges use the XIDFRAME and DGRMFRAME messages sent between the Data Link Switches. In the CIRCUIT_ESTABLISHED state, the receipt of a SABME command (i.e., DLC_CONTACTED) causes the origin DLS to issue a CONTACT message, to send an RNR supervisory frame (i.e., DLC_ENTER_BUSY) to the origin station, and to enter the CONNECT_PENDING state awaiting a CONTACTED message. The target DLS, upon the receipt of a CONTACT message, will issue a SABME command (i.e., DLC_CONTACT) and enter the Contact Pending state. Once the UA response is received (i.e., DLC_CONTACTED), the target DLS sends a CONTACTED message and enters the CONNECTED state. When received, the origin DLS enters the Connected state and sends an RR supervisory frame (i.e., DLC_EXIT_BUSY). The CONNECTED state is the steady state for normal data flow once a connection has been established. Information frames (i.e., INFOFRAME messages) are simply sent back and forth between the end points of the connection. This is the path that should be optimized for performance. The connection is terminated upon the receipt of a DISC frame or under some other error condition detected by DLC (i.e., DLC_ERROR). Upon receipt of this indication, the DLS will halt the local data link, send a HALT_DL message to the remote DLS, and enter the DISCONNECT_PENDING State. When the HALT_DL frame is received by the other DLS, the local DLC is halted for this data link, a DL_HALTED message is returned, and the DISCONNECTED state is entered. Receipt of this DL_HALTED message causes the other DLS to also enter the DISCONNECTED state. The CIRCUIT_RESTART state is entered if one of the Data Link Switches receives a SABME command (i.e., DLC_RESET) while in the CONNECTED state. This causes a DM command to be returned to the origin station and a RESTART_DL message to be sent to the remote Data Link Switch. This causes the remote data link to be halted and then restarted. The remote DLS will then send a DL_RESTARTED message back to the first DLS. The receipt of the DL_RESTARTED message causes the first DLS to issue a new CONTACT message, assuming that the local DLC has been contacted (i.e., the origin station has resent the SABME command). This is eventually responded to by a CONTACTED message.Dixon & Kushi [Page 20]RFC 1434 DLS: Switch-to-Switch Protocol March 1993 Following this exchange, both Data Link Switches will return to the CONNECTED state. If the local DLC has not been contacted, the receipt of a DL_RESTARTED command causes the Data Link Switch to enter the CIRCUIT_ESTABLISHED state awaiting the receipt of a SABME command (i.e., DLC_CONTACTED signal). 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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -