分享
 
 
 

RFC892 - ISO Transport Protocol specification

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group ISO

Request for Comments: 892 December 1983

ISO Transport Protocol Specification

This document is distributed as an RFCfor information only.

It does not specify a standard for the ARPA Internet.

Note: This document appeared in:

ISO/TC97/SC16/WG6. Information Processing Systems - Open Systems

Interconnection - Transport Protocol Specification. Computer

Communication Review 12, 3-4 (July/October 1982), pp. 24-67.

and differs from it only in format.

Table of Contents

0. IntrodUCtion

1. Scope and Field of Application

2. References

Section One - General

3. Definitions

4. Symbols and Abbreviations

5. Overview

5.1 Service provided by the transport layer

5.2 Service assumed from the network layer

5.3 Functions of the transport layer

5.4 Model of the transport layer

Section Two - Transport Protocol Specification

6. Protocol Mechanisms

6.1 Assignment to network connection

6.2 Transport protocol data unit (TPDU) transfer

6.3 Data TPDU length and segmenting

6.4 Concatenation and separation

6.5 Connection establishment

6.6 Connection refusal

6.7 Release

6.8 Implicit termination

6.9 Spurious disconnect

6.10 Data TPDU numbering

6.11 EXPedited data transfer

6.12 Reassignment

6.13 Reassignment after failure

ISO Transport Protocol Specification Page 2

International Standards Organization

6.14 Retention until acknowledgement of TPDUs

6.15 Resynchronization

6.16 Multiplexing and demultiplexing

6.17 Explicit flow control

6.18 Checksum

6.19 Frozen references

6.20 Retransmission on timeout

6.21 Resequencing

6.22 Inactivity control

6.23 Treatment of protocol errors

6.24 Splitting and recombining

7. Protocol Classes

7.0 Protocol description of class 0: simple class

7.1 Protocol description of class 1: basic error recovery class

7.2 Protocol description of class 2: multiplexing class

7.3 Protocol description of class 3: error recovery and multiplexing

class

7.4 Protocol description of class 4: error detection and recovery class

8. Encoding

8.1 Summary

8.2 Structure

8.3 Connection Request (CR)

8.4 Connection Confirm (CC)

8.5 Disconnect Request (DR)

8.6 Disconnect Confirm (DC)

8.7 Data (DT

8.8 Expedited Data (ED)

8.9 Data Acknowledgement (AK)

8.10 Expedited Data Acknowledgement (EA)

8.11 Reject (RJ)

8.12 TPDU Error (ERR)

Section Three - Conformance

9. Conformance

0. Introduction

The Transport Protocol Standard is one of a set of International

Standards produced to facilitate the interconection of computer

systems. The set of standards covers the services and protocols

required to achieve such interconnection.

The Transport Protocol Standard is positioned with respect to

other related standards by the layers defined in the Reference Model

for Open Systems Interconnection (ISO 7498). It is most closely

related to, and lies within the field of application of the Transport

ISO Transport Protocol Specification Page 3

International Standards Organization

Service Standard (DP aaaa). It also uses and makes reference to the

Network Service Standard (DP bbbb), whose provisions it assumes in

order to accomplish the transport protocol's aims. The

interrelationship of these standards is depicted in Figure 1.

-----------------------------------TRANSPORT SERVICE DEFINITION-----

Transport --Reference to aims---------------

Protocol

Specification --Reference to assumptions--------

------------------------------------NETWORK SERVICE DEFINITION------

Figure 1 - Relationship between the transport protocol and adjacent

services

The standard specifies a common encoding and a number of

classes of transport protocol procedures to be used with different

network qualities of service.

It is intended that the Transport Protocol should be simple

but general enough to cater for the total range of Network Service

qualities possible, without restricting future extensions.

The protocol is structured to give rise to classes of protocol

which are designed to minimize possible incompatibilities and

implementation costs.

The classes are selectable with respect to the Transport and

Network Services in providing the required quality of service for the

interconnection of two session entities (note that each class provides

a different set of functions for enhancement of service qualities).

This protocol standard is concerned with optimisation of network

tariffs and the following qualities of service:

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

for implementors. Since the protocol is complex, the document contains

much material which is advisory or descriptive, but mandatory

requirements on implementations are clearly identified.

It should be noted that, as the number of valid protocol sequences

is very large, it is not possible with current technology to verify that an

implementation will operate the protocol defined in this document

correctly under all circumstances. It is possible by means of testing

ISO Transport Protocol Specification Page 4

International Standards Organization

to establish confidence that an implementation correctly operates the

protocol in a representative sample of circumstances. It is, however,

intended that this standard can be used in circumstances where two

implementations fail to communicate in order to determine whether one

or both have failed to operate the protocol correctly.

The variations and options available within this standard are

essential to enable a Transport Service to be provided for a wide

variety of applications over a variety of network qualities. Thus, a

minimally conforming implementation will not be suitable for use in

all possible circumstances. It is important therefore to qualify all

references to this standard with statements of the options provided or

required or with statements of the intended purpose of provision or

use.

1. Scope and Field of Application

1.1 This International Standard Specifies:

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.

1.2 The procedures are defined in terms of:

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

ISO Transport Protocol Specification Page 5

International Standards Organization

service primitives.

1.3 This International Standard is applicable to equipment which

supports the Transport Layer of the OSI Reference Model and which

wishes to interconnect in an open systems environment.

2. References

ISO 7498 Information processing systems - Open systems inter-

connection - Basic Reference Model

DP aaaa Information processing systems - Open systems inter-

connection - Transport service definition (N1169).

DP bbbb Information processing systems - Open systems inter-

connection - Connection-oriented network service

definition (N729)

Section One - General

3. Definitions

3.1 Equipment: Hardware or software or a combination of both; it

need not be physically distinct within a computer system.

3.2 Transport service user: An abstract representation of the

totality of those entities within a single system that make

use of the transport service.

3.3 Network service provider: An abstract machine which models

the totality of the entities providing the network service,

as viewed by a transport entity.

Explanatory Notes

1. Definitions 3.1 to 3.3 relate to terms used in clause 1.

2. This standard makes use of the terms, concepts, and

definition defined in ISO 7498.

4. Symbols and Abbreviations

4.1 Data Units

TPDU Transport protocol data unit

TSDU Transport service data unit

NSDU Network service data unit

4.2 Types of transport protocol data units

ISO Transport Protocol Specification Page 6

International Standards Organization

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

4.3 TPDU fields

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)

4.4 Parameters

T (R) Receive sequence number

T (S) Send sequence number

4.5 Timer variables

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

4.6 Other variables

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

ISO Transport Protocol Specification Page 7

International Standards Organization

4.7 Miscellaneous

TS-user Transport service user

TSAP Transport service access point

NSAP Network service access point

TC Transport connection

NC Network Connection

5. Overview of the Transport Protocol

5.1 Service Provided by the Transport Layer

The services provided by the protocol described in this

document are connection-oriented services. They are defined in

document DP aaaa. The Transport Service primitives provided are

summarized in Figure 1.

ISO Transport Protocol Specification Page 8

International Standards Organization

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

5.2 Service Assumed from the Network Layer

The transport protocol described in this document assumes of

the Network Services described in DP bbbb. The Network Service

primitives used are summarized in Figure 2.

ISO Transport Protocol Specification Page 9

International Standards Organization

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

ACKNOWLEDGE Indication

------------------------------------------------------------------------

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

5.3 Functions of the Transport Layer

5.3.1 Connection Oriented Functions

5.3.1.1 Overview of Functions

The functions in the transport layer are at least those

necessary to bridge the gap between the services available from the

network layer and those to be offered to the transport users.

The functions in the transport layer are concerned with the

enhancement of quality of service, including all ASPects of cost

optimization. They are described below; the descriptions are grouped

into those concerned with the establishment phase, the data transfer

ISO Transport Protocol Specification Page 10

International Standards Organization

phase, and the release phase.

5.3.1.1.1 Establishment Phase

The goal of the establishment phase is to establish a

transport connection, i.e., between two transport users. The

functions of transport layer during this phase must match the

requested class of services with the services provided by the network

layer as follows:

o Select network service which best matches the requirement

of the TS-user taking into account charges for various

services.

o Decide whether to multiplex multiple transport connection

onto a single network connection.

o Establish the optimum TPDU size.

o Select the functions that will be operational upon entering

the data transfer phase.

o Map transport addresses onto network addresses.

o Provide a means to distinguish between two different

transport connections.

o Transportation of user's data.

5.3.1.1.2 Data Transfer Phase

The purpose of the data transfer phase is to permit two-way

simultaneous transport of TSDUs between the session entities connected

by the transport connection. This purpose is achieved by means of

two-way simultaneous communication in the Transport protocol and by

the following functions. Each of these functions is used or not used

in accordance with the result of the selection performed in the

establishment phase.

o Concatenation and Separation

A function used to collect several TPDUs into a single

NSDU; the destination transport entity separates the TPDUs.

o Segmenting and Reassembling

The splitting of a single data TSDU into multiple TPDUs

which are reassembled into their original format at the

destination.

ISO Transport Protocol Specification Page 11

International Standards Organization

o Multiplexing and Demultiplexing

A function used to share a single network connection

between two or more transport connections.

o Splitting and Recombing

A function allowing the simultaneous use of two or more

network connections to support the same transport connec-

tion.

o Flow Control

A function used to regulate the flow of TPDUs between two

transport entities on one transport connection.

o Error Detection

A function used to detect the loss, corruption,

duplication, misordering or misdelivery of TPDUs.

o Transport Connection Identification

A means to uniquely identify a transport connection

between the pair of transport entities supporting the

connection during the lifetime of the transport

connection.

o Error Recovery

A function used to recover from detected and signalled

errors.

o Expedited Data

A function used to bypass the flow control of normal data

TPDU. Expedited data TPDUs' flow is controlled by

separate flow control.

o TSDU Delimiting

A function used to determine the beginning and ending of

a TSDU.

5.3.1.1.3 Release Phase

A function to provide a disconnection of the transport

connection, regardless of the current activity.

5.3.1.2 Classes and Options

ISO Transport Protocol Specification Page 12

International Standards Organization

A class defines a set of functions. In this protocol five

classes are defined:

o Class 0: Simple Class

o Class 1: Basic Error Recovery Class

o Class 2: Multiplexing Class

o Class 3: Error Recovery and Multiplexing Class

o Class 4: Error Detection and Recovery Class.

Note that with the exception of classes 0 and 1, transport

connections of different class may be multiplexed together

onto the same network connection.

5.3.1.2.2 Options within Classes

Options define potential functions which may be used within

a class.

5.3.1.2.3 Negotiation

Classes and options within classes are negotiated during

the connection establishment phase.

5.3.1.2.4 Choice of the Class of Protocol

The choice will be made by the transport entities according

to:

o the users requirement expressed via T-CONNECT service

primitives. In particular, for the choice of the

class of protocol, the following rules apply:

- 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.

o the quality of the available Network services;

o the user required service versus cost ratio

acceptable for the transport user.

The following is a classification of network services in terms

of quality with respect to error behavior relative to the user

requirements. Its main purpose is to provide a basis for the decision

regarding which class of transport connection should be used on top of

ISO Transport Protocol Specification Page 13

International Standards Organization

a given network connection.

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

quality of service provided by particular Network connections.

5.3.1.3 Potential Functions

The protocol described in this document does not include the

following set of functions which have been identified as potential

transport layer functions:

o provision for encryption

o provision for accounting mechanisms

o provision for status exchanges and monitoring of quality

of service

o provision for blocking

o temporary release of network connections

5.4 Model of the Transport Layer

TSAP TSAP

Transport Protocol Transport Protocol

Entity Entity

NSAP ------- NSAP -------

(NSAP) (NSAP)

---------------------------------

-----------------------------------

A Transport Protocol entity within the Transport Layer

communicates with a Transport User through a TSAP by means of the

ISO Transport Protocol Specification Page 14

International Standards Organization

service primitives as defined by the transport service definition DP

aaaa. Service primitives will cause or be the result of Transport

Protocol Data Unit exchanges between the peer Transport Protocol

entities supporting a Transport Connection. These protocol exchanges

are effected using the services of the Network Layer as defined by the

Network Service Definition DP bbbb through one or more NSAPs.

Transport connection endpoints are identified in end systems

by an internal, implementation dependent, mechanism so that the

Transport User and the Transport Protocol entity can refer to each

Transport connection.

Section Two - Transport Protocol Specification

6. Protocol Mechanisms

Several functions are described as 'inherent' or 'pervasive'.

Inherent functions must be invoked for every transport connection.

Pervasive functions are optional, but if one is invoked for the first

transport connection over a network connection, it must also be invoked

for any and all other transport connections which use that network

connection during its lifetime.

6.1 Assignment to Network Connection

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

be assigned to one (or more if splitting function is being used)

network connection(s). Both transport entities involved must become

aware of this assignment. A transport connection may be assigned to a

suitable existing network connection; one or more new network

connections may also be created for the purpose.

An existing network connection, which connects the relevant

transport entities, is unsuitable for assignment of a transport

connection if, for example:

o the quality of service needed for the transport connection

can not be met by using or enhancing the network

ISO Transport Protocol Specification Page 15

International Standards Organization

connection.

o the protocol class preferred or in use for the transport

connection is incompatible with the current usage of the

network connection as regards the use of pervasive

functions (e.g., multiplexing).

When a new network connection is created, the quality of

service requested is a local matter, though it will normally be

related to the requirements of transport connection(s) expected to be

assigned to it.

A Network Connection with no transport connections will be

available after initial establishment or because explicit

disconnection of all the transport connections previously assigned to

it has taken place. Either Transport entity may as a local

matter choose to disconnect the Network Connection or assign other

Transport Connections to it.

6.2 Transport Protocol Data Unit (TPDU) Transfer

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

protocol are listed in Figure 3.

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

ISO Transport Protocol Specification Page 16

International Standards Organization

TPDUs are conveyed using the NS-User data parameters of the

Network Service primitives, primarily with the N-DATA, but also with

N-EXPEDITED primitives.

Transport entities shall accept all permissible assignments and

may issue any permissible assignments. The permissible assignments of

TPDUs to these primitives are shown in Figure 4. Concatenation of

TPDUs is also permitted (see section 6.4).

Primitive Applicable TPDUs Note

N-DATA CR, CC, DR, DT, ED,

AK, EA, RJ, DC, ERR

N-EXPEDITED ED, EA 1

Notes:

1. This assignment is permissible only when using class 1 and when

the network expedited variant has been agreed.

Figure 4. Network Service Primitives which can convey TPDUs.

6.3 Data TPDU Length and Segmenting

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

up to an agreed maximum as negotiated at connection time.

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

TSDU.

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

ISO Transport Protocol Specification Page 17

International Standards Organization

either a single category 1 DT TPDU or consecutive category 2 followed

by a category 1 DT TPDU.

6.4 Concatenation and Separation

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

TPDUs or Control TPDUs. Control TPDUs may or may not contain a data

field. For TPDUs containing data the length of the data field is

indicated by the length of the NSDU. These provisions permit any

number of Control TPDUs that may not contain data to be concatenated

with a single control TPDU which may contain data or with a single

Data TPDU. The control TPDUs without data must precede the TPDU with

data, if any. The number of TPDUs so concatenated is terminated by

the end of the NSDU.

The concatenated set of TPDUs may be for the same or different

transport connections. An implementation shall accept concatenated

TPDUs and may concatenate TPDUs before transmission. The transport

entity shall not send a concatenated set of TPDUs which exceeds twice

the overall maximum TPDU length for all the TCs assigned to the

network connection.

6.5 Connection Establishment

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

ISO Transport Protocol Specification Page 18

International Standards Organization

- 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

transport entity (the initiator) transmitting a Connection Request

(CR) TPDU to the other transport entity (the responder), which replies

with a Connection Confirm (CC) TPDU. Before sending the CR TPDU, the

initiator assigns the transport connection being created to one (or

more if the splitting function is being used) network connection(s).

It is this set of network connections over which the TPDUs are sent.

During this exchange, all information and parameters needed for the

transport entities to operate must be exchanged or negotiated.

The following information is exchanged:

o references. Each transport entity chooses a reference which

is 16 bits long and which is arbitrary except for the following

restrictions:

- 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

Reference which the partner will use. This mechanism is symmetrical

and therefore avoids the need to assign a status of master or slave to

partners and avoids call collision. This mechanism also provides

identification of the transport connection independent of the network

connection. The range of References used for transport connections, in

a given transport entity, is a local system parameter.

o addresses (optional). Indicate the calling and called

transport service access points. When either network

address unambiguously defines the transport address this

information may be omitted.

o initial credit. Only relevant for classes which include

the Explicit Flow Control Function.

ISO Transport Protocol Specification Page 19

International Standards Organization

o user data. Not available in class 0. Up to 32 octets in

in other classes.

The following negotiations take place:

o protocol class. The initiator shall propose a preferred

class and any number of alternatives. (Except that no alternatives are

allowed when class 0 is the preference.) The initiator should assume

when it sends the CR TPDU that its preferred class will be agreed to,

and commence the functions associated with that class.

Note: This means, for example, that when a class which

includes resynchronization (see "Resynchronization", Section 6.15) is

preferred, resynchronization will occur if a reset is signalled during

connection establishment.

When the responder has decided which class is to be used, it

shall indicate this in the CC TPDU and shall invoke the appropriate

functions for the class. The responder may select the preferred

class, or any of the alternative classes or may select class 0 if

class 1 is proposed or class 2 if class 3 or 4 is proposed. (see

Section 9)

If the preferred class is not selected, then on receipt of the

CC TPDU, the initiator shall adjust its functions accordingly.

o TPDU Size. The initiator may propose a maximum size for

TPDUs, and the responder may accept this value or respond with any

value between the proposed value and 128 in the set of values

available (see "Encoding", Section 8).

o sequence number length. Either normal or extended is

available. When the sequence number is extended, the credit field (if

applicable) is also extended.

o checksum selection. This defines whether or not TPDUs of

the connection are to include a checksum.

o version number. This defines the version of the transport

protocol standard used for this connection.

o security parameter. This parameter and its semantics are

user defined.

o quality of service parameter. This defines the throughput,

delay, priority and residual error rate.

o The non-use of explicit flow control in class 2 is

negotiated.

ISO Transport Protocol Specification Page 20

International Standards Organization

o The use of Network Receipt Confirmation and Network

expedited is negotiated when class 1 is to be used.

The negotiation rules for the options are such that the

initiator may propose either to use or not to use the option. The

responder may either accept the proposed choice or select the

mandatory alternative defined in Section 9.

During the establishment phase of the transport connection,

the use of the expedited data option field of CR/CC allows both

Transport Service user to negotiate the use or non use of the

expedited data transport service as described in the transport service

definitions.

The following table summarizes the negotiation possibilities

for the options.

Proposition Made Possible

by the Initiator Selection by

Option the Responder

Transport expedited data Yes Yes or No

transfer service No No

Use of receipt confir- Yes Yes or No

mation (class 1 only) No No

Use of the network Yes Yes or No

expedited variant No No

(class 1 only)

Non use of checksum Yes Yes or No

(class 4 only) No No

Non use of explicit Yes Yes or No

flow control (class 2 only) No No

Use of extended format Yes Yes or No

No No

In class 2, whenever a transport entity requests or agrees to

the Transport Expedited data transfer service or to the use of

extended formats, it must also request or agree (respectively) to the

use of explicit flow control.

6.6 Connection Refusal

Purpose: Refusal of the transport connection.

TPDUs and fields used:

ISO Transport Protocol Specification Page 21

International Standards Organization

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

transport entity shall respond to the CR TPDU with a DR TPDU. The

clearing reason shall indicate why the connection was not accepted.

The source reference field in the DR TPDU is set to zero to indicate

an unassigned reference.

If the CR is regarded as an invalid TPDU, the called transport

entity will respond by sending an ERR TPDU. On receipt of this TPDU,

the calling entity will regard the connection as closed.

6.7 Release

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

a transport connection by disconnecting the network connection to

which it is assigned. Similarly when a transport entity is informed

that the network connection has been disconnected by the peer

transport entity, this should be considered as a transport

disconnect.

ISO Transport Protocol Specification Page 22

International Standards Organization

In the 'explicit' variant, either transport entity transmits a

Disconnect Request (DR) TPDU, and the other responds with a Disconnect

Confirm (DC) TPDU. When the DC TPDU is sent or received by a

transport entity, that entity should consider the transport connection

not to exist (note 1). After the sending of a DR TPDU, other TPDUs

received before the DC TPDU are ignored. It is possible that a

disconnect collision will occur, when both transport entities send a

DR TPDU at about the same time. This results in each transport entity

receiving a DR, after sending one. Each transport entity shall

consider the received DR TPDU as a confirmation of its DR TPDU, and

shall not send or expect to receive a DC TPDU.

The DR can convey a limited amount (up to 64 octets) of data.

6.8 Implicit Termination

Purpose: Termination of a Transport Connection on the

occurrence of a signalled error for which recovery functions are not

operative.

Network Service Primitives:

N-DISCONNECT Indication

N-RESET Indication

Description:

When, on the network connection to which a Transport

Connection is assigned, an N-DISCONNECT or N-RESET Indication occurs,

both transport entities shall consider that the transport connection

no longer exists, and so inform the session entities.

Note 1:

When a connection has been released, after the exchange of DR

and DC, the reference can be re-used immediately (except in Class 4,

where the Frozen Reference function is used, see Section 6.19). This

is because the releasing transport entity does not know with certainty

that the remote transport entity considers use of the reference to be

ended. Therefore, the reference should not be re-used for further

connections. (In practice, the reference may be re-used after a

reasonable period when it is possible to be reasonably certain that

the remote transport entity will not continue to use it).

6.9 Spurious Disconnect

Purpose: To deal with the arrival of an "unknown" DR TPDU.

TPDUs and fields used:

ISO Transport Protocol Specification Page 23

International Standards Organization

DR, DC

- source reference

- destination reference

Description:

A DR TPDU can be received for a transport connection which

does not exist. Rather than treating this as an error, a DC TPDU

should be send back which reflects the references of the DR TPDU.

Note:

This only applies when one or more transport connections using

a multiplexing class exist over the network connection, or when no

transport connections exist. At other times it is a protocol error.

6.10 Data TPDU Numbering

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

