📄 rfc1795.txt
字号:
between Data Link Switches. All values not listed are reserved for
potential use in follow-on releases.
Wells & Bartky [Page 16]
RFC 1795 Data Link Switching April 1995
Command Description Type flags/notes
------- -------- ------ -----------
CANUREACH_ex Can U Reach Station-explorer 0x03 SSPex
CANUREACH_cs Can U Reach Station-circuit start 0x03
ICANREACH_ex I Can Reach Station-explorer 0x04 SSPex
ICANREACH_cs I Can Reach Station-circuit start 0x04
REACH_ACK Reach Acknowledgment 0x05
DGRMFRAME Datagram Frame 0x06 (note 1)
XIDFRAME XID Frame 0x07
CONTACT Contact Remote Station 0x08
CONTACTED Remote Station Contacted 0x09
RESTART_DL Restart Data Link 0x10
DL_RESTARTED Data Link Restarted 0x11
ENTER_BUSY Enter Busy 0x0C (note 2)
EXIT_BUSY Exit Busy 0x0D (note 2)
INFOFRAME Information (I) Frame 0x0A
HALT_DL Halt Data Link 0x0E
DL_HALTED Data Link Halted 0x0F
NETBIOS_NQ_ex NETBIOS Name Query-explorer 0x12 SSPex
NETBIOS_NQ_cs NETBIOS Name Query-circuit setup 0x12 (note 3)
NETBIOS_NR_ex NETBIOS Name Recognized-explorer 0x13 SSPex
NETBIOS_NR_cs NETBIOS Name Recog-circuit setup 0x13 (note 3)
DATAFRAME Data Frame 0x14 (note 1)
HALT_DL_NOACK Halt Data Link with no Ack 0x19
NETBIOS_ANQ NETBIOS Add Name Query 0x1A
NETBIOS_ANR NETBIOS Add Name Response 0x1B
KEEPALIVE Transport Keepalive Message 0x1D (note 4)
CAP_EXCHANGE Capabilities Exchange 0x20
IFCM Independent Flow Control Message 0x21
TEST_CIRCUIT_REQ Test Circuit Request 0x7A
TEST_CIRCUIT_RSP Test Circuit Response 0x7B
Note 1: Both the DGRMFRAME and DATAFRAME messages are used to carry
information received by the DLC entity within UI frames. 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 or
during circuit restart when Data Links are reset.
Note 2: These messages are not used for the DLSw Standard but may be
used by older DLSw implementations. They are listed here for
informational purposes. These messages were added after publication
of RFC 1434 and were deleted in this standard (adaptive pacing is now
used instead).
Wells & Bartky [Page 17]
RFC 1795 Data Link Switching April 1995
Note 3: These messages are not normally issued by a Standard DLSw,
which uses the NB_*_ex messages as shown in section 5.4. However if
a Standard DLSw attempts to interoperate with older DLSw
implementations, these messages correspond to the NETBIOS_NQ and
NETBIOS_NR messages used in RFC1434 both to locate the resource and
to setup a circuit. This document does not attempt to provide a
complete specification of the use of these messages.
Note 4: A KEEPALIVE message may be sent by a DLSw to a partner DLSw
in order to verify the TCP connection (or other future SSP carrying
protocol) is still functioning. If received by a DLSw, this message
is discarded and ignored. Use of this message is optional.
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
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.
Any SSP message types not defined above if received by a DLSw are to
be ignored (i.e., no error action is to be performed). A Data Link
Switch should quietly drop any SSP message with a Message Type that
is not recognized or not supported. Receipt of such a message should
not cause the termination of the transport connection to the message
sender.
4. Circuit Priority
At circuit start time, each circuit end point will provide priority
information to its circuit partner. The initiator of the circuit
will choose which circuit priority will be effective for the life of
the circuit. If Priority is not implemented by the Data Link Switch,
then "Unsupported" priority is used.
4.1 Frame format
Circuit priority will be valid in the CANUREACH_cs, ICANREACH_cs, and
REACH_ACK frames only. The relevant header field is shown below. The
Circuit Priority value is a byte value at offset 22 in an SSP Control
Message.
Wells & Bartky [Page 18]
RFC 1795 Data Link Switching April 1995
The following describes the format of the Circuit Priority byte.
7 6 5 4 3 2 1 0
+-------------------+-----------+
| reserved | CP |
+-------------------+-----------+
CP: Circuit Priority bits
000 - Unsupported (note 1)
001 - Low Priority
010 - Medium Priority
011 - High Priority
100 - Highest Priority
101 to 111 are reserved for future use
Note 1: Unsupported means that the Data Link Switch that originates
the circuit does not implement priority. Actions taken on
Unsupported priority are vendor specific.
4.2 Circuit Startup
The sender of a CANUREACH_cs is responsible for setting the CP bits
to reflect the priority it would like to use for the circuit being
requested. The mechanism for choosing an appropriate value is
implementation dependent. The sender of an ICANREACH_cs frame will
set the CP bits to reflect the priority it would like to use for the
circuit being requested, with the mechanism for choosing the
appropriate value being implementation dependent. The receiver of
the ICANREACH_cs will select from the priorities in the CANUREACH_cs
and ICANREACH_cs frames, and will set the value in the CP field of
the REACH_ACK frame that follows to the value to be used for this
circuit. This priority will be used for the life of the circuit. A
CANUREACH_cs or ICANREACH_cs with the circuit priority value set to
Unsupported (CP=000) indicates that the sender does not support the
circuit priority function.
Wells & Bartky [Page 19]
RFC 1795 Data Link Switching April 1995
Flow:
DLSw A DLSw B
CANUREACH_cs (CP=011) -----> Circuit initiator requests
high Priority.
<--------- ICANREACH_cs (CP=010) Circuit target requests
medium priority.
REACH_ACK (CP=010) --------> Circuit initiator sets
the priority for this
circuit to medium. The
circuit initiator could
choose either high or
medium in this example.
5. DLSw State Machine
The following state tables describe the states for a single circuit
through the Data Link Switch. State information is kept for each
connection. The initial state for a connection is DISCONNECTED. 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, LLC type 2 connection 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 0x04, 0x08, or 0x0C (most SNA
LLC2 devices that have a single PU per MAC address use a default of
0x04). Typically the SAP would be used to determine if the Test frames
should be sent to the DLSw code in the router. If both bridging and
DLSw are enabled, this allows the product to ensure that SNA frames are
not both bridged and switched. Note that although typically SNA uses a
DSAP and SSAP of 0x04, it allows for other SAPs to be configured and
supports unequal SAPs. This allows multiple PUs to share connections
between two given MAC addresses (each PU to PU session uses one LLC2
connection).
For NetBIOS, LLC type 2 connection establishment is via the Name Query
and Name Recognized frames. These frames are used for both address
resolution and source route determination. NetBIOS devices use SAP
0xF0.
Wells & Bartky [Page 20]
RFC 1795 Data Link Switching April 1995
5.1 Data Link Switch States
The Switch-to-Switch Protocol is formally defined through the state
machines described in this chapter. The following table lists the
thirteen possible states for the main circuit FSM. A separate state
machine instance is employed for each end-to-end circuit that is
maintained by the Data Link Switch.
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 DLSw is awaiting a REACH_ACK
response to an ICANREACH_cs message.
CIRCUIT_RESTART The DLSw that originated the reset is
awaiting the restart of the data link
and the DL_RESTARTED response to a
RESTART_DL message.
CIRCUIT_START The origin DLSw is awaiting a
ICANREACH_cs in response to a
CANUREACH_cs 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 DLSw is awaiting the
CONTACTED response to a CONTACT
message.
CONTACT_PENDING The target DLSw 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
DLSw is awaiting either a
CANUREACH_cs, or an ICANREACH_cs.
DISCONNECT_PENDING The DLSw that originated the
disconnect is awaiting the DL_HALTED
Wells & Bartky [Page 21]
RFC 1795 Data Link Switching April 1995
response to a HALT_DL message.
HALT_PENDING The remote DLSw is awaiting the
DLC_DL_HALTED indication following
the DLC_HALT_DL request (i.e., DLC
is waiting for a UA response to a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -