RFC892 - ISO Transport Protocol specification(2)

时间:2005-02-11 来源: 作者: 点击:
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 var
  
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.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容