📄 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-peerM. 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 19874. 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 followingservice 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 connectionM. 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 closedM. 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 closedM. Rose & D. Cass [Page 10]RFC 1006 May 19875. 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 byM. 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 + -