connection bear a sequence number 'TPDU-NR'. Its value in the first

DT TPDU in each direction after connection establishment will be zero.

Thereafter each TPDU had 'TPDU-NR' one greater than the previous.

Modulo 2**7 arithmetic is used in the 'normal' variant, and modulo 2**31

in the 'extended' variant.

In the sections that follow, the relationships 'greater than'

and 'less than' are used in connection with TPDU numbers. In all

such uses, the numbers being compared cover a range less than the

modulus and in fact lie within a contiguous set of TPDU numbers called

a 'window'. The window has a known starting TPDU number and finishing

number. The term 'less than' means 'occurring sooner in the window

sequence' and the term 'greater than' means 'occurring later in the

window sequence'.

6.11 Expedited Data Transfer

Variants: 'network expedited' or not

Purpose: Provision of the expedited data service

ISO Transport Protocol Specification Page 24

International Standards Organization

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

Data (ED) TPDU.

Each ED TPDU received must be acknowledged by an Expedited

Acknowledge (EA) TPDU.

There may only be one ED TPDU unacknowledged at any time for each

direction of a transport connection.

In the 'network expedited' variant (available in class 1 only),

ED and EA TPDUs are conveyed in the data fields of N-EXPEDITED DATA

primitives. Otherwise, N-DATA is used.

6.12 Reassignment

Purpose: Assignment of a Transport Connection to a different

Network Connection.

TPDUs and Fields Used:

CR

- source reference

RJ, DR

- destination reference

Description:

When the Network Connection to which a Transport Connection was

assigned no longer exists, the Transport Connection can be assigned to

another Network Connection.

When one transport entity has assigned the Transport Connection,

it is important that the other transport entity recognise to which

Network Connection it has been assigned. This can only take place when it

ISO Transport Protocol Specification Page 25

International Standards Organization

has received a TPDU for the Transport Connection on a Network Connection

with calling and called network addresses which imply

the same transport entities as the old. The TPDU will have been sent

as a result of the assigning transport entity commencing resynchronization,

and will thus be a RJ, or a retransmitted CR or DR.

The Transport Connection shall be recognised as having been

assigned to the Network Connection on which the TPDU was received.

6.13 Reassignment After Failure

Purpose: Recovery from network provider initiated disconnect.

Network Service Primitives:

N-DISCONNECT Indication

Description:

When a N-DISCONNECT Indication arrives for the network connection

to which a transport connection is assigned, the transport connection must

be reassigned by its initiator (see "Reassignment")

If the reassignment has not successfully occurred within a time

of T-wait seconds, then the transport connection must be considered as

non-existent by both transport entities.1

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

transport entities.

6.14 Retention Until Acknowledgement of TPDUs

Variants: 'confirmation of receipt' or 'AK'

Purpose: To enable and minimize retransmission after

possible loss of TPDUs.

Network Service Primitives:

N-DATA

N-DATA ACKNOWLEDGE

TPDUs and Fields Used:

CR, CC, DR, DC

ISO Transport Protocol Specification Page 26

International Standards Organization

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

to permit their later retransmission:

CR, CC, DR, DT, ED.

NOTE: If DR is sent in response to CR there is no need to

retain a copy of the DR.

In the 'confirmation of receipt' variant, applicable only

in Class 1, transport entities receiving N-DATA Indications which

convey DT TPDUs and have the confirmation request field set shall

issue a N-DATA Acknowledge Request at the earliest possible

opportunity (1).

(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,

the copy need not be retained. Copies may also be discarded when

the transport connection ceases to exist.

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

ISO Transport Protocol Specification Page 27

International Standards Organization

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:

1. Applies to 'confirmation of receipt' variant.

2. Applies to 'AK' variant.

Figure 5. Acknowledgement of TPDUs

6.15 Resynchronization

Purpose: To restore the connection to normal after an

error.

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,

the resynchronization procedures below are carried out by both

transport entities.

After a network connection failure, the reassignment after

failure function is invoked and then the resynchronization function.

The sequence of events at the two transport entities is the following:

Events at the transport entity initiating reassignment:

(the transport entity immediately commences resynchronization

by sending a TPDU)

ISO Transport Protocol Specification Page 28

International Standards Organization

o if a CR is retained then retransmit it.

o if a DR is retained then retransmit it.

o otherwise, resynchronize data:

- 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

receipt of the TPDU which commenced resynchronization. This TPDU

therefore serves two purposes, namely indication of re-assignment

and commencement of resynchronization.

o if the first received TPDU os a DR, then transmit

a DC TPDU.

o if the first received TPDU is a CR and the transport

connection is not idle, this means that a CC TPDU is

retained: then retransmit it followed by any ED TPDU

and then DT TPDUs which are outstanding (that may or

may not have been transmitted previously).

NOTE: no TPDUs can be transmitted using network expedited until

CC becomes acknowledged, to prevent the network expedited overtaking the

CC.

o if the first received TPDU is a RJ, then act as follows:

- 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

ISO Transport Protocol Specification Page 29

International Standards Organization

- 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

protocol to decide on a local basis to issue an N-RESET Request. The effect

of this request at the remote transport entity is to force it to perform

the resynchronization mechanism. This possibility may be used to remove

congestion within the network connection.

6.16 Multiplexing and Demultiplexing

Purpose: Concurrent sharing of a network connection by several

transport connections.

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

connection can be simultaneously assigned to the same network connection.

Every TPDU (including DT TPDUs) must carry the destination

reference, to identify the transport connection to which it refers.

6.17 Explicit Flow Control

Purpose: Regulation of flow of DT TPDUs independently of

the flow control in the other layers.

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)

ISO Transport Protocol Specification Page 30

International Standards Organization

Description:

The mechanism depends on the class. Thus the description can

be found in the section describing the class.

6.18 Checksum

Purpose: To detect corruption of TPDUs by the network service

provider.

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

checksum option, the sending transport entity must generate a checksum

for the TPDU and store it in the checksum parameter in the variable

part of the TPDU header. The checksum must be generated as follows:

1. Set up the complete TPDU, including the header and

user data (if any). The header must include the checksum parameter in

its variable part. The value field of the checksum parameter must be

set to zero at this point.

2. Initialize two variables to zero. Let these variables

be called C0 and C1.

3. For each octet of the TPDU, including the header,

variable part of the header and the user data, add the octet value to

C0, and then add the value of C0 to C1. Octets should be processed

sequentially, starting with the first octet (the Length Indicator) and

proceeding through the TPDU. All addition is to be performed modulo 255.

4. Calculate the value field of the checksum parameter as

follows. Let the offset into the TPDU of the first octet of the value

field be 'n' (where the first octet of the TPDU, the Length Indicator

of the header, is considered to be at offset 1). Let the length

of the TPDU, i.e. the number of times the above operation was repeated,

be 'L'. Let the first octet of the checksum value, i.e., the one at offset

'n' be called 'X', and the second octet, at offset 'n+1', be called 'Y'.

Then:

X = (((L - n) * C0) - C1) modulo 255

Y = (((L - n + 1) * (-C0)) + C1) modulo 255

5. Place the computed values of X and Y in the appropriate

octets of the TPDU.

ISO Transport Protocol Specification Page 31

International Standards Organization

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

has been selected, the TPDU must be verified to ensure that it has been

received correctly. This is done by computing the checksum, using the

same algorithm by which it was generated. The nature of the checksum

algorithm is such that it is not necessary to compare explicitly the stored

checksum bytes. The procedure described below may be used to verify that

a TPDU has been correctly received.

1. Initialize two variable to zero. Let these variables

be called C0 and C1.

2. For each octet in the received TPDU, add the value of

the octet to C0 and then add the value of C0 to C1, starting with the

first octet and proceeding sequentially through the TPDU. All

addition is to be performed modulo 255.

3. When all octets have been sequentially processed, the

values of C0 and C1 should be zero. If either or both of them is

non-zero, the TPDU has been received incorrectly and the verification

has failed. Otherwise, the TPDU has been received correctly and the

TPDU should be processed normally.

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

to determine the TC that the TPDU relates to, since the Reference field

of the TPDU may have been received incorrectly. Therefore, all TCs

multiplexed onto the same NC must be treated as though a network signalled

error has occurred.

6.19 Frozen References

Purpose: To prevent re-use of a reference while TPDUs associated

with the old use of the reference may still exist.

Description: When a transport entity determines that a particular

connection has terminated, the reference shall be placed in a frozen state

ISO Transport Protocol Specification Page 32

International Standards Organization

during which time it will not be reused. The circumstances under which

this is done, and the period of time for which the reference remains

frozen depends on the class.

6.20 Retransmission on Timeout

Purpose: To cope with unsignalled loss of TPDUs by the network

service provider.

TPDUs and Fields Used:

CR, CC, DR, DT, ED, AK

Description:

The description is given in the section related to class 4.

6.21 Resequencing

Purpose: To cope with misordering of TPDUs by the network

service provider.

TPDUs and Field Used:

DT

- TPDU NR

ED

- ED TPDU NR

Description:

The description is given in the section related to class 4.

6.22 Inactivity Control

Purpose: To cope with unsignalled termination of a network

connection.

TPDUs and Fields Used:

AK

Description:

The description is given in the section related to class 4.

6.23 Treatment of Protocol Errors

Purpose: To deal with invalid TPDUs.

ISO Transport Protocol Specification Page 33

International Standards Organization

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

any operative function, or which is regarded as a violation of the protocol

rules of the class in use (e.g., receipt in a wrong state, window error,

sequencing error, TPDU with incorrect format), shall be considered as a

protocol error. Such an error shall be signalled to the transport entity

responsible by the sending of an TPDU Error (ERR) TPDU or by initiating a

release. The ERR TPDU conveys the octets of the offending TPDU up to

and including the octet where the error was detected.

In general, no further action is defined for the sender of

ERR TPDU, since it is expected that the offender will either correct

the error, or close the connection.

Action to be done by the receiver depends on local implementation

decision; e.g., freeze the connection, report to management, disconnect.

NOTES:

1. Further action is a local implementation issue. Care

should be taken by the transport entity receiving several invalid TPDUs

or ERR TPDUs to avoid looping if the error is repeatedly generated.

2. There are two cases in which specific action is defined

for the receiver of the ERR TPDU (see Sections 6.6 and 7.0.7).

6.24 Splitting and Recombining

Purpose: To allow a transport connection to make use of

multiple network connections to provide additional resilience against

network failure, to increase throughput, or for other reasons.

Description:

This function is available only in Class 4.

When this function is being used, a transport connection is

assigned (see Section 6.1) to multiple network connections. TPDUs for the

ISO Transport Protocol Specification Page 34

International Standards Organization

connection may be sent over any assigned network connection. The

resequencing function of Class 4 (see Section 6.21) is used to ensure

that TPDUs are processed in the correct sequence.

If the use of Class 4 is not accepted by the remote transport

entity following the negotiation rules, only the network connection

over which the CR TPDU was sent may be used for this transport

connection.

The splitting function should only be used where the

supporting network connections provide similar transmit delay.

Protocol Mechanism Variant 0 1 2 3 4

Assignment to Network Conn. * * * * *

TPDU Transfer * * * * *

DT TPDU Length and Segmenting * * * * *

Concatenation and Separation * * * *

Connection Establishment * * * * *

Connection Refusal * * * * *

Release implicit *

explicit * * * *

Implicit Termination * *

DT TPDU Numbering normal * m m m

extended (1)o o o

Expedited Data Transfer network exp. ao

not " m * * *

(1)

Reassigment * *

Reassignment after Failure * *

Retention until Acknowledge- Conf. Receipt ao

ment of TPDUs AK m * *

Resynchronization * *

Multiplexing and * * *

Demultiplexing

ISO Transport Protocol Specification Page 35

International Standards Organization

Explicit Flow Control With m * *

Without * * o

Checksum (use of) m

(non-use of) * * * * o

Frozen References *

Retransmission on Timeout *

Resequencing *

Inactivity Control *

Treatment of Protocol Errors * * * * *

Splitting and recombining *

(1) not applicable in class 2 when the non use of explicit flow

control is selected.

7. PROTOCOL CLASSES

The details of the implementation of the protocol

mechanisms are in certain cases different for different classes.

For this reason, the following table is not intended to provide a

complete description of the classes, but more to give an overview of

how each class works. The exact definition of the protocol is given

in the subsequent sections.

KEY

* include in the class (always)

m mandatory function (negotiable but always implemented)

o additional function (negotiable but not necessarily 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.

7.0 PROTOCOL DESCRIPTION OF CLASS 0: SIMPLE CLASS

7.0.1 Characteristics of Class 0

The characteristic of this class is that it provides

the simplest type of transport connection and fully compatible

ISO Transport Protocol Specification Page 36

International Standards Organization

with the CCITT recommendations S.70 for Teletex terminals.

The class is designed for use in association with

network connections of type A (see 5.3.1.2.4.).

7.0.2 Functions of Class 0

This class is designed to have minimum functionality.

It provides only the functions needed for connection

establishment with negotiation, data transfer with segmenting and

protocol error reporting.

Class 0 provides transport connections with flow

control based on the network service provided flow control, and

disconnection based on the network service disconnection.

7.0.3 Protocol Mechanisms of Class 0

7.0.3.1 Connection Establishment Phase

Connection shall be made in accordance with the

general rules (Assignment of Network Connection, Connection

Establishment and Connection Refusal) with the following

restrictions:

o No exchange of user data is allowed.

o Only TSAP-ID and TPDU size parameters are allowed.

7.0.3.2 Data Transfer Phase

o Segmenting (DT TDPU length and Segmenting)

o Detection and indication of procedural errors.

7.0.3.3 Release Phase

There is no explicit transport connection release

procedure for this class. The lifetime of the transport connection

is directly correlated to the lifetime of the network connection.

7.0.4 Connection Establishment for Class 0

The connection establishment function is used

with the contraint that only the transport entity which has

requested the establishment of the network connection may send the

CR TPDU. If the calling transport entity receives a CR TPDU, it

shall transfer a TPDU Error (ERR) TPDU to notify the called

transport entity of the procedure error.

ISO Transport Protocol Specification Page 37

International Standards Organization

7.0.5 Data Transfer Procedures

7.0.5.1 General

The data transfer procedures described in the

following subsections apply only when the transport layer is in the

data transfer phase, that is after completion of Transport

Connection establishment.

7.0.5.2 Transport Data TPDU maximum length

For Class 0 the standard maximum transport data

TPDU length is 128 octets including the data TPDU header octets.

Other maximum TPDU lengths may be supported in

conjunction with the optional transport data TPDU size negotiation

function (see Section 8.3 and 8.4). Optional maximum data field

lengths shall be chosen from the following list: 256, 512, 1024

and 2048 octets.

TSDUs are transmitted using the segmenting function.

7.0.6 Release Procedure

The "implicit" variant of the release function is used.

7.0.7 Treatment of invalid TPDUs

The "treatment of protocol errors' function is used.

7.0.8 Behaviour after an error signalled by the network service.

The implicit termination function is used and the

high layer is informed about this disconnection.

7.0.9 Supported Options

None

7.1 PROTOCOL DESCRIPTION OF CLASS 1: BASIC ERROR RECOVERY CLASS

7.1.1 Characteristics of Class 1

The characteristic of this class is that it

provides a basic transport connection with minimal overheads.

The main purpose of the class if to recover from

network signalled errors (network disconnect or reset).

Selection of this class is usually based on

ISO Transport Protocol Specification Page 38

International Standards Organization

reliability criteria. Class 1 has been designed to be used in

association with type B network connections.

7.1.2 Functions of Class 1

Class 1 provides transport connections with flow

control based on the network service provided flow control, error

recovery, expedited data transfer, disconnection, and also the

ability to support consecutive Transport connections on a network

connection.

This class provides the functionality of Class 0

plus the ability to recover after a failure signalled by the Network

Service, without involving the user of the Transport Service.

7.1.3 Protocol Mechanisms of Class 1

Class 1 protocol mechanisms include Class 0

protocol mechanisms plus the following:

7.1.3.1 User Data in the Connection Phase

Class 1 provides the possibility of conveying

data in the connection request and confirm commands.

7.1.3.2 Numbering of Data TPDU

Each Data TPDU transmitted between transport entities for

each direction of transmission in a transport connection is

sequentially numbered.

7.1.3.3 Release

The "explicit" variant of the release function is used.

7.1.3.4 Error Recovery

The sending Transport entity keeps a copy of transmitted

TPDUs until it receives an acknowledgment which allows copies to be released.

After a failure is indicated by the nerwork service (Reset,

Disconnect), the resynchronization function is used to determine

which TPDUs must be retransmitted.

Resynchronization may also be invoked by a transport entity

as a local matter. For that purpose the Resynchronization function is

used (see note at the end of Section 6.15).

7.1.3.5 Acknowledgement

Acknowledgements are used to release copies of retained TPDUs.

ISO Transport Protocol Specification Page 39

International Standards Organization

Two methods of acknowledgment are provided in the Retention until

Acknowledgement of TPDUs function:

o use of AK TPDU ("AK" variant) - mandatory

Note: The credit field of the AK TPDU is

not used in this class (always Set to zero).

o use of network layer Confirmation of Receipt Service.

('confirmation of receipt' variant) - optional

The variant to be used is negotiated during the

Connection Establishment Phase. The default option is the "AK TPDU"

variant. Use of Network Layer Receipt Confirmation is allowed only

in Class 1, and depends on the availability of the network layer

receipt confirmation service, the expected cost reduction, and the

agreement of both transport entities to use it.

7.1.4 Connection Establishment Procedures for Class 1

The 'assignment to network connection' and

'connection establishment' mechanisms are used. From the point at

which a transport entity issues a CR proposing the use of Class 1 or

a CC accepting the use of Class 1 the following mechanisms must be

available to deal with signalled errors during connection

establishment:

o Reassignment after failure

o Retention until Acknowledgement of TPDUs

o Resynchronization

If no DT or ED TPDU is to be sent, receipt of a CC should be

acknowledged.

7.1.5 Data Transfer Phase

Data transfer is accomplished using the 'TPDU

transfer' 'Concatenation' and 'DT TPDU Length and Segmenting'

mechanisms. 'DT TPDU Numbering' and 'Retention until

Acknowledgement of TPDUs' are used in support of error recovery.

7.1.5.1 Behaviour after an error

After receiving a network reset, the Resynchronization

mechanism is invoked. After receiving a network disconnect, the

'Reassignment after Failure' mechanism is invoked after which the

'Resynchronization' mechanism is invoked.

The 'Spurious Disconnect' mechanism is used to

deal with receipt of a DR TPDU for an unrecognised Transport

ISO Transport Protocol Specification Page 40

International Standards Organization

Connection.

7.1.5.2 Procedure for Expedited Data Transfer

The Expedited Data Transfer mechanism is used.

Two methods are possible to provide the function:

o non network expedited variant

Note: (1) This method is always included in this class.

Note: (2) The EDTPDU-NR of the ED TPDU contains an

identification number. This number must be different for successive ED TPDUs.

That is, when an ED TPDU has been sent and an EA TPDU for the ED

TPDU has been received, the next ED TPDU must have a different value

in the EDTPDU-NR field. No other significance is attached to

EDTPDU-NR field. It is recommended but not essential, that the

values used be consecutive modulo 128.

o network expedited variant

Note: (1) The use of this method is

determined through negotiation during transport connection

establishment.

7.1.6 Release Procedures

The 'explicit' variant of the Release mechanism is used.

Receipt of an error indication by a transport

entity, which, prior to this event has sent a DR, causes this

transport entity to retransmit DR. Only DC and DR will be accepted

and interpreted as the completion of the connection release

sequence. The related Reference will become unassigned.

7.1.7 Treatment of Unknown TPDUs

The 'Treatment of Protocol Errors' mechanism is used.

7.1.8 Supported Options

Use of network receipt confirmation.

Use of network expedited.

7.2 PROTOCOL DESCRIPTION OF CLASS 2: MULTIPLEXING CLASS

7.2.1 Characteristics of Class 2

The characteristic of this class is to provide a

ISO Transport Protocol Specification Page 41

International Standards Organization

way to multiplex several transport connections onto a single network

connection. This class has been designed to be used in association

with type A network connections.

Use of Explicit Flow Control

The objective is to provide flow control to help

avoid congestion at end-points and on the network connection.

Typical use is when traffic is heavy and continuous, or when there

is intensive multiplexing. Use of flow control can optimize

response times and resource utilization.

Non Use of Explicit Flow Control (optional)

The objective is to provide a basic transport

connection with minimal overheads suitable when independence of

transport and network connection lifetime is desirable. The class

would typically be used for unsophisticated terminals, and when no

multiplexing onto network connections is required. Expedited data

is never available.

7.2.2 Functions of Class 2

Class 2 provides transport connections with or

without individual flow control - no error detection or error

recovery is provided.

If the network resets or clears, the transport

connection is terminated without the transport clearing sequence

and the transport user is informed.

When explicit flow control is used a credit

mechanism is defined allowing the receiver to inform the sender of

the exact amount of data he is willing to receive and expedited data

transfer is available.

7.2.3 Protocol Mechanisms of Class 2

7.2.3.1 Connection Establishment Phase

The connection establishment function shall be used.

7.2.3.1.1 User Data in the Connection Phase

Class 2 provides the possibility to convey data in the

connection request and confirm commands.

7.2.3.2 Connection Identification

In Class 2 each TPDU conveys a Destination Reference.

ISO Transport Protocol Specification Page 42

International Standards Organization

This uniquely identifies the transport connection within the

receiving transport entity and thus allows multiplexing.

7.2.3.3 Release Phase

The release of a transport connection results either

from the use of the 'explicit' variant of the release function or

from the Implicit Termination function.

7.2.3.4 Protocol Mechanisms when Explicit Flow Control is used.

The following mechanisms are provided:

7.2.3.4.1 Numbering of Data TPDU

Each Data TPDU transmitted between transport entities

for each direction of transmission in a transport connection is

sequentially numbered.

Each Data TPDU contains a Send Sequence Number T(S).

7.2.3.4.2 Flow Control Principles

The receiver of data TPDUs holds a count of the sequence

number of the next expected TPDU. This count is called the

Receive Sequence Number, T(R). The receiver indicated to the sender

the number of Data TPDUs he is ready to receive by means of a 'credit'

mechanism. Credits are given using the credit field in the AK TPDU.

The value of the credit field, in conjunction with the value of T(R)

transported by the YR-TU-NR (your TPDU number) field

of the AK TPDU, is used by the receiver of the AK TPDU to determine

whether and how many Data TPDUs may be accepted by the sender of the

AK TPDU. Precise definition of flow control principles appears in Section

7.2.5.5.3.

7.2.3.4.3 Expedited Flow

The non network expedited variant is used. Normal

flow is the flow of data subject to the flow control mechanism,

expedited flow is the flow of data that the sender may send without

explicit agreement of the receiver. This expedited flow has a

limited capability and could for example be used to carry session

supervisory commands.

The number of expedited data units outstanding at any

time is limited to one and the amount of TS-user data is limited (up

to 16 octets).

An expedited data may arrive before normal data which

was submitted earlier. Normal data submitted after the expedited

ISO Transport Protocol Specification Page 43

International Standards Organization

data will arrive after the expedited data.

7.2.4 Connection Establishment Procedures for Class 2

7.2.4.1 References

See Section 6.5 for reference assignment. Receipt of

any TPDU with a reference that is not assigned to a transport

connection other than a Disconnect Request (DR) or Connection

Request (CR) will be ignored.

Receipt of a Disconnect Request (DR) for an unassigned

Reference will result in a Disconnect Confirm (DC) response.

7.2.4.2 Connection Eastablishment

This phase is achieved by exchange of CR/CC TPDU using

the 'connection establishment' function. Since the multiplexing

function is in use, then more than one transport connection may be

assigned to the same network connection concurrently. The

restrictions of Class 0 does not apply to this class and the other

higher classes.

7.2.5 Data Transfer Procedures for Class 2

The data transfer procedures described in the

following section apply independently to each transport connection

existing between two transport entities.

7.2.5.1 TPDU Maximum Length and Segmenting

The general rules defined in Section 6.3 apply.

7.2.5.2 Concatenation

The general rules defined in Section 6.4 apply.

7.2.5.3 Sending Data TPDU (No Explicit Flow Control Option)

In this case the data TPDU is built in accordance

with the rules stated in Section 6.2 and 6.3 and sent without any

additional mechanisms. Thus, the DT TPDU NR field may take any

value and no AK TPDU is used.

7.2.5.4 Sending Data TPDU (When Explicit Flow Control is Used)

On each transport connection the transmission of Data

TPDUs is controlled separately for each direction and is based on

authorization from the receiver.

ISO Transport Protocol Specification Page 44

International Standards Organization

This authorization is provided through the use of

the TPDUs Credit field. Credit field values are only present in

the following TPDUs: CR, CC, AK..

7.2.5.4.1 Numbering of Data TPDUs

Each Data TPDU transmitted between transport entities,

for each direction of transmission in a transport connection, is

sequentially numbered.

The sender of Data TPDUs holds a count of the next

TPDU to be sent. This count is called the Send Sequence Number

T(S). The sender indicates to the receiver the number of the data

TPDU he sends by putting the current T(S) value into the TPDU-NR

field of the data TPDU.

Sequence numbering is performed modulo 2**n, where n

is the number of bits of the sequence number field. The T(S)

counter cycles through the entire range 0 to (2**n)-1.

At connection establishment time both Transport

entities initialize their T(S) and T(R) counts to zero (i.e. the

first Data TPDU to be transmitted between transport entities for a

given direction of data transmission after the connection

establishment has a TPDU-NR field set to zero).

Receipt of a Data TPDU whose TPDU-NR field is not

equal to the expected value T(R), is to be regarded as a protocol

error.

Operations described above are summarized as follows:

o initalization

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)

ISO Transport Protocol Specification Page 45

International Standards Organization

7.2.5.4.2 Window Definition

For each transport connection and for each direction

of data transmission a 'transmit window' is defined as the (possibly

null) ordered set of consecutive data TPDUs authorized to be

transmitted in that direction. At any given time, the lowest

sequence number of a data TPDU which a transport entity is

authorized to transmit is referred to as the 'lowest window edge'.

The 'upper window edge' is calculated by adding the credit

allocation, given by the value of the Credit (CDT) field contained

in a received TPDU, to the lower window edge. Note that a transport

entity is authorized to send data TPDUs with sequence numbers up to

but not including the upper window edge.

7.2.5.4.3 Flow Control

Flow control is performed as follows:

o initialization time

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.

o Sending of a Data TPDU

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.

o Reception of Data TPDU (with TPDU NR = T(R)

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.

ISO Transport Protocol Specification Page 46

International Standards Organization

7.2.5.4.4 Reducing the Upper Window Edge

The value of the upper window edge cannot be decreased

in this class. If, at a certain point of time, the upper window edge

value is U, the reception of an AK TPDU having YR-TU-NR = M and CDT

= N such that:

(U-M) (mod. 2**n) > N

is a protocol error

Provided the previous statements are respected, CDT

field may take any value including zero.

7.2.5.4.5 Procedure for Expedited Data Transfer

The procedure of expedited data transfer allows a

transport entity to transmit data to the remote transport entity

without following the flow control procedure of the normal data

flow. This procedure can only apply in the transfer phase.

The expedited procedure has no effect on the transfer

and flow control applying to normal Data TPDUs.

To transmit expedited data, the transport entity sends

an expedited data TPDU (ED TPDU). The size of a data field is

limited (up to 16 octets). The data field contains a complete ED

TSDU. The remote transport will then confirm the receipt of the ED

TPDU by transmitting an expedited TPDU acknowledgement (EA TPDU).

A transport entity can send another ED TPDU only after having

received an EA TPDU for the previously transmitted ED TPDU. In

class 2 the ED TPDU NR field of the ED and YR-TU-NR field of the EA

TPDU are not defined and may take any value.

7.2.6 Release Procedures for Class 2

The data phase ends after a transport entity has sent

or received a Disconnect Request (DR). The transport entity will

ignore any incoming TPDU except DC or DR.

If the network resets or clears the network

connection, all transport connections are terminated without the

transport clearing sequence. The References become frozen.

For Class 2 the explicit variant of the 'release'

mechanism is used, enabling transport connections to be cleared

independently of the underlying network connection.

7.2.7 Treatment of Invalid TPDUs

ISO Transport Protocol Specification Page 47

International Standards Organization

The 'Treatment of Protocol Error' mechanism in Section

6.23 is used.

7.2.8 Behaviour after an Error signalled by the Network Layer.

The implicit termination mechanism is used.

7.2.9 Supported Options

Non use of explicit flow control.

Extended formats.

7.3 PROTOCOL DESCRIPTION OF CLASS 3: ERROR RECOVERY AND MULTIPLEXING CLASS

7.3.1 Characteristics of Class 3

The characteristics of Class 3 in addition to those of

Class 2 is to mask errors indicated by the network. Selection of

this class is usually based upon reliability criteria. Class 3 has

been designed to be used in association with type B network connections.

7.3.2 Functions of Class 3

This class provides the functionality of Class 2 (with

use of explicit flow control) plus the ability to recover after a

failure signalled by the Network Layer without involving the user

of the transport service.

The mechanisms used to achieve this functionality also

allow the implementation of more flexible flow control.

7.3.3 Protocol Mechanisms of Class 3

Class 3 mechanisms include Class 2 (with use of

explicit flow control option) mechanisms and the ability to recover

after a failure signalled by the network without informing the user

of the transport connection.

7.3.3.1 Error Recovery Principles

The sending transport entity keeps a copy of

transmitted Data TPDUs and ED TPDUs until it receives a positive

aknowledgement which allows copies to be released. It may also

receive an RJ command inviting it to retransmit or transmit all Data

TPDUs, if any, from the point in the sequence indicated in the RJ

command.

This is especially the case, when a failure is

indicated by the network. The transport entity sends an RJ command

in order to indicate the sequence number of the next expected TPDU.

ISO Transport Protocol Specification Page 48

International Standards Organization

Error recovery for ED TPDU is achieved by retransmission

(see 7.3.5.3).

7.3.3.2 Relationship between Flow Control and Error Recovery

Acknowledgement is performed by use of the T(R) count. A

credit is associated with this acknowledgement which may

be equal to or greater than zero. Thus it is possible to acknowledge

data without giving the right to send new data.

Credit may be reduced, by the use of the RJ TPDU.

7.3.4 Connection Establishment Procedure for Class 3

The rules for Class 2 (with use of explicit flow

control) apply with the addition of the following rules which apply

on receipt of an eror indication from the Network layer.

o Reception of an error indication by a

transport entity which, prior to this event, has

sent a CR and has not yer received a CC, causes

the transport entity to retransmit CR.

o Reception of an error indication by a

transport entity to wait for reception of CR, RJ

or DR TPDU. In this case:

- 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).

7.3.5 Data Transfer Procedures for Class 3

7.3.5.1 Acknowledgement

The 'AK' variant of the Retention until

Acknowledgement of TPDUs function is used.

7.3.5.2 Retransmission Procedure

TPDU retransmission is a procedure which allows

a transport entity to request retransmission of one or several

consecutive Data TPDUs from the remote transport entity. A

ISO Transport Protocol Specification Page 49

International Standards Organization

transport reject condition is signalled to the remote transport

entity by transmission of an RJ TPDU whose YR-TU-NR field indicates

the sequence number of the next expected Data TPDU.

On receipt of a RJ TPDU, a Transport entity shall

accept credit to the value contained in the credit field and shall

re-transmit TPDUs, starting with the one whose number is specified in

the YR-TU-NR field of the received RJ TPDU, subject to the new

credit.

The transport entity shall not specify a T(R) in the

RJ TPDU less than that which has previously been acknowledged.

Receipt of an RJ TPDU with a T(R) which has been previously

acknowledged will be considered a protocol error.

Additional DT TPDUs pending initial transmission may

follow the retransmitted DT TPDU(s) if the window is not closed.

7.3.5.3 Reducing the upper window edge

It is possible to decrease the value of the upper

window edge down to the sequence number transported by YR-TU-NR

field of the RJ TPDU. Receipt of an DT TPDU which would have been

inside the window before the reduction is not a protocol error and

this TPDU may be discarded.

Note: In such a case the credit equal to zero

achieves the effect of a Receive not Ready Condition.

7.3.5.4 Behaviour after an error signalled by the network layer

After receiving an error indication from the Network

Service, the transport entity shall tranmit to the remove entity an

RJ TPDU with YR-TU-NR field indicating the sequence number of the

next expected Data TPDU.

7.3.5.5 Procedure for Expedited Data Transfer

In Class 3, the ED TPDU-NR field of the Expedited

Data (ED) TPDU contains an identification number. This number must

be different for successive ED TPDUs. That is, when an ED TPDU has

been sent and an EA TPDU for the ED TPDU has been received, the next

ED TPDU must have a different value in the NR field of the ED

TPDU. No other significance is attached to this field. It is

recommended, however, that the values used be consecutive modulo

2**n. When a transport entity receives an ED TPDU for a transport

connection, it shall respond by transmitting an expedited

acknowledgement (EA) TPDU.

It places in the YR-TU-NR field the value contained in

ISO Transport Protocol Specification Page 50

International Standards Organization

the NR field of the received ED TPDU. If, and only if, this value

is different from the NR field of the previously received ED TPDU,

the data contained in the TPDU is to be passed to the session entity.

If an error indication from the Network layer is

received before the receipt of the expected Expedited Acknowledgement

(EA) TPDU, the transport entity shall retransmit the ED TPDU with

the same value in the NR field. By the rule described in the

previous paragraph, the session entity does not receive data

corresponding to the same expedited TPDU more than once.

7.3.6 Release Procedures for Class 3

The rules for Class 2 apply with the addition of the

following rule:

Receipt of an eror indication by a transport entity,

which prior to this event has sent a DR, causes this transport

entity to retransmit DR. Only DC and DR will be accepted and

interpreted as the completion of the connection clearing sequence.

The related Reference will become unassigned.

7.3.7 Treatment of Invalid TPDUs

The 'Treatment of Protocol Errors' mechanism is used.

7.3.8 Supported Options

Extended formats.

7.4 PROTOCOL DESCRIPTION OF CLASS 4: ERROR DETECTION AND RECOVERY CLASS

7.4.1 Characteristics of Class 4

The characteristic of Class 4, in addition to those of

Class 3, is the detection of errors which occur as a result of the

low grade of service available from the network layer. The kinds of

errors to be detected include: TPDU loss, TPDU delivery out of

sequence, TPDU duplication. These errors may afect control TPDUs as

well as Data TPDUs.

Class 4 has been designed to be usd in association

with network connections of type C.

7.4.2 Functions of Class 4

This class provides the functionality of Class 3, plus

the ability to detect and recover from lost, duplicated or out of

sequence TPDUs without involving the user of the transport service.

ISO Transport Protocol Specification Page 51

International Standards Organization

This detection of errors is made by extended use of

the sequence numbering of Classes 2 and 3, by a timeout mechanism,

and by additional protocol mechanisms.

This class additionally detects and recovers from

damaged TPDUs by using a checksum mechamism. The use of the

checksum mechanism must be available but its use or its non use is

subject to negotiation. Class 4 does not attempt to deal with

detection of errors due to the misdelivery of TPDUs.

7.4.3 Protocol Mechanisms of Class 4

7.4.3.1 Network Service Data Unit Lifetime

The network layer is assumed to provide, as an aspect

of its grade of service, for a bound on the maximum lifetime of

NSDUs in the network. This value is known by the Transport Layer.

The maximum time which may elapse between the transmission of an

NSDU into the network layer and the receipt of any copy of it is

referred to as M.

7.4.3.2 Average Transit Delay

It is assumed that there is some value of transmit

delay in the network, typically much less than M, which will be the

maximum delay suffered by all but a small proportion of NSDUs. This

value is referred to as E.

7.4.3.3 Remote Acknowledge Time Assumptions

Any transport entity is assumed to provide a bound for the

maximum time which can elapse between its receipt of a TPDU from

the Network Layer and its transmisssion of the Corresponding response.

this value is referred to as A/L. The corresponding time given by the

remote transport entity is referred to as A/R. The values for these

timers may be conventionally established or may be established

at connection establishment time.

7.4.3.4 Local Retransmission Time

The local transport entity is assumed to maintain a

bound on the time it will wait for an acknowledgement before

retransmitting the TPDU. This time is the local retransmission time

and is referred to as T1.

T1 = 2*E + X + Ar?

Where X is a value to allow for TPDU processing in the

local transport entity.

ISO Transport Protocol Specification Page 52

International Standards Organization

7.4.3.5 Persistence Time

The local transport entity is assumed to provide a

bound for the maximum time for which it may continue to retransmit

a TPDU requiring positive acknowledgment. This value is referred to

as R.

The value is clearly related to the time elapsed

between retransmission, T1, and the maximum number of

retransmissions, N. It is not less than T1*N+X, where X is small

quantity to allow for additional internal delays, the granularity of

the mechanism used to implement T1 and so on. Because R is a bound,

the exact value of X is unimportant as long as it is bounded and

the value of a bound is known.

7.4.3.6 Bound on Reference Identifier and Sequence Numbers

Using the above values, a bound L may be established

for the maximum time between the decision to transmit a TPDU and the

receipt of any response relating to it. The value of L is given by:

L = 2*M+R+Ar

It is necessary to wait for a period L before reusing

any reference or sequence number, to avoid confusion in case a TPDU

referring to it may be duplicated or delayed.

(Note: In practive, the value of L may be

unacceptably large. It may also be only a statistical figure at a

certain confidence level. A smaller value may therefore be used

where this still allows the required quality of service to be

provided).

7.4.3.7 Inactivity Time

To protect against unsignalled breaks in the network

connection (Half-open connections), each transport entity maintains

an inactivity time interval. If the interval passes without

receipt of some TPDU, the transport entity will terminate the TC by

making use of the release procedure. This interval is referred to

as I.

7.4.3.8 Window Time

A transport entity maintains a time to ensure that

there is a maximum interval between transmission of up-to-date

window information. This interval is referred to as the window

time, W.

7.4.3.9 Class 4 Error Recovery Principles

ISO Transport Protocol Specification Page 53

International Standards Organization

In class 4, the transport entity associates a response time

with TPDUs sent requiring a response. If an appropriate response is

not received within time T1, the recovery procedure must be invoked

by the sender. This will usually involve the retransmission of the

corresponding TPDU.

A TPDU may be transmitted a maximum number of times,

This number is referred to a N. The value of N is chosen so that

the required quality of service can be provided given the known

characteristics of the network connection.

7.4.3.10 Relationship of Times and Intervals

The following note describes the relationship between

the time described in Section 7.4.3.1 - 7.4.3.9.

Note:

a. The interrelationship of times for the worst case

is as follows:

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

ISO Transport Protocol Specification Page 54

International Standards Organization

t t

b. The interrelationship of times for the average

case is as follows (see 7.4.3.4)

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

t t

7.4.3.11 Sequence Numbering

In Class 4 sequence numbering is applied to certain

control TPDUs and their acknowledgements, as well as to DT TPDUs.

These are ED and its acknowledgement EA.

The length of sequence numbers may be negotiated at

connection establishment. Where other than the default length is

used, an extended header format is used for sequenced TPDUs

containing additional octets of sequence numbers. Extended header

format includes a credit field on the appropriate TPDU types

allowing extended credit allocation.

7.4.4 Procedures for Connection Establishment Phase

The following features pertain to connection

establishment for Class 4:

o In Class 4, a connection is not considered

established until the successful completion

of a 3-way TPDU exchange. The sender of a

CR TPDU must respond to the corresponding CC

ISO Transport Protocol Specification Page 55

International Standards Organization

TPDU by immediately sending a DT, ED or AK TPDU.

o As a result of duplication, a CR TPDU may be

received specifying a source reference which

is already in use with the sending transport

entity. If the receiving transport entity

is in the data transfer phase, having

completed the 3-way TPDU exchange procedure,

the receiving transport entity should ignore

such a TPDU. Otherwise a CC TPDU should be

transmitted.

o As a result of duplication or

retransmission, a CC TPDU may be received

specifying a paired reference which is

already in use. The receiving transport

entity should ignore such a CC TPDU.

o A CC TPDU may be received specifying a

reference which is in the frozen state. The

response to such a TPDU should be a DR TPDU.

7.4.4.1 Connection Request

When a transport entity transmits a CR TPDU it starts

timer T1. If this timer expires before a CC TPDU is received, the

CR TPDU is retransmitted and the timer restarted. After

transmission of the CR TPDU N times, the connection establishment

procedure is abandoned and the failure reported to the transport

user. The reference must be placed in the frozen state for a period

L (see section 7.4.3.6).

7.4.4.2 Incomimg Connection Request

An incoming connection request is processed as for Class 3

7.4.4.3 Connection Confirm

When a transport entity transmits a CC TPDU it starts

timer T1. If this timer expires before an AK or DT TPDU is

received, the CC TPDU is retransmitted according to the

retransmission principles in Section 7.4.3.9

7.4.4.4 Incoming Connection Confirm

When a CC TPDU is received, the receiving transport entity

enters the data transfer phase. It must immediately transmit an

AK, ED or DT TPDU to complete the 3-way TPDU exchange. The

CC TPDU is subject to the usual rules of the data transfer phase

regarding retransmission, see Section 7.4.5.3.

ISO Transport Protocol Specification Page 56

International Standards Organization

7.4.4.5 Incoming Acknowledgement

When an AK, DT or ED TPDU is received the receiving

transport entity can enter the data transfer phase. If the entity

has data to send it may send DT TPDUs or an ED TPDU. The DT TPDUs

are subject to flow control. Otherwise, the transport entity must

obey the inactivity principles (see Section 7.4.5.8).

7.4.4.6 Unsuccessful Connection

When a DR TPDU is received in response to a CR TPDU,

the timer T1 is cancelled and the reference placed in the frozen

state for a period L (see Section 7.4.6.1).

7.4.4.7 Initial Credit Allocation

The CR and CC TPDUs may allocate an initial credit value

to their respective recipients. This value is limited to 15 by the

encoding of the TPDU. Where the extended header format is in use,

credit values greater than 15 must be allocated using AK TPDUs.

7.4.4.8 Exchange of Acknowledge Time

A transport entity may transmit the value it intends

to use for AL at connection establishment, as the 'Acknowledge

Time' parameter in the CR or CC TPDU (depending on whether the

transport entity is initiating or accepting the transport

connection). If this parameter is present in a received CR or CC

TPDU, the value of AR should be set accordingly. If this

parameter is not present, AR may be assumed to be insignificant in

comparison to E the typical maximum transit delay.

7.4.5 Procedure for Data Transfer Phase

7.4.5.1 Sequence Control

The receiving transport entity is responsible for

maintaining the proper sequence of DT TPDUs.

DT TPDUs received out of sequence must not be

delivered to the TS-user until in-sequence TPDUs have also been

received.

AK TPDUs also contain information allowing the

receiving transport entity to process them in the correct order.

7.4.5.2 Duplicate DT TPDUs

Duplicate TPDUs can be detected because the T(S) value

matches that of previously received TPDUs. T(S) values must not be

ISO Transport Protocol Specification Page 57

International Standards Organization

reused for the period L after their previous use. Otherwise, a

new, valid TPDU could be confused with a duplicated TPDU which had

previously been received and acknowledged.

Duplicated DT TPDUs must be acknowledged, since the

duplicated TPDU may be the result of a retransmission resulting from

the loss of an AK TPDU.

The data contained in a duplicated DT TPDU should be

ignored.

7.4.5.3 Retransmission Principles

When a transport entity has some outstanding DT or ED

TPDUs that require acknowledgement, it will check that no T1

interval elapses without the arrival of an AK or EA TPDU that

acknowledges one of them. If the timer expires, the first TPDU is

retransmitted and the timer is restarted. After N transmissions

(N-1 retransmissions) the connection is assumed to have failed and

the release phase is entered, and the transport user is informed.

DT TPDUs which fall beyond the current window (due to

reduction of the upper window edge) are not retransmitted until

advancement of the upper window edge so permits.

Note: This requirement can be met by different

means, for example.

1. One timer is associated with each TPDU. If the

timer expires, the associated TPDU will be

retransmitted, and the timer T1 will be

restarted for all subsequent DT TPDUs.

2. One timer is associated with each TC:

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

is maintained on a per TPDU or on a per TC basis, throughput

considerations have to be taken into account.

ISO Transport Protocol Specification Page 58

International Standards Organization

7.4.5.4 Acknowledgement Principles

A transport entity operating class 4 must acknowledge

all TPDUs received requiring acknowledgment. To avoid unnecessary

retransmissions and to avoid delays to transmission by the remote

transport entity, the delay for acknowledgement should not exceed

timer A (see Section 7.4.3.2).

L

There are two TPDU types that must be acknowledged:

ED and DT. Receipt of an ED TPDU must be acknowledged by an EA

TPDU. A DT TPDU is acknowledged with an AK TPDU.

An AK TPDU has the sequence number of the next DT

TPDU the receiving transport entity expects to receive. It thus

acknowledges receipt of all DT TPDUs with sequence numbers less than

the acknowledgement number.

An AK TPDU may be repeated at any time, using the

sequence number in the last AK TPDU sent.

7.4.5.5 Flow Control Principles

Flow control in Class 4 is subject to the same

principles as in Classes 2 and 3. The credit mechanism and window

principle of those classes still apply, except that in class 4, the

upper window edge can be reduced by the receiving transport entity

by sending an AK TPDU with a smaller credit.

A receiving transport entity may send an AK TPDU at

any time to change the window size. This AK TPDU may acknowledge a

new DT TPDU or may repeat a previous acknowledgement.

7.4.5.6 Window Synchronization Principles

To ensure the synchronization of flow control

information the window timer provokes the frequent exchange of AK

TPDUs between transport entities. The window timer maintains a

minimum level of TPDU traffic between transport entities cooperating

in a transport connection.

In Class 4 the window size can be reduced in any AK

TPDU. Due to the possibility of misordering of AK TPDUs and the

associated loss of efficiency, the AK TPDU for class 4

includes an additional field called the AK TPDU subsequence

parameter.

An AK TPDU should contain the subsequence parameter

whenever a duplicate AK TPDU is sent with the same sequence number

but with reduced credit. The value of the subsequence parameter is

ISO Transport Protocol Specification Page 59

International Standards Organization

set to one for the first time the AK TPDU is resent with reduced

credit.

When an AK TPDU is transmitted whose sequence

number is increased, the 'sub-sequence' parameter is omitted

until credit reduction takes place.

When an AK TPDU is received, it must be processed

(i.e., its contents made use of) only if:

o The sequence number is greater than in any

previously received AK TPDU, or,

o The sequence number is equal to the highest

in any previously received AK TPDU, and the

sub-sequence parameter is greater than in

any previously received AK TPDU having the

same sequence number (where an

absent sub-sequence parameter is regarded

as having a value of zero), or

o The sequence number and sub-sequence

parameter are both equal to the highest in

any previously received AK TPDU (where an

absent sub-sequence parameter is regarded as

having a value of zero), and the credit

field is greater than in any previously

received AK TPDU having the same sequence

and sub-sequence numbers.

When an AK TPDU is transmitted which opens a closed

window (i.e. increases credit from zero), it should be retransmitted

at an interval of T1. Transmission should occur a maximum of N

times, after which the usual inactivity retransmission timer should

be reverted to. Retransmission may also cease if the local

transport entity becomes sure that the new credit information has

been received by the remote transport entity.

If a transport entity receives an AK TPDU containing

a 'Flow Control Confirmation' parameter, whose Lower Window Edge and

Your-Sub-Sequence fields are equal to its own lower window edge and

sub-sequence number, it may note that the credit available at the

remote transport entity (relative the Lower Window Edge field) is at

least equal to the value conveyed as Your Credit. This enables the

transport entity to cease the frequent retransmission of window

information, if it thereby knows that the remote window is open.

A transport entity need not retransmit window

information (except as described under Inactivity Principles) if it

is aware by the receipt of DT TPDUs that the remote transport entity

ISO Transport Protocol Specification Page 60

International Standards Organization

has sufficient credit to prevent deadlock. When an AK TPDU is

transmitted in response to a DT TPDU, the transport entity may

normally assume that the transmitter of the DT TPDU will ensure that

the AK TPDU is received, be retransmission of the DT TPDU if

necessary. Therefore, it can normally be assumed that the credit

conveyed in such an AK TPDU will be available to the remote

transport entity, and frequent retransmission is unnecessary.

The assumption that the DT TPDU will be retransmitted

may be incorrect if credit reduction has taken place. Therefore, a

transport entity may not make this assumption if the

sequence number of the DT TPDU is less than or equal to the highest

value for which permission to transmit (i.e., credit) has been given

and subsequently withdrawn.

Upon receipt of an AK TPDU which increases the upper

window edge, a transport entity may transmit an AK TPDU which

repeats the information contained in the received TPDU in a 'Flow

Control Confirmation' parameter in its variable part an thereby

assures the transmitter of the original AK TPDU of its own state.

Such an AK TPDU may be tranmmitted:

o Upon receipt of a duplicated AK TPDU

(i.e., one which is identical in all fields,

including the sub-sequence parameter if

present, to the most recently received AK

TPDU which was not discarded due to

detection of a sequence error), not

containing the 'Flow Control Confirmation'

parameter.

o Upon receipt of an AK TPDU which increases

the upper window edge but does not increase

the lower window edge, when the upper window

edge was formerly equal to the lower window

edge.

7.4.5.7 Procedure for Expedited Data

The procedure for expedited data is as for Class 3,

with the following exceptions.

The ED TPDU has a sequence number which is allocated

from a separate sequence space from that of the DT TPDUs. The EA

TPDU carries the same sequence number as the corresponding ED TPDU.

Only a single ED TPDU may be transmitted and awaiting

acknowledgements at any time.

Upon receipt of an unduplicated ED TPDU, a transport

entity immediately forwards the data to the transport user. The ED

ISO Transport Protocol Specification Page 61

International Standards Organization

TPDU sequence number is recorded in an EA TPDU sent to the other

transport entity.

The sender of an ED TPDU shall not send any new DT

TPDU with higher T(S) until it receives the EA TPDU. This

guarantees the arrival of the ED TPDU before any subsequently sent

DT TPDUs.

7.4.5.8 Inactivity Principles

If the Inactivity Time I passes without receipt of

some TPDU, the transport entity will terminate the TC by making use

of the release procedure. To present expiration of the remote

transport entity's inactivity times when no data is being sent, the

local transport entity must send AK TPDUs at suitable intervals in

the absence of data, having regard to the probability of TPDU loss.

The Window Synchronization Principles (see 7.4.5.6) may ensure that

this requirement is met.

Note: It is likely that the release procedure

initiated due to inactivity timer expiration will fail, as such

expiration indicates probable failure of the supporting NC or of the

remote transport entity. This case is described in Section 7.4.6.

7.4.6 Procedures for Release Phase

The rules for class 3 apply. The DR TPDU is subject

to the usual retransmission procedure. After N retransmissions, the

transport connection is considered disconnected, the Reference is

placed in the frozen state for a period L and retransmission ceases.

The DC TPDU is sent only in response to a DR TPDU, and

is not subject to the retransmission procedure.

The DC TPDU when received allows the transport entity

to release all resources maintained for the transport connection.

The DR TPDU does not carry a sequence number. Any

previously transmitted TPDUs (including DT and ED) which are

received after the DR TPDU result in a further DR TPDU but are

otherwise ignored. After disconnection, for whatever reason, the

Reference is placed in the frozen state for a period L.

7.4.6.1 Unassigned Frozen References

When a transport connection is terminated, the

corresponding references cannot be immediately reused since TPDUs

containing these references may continue to exist in the network for

a time up to L. Therefore, these references will be placed in an

unassignable, frozen state for this peiod.

ISO Transport Protocol Specification Page 62

International Standards Organization

After an event involving loss of transport entity

state information, including the status of reference assignments,

all references relating to network connections whose transport

state information has been lost must be placed in the frozen state

for a period L.

If a DC TPDU is received for a local reference which

is in the frozen state, or with a remore reference not matching the

already recorded one, this DC TPDU shall be ignored.

7.4.7 Treatment of Invalid TPDUs

The 'Treatment of Protocol Erorrs' function is used.

7.4.8 Supported Options

Non use of checksum.

Use of extended formats.

8. ENCODING

8.1 Summary

Classes

0 1 2 3 4 Sect. Code

CR Connection Request x x x x x 8.3 1110xxxx

CC Connection Confirm x x x x x 8.4 1101xxxx

DR Disconnect Request x x x x x 8.5 10000000

DC Disconnect Confirm x x x x 8.6 11000000

DT Data x x x x x 8.7 11110000

ED Expedited Data x NF x x 8.8 00010000

AK Data Acknowledgement NRC NF x x 8.9 0110xxxx

(Note 1)

EA Expedited Data x NF x x 8.10 00100000

Acknowledgement

RJ Reject (Note 1) x x 8.11 0101xxxx

ERR TPDU Error x x x x x 8.12 01110000

not available (Note 2) - 00000000

ISO Transport Protocol Specification Page 63

International Standards Organization

not available (Note 2) - 00110000

not available (Note 2) - 1001xxxx

not available (Note 2) - 1010xxxx

Where xxxx (bits 4-1) is used to signal the CDT

Note 1: In extended header format, the code for AK=0110 0000 and the

code for RJ=0101 0000.

Note 2: These codes are already in use in compatible protocols

defines by standards organizations other than CCITT/ISO.

NF: Not available when the non explicit flow control option is

selected.

NRC: Not available when the receipt confirmation option is

selected.

8.2 Structure

As defined in the previous sections, all the Transport

Protocol Data Units (TPDU) shall contain an integral number of

octets. The octets in a TPDU are numbered starting from 1 and

increasing in the order of transmission. The bits in an octet are

numbered from 1 to 8, where bit 1 is the low-ordered bit.

There are tao types of TPDUs:

o Data TPDUs, used to transfer Transport Service

Data Units (TSDUs). The structure of the TSDUs is

maintained by means of the TSDU End Mark.

o Control TPDUs, used to control the transport

protocol functions, including the optional

functions.

Octets 1 2 3 4 n n+1 p p+1

------------ -------------- -------------- --------

LI ... .... ....

------------ -------------- -------------- --------

<--- Fixed Part -----><-- Variable Part->

(including checksum

where applicable)

<--------------Header-------------------><----Data Field->

A TPDU is divided into four parts:

ISO Transport Protocol Specification Page 64

International Standards Organization

o Length Indicator Field (LI)

o Fixed Part

o Variable Part (may be omitted)

o Data Field (may be omitted)

The length Indicator Field, Fixed Part and Variable Part constitute

the Header of the TPDU.

8.2.1 Length Indicator Field

This field is contained in the first octet of the

TPDUs. The length is indicated by a binary number, with a maximum

value of 254 (11111110). The length indicated is the header length,

including parameters, but excluding the length indicator field and

user data, if any. The value 255 (11111111) is reserved for

possible extensions.

8.2.2 Fixed Part

The fixed part contains frequently occurring functions

including the code of the TPDU. The length and the structure of the

fixed part are defined by the TPDU code, defined by bits 5 to 8 of

the second octet of the header.

8.2.2.1 TPDU Code

This field contains the TPDU code and is contained in

Octet 2 of the header. It is used to define the structure of the

remaining header. This field is a full octet except in the

following cases:

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.

8.2.3 Variable Part

The variable part is used to define parameters

relating to optional functions. If the variable part is present, it

shall contain one or more parameters. The number of parameters that

may be contained in the varialbe part is indicated by the length of

ISO Transport Protocol Specification Page 65

International Standards Organization

the variable part which is a LI minus the length of the fixed part.

Since the currently defined minimum fixed part for

headers which allow parameters is four octets, and since the length

indication field is limited to a maximum of 254, the maximum length

of the variable part is 250 octets.

Each parameter contained within the variable part is

coded as follows:

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

o The parameter code field is coded in binary and,

without extensions, provides a maximum number of

255 different parameters. However, as noted below,

bits 8 and 7 indicates the source of definition,

so the practical maximum number of different

parameters is less. Parameter code 1111 1111 is

reserved for possible extensions of the parameter code.

o The parameter length indication indicates the length,

in octets, of the parameter value field. The length

is indicated by a binary number, "m" with a theoretical

maximum value of 255. The practical maximum value of

"m" is lower. For example, in the case of a single parameter

contained within the variable part, two octets

are required for the Parameter Code and the Parameter Length

Indication itself. Thus, the value of "m" is limited

to 248. For larger fixed parts of the header and for

each succeedimg parameter, the maximum value of "m" decreases.

o The parameter value field contains the value of the

parameter identified in the parameter code field.

o No standard parameter codes use bits 8 and 7 with the

value 00.

o Implementations shall accept the parameters defined in

the variable part in any order. If any parameter is

duplicated then the later value will be used.

8.2.3.1 Checksum Parameter (Class 4 only)

ISO Transport Protocol Specification Page 66

International Standards Organization

All TPDU types may contain a checksum parameter in

their variable part. This parameter must always be present except

when the non use of checksum option is selected.

Parameter Code: 1100 0011

Parameter Length: 2

Parameter Value: Result of checksum algorithm.

This algorithm is specified in

Section 6.18.

8.2.4 Data Field This field contains transparent user data.

Restrictions on its size are noted for each command.

8.3 Connections Request (CR)

8.3.1 Structure

1 2 3 4 5 6 7 8 p p+1

LI CR CDT 00000000 00000000 SOURCE- class VARIABLE USER DATA

REFERENCE options PART

8.3.2 LI

See Section 8.2.1

8.3.3 Fixed Part (Octets 2 to 7)

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

part as above. Second and subsequent choices are listed in the

variable part if required.

ISO Transport Protocol Specification Page 67

International Standards Organization

Bits 4-1 of octet 7 are reserved for options to be

used on the requested transport connection.

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:

1. It is not valid to request 'use of expedited data

transfer' (Additional option parameter) and no use of

explicit flow control in Class 2' (bit 1 = 1).

2. Bits 4 to 1 are always zero in Class 0 and have

no meaning.

8.3.4 Variable Part (Octets 8 to p)

The following parameters are permitted in the variable part:

o Transport Service Access Point Identifier (TSAP-ID)

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

returned in the confirmation.

o TPDU size

This parameter defines the proposed maximum TPDU size

(in octets including the header) to be used over the requested

transport connection. The coding of this parameter is:

Parameter Code 11000000

ISO Transport Protocol Specification Page 68

International Standards Organization

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)

o Security Parameter (not used in Class 0)

This parameter is user defined.

Parameter code 11000101

Parameter value and length field are user defined

o Checksum (not used in Classes 0 through 3)

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.

o Additional Option Selection (not used in Class 0)

This parameter defines the selection to be made as to

whether or not additional options are to be used.

Parameter code 11000110

ISO Transport Protocol Specification Page 69

International Standards Organization

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

o Alternative protocol class (not used in Class 0)

Parameter code 11000111

Parameter length n

Parameter value encoded as a sequence of single

octets. Each octet is encoded as for octet 7 but with bits 4-1 set

to zero (i.e., no alternative option selections permitted).

o Acknowledge Time

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.

o Throughput Parameter code: 10001001

Length : 12

ISO Transport Protocol Specification Page 70

International Standards Organization

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.

o Residual Parameter code: 10000110

error rate

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

o Priority Parameter code: 10000111

Length : 2

Value : Integer

o Transit Parameter code: 10001000

delay

Length : 8

1st 2 octets : Target value,

calling-called user

direction

2nd 2 octets : Max. acceptable,

calling-called user

direction.

ISO Transport Protocol Specification Page 71

International Standards Organization

3rd 2 octets : Target value,

called-calling user

direction.

4th 2 octets : Max. acceptable,

called-calling user

direction

Values are expressed in milliseconds.

8.3.5 User Data (Octets p+1 to the end)

No user data are permitted in class 0, and are

optional in the other classes. Where permitted, it may not exceed

32 octets.

8.4 Connection Confirm (CC)

8.4.1 Structure

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

8.4.2 LT

See Section 8.2.1.

8.4.3 Fixed Part (Octets 2 to 7)

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

ISO Transport Protocol Specification Page 72

International Standards Organization

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.

8.4.4 Variable part (Octet 8 to p)

See Section 8.3.4

8.4.5 User Data (Octets p+1 to the end)

See Section 8.3.5

8.5 Disconnect Request (DR)

8.5.1 Structure

LI DR DST-REF SOURCE-REF REASON VARIABLE USER DATA

10000000 PART

8.5.2 LI

See Section 8.2.1

8.5.3 Fixed Part (Octets 2 to 7)

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

ISO Transport Protocol Specification Page 73

International Standards Organization

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'.

8.5.4 Variable Part (Octets 8 to 10)

o A parameter may be provided to allow additional

information related to the clearing of the connection.

Parameter code: 11100000

Parameter Value Field: Additional information. This

field is intended to be used by the transport service

provider for internal purposes.

ISO Transport Protocol Specification Page 74

International Standards Organization

o Checksum (see 8.2.3.1)

8.5.5 User Data (Octets p+1 to the end)

Not allowed in class 0,

This field may not exceed 64 octers and is used

to carry TS-User data. The successful transfer of this data is not

guaranteed.

8.6 Disconnect Confirm (DC)

(Not used in Class 0)

8.6.1 Structure

1 2 3 4 5 6 7 p

LI DST-REFERENCE SOURCE-REFERENCE Variable Part

11000000

8.6.2 LI

See Section 8.2.1

8.6.3 Fixed Part (Octets 2 to 6)

DC : Disconnect Confirm Code: 1100

DST-REFERENCE : See Section 8.3.3

SOURCE-REFERENCE: See Section 8.4.3

8.6.4 Variable Part

Checksum (see 8.2.3.1)

8.7 Data (DT)

8.7.1 Structure

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

ISO Transport Protocol Specification Page 75

International Standards Organization

1 2 3 4 5 6 p p+1

LI DST-REFERENCE E TPDU-NR Variable Part User Data

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

8.7.2 LI

Section 8.2.1

8.7.3 Fixed Part

(Classes 0 to 1 : - Octets 2 to 3; classes 2,3,4

normal format: Octets 2 to 5; classes 2,3,4 extended format: -

Octets 2 to 8)

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.

8.7.4 Variable Part

Checksum (See 8.2.3.1)

8.7.5 User Data Field

This field contains data of the TSDU being transmitted.

The length of this field is limited to the negotiated TPDU size for

this transport connection minus 3 octets in Classes 0 and 1,

and minus 5 octets (normal header format) or

8 octets (extended header format) in the other classes. The

variable part, if presemt, amy further reduce the size of the user

data field.

ISO Transport Protocol Specification Page 76

International Standards Organization

8.8 Expedited Data (ED)

(Not used in Class 2 when "no explicit flow

control" option is selected.)

8.8.1 Structure

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.

8.8.2 LI

See Section 8.2.1

8.8.3 Fixed Part

(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).

8.8.4 Variable Part

Checksum (See 8.2.3.1)

8.8.5 User Data Field

This field contains an expedited TSDU. Up to 16 octets.

8.9 Data Acknowledgement (AK)

Not applicable for Class 0 and Class 2 when the "no

explicit flow control" option is selected, and for Class 1 when the

network receipt confirmation option is selected.

ISO Transport Protocol Specification Page 77

International Standards Organization

Flow Control Confirmation (class 4 only - optionally used)

This parameter contains a copy of the information received

in an AK TPDU, to allow the transmitter of the AK TPDU to be certain

of the state of the receiving transport entity (See Section 7.4.5.6).

Parameter Code: 100001011

Parameter value field 64 bits, used as follows:

o Lower Window Edge (32 bits)

Bit 32 is set to zero, bits 31 to 1 contain the

YR-TU-NR value of the received AK TPDU. When normal

format is in use, only the least significant seven

bits (bits 1 to 7) of this field are significant.

o Your Sub-Sequence (16 bits)

Contains the value of the sub-sequence parameter of

the received AK TPDU, or zero if this parameter was

not present.

o Your Credit (16 bits)

Contains the value of the CDT field of the received AK

TPDU. When normal format is in use, only the least

significant four bits (bits 1 to 4) of this field are

significant.

8.10 Expedited Data Acknowledgement (EA)

(Not applicable for Class 0 and Class 2 when the no

explicit flow control option is selected).

8.10.1 Structure

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.

8.9.1 Structure

ISO Transport Protocol Specification Page 78

International Standards Organization

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.

8.9.2 LI

See Section 8.2.1

8.9.3 Fixed Part

(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.

8.9.4 Variable Part

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.

8.10.2 LI

See Section 8.2.1

8.10.3 Fixed Part

ISO Transport Protocol Specification Page 79

International Standards Organization

(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.

8.10.4 Variable Part

Checksum (See 8.2.3.1)

8.11 Reject (RJ)

(Not used in Classes 0, 2, and 4)

8.11.1 Structure

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

8.11.2 LI

See Section 8.2.1

8.11.3 Fixed Part

(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.

ISO Transport Protocol Specification Page 80

International Standards Organization

8.11.4 Variable Part

No parameters exclusive to this TPDU type.

8.12 TPDU Error (ERR)

1 2 3 4 5 6

LI ERR DST-REFERENCE Reject Parameters

01110000 Cause

8.12.1 LI

See Section 8.2.1

8.12.2 Fixed Part

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

8.12.3 Variable Part (Octets 6 to the end)

Parameter Code: 1100001

Parameter Value Field:

Contains the bit pattern of the rejected TPDU up to and

including the octet which caused the rejection. This parameter is

mandatory in Class 0.

Checksum (See Section 8.2.3.1)

SECTION THREE - CONFORMANCE

9. CONFORMANCE

Implementations claiming conformance to this standard shall:

1. Implement either Class 0 or Class 2 or both.

ISO Transport Protocol Specification Page 81

International Standards Organization

2. If other classes are implemented, the following rules

shall be observed:

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.

3. The following table defines the requirements for the

implementation of the options defined in previous

sections:

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

o - optional: An implementation may or may not

provide this user-selected option.

m - mandatory: An implementation must provide for this

option

no - An implementation shall not provide

this option.

4. Implementations claiming conformance shall support a

TPDU length of 128 octets. If larger maximum TPDU

ISO Transport Protocol Specification Page 82

International Standards Organization

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.

5. Claims of conformance shall state:

a) which class of protocol is supported.

b) which additional options indicated by the letter

'o' in the above table are supported.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有