📄 rfc1795.txt
字号:
significant bit and bit 0 the least significant bit of the octet):
Bit(s)
76543210 Name Meaning
--------- ----- -------
x....... SSPex 1 = explorer message (CANUREACH and ICANREACH)
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). Each attachment address is classified as
either "Target" in the context of the Destination MAC/SAP addresses
of an explorer frame sent in the first frame used to establish a
Wells & Bartky [Page 11]
RFC 1795 Data Link Switching April 1995
circuit, or "Origin" in the context of the Source MAC/SAP addresses.
All MAC addresses are expressed in non-canonical (Token-Ring) format.
DATA LINK ID (14 Bytes @ Control message offset 24 decimal)
+-----------------------------+-----------------------------+
| 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 DLSw. It consists of a DLC Port ID (4 bytes), and a Data
Link Correlator (4 bytes). The Circuit ID must be unique in a single
DLSw and is assigned locally. The pair of Circuit ID's along with
the Data Link IDs, uniquely identify a single end-to-end circuit.
Each DLSw 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" DLSw and "Target"
DLSw, 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
Wells & Bartky [Page 12]
RFC 1795 Data Link Switching April 1995
these two fields, along with the associated values for DLC Port ID
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 message types all carry the Data Link ID,
consisting of the MAC and Link SAP addresses associated with the two
end stations. The CANUREACH and ICANREACH messages are qualified by
the SSPex flag into CANUREACH_ex, ICANREACH_ex (explorer messages)
and CANUREACH_cs, ICANREACH_cs (circuit start). The CANUREACH_ex is
used to find a remote MAC and Link SAP address without establishing
an SSP circuit. Upon receipt of a CANUREACH_cs message, the target
DLSw starts a data link for each port, thereby obtaining a Data Link
Correlator. If the target station can be reached, an ICANREACH_cs
message is returned to the origin DLSw containing the Target Circuit
ID parameter. Upon receipt, the origin DLSw starts a data link and
returns the Origin Circuit ID to the target DLSw within the REACH_ACK
message. (Note for a full list of message types, see section 3.5.)
+------------+ +------------+
|Disconnected| |Disconnected|
+------------+ CANUREACH_cs (Data Link ID) +------------+
------------------------------------------------->
ICANREACH_cs (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)
<-------------------------------------------------
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
Wells & Bartky [Page 13]
RFC 1795 Data Link Switching April 1995
established, the INFOFRAME messages are exchanged with the shorter
header. This header contains only the Circuit ID associated with the
remote DLSw. 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 Correlators
The local use, and contents of the Data Link Correlator, Port ID and
Transport ID fields in SSP messages is an implementation choice.
These fields have local significance only. The values received from
a partner DLSw must not be interpreted by the DLSw that receives them
and should be echoed "as is" to a partner DLSw in subsequent
messages. All implementations must obey the following rules in this
section (3.3) on the assignment and fixing of these correlator fields
for each transport connection or circuit:
The Transport ID fields are learned from the first SSP message
exchanged with a DLSw partner (the Capabilities exchange). This
field should not be varied by a DLSw after the capabilities exchange
and must be reflected to the partner DLSw in every SSP control
message.
The Target Data Link Correlator, Target Port ID and Target Transport
ID must remain the same once the Target DLSw has sent the
ICANREACH_cs for a given circuit. The Origin DLSw must store the
values specified in the ICANREACH_cs and use these on all subsequent
SSP messages for this circuit.
The Origin DLSw must allow these fields to vary until the
ICANREACH_cs is received. Each SSP message issued for a circuit must
reflect the values specified by the Target DLSw in the last SSP
message for this circuit received by the Origin DLSw. Binary zero
should be used if no such message has yet been received for a given
circuit (apart from the Target Transport ID which will have been
learnt as specified above).
The Origin Data Link Correlator, Origin Port ID and Origin Transport
ID must remain the same once the Origin DLSw has issued the REACH_ACK
for a given circuit. The Target DLSw must store the values specified
in the REACH_ACK and use these on all subsequent SSP messages for
this circuit.
The Target DLSw must allow these fields to vary until the REACH_ACK
is received. Each SSP message issued for a circuit must reflect the
values specified by the Origin DLSw in the last SSP message for this
circuit received by the Target DLSw. Binary zero should be used if
Wells & Bartky [Page 14]
RFC 1795 Data Link Switching April 1995
no such message has yet been received for a given circuit (apart from
the Origin Transport ID which will have been learnt as specified
above).
For the purposes of correlator exchange, explorer messages form a
separate circuit. Both DLSw partners must reflect the last received
correlator values as specified above. However correlators learned on
explorer messages need not be carried over to a subsequent circuit
setup attempt. In particular, the Origin DLSw may elect to use the
same values for the Origin Data Link Correlator and Origin Port ID
when it issues a CANUREACH_cs after receiving an ICANREACH_ex or
NETBIOS_NR_ex. However the Target DLSw must not assume that the
CANUREACH_cs will specify any of the Target Data Link Correlator or
Target Port ID that were exchanged on the explorer messages.
Received SSP messages that require a valid Remote Circuit ID but
cannot be associated with an existing circuit should be rejected with
a HALT_DL_NOACK message. This is done to prevent a situation where
one DLSw partner has a circuit defined while the other partner does
not. The exception would be a HALT_DL_NOACK message with an invalid
Remote Circuit ID. The HALT_DL_NOACK message is typically used in
error situations where a response is not appropriate.
The SSP messages requiring a valid Remote Circuit ID are all messages
except the following: CANUREACH_ex, CANUREACH_cs, ICANREACH_ex,
ICANREACH_cs, NETBIOS_NQ_cs, NETBIOS_NR_cs, DATAFRAME, NETBIOS_ANQ,
NETBIOS_ANR, KEEPALIVE and CAP_EXCHANGE.
3.4 Largest Frame Size Field
The Largest Frame Size (LF Size) field in the SSP Control Header is
used to carry the LF Size bits across the DLSw connection. This
should be used to ensure that the two end-stations always negotiate a
frame size to be used on a circuit that does not require the Origin
and Target DLSw partners to re-segment frames.
This field is valid on CANUREACH_ex, CANUREACH_cs, ICANREACH_ex,
ICANREACH_cs, NETBIOS_NQ_ex and NETBIOS_NR_ex messages only. The
contents of this field should be ignored on all other frames.
Every DLSw forwarding a SSP frame to its DLSw partner must ensure
that the contents of this frame reflect the minimum capability of the
route to its local end-station or any limit imposed by the DLSw
itself.
The bit-wise definition of this field is as follows (bit 7 is the
most significant bit, bit 0 is the least significant bit):
Wells & Bartky [Page 15]
RFC 1795 Data Link Switching April 1995
7 6 5 4 3 2 1 0
+-------------------------------+
| c | r | b | b | b | e | e | e |
+-------------------------------+
c . . . . . . . LF Size Control flag
(significant on messages
from Origin to Target
DLSw only)
0=fail circuit if route
obtained requires a
smaller LF size
1=don't fail the circuit
but return the LF size
obtained even if it is
smaller
. r . . . . . . Reserved
. . b . . . . . Largest Frame Bit Base
. . . b . . . . Largest Frame Bit Base
. . . . b . . . Largest Frame Bit Base
. . . . . e . . Largest Frame Bit Extended
. . . . . . e . Largest Frame Bit Extended
. . . . . . . e Largest Frame Bit Extended
<----- LF Bits ----->
Refer to IEEE 802.1D Standard, Annex C for encoding of Largest Frame
base and extended bit values.
The Origin DLSw "Size Control" flag informs a Target DLSw that
chooses to reply to *_cs messages on the basis of cached information
that it may safely return a smaller LF Size on the ICANREACH_cs frame
if it has had to choose an alternative route on which to initialize
the circuit. If this bit is set to 1, the Origin DLSw takes
responsibility for ensuring that the end-stations negotiate a
suitable frame size for the circuit. If this bit is set to 0, the
Target DLSw must not reply to the CANUREACH_cs if it cannot obtain a
route to the Target end station that support an LF Size at least as
large as that specified in the CANUREACH_cs frame.
3.5 Message Types
The following table lists the protocol data units that are exchanged
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -