|
Network Working Group Request for Comments: 892 |
ISO December 1983 |
The Transport Protocol Standard is one of a set of International
The Transport Protocol Standard is positioned with respect to
-----------------------------------TRANSPORT SERVICE DEFINITION----- Transport --Reference to aims--------------- Protocol Specification --Reference to assumptions-------- ------------------------------------NETWORK SERVICE DEFINITION------
The standard specifies a common encoding and a number of
It is intended that the Transport Protocol should be simple
The protocol is structured to give rise to classes of protocol
The classes are selectable with respect to the Transport and
This protocol standard is concerned with optimisation of network
a) different throughput rates;
b) different error rates;
c) integrity of data requirements;
d) reliability requirements.
The aim of this standard is primarily to provide a definition
It should be noted that, as the number of valid protocol sequences
The variations and options available within this standard are
a) five classes of procedures
1) Class 0. Simple class;
2) Class 1. Basic error recovery class;
3) Class 2. Multiplexing class;
4) Class 3. Error recovery class;
5) Class 4. Error detection and recovery class,
for the transfer of data and control information from one transport entity to a peer transport entity;
b) the means of negotiating the class of procedures to be used by the transport entities;
c) the encoding of the transport protocol data units used for the transfer of data and control information;
d) the functional requirements of equipment within a computer system claiming to implement these procedures.
a) the interactions between peer transport entities through the exchange of transport protocol data units;
b) the interactions between a transport entity and the transport service user in the same system through the exchange of transport service primitives;
c) the interactions between a transport entity and the network service provider through the exchange of network
service primitives.
Explanatory Notes
TPDU Transport protocol data unit
TSDU Transport service data unit
NSDU Network service data unit
CR TPDU Connection request TPDU
CC TPDU Connection confirm TPDU
DR TPDU Disconnect request TPDU
DC TPDU Disconnect confirm TPDU
DT TPDU Data TPDU
ED TPDU Expedited data TPDU
AK TPDU Data acknowledge TPDU
EA TPDU Expedited acknowledge TPDU
RJ TPDU Rejected TPDU
ERR TPDU Error TPDU
LI Length indicator (field)
CDT Credit (field)
TSAP-ID Transport service access point identifier
(field)
DST-REF Destination reference (field)
SCE-REF Source reference (field)
EOT End of TSDU mark
TPDU-NR DT TPDU number (field)
ED-TPDU-NR ED TPDU number (field)
YR-TU-NR Sequence number response (field)
T (R) Receive sequence number
T (S) Send sequence number
T1 Elapse time between retransmissions
N The maximum number of retransmissions
L Bound for the maximum time between the
decision to transmit a TPDU and the receipt of
any response relating to it
T-WAIT Maximum time for a reassignment to take place
before TC failure is assumed
I Inactivity timer - Maximum time allowed to
elapse between receipt of TPDUs before TC
failure is assumed
W Window timer - Maximum interval between trans-
mission of up to date window information
n The number of bits in the sequence number
field
p The number of bits in the credit field of a
CR, CC or AK TPDU
TS-user Transport service user
TSAP Transport service access point
NSAP Network service access point
TC Transport connection
NC Network Connection
The services provided by the protocol described in this
Primitive Parameters
------------------------------------------------------------------------
T-CONNECT Request To Transport Address, From
Indication Transport Address, Expedited
Data Option, Quality of
Service, TS-User data.
------------------------------------------------------------------------
T-CONNECT Response Responding Address, Quality
Confirmation of Service, Expedited Data
Option, TS-User data.
------------------------------------------------------------------------
T-DATA Request TS-User data.
Indication
------------------------------------------------------------------------ T-EXPEDITED Request TS-User data. DATA Indication
------------------------------------------------------------------------ T-DISCONNECT Request TS-User data.
------------------------------------------------------------------------
T-DISCONNECT Indication Disconnect reason, TS-User
data.
------------------------------------------------------------------------
Figure 1. Transport Service Primitives
The transport protocol described in this document assumes of
Primitive X/Y Parameters X/Y/Z
------------------------------------------------------------------------
N-CONNECT Request X Called Address, X
Indication X Calling Address, X
Response X NS-User data, Z
Confirmation X QOS. X
------------------------------------------------------------------------
N-DATA Request X NS-User data, X
Indication X Conf. Request Y
------------------------------------------------------------------------ N-DATA Request Y
------------------------------------------------------------------------ N-EXPEDITED Request Y DATA Indication NS-User data Y
------------------------------------------------------------------------
N-RESET Request X
Indication X
Response X
Confirmation X
------------------------------------------------------------------------
N-DISCONNECT Request X NS-User data Z
Indication X
------------------------------------------------------------------------
X - The Transport Protocol assumes that this facility is provided in all networks.
Y - The Transport Protocol assumes that this facility is provided in some networks and a mechanism is provided to optionally use the facility.
Z - The Transport Protocol does not use this parameter.
Figure 2. Network Service Primitives
The functions in the transport layer are at least those
The functions in the transport layer are concerned with the
The goal of the establishment phase is to establish a
The purpose of the data transfer phase is to permit two-way
A function used to collect several TPDUs into a single NSDU; the destination transport entity separates the TPDUs.
The splitting of a single data TSDU into multiple TPDUs which are reassembled into their original format at the destination.
A function used to share a single network connection between two or more transport connections.
A function allowing the simultaneous use of two or more network connections to support the same transport connec- tion.
A function used to regulate the flow of TPDUs between two transport entities on one transport connection.
A function used to detect the loss, corruption,
duplication, misordering or misdelivery of TPDUs.
A means to uniquely identify a transport connection
between the pair of transport entities supporting the
connection during the lifetime of the transport
connection.
A function used to recover from detected and signalled errors.
A function used to bypass the flow control of normal data TPDU. Expedited data TPDUs' flow is controlled by separate flow control.
A function used to determine the beginning and ending of a TSDU.
A function to provide a disconnection of the transport connection, regardless of the current activity.
A class defines a set of functions. In this protocol five classes are defined:
Note that with the exception of classes 0 and 1, transport connections of different class may be multiplexed together onto the same network connection.
Options define potential functions which may be used within a class.
Classes and options within classes are negotiated during the connection establishment phase.
The choice will be made by the transport entities according to:
- if the TS-User requests either transmission of
user data during the connection phase, or use of
Expedited data transfer, then Class 0 cannot be
selected.
- if the TS-User requests use of Expedited data
transfer, then Class 2 with the non-explicit
flow control option cannot be selected.
The following is a classification of network services in terms
Type A: Network connection with acceptable residual error rate (for example not signalled by 'clear' or 'reset') and acceptable rate of signalled failures.
Type B: Network connections with acceptable residual error rate (for example not signalled by 'clear' or 'reset')
but unacceptable rate of signalled failures.
Type C: Network connections with residual error rate not acceptable to the TS-user.
It is assumed that each transport entity is aware of the
The protocol described in this document does not include the
TSAP TSAP
Transport Protocol Transport Protocol
Entity Entity
NSAP ------- NSAP -------
| (NSAP) | (NSAP)
| | | |
| |-------------------------|--------
| |
-----------------------------------
A Transport Protocol entity within the Transport Layer
Transport connection endpoints are identified in end systems
Several functions are described as 'inherent' or 'pervasive'.
Purpose: Assignment of transport connections to network connections.
Network Service Primitives:
N-CONNECT
N-DISCONNECT
Description:
This function is inherent.
Before a transport connection can be created or used, it must
An existing network connection, which connects the relevant
connection.
When a new network connection is created, the quality of
A Network Connection with no transport connections will be
Purpose: To convey transport protocol data unit in user data fields of network service primitives.
Network Service Primitives
N-DATA
N-EXPEDITED DATA
Description:
This function is inherent.
The Transport Protocol Data Units (TPDUs) defined for the
TPDU name Abbreviation
Connection Request CR
Connection Confirm CC
Disconnect Request DR
Disconnect Confirm DC
Data DT
Expedited Data ED
Data Acknowledge AK
Expedited Acknowledge EA
Reject RJ
TPDU Error ERR
Figure 3. Transport Protocol Data Units
TPDUs are conveyed using the NS-User data parameters of the
Transport entities shall accept all permissible assignments and
Purpose: Mapping between one TSDU and TPDUs.
TPDUs and fields used:
DT
- End of TSDU (1 bit)
Description:
The data field of Data TPDUs may contain any number of octets
A transport entity uses an End of TSDU mark as defined below:
In each Data TPDU a transport entity may indicate the end of a
Category 1 Having the End of TSDU mark set to yes. These
TPDUs may or may not have the maximum length.
Category 2 Having the End of TSDU mark set to no. These
TPDUs do not necessarily have the maximum
length.
A complete Data TPDU sequence is defined as being composed of
Pupose: Conveyance of multiple TPDUs in one NSDU.
Description:
All TPDUs carry in their TPDU header a length indicator (see Section 8.2.1). Additionally, TPDUs are classified as either Data
The concatenated set of TPDUs may be for the same or different
Purpose: Creation of a new transport connection.
Network Service Primitives:
N-DATA
TPDUs and fields used:
CR, CC
- source reference (16 bits)
- initial credit (if applicable)
- calling transport address (optional)
- called transport address (optional)
- user data (optional)
- TPDU size (optional)
- sequence number length (optional)
- checksum selection (optional)
- acknowledgement time (optional)
- quality of service (optional)
CR
- preferred protocol class
- alternative protocol classes (zero or more)
- version number (optional)
- security (optional)
- proposed options
CC
- destination reference (16 bits)
- selected protocol class
- selected options
Description:
This function is inherent:
A transport connection is established by means of one
The following information is exchanged:
- it cannot already be in use or "frozen" (see "Frozen
References", Section 6.19).
- it cannot be zero.
Each transport entity is responsible for selecting the
The following negotiations take place:
Note: This means, for example, that when a class which
When the responder has decided which class is to be used, it
If the preferred class is not selected, then on receipt of the
The negotiation rules for the options are such that the
During the establishment phase of the transport connection,
The following table summarizes the negotiation possibilities
Proposition Made Possible
by the Initiator Selection by
Option the Responder
(class 4 only) No No
No No
In class 2, whenever a transport entity requests or agrees to
Purpose: Refusal of the transport connection.
TPDUs and fields used:
DR
- reason (1 octet)
- user data (maximum of 64 octets)
ERR
- reject code (1 octet)
- rejected TPDU parameter
Description:
If a transport connection cannot be accepted, the called
If the CR is regarded as an invalid TPDU, the called transport
Variants: 'implicit' or 'explicit'
Purpose: Termination of the transport connection.
Network Service Primitives:
N-DISCONNECT (implicit variant only)
N-DATA
TPDUs and fields used:
DR
- clearing reason (1 octet)
- user data (maximum of 64 octets)
DC
Description:
This function is inherent.
In the 'implicit' variant, either transport entity disconnects
In the 'explicit' variant, either transport entity transmits a
The DR can convey a limited amount (up to 64 octets) of data.
Purpose: Termination of a Transport Connection on the
Network Service Primitives:
N-DISCONNECT Indication
N-RESET Indication
Description:
When, on the network connection to which a Transport
When a connection has been released, after the exchange of DR
Purpose: To deal with the arrival of an "unknown" DR TPDU.
TPDUs and fields used:
DR, DC
- source reference
- destination reference
Description:
A DR TPDU can be received for a transport connection which
Variants: 'normal' or 'extended'
Purpose: Numbering of DT TPDUs for use in recovery,
flow control, or sequencing functions.
TPDUs and Fields Used:
DT
- TPDU-NR (7 or 31 bits)
Description:
DT TPDUs transmitted in each direction on a transport
In the sections that follow, the relationships 'greater than'
Variants: 'network expedited' or not
Purpose: Provision of the expedited data service
Network Service Primitives:
N-DATA
N-EXPEDITED DATA
TPDUs and Fields Used:
ED
- ED TPDU-NR (7 or 31 bits)
EA
- YR-TU-NR (7 or 31 bits)
Description:
Each expedited TSDU is conveyed as the data field of an Expedited
Each ED TPDU received must be acknowledged by an Expedited
There may only be one ED TPDU unacknowledged at any time for each
In the 'network expedited' variant (available in class 1 only),
Purpose: Assignment of a Transport Connection to a different
TPDUs and Fields Used:
CR
- source reference
RJ, DR
- destination reference
Description:
When the Network Connection to which a Transport Connection was
When one transport entity has assigned the Transport Connection,
The Transport Connection shall be recognised as having been
Purpose: Recovery from network provider initiated disconnect.
Network Service Primitives:
N-DISCONNECT Indication
Description:
When a N-DISCONNECT Indication arrives for the network connection
If the reassignment has not successfully occurred within a time
1. The CR TPDU does not have a destination reference;
nevertheless it can be distinguished from a new
connection attempt by having the same source
reference.
NOTE: The value of T-wait has to be agreed by the communicating
Variants: 'confirmation of receipt' or 'AK'
Purpose: To enable and minimize retransmission after
Network Service Primitives:
N-DATA
N-DATA ACKNOWLEDGE
TPDUs and Fields Used:
CR, CC, DR, DC
RJ, AK, EA
- YR-TU-NR (7 or 31 bits)
DT
- TPDU-NR (7 or 31 bits)
ED
- ED TPDU-NR (7 or 31 bits)
Description:
Copies of the following TPDUs shall be retained upon transmission
CR, CC, DR, DT, ED.
NOTE: If DR is sent in response to CR there is no need to
In the 'confirmation of receipt' variant, applicable only
(1) It is a local matter for each transport entity to
decide which N-DATA Requests should have the
confirmation request parameter set. This decision
will normally be related to the amount of storage
available for retained copies of the DT TPDUs.
Use of the confirmation request parameter may
affect the quality of network service.
After each TPDU is acknowledged, as shown in Figure 5,
TPDU ACKNOWLEDGED BY
CR receipt of CC, DR, or ERR, TPDU
DR receipt of DC or DR (in case of collision)
TPDU
CC receipt of RJ, DT, AK, ED, EA TPDUs (or
N-DATA ACKNOWLEDGE Indication.)
DT N-DATA ACKNOWLEDGE Indication when the
(Note 1) DT TPDU was sent before or with the oldest
N-DATA which had the confirmation request
field set.
DT receipt of Data Acknowledge (AK) or
(Note 2) Reject (RJ) TPDU for which 'YR-TU-NR'
is greater than 'TPDU-NR' in the DT TPDU.
ED receipt of EA TPDU for which 'YR-TU-NR'
is equal to 'ED-TPDU-NR' in the ED TPDU. Notes:
Figure 5. Acknowledgement of TPDUs
Purpose: To restore the connection to normal after an
Network Service Primitives:
N-RESET Indication
TPDUs and Fields Used:
CR, DR, CC, DC
RJ, EA
- YR-TU-NR (7 or 31 bits)
DT
- TPDU-NR (7 or 31 bits)
ED
- ED TPDU-NR (7 or 31 bits)
Description:
After the reset of an underlying network connection,
After a network connection failure, the reassignment after
Events at the transport entity initiating reassignment:
(the transport entity immediately commences resynchronization
by sending a TPDU)
- send RJ TPDU with 'YR-TU-NR' field set to
the 'TPDU-NR' of the first unreceived DT
TPDU
- when RJ TPDU has been received retransmit any
ED TPDUs then DT TPDUs which are unacknowledged
- any ED TPDUs received which are duplicates shall
be acknowledged (by EA TPDUs) and discarded.
Events at the other transport entity:
The transport entity shall not send any TPDUs until after
NOTE: no TPDUs can be transmitted using network expedited until
- if a DR TPDU is retained, then retransmit it
- if a CC TPDU remains unacknowledged, then carry
out the data resynchronization procedure described
below
- otherwise resynchronize data:
- send RJ TPDU with 'YR-TU-NR' field set to
the 'TPDU-NR' of the first unreceived DT
TPDU
- retransmit any ED TPDUs then DT TPDUs which
are unacknowledged
- any ED TPDUs received which are duplicates
should be acknowledged (by EA TPDUs) and
discarded.
NOTE: It is possible for a transport entity using the Class 1
Purpose: Concurrent sharing of a network connection by several
TPDUs and Fields Used:
CC, DR, DC, DT, AK, ED, EA, RJ, ERR
- destination reference
Description:
This function is pervasive.
When this function is in operation, more than one transport
Every TPDU (including DT TPDUs) must carry the destination
Purpose: Regulation of flow of DT TPDUs independently of
TPDUs and Fields Used:
CR, CC, AK, RJ
- CDT (4 or 16 bits)
DT
- TPDU-NR (7 or 31 bits)
AK, RJ
- YR-TU-NR (7 or 31 bits)
- subsequence number (optional)
- flow control confirmation (optional)
Description:
The mechanism depends on the class. Thus the description can
Purpose: To detect corruption of TPDUs by the network service
TPDUs and Fields Used:
All TPDUs
- checksum (16 bits - 32 bits)
Description:
When a TPDU is to be transmited for a TC which has selected the
1. Set up the complete TPDU, including the header and
2. Initialize two variables to zero. Let these variables
3. For each octet of the TPDU, including the header,
4. Calculate the value field of the checksum parameter as
X = (((L - n) * C0) - C1) modulo 255
Y = (((L - n + 1) * (-C0)) + C1) modulo 255
NOTE
An implementation may use one's complete arithmetic as an
alternative to modulo 255 arithmetic. However, if either
of the checksum octets X and Y has the value minus zero
(i.e., 255) then it must be converted to plus zero
(i.e., 0) before being stored.
When a TPDU is received for a TC for which the checksum option
1. Initialize two variable to zero. Let these variables
2. For each octet in the received TPDU, add the value of
3. When all octets have been sequentially processed, the
NOTE
An implementation may use one's complement arithmetic as an alternative to modulo 255 arithmetic. In this case, if either C0 or C1 has the value minus zero (i.e., 255) it is to be regarded as though it was plus zero (i.e., 0)
If a checksum verification failure occurs, it is not possible
Purpose: To prevent re-use of a reference while TPDUs associated
Description: When a transport entity determines that a particular
Purpose: To cope with unsignalled loss of TPDUs by the network
TPDUs and Fields Used:
CR, CC, DR, DT, ED, AK
Description:
The description is given in the section related to class 4.
Purpose: To cope with misordering of TPDUs by the network
TPDUs and Field Used:
DT
- TPDU NR
ED
- ED TPDU NR
Description:
The description is given in the section related to class 4.
Purpose: To cope with unsignalled termination of a network
TPDUs and Fields Used:
AK
Description:
The description is given in the section related to class 4.
Purpose: To deal with invalid TPDUs.
TPDUs and Fields Used:
ERR
- reject cause
- TPDU in error (string of octets)
DR
- reason code
Description:
This function is inherent.
Any received TPDU which is invalid or which cannot be dealt with by
In general, no further action is defined for the sender of
Action to be done by the receiver depends on local implementation
1. Further action is a local implementation issue. Care
2. There are two cases in which specific action is defined
Purpose: To allow a transport connection to make use of
Description:
This function is available only in Class 4.
When this function is being used, a transport connection is
If the use of Class 4 is not accepted by the remote transport
The splitting function should only be used where the
Protocol Mechanism Variant 0 1 2 3 4
explicit * * * *
extended (1)o o o
not " m * * *
(1)
Without * * o
(non-use of) * * * * o
(1) not applicable in class 2 when the non use of explicit flow
The details of the implementation of the protocol
KEY
m mandatory function (negotiable but always implemented)
ao additional function (negotiable but not necessarily implemented). Use of this option depends on the willingness of both transport entities and availability of network service.
na not applicable.
The characteristic of this class is that it provides
The class is designed for use in association with
This class is designed to have minimum functionality.
Class 0 provides transport connections with flow
Connection shall be made in accordance with the
There is no explicit transport connection release
The connection establishment function is used
The data transfer procedures described in the
For Class 0 the standard maximum transport data
Other maximum TPDU lengths may be supported in
TSDUs are transmitted using the segmenting function.
The "implicit" variant of the release function is used.
The "treatment of protocol errors' function is used.
The implicit termination function is used and the
None
The characteristic of this class is that it
The main purpose of the class if to recover from
Selection of this class is usually based on
Class 1 provides transport connections with flow
This class provides the functionality of Class 0
Class 1 protocol mechanisms include Class 0
Class 1 provides the possibility of conveying
Each Data TPDU transmitted between transport entities for
The "explicit" variant of the release function is used.
The sending Transport entity keeps a copy of transmitted
Resynchronization may also be invoked by a transport entity
Acknowledgements are used to release copies of retained TPDUs.
Note: The credit field of the AK TPDU is
not used in this class (always Set to zero).
The variant to be used is negotiated during the
The 'assignment to network connection' and
'connection establishment' mechanisms are used. From the point at
If no DT or ED TPDU is to be sent, receipt of a CC should be
Data transfer is accomplished using the 'TPDU
After receiving a network reset, the Resynchronization
The 'Spurious Disconnect' mechanism is used to
The Expedited Data Transfer mechanism is used.
Note: (1) This method is always included in this class.
Note: (2) The EDTPDU-NR of the ED TPDU contains an
Note: (1) The use of this method is
The 'explicit' variant of the Release mechanism is used.
Receipt of an error indication by a transport
The 'Treatment of Protocol Errors' mechanism is used.
Use of network receipt confirmation.
Use of network expedited.
The characteristic of this class is to provide a
Use of Explicit Flow Control
The objective is to provide flow control to help
Non Use of Explicit Flow Control (optional)
The objective is to provide a basic transport
Class 2 provides transport connections with or
If the network resets or clears, the transport
When explicit flow control is used a credit
The connection establishment function shall be used.
Class 2 provides the possibility to convey data in the
In Class 2 each TPDU conveys a Destination Reference.
The release of a transport connection results either
The following mechanisms are provided:
Each Data TPDU transmitted between transport entities
Each Data TPDU contains a Send Sequence Number T(S).
The receiver of data TPDUs holds a count of the sequence
The non network expedited variant is used. Normal
The number of expedited data units outstanding at any
An expedited data may arrive before normal data which
See Section 6.5 for reference assignment. Receipt of
Receipt of a Disconnect Request (DR) for an unassigned
This phase is achieved by exchange of CR/CC TPDU using
The data transfer procedures described in the
The general rules defined in Section 6.3 apply.
The general rules defined in Section 6.4 apply.
In this case the data TPDU is built in accordance
On each transport connection the transmission of Data
This authorization is provided through the use of
Each Data TPDU transmitted between transport entities,
The sender of Data TPDUs holds a count of the next
Sequence numbering is performed modulo 2**n, where n
At connection establishment time both Transport
Receipt of a Data TPDU whose TPDU-NR field is not
Operations described above are summarized as follows:
T(S) = 0 T(R) = 0
Sending of Data TPDU
put T(S) into the TPDU-NR field of
the Data TPDU to be sent
T(S) = (T(S) + 1) (modulo 2**n)
Receiving of Data TPDU
TPDU-NR field of the received data TPDU which is not equal to T(R) is a protocol error.
T(R) = (T(R) + 1) (modulo 2**n)
For each transport connection and for each direction
Flow control is performed as follows:
Lower window edge = 0
Upper window edge = N (Credit received either in
CR or in CC and N < 2**p < 2** (n-1), where P is the number of
bits in credit field of CR and CC.
Send data TPDUs while T(S) is less than the upper window edge. If T(S) equals the upper window edge then wait for additional credit before sending.
If T(R) is greater than or equal to the upper window edge authorized to the sending transport entity, then the receiving transport entity shall use the Treatment of Protocol Errors function. Otherwise T(R) shall be incremented.
Sending Credit
Send AK TPDU with YR-TU-NR = T(R) and Credit equals N.
(Where N = number of additional data
TPDUs the entity is prepared to receive.)
Receiving Credit in AK.
Lower window edge = YR-TU-NR received.
Upper window edge = Lower window edge + N.
The value of the upper window edge cannot be decreased
(U-M) (mod. 2**n) > N
Provided the previous statements are respected, CDT
The procedure of expedited data transfer allows a
The expedited procedure has no effect on the transfer
To transmit expedited data, the transport entity sends
The data phase ends after a transport entity has sent
If the network resets or clears the network
For Class 2 the explicit variant of the 'release'
The 'Treatment of Protocol Error' mechanism in Section
The implicit termination mechanism is used.
Non use of explicit flow control.
Extended formats.
The characteristics of Class 3 in addition to those of
This class provides the functionality of Class 2 (with
The mechanisms used to achieve this functionality also
Class 3 mechanisms include Class 2 (with use of
The sending transport entity keeps a copy of
This is especially the case, when a failure is
Error recovery for ED TPDU is achieved by retransmission (see 7.3.5.3).
Acknowledgement is performed by use of the T(R) count. A
credit is associated with this acknowledgement which may
Credit may be reduced, by the use of the RJ TPDU.
The rules for Class 2 (with use of explicit flow
- Reception of CR will cause the transport
entity to retransmit CC.
- Reception of RJ will cause the transport
entity to transmit an RJ with a YR-TU-NR
equal to zero and enter the data phase.
- Reception of a DR will cause termination
of the transport connection as for Classes 1
and 2 (see 7.1.4).
The 'AK' variant of the Retention until
TPDU retransmission is a procedure which allows
On receipt of a RJ TPDU, a Transport entity shall
The transport entity shall not specify a T(R) in the
Additional DT TPDUs pending initial transmission may
It is possible to decrease the value of the upper
Note: In such a case the credit equal to zero
After receiving an error indication from the Network
In Class 3, the ED TPDU-NR field of the Expedited
It places in the YR-TU-NR field the value contained in
If an error indication from the Network layer is
The rules for Class 2 apply with the addition of the
Receipt of an eror indication by a transport entity,
The 'Treatment of Protocol Errors' mechanism is used.
Extended formats.
The characteristic of Class 4, in addition to those of
Class 4 has been designed to be usd in association
This class provides the functionality of Class 3, plus
This detection of errors is made by extended use of
This class additionally detects and recovers from
The network layer is assumed to provide, as an aspect
It is assumed that there is some value of transmit
Any transport entity is assumed to provide a bound for the
The local transport entity is assumed to maintain a
T1 = 2*E + X + Ar?
Where X is a value to allow for TPDU processing in the
The local transport entity is assumed to provide a
The value is clearly related to the time elapsed
Using the above values, a bound L may be established
L = 2*M+R+Ar
It is necessary to wait for a period L before reusing
(Note: In practive, the value of L may be
To protect against unsignalled breaks in the network
A transport entity maintains a time to ensure that
In class 4, the transport entity associates a response time
A TPDU may be transmitted a maximum number of times,
The following note describes the relationship between
Note:
M: maximum transit delay of the network (see
7.4.3.1)
Ar maximum acknowledgement time of the remote transport entity (see 7.4.3.3)
R: maximum local retransmission time (see
7.4.3.5)
N: maximum number of transmission for a single
TPDU (see 7.4.3.9)
L: maximum time for a TPDU to be valid (see
7.4.3.6)
R = T * (N-1)
1
R
*
M
L *
A =2*M + A + R
R R
*
M
t t
E: average transit delay for the network
(E<<M)
X: TPDU processing time
T : average time from sending a TPDU until
1 the receipt of its acknowledgement (see
7.4.3.4)
A : maximum acknowledgement time of the
R remote transport entity (see 7.4.3.3)
X
E
A T = 2*E + X + A
R 1 R
E
In Class 4 sequence numbering is applied to certain
The length of sequence numbers may be negotiated at
The following features pertain to connection
TPDU by immediately sending a DT, ED or AK TPDU.
When a transport entity transmits a CR TPDU it starts
An incoming connection request is processed as for Class 3
When a transport entity transmits a CC TPDU it starts
When a CC TPDU is received, the receiving transport entity
When an AK, DT or ED TPDU is received the receiving
When a DR TPDU is received in response to a CR TPDU,
The CR and CC TPDUs may allocate an initial credit value
A transport entity may transmit the value it intends
The receiving transport entity is responsible for
DT TPDUs received out of sequence must not be
AK TPDUs also contain information allowing the
Duplicate TPDUs can be detected because the T(S) value
Duplicated DT TPDUs must be acknowledged, since the
The data contained in a duplicated DT TPDU should be
When a transport entity has some outstanding DT or ED
DT TPDUs which fall beyond the current window (due to
Note: This requirement can be met by different
means, for example.
if the transport entity transmits a DT TPDU requiring acknowledgement, it starts timer T1,
if the transport entity receives a TPDU that
acknowledges one of the TPDUs to be
acknowledged, timer T1 is restarted,
if the transport entity receives a TPDU that
acknowledges the last TPDU to be
acknowledged, timer T1 is stopped.
For the decision whether the retransmission timer T1
A transport entity operating class 4 must acknowledge
There are two TPDU types that must be acknowledged:
An AK TPDU has the sequence number of the next DT
An AK TPDU may be repeated at any time, using the
Flow control in Class 4 is subject to the same
A receiving transport entity may send an AK TPDU at
To ensure the synchronization of flow control
In Class 4 the window size can be reduced in any AK
An AK TPDU should contain the subsequence parameter
When an AK TPDU is transmitted whose sequence
When an AK TPDU is received, it must be processed
(i.e., its contents made use of) only if:
When an AK TPDU is transmitted which opens a closed
If a transport entity receives an AK TPDU containing
A transport entity need not retransmit window
The assumption that the DT TPDU will be retransmitted
Upon receipt of an AK TPDU which increases the upper
The procedure for expedited data is as for Class 3,
The ED TPDU has a sequence number which is allocated
Upon receipt of an unduplicated ED TPDU, a transport
The sender of an ED TPDU shall not send any new DT
If the Inactivity Time I passes without receipt of
Note: It is likely that the release procedure
The rules for class 3 apply. The DR TPDU is subject
The DC TPDU is sent only in response to a DR TPDU, and
The DC TPDU when received allows the transport entity
The DR TPDU does not carry a sequence number. Any
When a transport connection is terminated, the
After an event involving loss of transport entity
If a DC TPDU is received for a local reference which
The 'Treatment of Protocol Erorrs' function is used.
Non use of checksum.
Use of extended formats.
Classes
0 1 2 3 4 Sect. Code
As defined in the previous sections, all the Transport
There are tao types of TPDUs:
------------ -------------- -------------- --------
LI| | | | ... | | | .... | | | .... |
------------ -------------- -------------- --------
<--- Fixed Part -----><-- Variable Part->
(including checksum
where applicable)
<--------------Header-------------------><----Data Field->
This field is contained in the first octet of the
The fixed part contains frequently occurring functions
This field contains the TPDU code and is contained in
1110 xxxx Connecting Request
1101 xxxx Connection Confirm
0101 xxxx Reject
0110 xxxx Data Acknowledgement
Where xxxx (bits 4-1) is used to signal the CDT.
Any other bit pattern may be used to define a TPDU Code. Only those codes defined in Section 8.1 are currently valid.
The variable part is used to define parameters
Since the currently defined minimum fixed part for
Each parameter contained within the variable part is
Bits 8 7 6 5 4 3 2 1
Octets
n+1 Parameter Code
n+2 Parameter Length
Indication (e.g."m")
n+3 Parameter Value
n+2+m
All TPDU types may contain a checksum parameter in
Parameter Code: 1100 0011
Parameter Length: 2
Parameter Value: Result of checksum algorithm.
This algorithm is specified in
Section 6.18.
1 2 3 4 5 6 7 8 p p+1
LI CR CDT 00000000 00000000 SOURCE- class VARIABLE USER DATA
REFERENCE options PART
See Section 8.2.1
CR: Connection Request Code: 1110
CDT: Initial Credit Allocation (set to 0000 in
Classes 0 and 1 when specified as preferred class).
SOURCE REFERENCE: Reference selected by the transport
entity initiating the CR TPDU to
identify the requested TC.
CLASSES: Bits 8-5 octer 7 defines the preferred Transport
Protocol class to be operated over the requested
TC. This field may take on one of the following
values.
0000 Class 0
0001 Class 1
0010 Class 2
0011 Class 3
0100 Class 4
The CR contains the first choice of class in the fixed
Bits 4-1 of octet 7 are reserved for options to be
The use of bits 4-1 is as follows:
BIT OPTION
4 0 always
3 0 always
2 =0 use of normal formats
=1 use of extended formats
1 =0 use of explicit flow control
in Class 2
=1 no use of explicit flow
control in Class 2
Note:
explicit flow control in Class 2' (bit 1 = 1).
The following parameters are permitted in the variable part:
Parameter code 11000001 for the identifier of the Calling TSAP.
11000010 for the identifier of the Called TSAP.
If a TSPA-ID is given in the request it may be
This parameter defines the proposed maximum TPDU size (in octets including the header) to be used over the requested
Parameter Code 11000000
Parameter value field
00001101 8192 octets (not allowed in Class 0 of 1)
00001100 4096 octets (not allowed in Class 0 of 1)
00001011 2048 octets
00001010 1024 octets
00001001 512 octets
00001000 256 octets
00000111 128 octets
Default value is 00000111 (128 octets)
Version Number (not used in Class 0)
Parameter code 11000100
Parameter value field 00000001
Default value 00000001
Default value 00000001 (not used in Class 0)
This parameter is user defined.
Parameter code 11000101
Parameter value and length field are user defined
See Section 8.2.3.1
This parameter must always be present in a CR TPDU requesting Class 4, even if the checksum selection parameter is used to request non-use of the checksum facility.
This parameter defines the selection to be made as to whether or not additional options are to be used.
Parameter code 11000110
Parameter length: 1
Parameter value field:
Bits related to options particular to one class are not meaningful and may take any value in the other classes.
BITS OPTION
4 1= Use of network expedited in Class 1
0= Non use of network expedited in Class 1
3 1= Use of receipt confirmation in Class 1
0= Use of explicit AK variant in Class 1
2 0= Checksums are to be used in Class 4
1= Checksums are not to be used in Class 4
1 1= Use of transport expedited data transfer
service
0= No use of transport expedited data transfer
service
Default falue is 00000001
Parameter code 11000111
Parameter length n
Parameter value encoded as a sequence of single
This parameter conveys the maximum acknowledge time AL to the remote transport entity. It is an indication only, and is not subject to negotiation (see section 7.4.5.3).
Parameter Code 10000101
Parameter Value field: n a binary number (2 octets)
n is the maximum acknowledge time, expressed in
milliseconds.
Length : 12
1st 3 octets : Targer value,
calling-called user
direction
2nd 3 octets : Min. acceptable,
calling-called
user direction
3rd 3 octets : Target value,
called-calling user
direction
4th 3 octets : Min. acceptable,
called-calling user
direction
Values are expressed in octets per second.
Length : 3
1st octet : Target value, power
of 10
2nd octet : Min. acceptable,
power of 10
3rd octet : TSDU size of
interest, expressed
as a power of 2
Length : 2
Value : Integer
Length : 8
1st 2 octets : Target value,
calling-called user
direction
2nd 2 octets : Max. acceptable,
calling-called user
direction.
3rd 2 octets : Target value,
called-calling user
direction.
4th 2 octets : Max. acceptable,
called-calling user
direction
Values are expressed in milliseconds.
No user data are permitted in class 0, and are
1 2 3 4 5 6 7 8 p p+1
LI CC CDT DST-REF SOURCE-REF class VARIABLE USER DATA
1101 options Part
See Section 8.2.1.
CC : Connection Confirm
Code: 1101
CDT : Initial Credit
Allocation (set to
0000 in Classes 0
and 1).
DST-REFERENCE : Reference
identifying the
requested transport
connection at the
remote transport
entity.
SOURCE REFERENCE : Reference selected
by the transport
entity initiating
the CC TPDU to
identify the confirmed TC.
CLASSES : Defines the selected
transport protocol class to
be operated over the accepted
TC according to the
negotiation rules specified
in Section 6.5.
See Section 8.3.4
See Section 8.3.5
10000000 PART
See Section 8.2.1
DR : Disconnect Request Code: 1000
DST-REFERENCE : Reference identifying the TC at
the remote transport entity.
SOURCE REFERENCE : Reference identifying the TC at
the transport entity initiating
the command. Value zero when
reference is unassigned.
REASON : Defines the reason for
disconnecting the TC. This field
shall take one of the following
values:
The following values can be used for class 1 to 4:
128 + 0 - Normal disconnect
initiated by session entity.
128 + 1 - Remote transport entity congestion at connect request time
*128 + 2 - Connection negotiation failed
(i.e. proposed class(es) not supported).
128 + 3 - Duplicated connection detected
128 + 4 - Mismatched references
128 + 5 - Protocol error
128 + 6 - Not used
128 + 7 - Reference overflow
128 + 8 - Connection request refused on this network connection
128 + 9 - Not used
128 + 10 - Header or parameter length invalid
The following values can be used for all classes.
0 - Reason not specified
1 - Congested at TSAP
*2 Session entity not attached to TSAP
*3 Address unknown
Note: Reasons marked with '*' may be reported to
the TS-user as 'persistent', other reasons
as 'transient'.
Parameter code: 11100000
Parameter Value Field: Additional information. This field is intended to be used by the transport service provider for internal purposes.
Not allowed in class 0,
This field may not exceed 64 octers and is used
(Not used in Class 0)
1 2 3 4 5 6 7 p
LI DST-REFERENCE SOURCE-REFERENCE Variable Part
11000000
See Section 8.2.1
DC : Disconnect Confirm Code: 1100
DST-REFERENCE : See Section 8.3.3
SOURCE-REFERENCE: See Section 8.4.3
Checksum (see 8.2.3.1)
Normal Format for Class 0 to 1
1 2 3 4 5
LI DT E TPDU-NR User Data
11110000 0
T
Normal format for Class 2, 3 and 4
11110000 O
T
Extended Format for optional use in Classes 2,3 and 4
1 2 3 4 5,6,7,8 9 p p+1
LI DT DST-REFERENCE E TPDU-NR Variable User Data
11110000 O
T
(Classes 0 to 1 : - Octets 2 to 3; classes 2,3,4
DT : Data Transfer Code: 1111
DST-REFERENCE : See Section 8.4.3
EOT : When set to ONE, indicates that
the current DT TPDU is the last
Data Unit of a complete DT TPDU
sequence (End of TSDU).
TPDU-NR : TPDU Send Sequence Number (Zero in
Class 0), may take any value in
Class 2 without explicit flow
control.
Checksum (See 8.2.3.1)
This field contains data of the TSDU being transmitted.
(Not used in Class 2 when "no explicit flow
control" option is selected.)
Normal Format
1 2 3 4 EOT 5 6 p p + 1
LI ED DST-REFERENCE EDTPDU-NR Variable Part User Data
00010000 1.
Extended Format
1 2 3 4 EOT 5,6,7,8 9 p p + 1
LI ED DST-REFERENCE EDTPDU-NR Variable Part User Data
00010000 1.
See Section 8.2.1
(Octets 2 to 5, normal format: 2 to 8, extended format)
ED: Expedited Data command code: 0001
DST-REFERENCE: Same as Section 8.4.3
ED TPDU-NR: Expedited TPDU identification number
(Classes 1, 3, and 4; may take any value in
Class 2).
Checksum (See 8.2.3.1)
This field contains an expedited TSDU. Up to 16 octets.
Not applicable for Class 0 and Class 2 when the "no
Flow Control Confirmation (class 4 only - optionally used)
This parameter contains a copy of the information received
Parameter Code: 100001011
Parameter value field 64 bits, used as follows:
(Not applicable for Class 0 and Class 2 when the no explicit flow control option is selected).
Normal Format
1 2 3 4 5 6 p
LI EA DST-REFERENCE . YR-TU-NR Variable Part
00100000 0.
Extended Format
1 2 3 4 5,6,7,8 9 p
LI EA DST-REFERENCE . YR-TU-NR Variable Part
00100000 0.
Normal Format
1 2 3 4 5 6 p
LI AK CDT DST-REFERENCE . YR-TU-NR Variable Part
0110 0.
Extended Format
1 2 3 4 5,6,7,8 9,10 11 p
LI AK DST-REFERENCE . YR-TU-NR CDT Variable Part
01100000 0.
See Section 8.2.1
(Octets 2 to 5, normal format: 2 to 10, extended format)
AK: Acknowledgement command code: 0110
CDT: Credit Value (set to 0 in class 1)
DST-REFERENCE: Same as Section 8.4.3
YR-TU-NR: Sequence number indicating the next expected
DT TPDU number.
Checksum (See 8.2.3.1)
Sub-sequence number (class 4 only - optionally used).
This parameter is used to ensure that AK TPDUs are
processed in the correct sequence. If it is absent, this is
equivalent to transmitting the parameter with a value of zero.
Parameter Code: 100001010
Parameter Value: 16-bit sub-sequence number.
See Section 8.2.1
(Octets 2 to 5, normal format; 2 to 8, extended
format)
EA: Acknowledgement command code: 0010
DST-REFERENCE: Same as Section 8.4.3
YR-TU-NR: Identification of the ED TPDU being
acknowledged. May take any value in Class 2.
Checksum (See 8.2.3.1)
(Not used in Classes 0, 2, and 4)
Normal Format
1 2 3 4 EOT 5 6 p
LI RJ CDT DST-REFERENCE . YR-TU-NR Variable Part
0101 0.
Extended Format
1 2 3 4 EOT 5,6,7,8 9,10 11 p
LI RJ DST-REFERENCE . YR-TU-NR CDT Variable
0l0l0000 Part
See Section 8.2.1
(Octets 2 to 5, normal format; 2 to 10, extended format)
RJ: Reject Command Code: 0101
CDT: Credit Value (set to 0 in class 1)
DST-REFERENCE: Same as Section 8.4.3
YR-TU-NR: Sequence number indicating the next expected
TPDU from which retransmission should occur.
No parameters exclusive to this TPDU type.
1 2 3 4 5 6
LI ERR DST-REFERENCE Reject Parameters
01110000 Cause
See Section 8.2.1
ERR: TPDU Error Code: 0111
DST-REFERENCE: Same as Section 8.4.3
REJECT CAUSE:
00000000 Reason not specified
00000001 Invalid parameter code
00000010 Invalid TPDU type
00000011 Invalid parameter value
Parameter Code: 1100001
Parameter Value Field:
Contains the bit pattern of the rejected TPDU up to and
Checksum (See Section 8.2.3.1)
Implementations claiming conformance to this standard shall:
a) If Class 3 or Class 4 is implemented then Class 2 must be implemented
b) If Class 1 is implemented then Class 0 must be implemented.
Class
0 1 2 3 4
TPDU with Checksum no no no no m
TPDU without Checksum m m m m o
Expedited Data Transfer no m m m m
No Expedited Data Transfer m m m m m
Flow Control in Class 2 no no m no no
No Flow Control in Class 2 no no o no no
7 bits format (normal) m m m m m
31 bits format (extended) no no o o o
Use of Receipt Confirmation in no o no no no
Class 1
No use of Receipt Confirmation in no m no no no
Class 1
Use of Network Expedited in Class no o no no no
1, if T-EXPEDITED DATA necessary
No use of Network Expedited in no m no no no
Class 1, if T-EXPEDITED DATA necessary
m - mandatory: An implementation must provide for this
option
no - An implementation shall not provide
this option.
sizes can be supported in Classes 1,2,3, or 4, then all permitted TPDU sizes between the maximum and 128 octets shall be supported.
a) which class of protocol is supported.
b) which additional options indicated by the letter
'o' in the above table are supported.