summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1434.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1434.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1434.txt')
-rw-r--r--doc/rfc/rfc1434.txt1851
1 files changed, 1851 insertions, 0 deletions
diff --git a/doc/rfc/rfc1434.txt b/doc/rfc/rfc1434.txt
new file mode 100644
index 0000000..4eb1fe1
--- /dev/null
+++ b/doc/rfc/rfc1434.txt
@@ -0,0 +1,1851 @@
+
+
+
+
+
+
+Network Working Group R. Dixon
+Request for Comments: 1434 D. Kushi
+ IBM
+ March 1993
+
+
+ Data Link Switching: Switch-to-Switch Protocol
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard. Distribution of this memo is
+ unlimited.
+
+Abstract
+
+ This RFC describes IBM's support of Data Link Switching over TCP/IP.
+ The RFC is being distributed to members of the Internet community in
+ order to solicit their reactions to the proposals contained in it.
+ While the issues discussed may not be directly relevant to the
+ research problems of the Internet, they may be interesting to a
+ number of researchers and implementors.
+
+ Any questions or comments relative to the contents of this RFC should
+ be sent to the following Internet address: dlsw@ralvma.vnet.ibm.com.
+
+Table of Contents
+
+ 1. Introduction 2
+ 2. Overview 2
+ 3. Transport Connection 4
+ 3.1. SSP Frame Formats 5
+ 3.2. Address Parameters 8
+ 3.3. Message Types 10
+ 4. Protocol Specification 11
+ 4.1. Protocol Flow Diagrams 11
+ 4.1.1. Connect Protocols 11
+ 4.1.2. Link Restart Protocols 13
+ 4.1.3. Disconnect Protocols 15
+ 4.2. DLS State Machine 16
+ 4.2.1 Data Link Switch States 16
+ 4.2.2 State Transition Tables 21
+ 4.3. NetBIOS Datagrams 30
+ Acknowledgments 32
+ References 32
+ Security Considerations 32
+ Authors' Addresses 33
+
+
+
+
+Dixon & Kushi [Page 1]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+1. Introduction
+
+ Data Link Switching (DLS) is a forwarding mechanism for the IBM SNA
+ and IBM NetBIOS protocols. It does not provide full routing, but
+ instead provides switching at the Data Link layer and encapsulation
+ in TCP/IP for transport over the Internet. This memo documents the
+ Switch-to-Switch Protocol (SSP) that is used between IBM 6611 Network
+ Processors.
+
+ Today, the IBM 6611 supports SNA (PU 2 and PU 4) systems and NetBIOS
+ systems attached to token-ring networks, as well as SNA (PU 2)
+ systems attached to SDLC links. For the later case, the SDLC
+ attached systems are provided with a LAN appearance within the IBM
+ 6611. For the LAN attached systems, the IBM 6611 appears as a
+ source-routing bridge. Remote systems that are accessed through the
+ IBM 6611 appear as systems attached to an adjacent ring. This ring
+ is a virtual ring that is manifested within each IBM 6611.
+
+2. Overview
+
+ Data Link Switching was developed to provide support for SNA and
+ NetBIOS in multi-protocol routers. Since SNA and NetBIOS are
+ basically connection oriented protocols, the Data Link Control
+ procedure that they use on the LAN is IEEE 802.2 Logical Link Control
+ (LLC) Type 2. Data Link Switching also accommodates SNA protocols
+ over WAN links via the SDLC protocol.
+
+ IEEE 802.2 LLC Type 2 was designed with the assumption that the
+ network transit delay would be small and predictable (i.e., a local
+ LAN). Therefore the LLC elements of procedure use a fixed timer for
+ detecting lost frames. When bridging is used over wide area lines
+ (especially at lower speeds), the network delay is larger and it can
+ vary greatly based upon congestion. When the delay exceeds the
+ time-out value LLC attempts to retransmit. If the frame is not
+ actually lost, only delayed, it is possible for the LLC Type 2
+ procedures to become confused. And as a result, the link is
+ eventually taken down.
+
+ Given the use of LLC Type 2 services, Data Link Switching addresses
+ the following bridging problems:
+
+ DLC Time-outs
+ DLC Acknowledgments over the WAN
+ Flow and Congestion Control
+ Broadcast Control of Search Packets
+ Source-Route Bridging Hop Count Limits
+
+ NetBIOS also makes extensive use of datagram services that use LLC
+
+
+
+Dixon & Kushi [Page 2]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ Type 1. In this case, Data Link Switching addresses the last two
+ problems in the above list.
+
+ The principal difference between Data Link Switching and bridging is
+ that DLS terminates the Data Link Control whereas bridging does not.
+ The following figure illustrates this difference based upon two end
+ systems operating with LLC Type 2 services.
+
+ Bridging
+ -------- Bridge Bridge
+ +------+ +----+ +----+ +------+
+ | End | +---------+ | +-----/ | | +---------+ | End |
+ |System+-+ LAN +-+ | /------+ +-+ LAN +-+System|
+ | | +---------+ | | TCP/IP | | +---------+ | |
+ +------+ +----+ +----+ +------+
+ Info------------------------------------------------------->
+ <-------------------------------------------------------RR
+
+ Data Link Switching
+ -------------------
+ +------+ +----+ +----+ +------+
+ | End | +---------+ | +-----/ | | +---------+ | End |
+ |System+-+ LAN +-+DLS | /------+ DLS+-+ LAN +-+System|
+ | | +---------+ | | TCP/IP | | +---------+ | |
+ +------+ +----+ +----+ +------+
+ Info-------------------> -------------> Info
+ <-------------------RR ---------------->
+ <----------------RR
+
+ Figure 1. Data Link Switching Contrasted to Bridging
+
+ In traditional bridging, the Data Link Control is end-to-end. Data
+ Link Switching terminates the LLC Type 2 connection at the switch.
+ This means that the LLC Type 2 connections do not cross the wide area
+ network. The DLS multiplexes LLC connections onto a TCP connection
+ to another DLS. Therefore, the LLC connections at each end are
+ totally independent of each other. It is the responsibility of the
+ Data Link Switch to deliver frames that it has received from a LLC
+ connection to the other end. TCP is used between the Data Link
+ Switches to guarantee delivery of frames.
+
+ As a result of this design, LLC time-outs are limited to the local
+ LAN (i.e., they do not traverse the wide area). Also, the LLC Type 2
+ acknowledgments (RR's) do not traverse the WAN, thereby reducing
+ traffic across the wide area links. For SDLC links, polling and poll
+ response occurs locally, not over the WAN. Broadcast of search
+ frames is controlled by the Data Link Switches once the location of a
+ target system is discovered. Finally, the switches can now apply
+
+
+
+Dixon & Kushi [Page 3]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ back pressure to the end systems to provide flow and congestion
+ control.
+
+ Data Link Switching uses LAN addressing to set up connections between
+ SNA systems. SDLC attached devices are defined with MAC addresses to
+ enable them to communicate with LAN attached devices. For NetBIOS
+ systems, Data Link Switching uses the NetBIOS name to forward
+ datagrams and to set up connections for NetBIOS sessions. For
+ circuit establishment, SNA systems send TEST (or in some cases, XID)
+ frames to the null (x'00') SAP. NetBIOS systems have an address
+ resolution procedure, based upon the Name Query and Name Recognized
+ frames, that is used to establish an end-to-end circuit.
+
+ Since Data Link Switching may be implemented in multi-protocol
+ routers, there may be situations where both bridging and switching
+ are enabled. SNA frames can be identified by their link SAP.
+ Typical SAP values for SNA are x'04', x'08', and x'0C'. NetBIOS
+ always uses a link SAP value of x'F0'.
+
+3. Transport Connection
+
+ Data Link Switches can be in used in pairs or by themselves. A
+ Single DLS internally switches one data link to another without using
+ TCP (DLC(1) to DLC(2) in the figure below). A paired DLS multiplexes
+ data links over a reliable transport using a Switch-to-Switch
+ Protocol (SSP). This RFC will document the frame formats and
+ protocols for this multiplexing between Data Link Switches. The
+ initial implementation of SSP uses TCP as the reliable transport
+ between Data Link Switches. However, other transport connections
+ such as OSI TP4 could be used.
+
+
+ +-----------------------------------------------+Switch-to-Switch
+ | DLC Interfaces | Protocol (SSP)
+ |+------------+ DLC Request +------------+ |
+ || Data |<---------------- | | |Send SSP Frame
+ || Link | DLC Indication | | |-------------->
+ || Control 1 |----------------->| | |
+ |+------------+ | Data Link | |
+ |+------------+ DLC Request | Switch | |
+ || Data |<---------------- | | |Rec. SSP Frame
+ || Link | DLC Indication | | |<-------------
+ || Control 2 | ---------------->| | |
+ |+------------+ +------------+ |
+ | Multi-Protocol Router |
+ +-----------------------------------------------+
+
+ Figure 2. DLS System Diagram
+
+
+
+Dixon & Kushi [Page 4]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ Before Data Link Switching can occur between two routers, they must
+ establish a TCP connection between them. Each DLS will maintain a
+ list of DLS capable routers and their status (active/inactive). Once
+ this connection is established, the DLS will employ SSP to establish
+ end-to-end circuits over the transport connection. Within the
+ transport connection is a specific set of DLS message units. The
+ message formats and types for these PDUs are documented in the
+ following sections.
+
+ The default parameters associated with the TCP connections between
+ Data Link Switches are as follows:
+
+ Socket Family AF_INET (Internet protocols)
+ Socket Type SOCK_STREAM (stream socket)
+ Read Port Number 2065
+ Write Port Number 2067
+
+ Two or more Data Link Switches may be attached to the same LAN,
+ consisting of a number of token-ring segments interconnected by
+ source-routing bridges. In this case, a TCP connection is not
+ defined between bridges attached to the same LAN. This will allow
+ using systems to select one of the possible Data Link Switches in a
+ similar manner to the selection of a bridge path through a source-
+ routed bridged network. The virtual ring segment in each Data Link
+ Switch attached to a common LAN must be configured with the same ring
+ number. This will prevent LAN frames sent by one Data Link Switch
+ from being propagated through the other Data Link Switches.
+
+3.1. SSP Frame Formats
+
+ The following diagrams show the two message headers for traffic
+ between Data Link Switches. The control message header is used for
+ all messages except information messages. The information message
+ header is 16 bytes long, and the control message header is 72 bytes
+ long. The first sixteen bytes of the control message header are
+ identical to the information message header.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Dixon & Kushi [Page 5]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ CONTROL MESSAGES (72 Bytes)
+ +-----------------------------------------------------------------+
+ | Version Number Reserved Field |
+ | Message Length ----> . |
+ | Remote Data Link Correlator ----> . |
+ | . . |
+ | Remote DLC Port ID ----> . |
+ | . . |
+ | Reserved Field ----> . |
+ | Message Type Reserved Field |
+ | Protocol ID Header Number |
+ | Header Length ----> . |
+ | Reserved Field ----> . |
+ | Reserved Field Message Type |
+ | Target MAC Address ----> . |
+ | . . |
+ | . . |
+ | Origin MAC Address ----> . |
+ | . . |
+ | . . |
+ | Origin Link SAP Target Link SAP |
+ | Frame Direction Reserved Field |
+ | Message Length ----> . |
+ | DLC Header Length ----> . |
+ | Origin DLC Port ID ----> . |
+ | . . |
+ | Origin Data Link Correlator ----> . |
+ | . . |
+ | Origin Transport ID ----> . |
+ | . . |
+ | Target DLC Port ID ----> . |
+ | . . |
+ | Target Data Link Correlator ----> . |
+ | . . |
+ | Target Transport ID ----> . |
+ | . . |
+ | Reserved Field ----> . |
+ | . . |
+ +-----------------------------------------------------------------+
+ (Even Byte) (Odd Byte)
+
+
+
+
+
+
+
+
+
+
+
+Dixon & Kushi [Page 6]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ INFORMATION MESSAGE (16 Bytes)
+ +-----------------------------------------------------------------+
+ | Version Reserved Field |
+ | Message Length ----> . |
+ | Remote Data Link Correlator ----> . |
+ | . . |
+ | Remote DLC Port ID ----> . |
+ | . . |
+ | Reserved Field ----> . |
+ | Message Type Reserved Field |
+ +-----------------------------------------------------------------+
+ (Even Byte) (Odd Byte)
+
+ The Version Number is set to x'4B', indicating a numeric value of 75.
+
+ The Header Length is x'00 48', indicating a numeric value of 72
+ bytes.
+
+ The Header Number is x'01', indicating a value of one.
+
+ The Frame Direction field is set to x'01' for frames sent from the
+ origin DLS to the target DLS, and is set to x'02' for frames sent
+ from the target DLS to the origin DLS.
+
+ Note: The Remote Data Link Correlator and Remote DLC Port ID are
+ set equal to the Target Data Link Correlator and Target DLC Port
+ ID if the Frame Direction field is set to x'01', and are set equal
+ to the Origin Data Link Correlator and Origin DLC Port ID if the
+ Direction Field is set to x'02'.
+
+ The Protocol ID field is set to x'42', indicating a numeric value of
+ 66.
+
+ The Message Length field defines the number of bytes within the data
+ field following the header. Note that this value is specified in two
+ different fields of the message header.
+
+ The DLC Header Length is set to zero for SNA and is set to x'23' for
+ NetBIOS datagrams, indicating a length of 35 bytes. This includes
+ the Access Control (AC) field, the Frame Control (FC) field,
+ Destination MAC Address (DA), the Source MAC Address (SA), the
+ Routing Information (RI) field (padded to 18 bytes), the Destination
+ link SAP (DSAP), the Source link SAP (SSAP), and the LLC control
+ field (UI).
+
+ The values for the Message Type field are defined in a later section.
+ Note that this value is specified in two different fields of the
+ message header.
+
+
+
+Dixon & Kushi [Page 7]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ Reserved fields are set to zero upon transmission and should be
+ ignored upon receipt.
+
+3.2. Address Parameters
+
+ A data link is defined as a logical association between the two end
+ stations using Data Link Switching. It is identified by a Data Link
+ ID (14 bytes) consisting of the pair of attachment addresses
+ associated with each end system. Each attachment address is
+ represented by the concatenation of the MAC address (6 bytes) and the
+ LLC address (1 byte).
+
+ DATA LINK ID (14 Bytes)
+ +-----------------------------------------------------------------+
+ |Target MAC Address ----> . |
+ | . . |
+ | . . |
+ |Origin MAC Address ----> . |
+ | . . |
+ | . . |
+ |Origin Link SAP Target Link SAP |
+ +-----------------------------------------------------------------+
+
+ An end-to-end circuit is identified by a pair of Circuit ID's. A
+ Circuit ID is a 64 bit number that identifies the DLC circuit within
+ a single DLS. It consists of a DLC Port ID (4 bytes), and a Data
+ Link Correlator (4 bytes). This value is unique in a single DLS and
+ is assigned locally. The pair of Circuit ID's along with the
+ identifiers of the Data Link Switches, uniquely identify a single
+ end-to-end circuit. Each DLS must keep a table of these Circuit ID
+ pairs, one for the local end of the circuit and the other for the
+ remote end of the circuit. In order to identify which Data Link
+ Switch originated the establishment of a circuit, the terms, origin
+ DLS and target DLS, will be employed in this document.
+
+ CIRCUIT ID (8 Bytes)
+ +-----------------------------------------------------------------+
+ |DLC Port ID ----> . |
+ | . . |
+ |Data Link Correlator ----> . |
+ | . . |
+ +-----------------------------------------------------------------+
+
+ The Origin Transport ID and the Target Transport ID fields in the
+ message header are used to identify the individual TCP/IP port on a
+ Data Link Switch. The values have only local significance. However,
+ each Data Link Switch is required to reflect the values contained in
+ these two fields, along with the associated values for DLC Port ID
+
+
+
+Dixon & Kushi [Page 8]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ and the Data Link Correlator, when returning a message to the other
+ Data Link Switch.
+
+ The following figure shows the use of the addressing parameters
+ during the establishment of an end-to-end connection. The CANUREACH,
+ ICANREACH, and REACH_ACK messages all carry the Data Link ID,
+ consisting of the MAC and Link SAP addresses associated with the two
+ end stations. Upon receipt of a CANUREACH message, the target DLS
+ starts a data link for each port, thereby obtaining a Data Link
+ Correlator. If the target station can be reached, an ICANREACH
+ message is returned to the origin DLS containing the Target Circuit
+ ID parameter. Upon receipt, the origin DLS starts a data link and
+ returns the Origin Circuit ID to the target DLS within the REACH_ACK
+ message. If the REACH_ACK message is not successfully received, the
+ target Data Link Switch can obtain the Origin Circuit ID from a
+ subsequent message (i.e., CONTACT, XIDFRAME, or DGRMFRAME).
+
+ +------------+ +------------+
+ |Disconnected| |Disconnected|
+ +------------+ CANUREACH (Data Link ID) +------------+
+ ------------------------------------------------->
+ ICANREACH (Data Link ID, Target Circuit ID)
+ <------------------------------------------------
+ REACH_ACK (Data Link ID, Origin Cir ID, Target Cir ID)
+ ------------------------------------------------->
+ +------------+ +------------+
+ |Circuit Est.| |Circuit Est.|
+ +------------+ +------------+
+ XIDFRAME (Data Link ID, Origin Cir ID, Target Cir ID)
+ <------------------------------------------------>
+ CONTACT (Data Link ID, Origin Cir ID, Target Cir ID)
+ ------------------------------------------------->
+ CONTACTED (Data Link ID, Origin Cir ID, Target Cir ID)
+ <-------------------------------------------------
+ +------------+ +------------+
+ | Connected | | Connected |
+ +------------+ +------------+
+ INFOFRAME (Remote Circuit ID = Target Circuit ID)
+ ------------------------------------------------->
+ INFOFRAME (Remote Circuit ID = Origin Circuit ID)
+ <-------------------------------------------------
+
+ Figure 3. DLS Circuits and Connections
+
+ During the exchange of the XIDFRAME, CONTACT, and CONTACTED messages,
+ the pair of Circuit ID parameters is included in the message format
+ along with the DATA LINK ID parameter. Once the connection has been
+ established, the INFOFRAME messages are exchanged with the shorter
+
+
+
+Dixon & Kushi [Page 9]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ header. This header contains only the Circuit ID associated with the
+ remote DLS. The Remote Data Link Correlator and the Remote DLC Port
+ ID are set equal to the Data Link Correlator and the DLC Port ID that
+ are associated with the origin or target Data Link Switch, dependent
+ upon the direction of the packet.
+
+3.3. Message Types
+
+ The following table lists the protocol data units that are exchanged
+ between Data Link Switches. All values not listed are reserved for
+ potential use in follow-on releases.
+
+ Command Function Hex Value
+ ------- -------- ---------
+ CANUREACH Can U Reach Station x'03'
+ ICANREACH I Can Reach Station x'04'
+ REACH_ACK Reach Acknowledgment x'05'
+ DGRMFRAME Datagram Frame (See note) x'06'
+ XIDFRAME XID Frame x'07'
+ CONTACT Contact Remote Station x'08'
+ CONTACTED Remote Station Contacted x'09'
+ RESTART_DL Restart Data Link x'10'
+ DL_RESTARTED Data Link Restarted x'11'
+ INFOFRAME Information (I) Frame x'0A'
+ HALT_DL Halt Data Link x'0E'
+ DL_HALTED Data Link Halted x'0F'
+ NETBIOS_NQ NetBIOS Name Query x'12'
+ NETBIOS_NR NetBIOS Name Recognized x'13'
+ DATAFRAME Data Frame (See note) x'14'
+ NETBIOS_ANQ NetBIOS Add Name Query x'1A'
+ NETBIOS_ANR NetBIOS Add Name Response x'1B'
+
+ Table 1. SSP Message Types
+
+ Note: Both the DGRMFRAME and DATAFRAME messages are used to carry
+ information received by the DLC entity within UI frames. As will
+ be explained below, the DGRMFRAME message is addressed according
+ to a pair of Circuit IDs, while the DATAFRAME message is addressed
+ according to a Data Link ID, being composed of a pair of MAC
+ addresses and a pair of link SAP addresses. The latter is
+ employed prior to the establishment of an end-to-end circuit when
+ Circuit IDs have yet to be established.
+
+ For the exchange of NetBIOS control messages, the entire DLC header
+ is carried as part of the message unit. This includes the MAC
+ header, with the routing information field padded to 18 bytes, and
+ the LLC header. The following message types are affected:
+ NETBIOS_NQ, NETBIOS_NR, NETBIOS_ANQ, NETBIOS_ANR, and DATAFRAME when
+
+
+
+Dixon & Kushi [Page 10]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ being used by NetBIOS systems. The routing information in the DLC
+ header is not used by the remote Data Link Switch upon receiving the
+ above five messages.
+
+4. Protocol Specification
+
+ This section provides a description of the Switch-to-Switch
+ Protocols. Included is a set of high-level protocol flows and a
+ detail set of state transition tables. The states and the protocols
+ are described in terms that are intended to be generic to different
+ platforms. Emphasis of the technical details is to ensure
+ operability of the IBM 6611 with another vendor's implementation.
+ Notes are inserted at points where the IBM 6611 performs local
+ actions that are specific to the AIX platform upon which it operates.
+
+4.1. Protocol Flow Diagrams
+
+ The switch-to-switch protocols are used to setup and take down
+ circuits between a pair of Data Link Switches. Once a circuit is
+ established, the end stations on the local networks can employ LLC
+ Type 1 (connectionless) protocols. In addition, the end systems can
+ establish an end-to-end connection for support of LLC Type 2
+ (connection oriented) protocols.
+
+ The term, Data Link, is used in this document to refer to both a
+ "logical data link" when supporting Type 1 LLC services, and a "data
+ link connection" when supporting Type 2 LLC services. In both cases,
+ the Data Link in defined by the concatenation of the destination MAC
+ address (DA), the source MAC address (SA), the destination link SAP
+ (DSAP) and source link SAP (SSAP).
+
+4.1.1. Connect Protocols
+
+ The following figure depicts the protocol flows that are used for the
+ establishment of a circuit between a pair of Data Link Switches,
+ followed by the establishment of a connection between the pair of end
+ systems. The figure is drawn assuming that the two end systems are
+ SNA (the protocol flow for NetBIOS systems is described in a later
+ paragraph).
+
+
+
+
+
+
+
+
+
+
+
+
+Dixon & Kushi [Page 11]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ Data Link Data Link Data Link Data Link
+ Control Switch Switch Control
+ -------------------- --------------------
+ +------------+ +------------+
+ |Disconnected| |Disconnected|
+ +------------+ +------------+
+Test Command CANUREACH Test Comd.
+ ----------> ---------------------------------------> ------->
+ (DSAP=Null) (DSAP=SSAP)
+ Test Response
+ ICANREACH <---------
+Test Response <---------------------------------------
+ <---------- REACH ACK
+ --------------------------------------->
+ +------------+ +------------+
+ |Circuit Est.| |Circuit Est.|
+ +------------+ +------------+
+ SABME CONTACT
+ ----------> ---------------------------------------> SABME
+ UA ------->
+ <----------
+ RNR UA
+ <---------- CONTACTED <-------
+ <---------------------------------------
+ +------------+ +------------+
+ | Connected | | Connected |
+ +------------+ +------------+
+ RR
+ <---------
+
+ Figure 4. DLS Connect Message Protocols
+
+ Upon receipt of a Test command from the origin station, the origin
+ DLS will send a CANUREACH (i.e., can you reach) message to the target
+ DLS. If the target DLS is not known to the origin DLS, the CANUREACH
+ message is sent to all remote Data Link Switches defined to the
+ origin DLS. The receipt of the CANUREACH message causes the target
+ DLS to send a Test command searching for the target station. The
+ target station will return a Test response, causing the target DLS to
+ return an ICANREACH (i.e., I can reach) message to the origin DLS.
+ If multiple Data Link Switches can reach the target station, the
+ origin DLS will receive multiple ICANREACH messages. The origin DLS
+ will select the first message and send a REACH_ACK (i.e., reach
+ acknowledgment) message to the selected Data Link Switch. During
+ this exchange of messages, both Data Link Switches change states from
+ the Disconected state to the Circuit Established state. Once the
+ circuit is established, Type-1 frames, such as XID, may be exchanged
+ between the origin and target stations.
+
+
+
+Dixon & Kushi [Page 12]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ To establish a connection, the origin station sends a SABME command.
+ Upon receipt of this command, the origin DLS will send a CONTACT
+ message to the target DLS and return a UA response to the origin
+ station. To inhibit traffic flow until the connection is established
+ to the remote station, a RNR supervisory frame is sent to the origin
+ station. The CONTACT message will cause the target DLS to send a
+ SABME command to the target station, which in return will reply with
+ a UA response. Upon receipt of the UA response, the target DLS will
+ send a CONTACTED message to the origin DLS. The origin DLS will now
+ send an RR supervisory frame to the origin station. During this
+ exchange of messages, both Data Link Switches change states from the
+ Circuit Established state to the Connected state.
+
+ For NetBIOS end systems, the protocol flows are similar but employ
+ different frames and SSP messages. Instead of using a Test command
+ frame to initiate the circuit, a NetBIOS system will use a Name Query
+ frame. Receipt of a Name Query frame will cause the Data Link Switch
+ to issue a NETBIOS_NQ message instead of the CANUREACH message. In a
+ like fashion, the Test response is replaced with a Name Recognized
+ frame and the ICANREACH message is replaced with a NETBIOS_NR
+ message. As with the SNA protocol flows, the receipt of a NETBIOS_NR
+ message causes the origin Data Link Switch to respond with a
+ REACH_ACK message.
+
+4.1.2. Link Restart Protocols
+
+ The following figure depicts the protocol flows that result from
+ restarting the end-to-end connection. This causes the Data Link
+ Switches to terminate the existing connection and to enter the
+ Circuit Established state awaiting the start of a new connection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Dixon & Kushi [Page 13]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ Data Link Data Link Data Link Data Link
+ Control Switch Switch Control
+ --------------------- ---------------------
+ +-----------+ +-----------+
+ | Connected | | Connected |
+ SABME +-----------+ +-----------+
+ -----------> RESTART_DL
+ DM -------------------------------------> DISC
+ <----------- -------->
+ UA
+ DL_RESTARTED (Case 1) <--------
+ <-------------------------------------
+ +-----------+ +-----------+
+ |Circuit Est| |Circuit Est|
+ +-----------+ +-----------+
+ ........... or ...........
+ SABME
+ -----------> DL_RESTARTED (Case 2)
+ UA <-------------------------------------
+ <----------- +-----------+
+ |Circuit Est|
+ CONTACT +-----------+
+ RNR ------------------------------------>
+ <----------
+
+ Figure 5. DLS Link Restart Message Protocols
+
+ Upon receipt of a SABME command from the origin station, the origin
+ DLS will send a RESTART_DL message to the target DLS. A DM response
+ is also returned to the origin station and the data link is
+ restarted.
+
+ Upon receipt of the RESTART_DL message, the target DLS will issue a
+ DISC command to the target station. The target station is expected
+ to return a UA response. The target DLS will then restart its data
+ link and send an DL_RESTARTED message back to the origin DLS. During
+ this exchange of messages, both Data Link Switches change states from
+ Connected state to Circuit Established state.
+
+ If the origin station now resends the SABME command, the origin DLS
+ will send a CONTACT message to the target DLS. If the SABME command
+ is received prior to the receipt of the DL_RESTARTED message (case 2
+ in the figure), the CONNECT message is delayed until the DL_RESTARTED
+ message is received. The resulting protocol flows at this point
+ parallel those given above for the connect sequence.
+
+
+
+
+
+
+Dixon & Kushi [Page 14]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+4.1.3. Disconnect Protocols
+
+ The following figure depicts the protocol flows that result from the
+ end system terminating an existing connection. Not only is the
+ connection terminated, but the circuit between the Data Link Switches
+ is taken down.
+
+ Data Link Data Link Data Link Data Link
+ Control Switch Switch Control
+ -------------------- --------------------
+ +-----------+ +-----------+
+ | Connected | | Connected |
+ +-----------+ +-----------+
+ DISC
+ ----------> HALT_DL
+ UA -------------------------------------> DISC
+ <---------- --------->
+ UA
+ DL_HALTED <--------
+ <-------------------------------------
+ +-----------+ +-----------+
+ |Disconnectd| |Disconnectd|
+ +-----------+ +-----------+
+ ......... or ..........
+ +-----------+ +-----------+
+ | Connected | | Connected |
+ +-----------+ +-----------+
+
+
+ DISC TCP Connection Failure DISC
+ <-------- <------------------------------------> --------->
+ UA UA
+ --------> <--------
+ +-----------+ +-----------+
+ |Disconnectd| |Disconnectd|
+ +-----------+ +-----------+
+
+ Figure 6. DLS Disconnect Message Protocols
+
+ Upon receipt of a DISC command from the origin station, the origin
+ DLS will reply with a UA response and issue a HALT_DL message to the
+ target DLS. Upon receipt of the HALT_DL message, the target DLS will
+ send a DISC command to the target station. The target station will
+ then respond with a UA response, causing the target DLS to return a
+ DL_HALTED message to the origin DLS. During this exchange of
+ messages, both Data Link Switches change states from the Connected
+ state to the Disconnected state.
+
+
+
+
+Dixon & Kushi [Page 15]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ If the TCP connection between two Data Link Switches fails, all
+ connections that are currently multiplexed on the failed TCP
+ connection will be taken down. This implies that both Data Link
+ Switches will send DISC commands to all the local systems that are
+ associated with the failed connections. Upon sending the DISC
+ command, the Data Link Switch will enter the DISCONNECT state for
+ each circuit.
+
+4.2. DLS State Machine
+
+ The following state tables describe the states for a single
+ connection through the Data Link Switch. State information is kept
+ for each connection. The initial state for a connection is
+ DISCONNECT. The steady state is either CIRCUIT_ESTABLISHED or
+ CONNECTED. In the former state, an end-to-end circuit has been
+ established allowing the support of Type 1 LLC between the end
+ systems. The latter state exists when an end-to-end connection has
+ been established for the support of Type 2 LLC services between the
+ end systems.
+
+ For SNA, circuit establishment is via the use of IEEE 802.2 Test or
+ 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. The
+
+
+
+Dixon & 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 the
+
+
+
+Dixon & 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+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 station while in the CIRCUIT_PENDING state (i.e., a
+ DLC_CONTACTED signal received from the DLC), the reception of the
+ REACH_ACK message will cause the Data Link Switch to enter the
+ CONNECT_PENDING state and to send a CONTACT message to the other Data
+ Link Switch. Thus the target Data Link Switch has assumed the role
+ of the origin Data Link Switch.
+
+4.2.2.4 CONNECT_PENDING State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive CONTACTED DLC_EXIT_BUSY CONNECTED
+ Receive HALT_DL DLC_HALT_DL HALT_PENDING
+ Receive DGRMFRAME DLC_DGRM
+ Receive DATAFRAME DLC_DGRM
+ DLC_RESET Send RESTART_DL (See note) CIRCUIT_RESTART
+ DLC_ERROR Send HALT_DL DISCONNECT_PENDING
+ DLC_DGRM Send DGRMFRAME
+
+ The CONNECT_PENDING state is entered by the origin Data Link Switch
+ when a DLC_CONTACTED signal has been received from the DLC (i.e., a
+ SABME command has been received). A CONTACT message is then issued.
+ The state is exited upon the receipt of a CONTACTED message from the
+ target Data Link Switch. If a DLC_RESET signal is received, the
+ local data link is restarted and a RESTART_DL message is sent to the
+ remote DLS.
+
+ Note: The IBM 6611 will also send a Test command in order to
+ restart the data link to the station that sent the SABME command
+ (i.e., a DLC_START_DL will be issued).
+
+
+
+
+
+
+
+
+
+
+
+
+
+Dixon & Kushi [Page 26]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+4.2.2.5 CIRCUIT_ESTABLISHED State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive CONTACT DLC_CONTACT CONTACT_PENDING
+ Receive HALT_DL DLC_HALT_DL HALT_PENDING
+ Receive XIDFRAME DLC_XID
+ Receive DGRMFRAME DLC_DGRM
+ Receive DATAFRAME DLC_DGRM
+ DLC_CONTACTED Send CONTACT CONNECT_PENDING
+ DLC_ENTER_BUSY
+ DLC_ERROR Send HALT_DL DISCONNECT_PENDING
+ DLC_DGRM Send DGRMFRAME
+ DLC_XID Send XIDFRAME
+
+ The CIRCUIT_ESTABLISHED state is entered by the origin Data Link
+ Switch from the DISCONNECTED state, and by the target Data Link
+ Switch from the CIRCUIT_PENDING state. The state is exited when a
+ connection is started (i.e., DLC receives a SABME command). The next
+ state is CONTACT_PENDING for the target Data Link Switch and
+ CONNECT_PENDING for the origin Data Link Switch.
+
+4.2.2.6 CONTACT_PENDING State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive HALT_DL DLC_HALT_DL HALT_PENDING
+ Receive RESTART_DL DLC_HALT_DL RESTART_PENDING
+ Receive DGRMFRAME DLC_DGRM
+ Receive DATAFRAME DLC_DGRM
+ DLC_CONTACTED Send CONTACTED CONNECTED
+ DLC_ERROR Send HALT_DL DISCONNECT_PENDING
+ DLC_DGRM Send DGRMFRAME
+
+ The CONTACT_PENDING state is entered by the target Data Link Switch
+ upon the receipt of a CONTACT message. This causes the Data Link
+ Switch to issue a DLC_CONTACT signal to the DLC (i.e., DLC sends a
+ SABME command). This state is then exited upon the receipt of a
+ DLC_CONTACTED signal from the DLC (i.e., a UA response received).
+
+ If a RESTART_DL message is received, indicating that the remote Data
+ Link Switch has received a DLC_RESET signal, the local Data Link
+ Switch will send a DISC command frame on the adjacent LAN (i.e.,
+ DLC_HALT_DL signal) and enter the RESTART_PENDING state.
+
+
+
+
+
+
+
+Dixon & Kushi [Page 27]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+4.2.2.7 CONNECTED State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive HALT_DL DLC_HALT_DL HALT_PENDING
+ Receive RESTART_DL DLC_HALT_DL RESTART_PENDING
+ Receive DGRMFRAME DLC_DGRM
+ Receive INFOFRAME DLC_INFO
+ Receive DATAFRAME DLC_DGRM
+ DLC_RESET Send RESTART_DL (See note) CIRCUIT_RESTART
+ DLC_ERROR Send HALT_DL DISCONNECT_PENDING
+ DLC_DGRM Send DGRMFRAME
+ DLC_INFO Send INFOFRAME
+
+ The CONNECTED state is entered by the origin Data Link Switch from
+ the CONNECT_PENDING state upon the receipt of a CONTACTED message.
+ The CONNECTED state is entered by the target Data Link Switch from
+ the CONTACT_PENDING state upon the receipt of a DLC_CONTACTED signal.
+ At this time, the target Data Link Switch will return a CONTACTED
+ message to the origin Data Link Switch.
+
+ The CONNECTED state is exited usually under one of two conditions: a
+ DLC_ERROR signal received from the DLC (e.g., a DISC command received
+ by the local DLC), or a HALT_DL message received from the other Data
+ Link Switch (e.g., a DISC command received by the remote DLC).
+
+ A SABME command (i.e., a DLC_RESET signal) received by either Data
+ Link Switch will also cause the two Data Link Switches to leave the
+ CONNECTED state and eventually restart a new circuit.
+
+ Note: The IBM 6611 will also send a Test command in order to
+ restart the data link to the station that sent the SABME command
+ (i.e., a DLC_START_DL will be issued).
+
+ Following the receipt of a reset signal, the Data Link Switch will
+ send a RESTART_DL message to the other Data Link Switch and will
+ enter the CIRCUIT_RESTART state. Upon the receipt of the RESTART_DL
+ message, the remote Data Link Switch will send a DISC command (i.e.,
+ DLC_HALT_DL signal) and enter the RESTART_PENDING state.
+
+4.2.2.8 CIRCUIT_RESTART State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive DL_RESTARTED If Connected: If Connected:
+ Send CONTACT CONNECT_PENDING,
+ else: CIRCUIT_ESTABLISHED
+ Receive DATAFRAME DLC_DGRM
+
+
+
+Dixon & Kushi [Page 28]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ DLC_ERROR Send HALT_DL DISCONNECT_PENDING
+ DLC_DGRM Send DATAFRAME
+
+ The CIRCUIT_RESTART state is entered if a DLC_RESET signal is
+ received from the local DLC. This was caused by the receipt of a
+ SABME command while a connection was currently active. A DM response
+ will be issued to the SABME command and the Data Link Switch will
+ attempt to restart the end-to- end circuit.
+
+ The CIRCUIT_RESTART state is exited through one of two transitions.
+ The next state depends upon the time the local DLC has reached the
+ contacted state (i.e., a DLC_CONTACTED signal is presented) relative
+ to the receipt of the DL_RESTARTED message. This signal is caused by
+ the origin station resending the SABME command that initially caused
+ the DATA Link Switch to enter the CIRCUIT_RESTART state. The two
+ cases are as follows:
+
+ 1) DL_RESTARTED message received before the
+ DLC_CONTACTED signal- In this case, the
+ CIRCUIT_ESTABLISHED state is entered.
+
+ 2) DL_RESTARTED message received after the
+ DLC_CONTACTED signal- In this case, the
+ CONNECT_PENDING state is entered.
+
+4.2.2.9 DISCONNECT_PENDING State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive DL_HALTED DISCONNECTED
+ Receive HALT_DL Send DL_HALTED
+ Receive DATAFRAME DLC_DGRM
+ DLC_DGRM Send DATAFRAME
+
+
+ The DISCONNECT_PENDING state is entered when a DLC_ERROR signal is
+ received from the local DLC. Upon receipt of this signal, a HALT
+ message is sent. Once an DL_HALTED message is received, the state is
+ exited, and the Data Link Switch enters the DISCONNECTED state.
+
+4.2.2.10 RESTART_PENDING State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive DATAFRAME DLC_DGRM
+ DLC_DL_HALTED (See note) Send DL_RESTARTED CIRCUIT_ESTABLISHED
+ DLC_ERROR Send HALT_DL DISCONNECT_PENDING
+ DLC_DGRM Send DATAFRAME
+
+
+
+Dixon & Kushi [Page 29]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ The RESTART_PENDING state is entered upon the receipt of a RESTART_DL
+ message from the remote DLS while the local Data Link Switch is in
+ either the CONTACT_PENDING state or the CONNECTED state. These cause
+ the local DLC to issue a DISC command. Upon the receipt of the UA
+ response (DLC_DL_HALTED), the data link is restarted, a DL_RESTARTED
+ message is returned to the remote DLS, and the CIRCUIT_ESTABLISHED
+ state is entered.
+
+ Note: The IBM 6611 will send a Test command in order to restart
+ the data link to the target station (i.e., a DLC_START_DL will be
+ issued) prior to sending the DL_RESTARTED message.
+
+4.2.2.11 HALT_PENDING State
+
+ Event Action(s) Next State
+ ----- --------- ----------
+ Receive DATAFRAME DLC_DGRM
+ DLC_DL_HALTED Send DL_HALTED DISCONNECTED
+ DLC_ERROR Send DL_HALTED DISCONNECTED
+ DLC_DGRM Send DATAFRAME
+
+ The HALT_PENDING state is entered upon the receipt of a HALT_DL
+ message. This causes the local DLC to issue a DISC command. Upon
+ the receipt of the UA response (DLC_DL_HALTED), a DL_HALTED message
+ is returned to the remote DLS and the DISCONNECTED state is entered.
+
+4.3. NetBIOS Datagrams
+
+ The NetBIOS protocols use a number of UI frames for directory
+ services and the transmission of datagrams. Most of these frames are
+ directed to a group MAC address (GA) with the routing information
+ field indicating spanning tree explorer (STE). Two of the frames,
+ NB_Add_Name_Response and NB_Status_Response, are directed to a
+ specific MAC address with the routing information field indicating a
+ specifically routed frame (SRF). The handling of these frames is
+ summarized in the following table.
+
+ Event Action(s) Comment
+ ----- --------- -------
+ DLC_DGRM (NB Group Address): Send NETBIOS_ANQ Transmitted to all
+ NB_Add_Name_Query remote DLS
+ DLC_DGRM (Specific Address): Send NETBIOS_ANR Transmitted to
+ NB_Add_Name_Response specific DLS
+ DLC_DGRM (Specific Address): Send DATAFRAME Transmitted to all
+ NB_Status_Response remote DLS
+ DLC_DGRM (NB Group Address): Send DATAFRAME Transmitted to all
+ NB_Name_in_Conflict, remote DLS
+ NB_Add_Group_Name_Query,
+
+
+
+Dixon & Kushi [Page 30]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ NB_Datagram,
+ NB_Datagram_Broadcast,
+ NB_Status_Query,
+ NB_Terminate_Trace
+
+ Table 5. NetBIOS DLC Frames
+
+ The above actions do not apply in the following states:
+ CIRCUIT_ESTABLISHED, CONTACT_PENDING, CONNECT_PENDING, CONNECTED, and
+ CIRCUIT_PENDING. The handling of the remaining two UI frames used by
+ NetBIOS systems, NB_Name_Query and NB_Name_Recognized, are documented
+ as part of the DLS state machine in the previous section (i.e.,
+ DISCONNECTED and RESOLVE_PENDING states). Furthermore, the handling
+ of NetBIOS datagrams (i.e., NB_Datagram) sent to a specific MAC
+ address is also governed by the DLS state machine.
+
+ Note: The IBM 6611 will also issue Test frames during the
+ exchange of the NetBIOS, NB_Name_Query and NB_Name_Recognized.
+ This exchange of protocol data units occurs during the start of a
+ data link and is used to determine the routing information. Most
+ other implementations of NetBIOS will use the
+ NB_Name_Query/NB_Name_Recognized exchange to determine routes in
+ conjunction with resolving the NetBIOS names. These differences
+ are not reflected in the SSP protocols.
+
+ The handling of the NetBIOS specific SSP messages is given in the
+ following table.
+
+ Event Action(s) Comment
+ ----- --------- -------
+ NETBIOS_ANQ DLC_DGRM: Routed STE
+ NB_Add_Name_Query (NB Group Address)
+ NETBIOS_ANR DLC_DGRM: Routed SRF
+ NB_Add_Name_Response (Specific MAC Address)
+ NETBIOS_NQ DLC_DGRM: Routed STE
+ NB_Name_Query (NB Group Address)
+ NETBIOS_NR DLC_DGRM: Routed SRF
+ NB_Name_Recognized (Specific MAC Address)
+ DATAFRAME DLC_DGRM Routed STE
+ (If NB_Status_Response:
+ Specific MAC Address
+ Else: NB Group Address)
+
+ Table 6. NetBIOS SSP Messages
+
+ The above actions apply to all DLS states. The handling of NetBIOS
+ datagrams sent within DGRMFRAME messages is governed by the DLS state
+ machine. The DGRMFRAME message type is employed instead of the
+
+
+
+Dixon & Kushi [Page 31]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+ DATAFRAME message type once the end-to-end circuit has been
+ established. At that time, the message is addressed according to the
+ pair of Circuit IDs in the message header instead of relying upon the
+ MAC address information in the token ring header.
+
+Acknowledgments
+
+ Randall Campbell, David Miller, Gene Cox, Ravi Periasamy, and The
+ Ghost of Christmas Past.
+
+References
+
+ 1) ISO 8802-2/IEEE Std 802.2 International Standard,
+ Information Processing Systems, Local Area Networks, Part 2:
+ Logical Link Control, December 31, 1989
+
+ 2) The NETBIOS Frames Protocol, IBM Local Area Technical
+ Reference, SC30-3383-03, Chapter 5, December 1990
+
+ 3) ISO/IEC DIS 10038 DAM 2, MAC Bridging, Source Routing
+ Supplement, December 1991
+
+Security Considerations
+
+ Security issues are not discussed in this memo.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Dixon & Kushi [Page 32]
+
+RFC 1434 DLS: Switch-to-Switch Protocol March 1993
+
+
+Authors' Addresses
+
+ Roy C. Dixon
+ IBM Networking Systems
+ Department B57, Building 060
+ P.O. Box 12195
+ Research Triangle Park, NC 27709
+
+ Phone: (919) 543-3380
+ EMail: rcdixon@ralvmg.vnet.ibm.com
+
+
+ David M. Kushi
+ IBM Research Division
+ T. J. Watson Research Center
+ Room H0-C07
+ 30 Saw Mill River Road
+ Hawthorne, NY 10532
+
+ Phone: (914) 784-7815
+ EMail: kushi@watson.ibm.com
+
+ Note: Any questions or comments relative to the contents of this RFC
+ should be sent to the following Internet address:
+ dlsw@ralvma.vnet.ibm.com. This address will be used to coordinate
+ the handling of responses.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Dixon & Kushi [Page 33]
+ \ No newline at end of file