📄 rfc1006.txt
字号:
Session protocol [ISO8327] [X.225]
The ISO transport service definition describes the services
offered by the TS-provider (transport service) and the interfaces
used to access those services. This memo focuses on how the ARPA
Transmission Control Protocol (TCP) [RFC793] can be used to offer
the services and provide the interfaces.
+-----------+ +-----------+
| TS-user | | TS-user |
+-----------+ +-----------+
| |
| TSAP interface TSAP interface |
| [ISO8072] |
| |
+----------+ ISO Transport Services on the TCP +----------+
| client |-----------------------------------------| server |
+----------+ (this memo) +----------+
| |
| TCP interface TCP interface |
| [RFC793] |
| |
For expository purposes, the following abbreviations are used:
TS-peer a process which implements the protocol described
by this memo
TS-user a process talking using the services of a TS-peer
M. Rose & D. Cass [Page 6]
RFC 1006 May 1987
TS-provider the black-box entity implementing the protocol
described by this memo
For the purposes of this memo, which describes version 2 of the
TSAP protocol, all aspects of [ISO8072] are supported with one
exception:
Quality of Service parameters
In the spirit of CCITT, this is left "for further study". A
future version of the protocol will most likely support the QOS
parameters for TP by mapping these onto various TCP parameters.
The ISO standards do not specify the format of a session port
(termed a TSAP ID). This memo mandates the use of the GOSIP
specification [GOSIP86] for the interpretation of this field.
(Please refer to Section 5.2, entitled "UPPER LAYERS ADDRESSING".)
Finally, the ISO TSAP is fundamentally symmetric in behavior.
There is no underlying client/server model. Instead of a server
listening on a well-known port, when a connection is established,
the TS-provider generates an INDICATION event which, presumably
the TS-user catches and acts upon. Although this might be
implemented by having a server "listen" by hanging on the
INDICATION event, from the perspective of the ISO TSAP, all TS-
users just sit around in the IDLE state until they either generate
a REQUEST or accept an INDICATION.
M. Rose & D. Cass [Page 7]
RFC 1006 May 1987
4. The Primitives
The protocol assumes that the TCP[RFC793] offers the following
service primitives:
Events
connected - open succeeded (either ACTIVE or PASSIVE)
connect fails - ACTIVE open failed
data ready - data can be read from the connection
errored - the connection has errored and is now closed
closed - an orderly disconnection has started
Actions
listen on port - PASSIVE open on the given port
open port - ACTIVE open to the given port
read data - data is read from the connection
send data - data is sent on the connection
close - the connection is closed (pending data is
sent)
This memo describes how to use these services to emulate the following
service primitives, which are required by [ISO8073]:
Events
N-CONNECT.INDICATION
- An NS-user (responder) is notified that
connection establishment is in progress
N-CONNECT.CONFIRMATION
- An NS-user (responder) is notified that
the connection has been established
N-DATA.INDICATION
- An NS-user is notified that data can be
read from the connection
M. Rose & D. Cass [Page 8]
RFC 1006 May 1987
N-DISCONNECT.INDICATION
- An NS-user is notified that the connection
is closed
Actions
N-CONNECT.REQUEST
- An NS-user (initiator) indicates that it
wants to establish a connection
N-CONNECT.RESPONSE
- An NS-user (responder) indicates that it
will honor the request
N-DATA.REQUEST - An NS-user sends data
N-DISCONNECT.REQUEST
- An NS-user indicates that the connection
is to be closed
The protocol offers the following service primitives, as defined
in [ISO8072], to the TS-user:
Events
T-CONNECT.INDICATION
- a TS-user (responder) is notified that
connection establishment is in progress
T-CONNECT.CONFIRMATION
- a TS-user (initiator) is notified that the
connection has been established
T-DATA.INDICATION
- a TS-user is notified that data can be read
from the connection
T-EXPEDITED DATA.INDICATION
- a TS-user is notified that "expedited" data
can be read from the connection
T-DISCONNECT.INDICATION
- a TS-user is notified that the connection
is closed
M. Rose & D. Cass [Page 9]
RFC 1006 May 1987
Actions
T-CONNECT.REQUEST
- a TS-user (initiator) indicates that it
wants to establish a connection
T-CONNECT.RESPONSE
- a TS-user (responder) indicates that it
will honor the request
T-DATA.REQUEST - a TS-user sends data
T-EXPEDITED DATA.REQUEST
- a TS-user sends "expedited" data
T-DISCONNECT.REQUEST
- a TS-user indicates that the connection
is to be closed
M. Rose & D. Cass [Page 10]
RFC 1006 May 1987
5. The Protocol
The protocol specified by this memo is identical to the protocol
for ISO transport class 0, with the following exceptions:
- for testing purposes, initial data may be exchanged
during connection establishment
- for testing purposes, an expedited data service is
supported
- for performance reasons, a much larger TSDU size is
supported
- the network service used by the protocol is provided
by the TCP
The ISO transport protocol exchanges information between peers in
discrete units of information called transport protocol data units
(TPDUs). The protocol defined in this memo encapsulates these
TPDUs in discrete units called TPKTs. The structure of these
TPKTs and their relationship to TPDUs are discussed in the next
section.
PRIMITIVES
The mapping between the TCP service primitives and the service
primitives expected by transport class 0 are quite straight-
forward:
network service TCP
--------------- ---
CONNECTION ESTABLISHMENT
N-CONNECT.REQUEST open completes
N-CONNECT.INDICATION listen (PASSIVE open)
finishes
N-CONNECT.RESPONSE listen completes
N-CONNECT.CONFIRMATION open (ACTIVE open)
finishes
DATA TRANSFER
N-DATA.REQUEST send data
N-DATA.INDICATION data ready followed by
M. Rose & D. Cass [Page 11]
RFC 1006 May 1987
read data
CONNECTION RELEASE
N-DISCONNECT.REQUEST close
N-DISCONNECT.INDICATION connection closes or
errors
Mapping parameters is also straight-forward:
network service TCP
--------------- ---
CONNECTION RELEASE
Called address server's IP address
(4 octets)
Calling address client's IP address
(4 octets)
all others ignored
DATA TRANSFER
NS-user data (NSDU) data
CONNECTION RELEASE
all parameters ignored
CONNECTION ESTABLISHMENT
The elements of procedure used during connection establishment
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -