transport entity may transmit an AK TPDU at any time.
The sequence number of an AK TPDU shall not exceed the sequence
number of the next expected DT TPDU, i.e. it shall not be greater
than the highest sequence number of a received DT TPDU, plus one.
A transport entity may send a duplicate AK TPDU containing the
same sequence number, CDT, and subsequence number field at any
time.
A transport entity which receives an AK TPDU shall consider the
value of the YR-TU-NR field as its new lower window edge if it is
greater than any previously received in a YR-TU-NR field, and the
sum of YR-TU-NR and CDT as its new upper window edge subject to
the procedures for sequencing AK TPDUs (see 12.2.3.8). A
transport entity shall not transmit or retransmit a DT TPDU with
a sequence number outside the transmit window.
107
12.2.3.7 Sequencing of received AK TPDUs
To allow a receiving transport entity to properly sequence a
series of AK TPDUs that all contain the same sequence number and
thereby use the correct CDT value, AK TPDUs may contain a
subsequence parameter. For the purpose of determining the
correct sequence of AK TPDUs, the absence of the subsequence
parameter shall be equivalent to the value of the parameter set
to zero.
An AK TPDU is defined to be in sequence if:
a) the sequence number is greater than in any previously
received AK TPDU, or
b) the sequence number is equal to the highest in any
previously received AK TPDU, and the subsequence parameter
is greater than in any previously received AK TPDU having
the same value for YR-TU-NR field, or
c) the sequence number and subsequence parameter are both
equal to the highest in any previously received AK TPDU
and the credit field is greater than or equal to that in
any previously received AK TPDU having the same YR-TU-NR
field.
A transport entity is not required to include the subsequence
number in its AK TPDUs. It may also choose not to use the
subsequence parameter in sequencing received AK TPDUs. If a
transport entity chooses not to recognize the subsequence
parameter it shall still sequence received AK TPDUs according to
12.2.3.7.a.
When the receiving transport entity recognizes an out of sequence
AK TPDU it shall ignore it.
108
12.2.3.8 Procedure for transmission of AK TPDUs
12.2.3.8.1 Retransmission of AK TPDUs for window synchronization
A transport entity shall not allow an interval W to pass without
the transmission of an AK TPDU. if the transport entity is not
using the procedure following setting CDT to zero (see
12.2.3.8.3) or reduction of the upper window edge (see
12.2.3.8.4), and does not have to acknowledge receipt of any DT
TPDU, then it shall achieve this by retransmission of the most
recent AK TPDU, with up-to-date window information.
NOTE - The use of the procedures defined in 12.2.3.8.3 and
12.2.3.8.4 are optional for any transport entity. The protocol
operates correctly either with or without these procedures which
are defined to enhance the efficiency of its operation. However,
if these procedures are not used then W must be set to ensure
enough retransmissions of the AK TPDU so that release of TC is
avoided. The value of W should be approximately
W = (T1 * N)/(N-1) when the procedures are not used.
12.2.3.8.2 Sequence control for transmission of AK TPDUs
To allow the receiving transport entity to process AK TPDUs in
the correct sequence, as described in 12.2.3.7, the subsequence
parameter may be included following reduction of CDT. If the
value of the subsequence number to be transmitted is zero, then
the parameter should be omitted.
The value of the subsequence parameter, if used, shall be zero
(either explicitly or by absence of the parameter) if the
sequence number is greater than the field in previous AK TPDUs,
sent by the transport entity.
If the sequence number is the same as the previous AK TPDU sent
and the CDT field is equal to or greater than the CDT field in
the previous AK TPDU sent then the subsequence parameter, if
used, shall be equal to that in the previously sent AK TPDU.
If the sequence number is the same as the previous AK TPDU sent
109
and the CDT field is less than the value of the CDT field in the
previous AK TPDU sent than the subsequence parameter, if used,
shall be one greater than the value in the previous AK TPDU..
12.2.3.8.3 Retransmission of AK TPDUs after CDT set to zero
Due to the possibility of loss of AK TPDUs, the upper window edge
as perceived by the transport entity transmitting an AK TPDU may
differ from that perceived by the intended recipient. To avoid
the possibility of extra delay, the retransmission procedure (see
12.2.1.2) should be followed for an AK TPDU, if it opens the
transmit window which has previously been closed by sending an AK
TPDU with CDT field set to zero.
The retransmission procedure, if used, terminates and the
procedure in 12.2.3.8.1 is used when:
a) an AK TPDU is received containing the flow control
confirmation parameter, whose lower window edge and your
subsequence fields are equal to the sequence number and
subsequence number in the retained AK TPDU and whose
credit field is not zero.
b) an AK TPDU is transmitted with a sequence number higher
than that in the retained AK TPDU, due to reception of a
DT TPDU whose sequence number is equal to the lower window
edge;
c) N transmissions of the retained AK TPDU have taken place.
In this case the transport entity shall continue to
transmit the AK TPDU at an interval of W.
An AK TPDU which is subject to the retransmission procedure shall
not contain the flow control confirmation parameter. If it is
required to transmit this parameter concurrently, an additional
AK TPDU shall be transmitted having the same values in the
sequence, subsequence (if applicable) and credit fields.
110
12.2.3.8.4 Retransmission procedures following reduction of the
upper window edge
This subclause specifies the procedure for retransmission of AK
TPDUs after a transport entity has reduced the upper window edge
(see 12.2.3.6) or for an AK TPDU with the credit field set to
zero. This procedure is used until the lower window edge exceeds
the highest value of the upper window edge ever transmitted (i.e.
the value existing at the time of credit reduction, unless a
higher value is retained from a previous credit reduction).
This retransmission procedure should be followed for any AK TPDU
which increases the upper window edge, unless an AK TPDU has been
received containing a flow control confirmation parameter, which
corresponds to an AK TPDU transmitted following credit reduction,
for which the sum of the credit and lower window edge fields
(i.e. the upper window edge value) is greater than the lower
window edge (YR-TU-NR field) of the transmitted AK TPDU.
This retransmission procedure for any particular AK TPDU shall
terminate when:
a) an AK TPDU is received containing the flow control
confirmation parameter, whose lower window edge and your
subsequence fields are equal to the lower window edge and
subsequence number in the retained AK TPDU; or
b) N transmissions of the retained AK TPDU have taken place.
In this case the transport entity shall continue to
transmit the AK TPDU at an interval of W.
An AK TPDU which is subject to the retransmission procedure shall
not contain the flow control confirmation parameter. If it is
required to transmit this parameter concurrently, an additional
AK TPDU shall be transmitted having the same values in the
sequence, subsequence (if applicable) and credit fields.
NOTE - Retransmission of AK TPDUs is normally not necessary,
except following explicit closing of the window (i.e.
transmission of an AK TPDU with CDT field set to zero). If
data is available to be transmitted, the retransmission
procedure for DT TPDUs will ensure that an AK TPDU is received
111
granting further credit where this is available. Following
credit reduction, this may no longer be so, because
retransmission may be inhibited by the credit reduction. The
rules described in this clause avoid extra delay.
The rules for determining whether to apply the retransmission
procedure to an AK TPDU may be expressed alternatively as
follows. Let:
LWE = lower window edge
UWE = upper window edge
KUWE = lower bound on upper window edge
held by remote transport entity
The retransmission procedure is to be used whenever:
(UWE>LWE) and (KUWE = LWE)
i.e. when the window is opened and it is not known definitely
that the remote transport entity is aware of this.
KUWE is maintained as follows. When credit is reduced, KUWE is
set to LWE. Subsequently, it is increased only upon receipt of a
valid flow control confirmation (i.e. one which matches the
retained lower window edge and subsequence). In this case KUWE
is set to the implied upper window edge of the flow control
confirmation, i.e. the sum of its lower window edge and your
credit fields. By this means, it can be ensured that KUWE is
always less than or equal to the actual upper window edge in use
by the transmitter of DT TPDUs.
12.2.3.9 Use of Flow Control Confirmation parameter
At any time, an AK TPDU may be transmitted containing a flow
control confirmation parameter. The lower window edge, your
subsequence and your credit fields shall be set to the same
values as the corresponding fields in the most recently received
in sequence AK TPDU.
112
An AK TPDU containing a flow control confirmation parameter
should be transmitted whenever:
a) a duplicate AK TPDU is received, with the value of YR-TU-
NR, CDT, and subsequence fields equal to the most recently
received AK TPDU, but not itself containing the flow
control confirmation parameter;
b) an AK TPDU is received which increases the upper window
edge but not the lower window edge, and the upper window
edge was formerly equal to the lower window edge; or
c) an AK TPDU is received which increases the upper window
edge but not the lower window edge, and the lower window
edge is lower than the highest value of the upper window
edge received and subsequently reduced (i.e. following
credit reduction).
12.2.4 Procedures for Release
12.2.4.1 Timers used for Release
There are no timers used only for release.
12.2.4.2 General Procedures for Release
The transport entity shall use the explicit variant of normal
release (see 6.7).
113
13 STRUCTURE AND ENCODING OF TPDUs
13.1 Validity
Table 8 specifies those TPDUs which are valid for each class and
the code for each TPDU.
KEY: xxxx (bits 4-1): used to signal the CDT (set to 0000
in classes 0 and 1)
zzzz (bits 4-1): used to signal CDT in classes 2, 3,
4 set to 1111 in class 1
NF: Not available when the non explicit
flow control option is selected.
NRC: Not available when the receipt
confirmation option is selected.
NOTE - These codes are already in use in related protocols
defined by standards oganizations other than CCITT/ISO.
114
+-------------------------------------------------------------+
| | Validity within | | |
| | classes | see | Code |
| |-------------------| Clause| |
| | 0 | 1 | 2 | 3 | 4 | | |
|-----------------------|-------------------|-------|---------|
|CR Connection Request | x | x | x | x | x | 13.3 |1110 xxxx|
|-----------------------|---|---|---|---|---|-------|---------|
|CC Connection Confirm | x | x | x | x | x | 13.4 |1101 xxxx|
|-----------------------|---|---|---|---|---|-------|---------|
|DR Disconnect Request | x | x | x | x | x | 13.5 |1000 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|DC Disconnect Confirm | | x | x | x | x | 13.6 |1100 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|DT Data | x | x | x | x | x | 13.7 |1111 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|ED Expedited Data | | x | NF| x | x | 13.8 |0001 0000|
|-----------------------|---|---|---|---|---|-------|---------|
|AK Data Acknowledgement| |NRC| NF| x | x | 13.9 |0110 zzzz|
|-----------------------|---|---|---|---|---|-------|---------|
|EA Expedited Data | | x | NF| x | x | 13.10 |0010 0000|
|Acknowledgement | | | | | | | |
|-----------------------|---|---|---|---|---|-------|---------|
|RJ Reject | | x | | x | | 13.11 |0101 zzzz|
|-----------------------|---|---|---|---|---|-------|---------|
|ER TPDU Error | x | x | x | x | x | 13.12 |0111 0000|
|-----------------------|---|---|---|---|---|-------|---------|
| | | | | | | - |0000 0000|
| |---|---|---|---|---|-------|---------|
|not available | | | | | | - |0011 0000|
| (see note) |---|---|---|---|---|-------|---------|
| | | | | | | - |1001 xxxx|
| |---|---|---|---|---|-------|---------|
| | | | | | | - |1010 xxxx|
+-------------------------------------------------------------+
Table 8. TPDU code
115
13.2 Structure
All the transport protocol data units (TPDUs) shall contain an
integral number of octets. The octets in a TPDU are numbered
starting from 1 and increasing in the order they are put into an
NSDU. The bits in an octet are numbered from 1 to 8, where bit 1
is the low-ordered bit.
When consecutive octets are used to represent a binary number,
the lower octet number has the least significant value.
NOTE - When the encoding of a TPDU is represented using a
diagram in this clause, the following representation is used:
a) octets are shown with the lowest numbered octet to the
left, higher numbered octets being further to the right;
b) within an octet, bits are shown with bit 8 to the left and
bit 1 to the right.
TPDUs shall contain, in the following order:
a) the header, comprising:
1) the length indicator (LI) field;
2) the fixed part;
3) the variable part, if present;
b) the data field, if present.
This structure is illustrated below:
octet 1 2 3 4 ... n n+1 ... p p+1 ...end
+---+-------------+--------------+-----------+
| LI| fixed part | variable part| data field|
+---+-------------+--------------+-----------+
<--------------- header ------>
116
13.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 (1111 1110). The length indicated shall be the header length
in octets including parameters, but excluding the length
indicator field and user data, if any. The value 255 (1111 1111)
is reserved for possible extensions. If the length indicated
exceeds the size of the NS-user data which is present, this is a
protocol error.
13.2.2 Fixed part
13.2.2.1 General
The fixed part contains frequently occurring parameters including
the code of the TPDU. The length and the structure of the fixed
part are defined by the TPDU code and in certain cases by the
protocol class and the formats in use (normal or extended). If
any of the parameters of the fixed part have an invalid value, or
if the fixed part cannot be contained with the header (as defined
by LI) this is a protocol error.
NOTE - In general, the TPDU code defines the fixed part
unambiguously. However, different variants may exist for the
same TPDU code (see normal and extended formats).
13.2.2.2 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:
117
1110 xxxx Connection Request
1101 xxxx Connection Confirm
0101 xxxx Reject
0110 xxxx Data Acknowledgement
where xxxx (bits 4-1) is used to signal the CDT.
Only those codes defined in 13.1 are valid.
13.2.3 Variable part
The variable part is used to define less frequently used
parameters. If the variable part is present, it shall contain
one or more parameters.
NOTE - The number of parameters that may be contained in the
variable part is indicated by the length of the variable part
which is LI minus the length of the fixed part.
Each parameter contained within the variable part is structured
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 | |
+------------------------------------|
118
- The parameter code field is coded in binary;
NOTE - Without extensions, it provides a maximum number of 255
different parameters. However, as noted below, bits 8 and 7
cannot take every possible value, so the practical maximum
number of different parameters is less. Parameter code 1111
1111 is reserved for possible extensions of the parameter code.
- The parameter length indication indicates the length, in
octets, of the parameter value field.
NOTE - 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 succeeding parameter, the maximum
value of m decreases.
- The parameter value field contains the value of the parameter
identified in the parameter code field.
- No parameter codes use bits 8 and 7 with the value 00.
- The parameters defined in the variable part may be in any
order. If any parameter is duplicated then the later value
shall be used. A parameter not defined in this International
Standard shall be treated as a protocol error in any received
TPDU except a CR TPDU; in a CR TPDU it shall be ignored. If
the responding transport entity selects a class for which a
parameter of the CR TPDU is not defined, it may ignore this
parameter, except the class and option, and alternative
protocol class parameters which shall always be interpreted. A
parameter defined in this International Standard but having an
invalid value shall be treated as a protocol error in any
received TPDU except a CR TPDU. In a CR TPDU it shall be
treated as a protocol error if it is either the class and
option parameter or the alternative class parameter or the
additional option parameter; otherwise it shall be either
ignored or treated as a protocol error.
119
13.2.3.1 Checksum Parameter (Class 4 only)
All TPDU types may contain a 16-bit checksum parameter in their
variable part. This parameter shall be present in a CR TPDU and
shall be present in all other TPDUs 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 6.17.
13.2.4 Data Field
This field contains transparent user data. Restrictions on its
size are noted for each TPDU.
13.3 Connection Request (CR) TPDU
The length of the CR TPDU shall not exceed 128 octets.
13.3.1 Structure
The structure of the CR TPDU shall be as follows:
1 2 3 4 5 6 7 8 p p+1...end
+--+------+---------+---------+---+---+------+-------+---------+
|LI|CR CDT| DST - REF |SRC-REF|CLASS |VARIAB.|USER |
| |1110 |0000 0000|0000 0000| | |OPTION|PART |DATA |
+--+------+---------+---------+---+---+------+-------+---------+
120
13.3.2 LI
See 13.2.1
13.3.3 Fixed Part (Octets 2 to 7)
The structure of this part shall contain:
a) CR : Connection Request Code: 1110. Bits 8-5 of
octet 2;
b) CDT : Initial Credit Allocation (set to 0000 in
Classes 0 and 1 when specified as preferred
class). Bits 4-1 of octet 2;
c) DST-REF : Set to zero;
d) SRC-REF : Reference selected by the transport entity
initiating the CR TPDU to identify the
requested transport connection;
e) CLASS and Bits 8-5 of octet 7 defines the preferred
OPTION: transport protocol class to be operated over
the requested transport connection. This
field shall take one of the following values:
0000 Class 0
0001 Class 1
0010 Class 2
0011 Class 3
0100 Class 4
The CR TPDU contains the first choice of class in the fixed part.
Second and subsequent choices are listed in the variable part if
required.
Bits 4-1 of octet 7 define options to be used on the requested
transport connection as follows:
121
+-----|-----------------------------------------------+
| BIT | OPTION |
|-----|-----------------------------------------------|
| 4 | 0 always |
| | |
| 3 | 0 always |
| | |
| 2 | =0 use of normal formats in all classes |
| | =1 use of extended formats in Classes 2,3,4 |
| | |
| 1 | =0 use of explicit flow control in Class 2 |
| | =1 no use of explicit flow control in |
| | Class 2 |
+-----------------------------------------------------+
NOTES
1. The connection establishment procedure (see 6.5) does not
permit a given CR TPDU to request use of transport expedited
data transfer service (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.
13.3.4 Variable Part (Octets 8 to p)
The following parameters are permitted in the variable part:
a) Transport Service Access Point Identifier (TSAP-ID)
Parameter code: 1100 0001 for the identifier of the
Calling TSAP.
1100 0010 for the identifier of the
Called TSAP
Parameter length: not defined in this standard
Parameter value: identifier of the calling or called
TSAP respectively.
122
If a TSAP-ID is given in the request it may be returned in
the confirmation.
b) 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: 1100 0000
Parameter Length: 1 octet
Parameter value:
0000 1101 8192 octets (not allowed in Class 0)
0000 1100 4096 octets (not allowed in Class 0)
0000 1011 2048 octets
0000 1010 1024 octets
0000 1001 512 octets
0000 1000 256 octets
0000 0111 128 octets
Default value is 0000 0111 (128 octets)
c) Version Number (not used if Class 0 is the preferred
class)
Parameter code: 1100 0100
Parameter length: 1 octet
Parameter value field: 0000 0001
Default value is 0000 0001 (not used in Class 0)
d) Security Parameters (not used if Class 0 is the preferred
class)
This parameter is user defined.
Parameter code: 1100 0101
Parameter length: user defined
Parameter value: user defined
e) Checksum (used only if class 4 is the preferred class)
(see 13.2.3.1)
123
This parameter shall 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.
f) Additional Option Selection (not used if Class 0 is the
preferred class)
This parameter defines the selection to be made as to
whether or not additional options are to be used.
Parameter code: 1100 0110
Parameter length: 1
Parameter value:
+------------------------------------------------------+
|BIT| 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= 16-bit checksum defined in 6.17 is to be used|
| | in Class 4 |
| | 1= 16-bit checksum defined in 6.17 is not to be |
| | used on Class 4 |
| | |
| 1 | 1= Use of transport expedited data transfer |
| | service |
| | 0= No use of transport expedited data transfer |
| | service |
+------------------------------------------------------+
Default value is 000 0001
Bits related to options particular to a class are not
meaningful if that class is not proposed and may take any
value.
124
g) Alternative protocol class(es) (not used if Class 0 is the
preferred class)
Parameter code: 1100 0111
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).
h) Acknowledge Time (used only if class 4 is the preferred
class)
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 12.2.1.1.3)
Parameter code: 1000 0101
Parameter length: 2
Parameter value: n, a binary number where n is the
maximum acknowledge time, expressed
in milliseconds.
j) Throughput (not used if class 0 is the preferred class)
Parameter code: 1000 1001
Parameter length: 12 or 24
Parameter value:
1st 12 Octets: maximum throughput, as follows:
1st 3 octets: Target 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
2nd 12 octets (optional): average throughput, as follows:
5th 3 octets: Target value, calling-called user
direction
125
6th 3 octets: Min. acceptable, calling-called user
direction
7th 3 octets: Target value, called-calling user
direction
8th 3 octets: Min. acceptable, called-calling user
direction
Where the average throughput is omitted, it is considered
to have the same value as the maximum throughput.
Values are expressed in octets per second.
k) Residual error rate (not used if class 0 is the preferred
class)
Parameter code: 1000 1001
Parameter length: 12
1st 3 octets: Target 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
l) Residual error rate (not used if class 0 is the preferred
class)
Parameter code: 1000 0110
Parameter length: 3
Parameter value:
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
m) Priority (not used if class 0 is the preferred class)
Parameter code: 1000 0111
Parameter length: 2
Parameter value: Integer (0 is the highest priority)
126
n) Transit delay (not used if class 0 is the preferred class)
Parameter code: 1000 1000
Parameter length: 8
Parameter value:
1st 2 octets: Target value, calling-called user
direction
2nd 2 octets: Max. acceptable, calling-called user
direction
3rd 2 octets: Target value, called-calling user
direction
4th 2 octets: Max. acceptable, called-calling user
direction
Values are expressed in milliseconds, and are based upon a
TSDU size of 128 octets.
p) assignment time (not used if class 0, 2 or class 4 is the
preferred class)
This parameter conveys the Time to Try Reassignment (TTR)
which will be used when following the procedure for
Reassignment after Failure (see 6.12).
Parameter code: 1000 1011
Parameter length: 2
Parameter value: n, a binary number where n is the TTR
value expressed in seconds.
13.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.
127
13.4 Connection Confirm (CC) TPDU
13.4.1 Structure
The structure of the CC TPDU shall be as follows:
1 2 3 4 5 6 7 8 p p+1 ...end
+---+----+---+---+---+---+---+-------+--------+-------------+
|LI | CC CDT|DST-REF|SRC-REF| CLASS |VARIABLE| USER |
| |1101| | | | | | OPTION| PART | DATA |
+---+----+---+---+---+---+---+-------+--------+-------------+
13.4.2 LI
See 13.2.1
13.4.3 Fixed Part (Octets 2 to 7)
The fixed part shall contain:
a) CC: Connection Confirm Code: 1101. Bits 8-5 of octet 2;
b) CDT: Initial Credit Allocation (set to 0000 in Classes 0
and 1). Bits 4-1 of octet 2;
c) DST-REF: Reference identifying the requested transport
connection at the remote transport entity;
d) SRC-REF: Reference identifying the requested transport
connection at the remote transport entity.
e) Class and Option: Defines the selected transport protocol
class and option to be operated over the accepted
transport connection according to the negotiation rules
specified in 6.5;
128
13.4.4 Variable Part (Octet 8 to p)
The parameters are defined in 13.3.4 and are subject to the
constraints states in 6.5 (connection establishment). Parameters
ruled out by selection of an alternative class and option shall
not be present.
13.4.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.
The user data are subject to the constraints of the negotiation
rules (see 6.5).
13.5 Disonnect Request (DR) TPDU
13.5.1 Structure
The structure of the DR TPDU shall be as follows:
1 2 3 4 5 6 7 8 p p+1 ...end
+--+---------+----+-----+----+-----+------+--------+----------+
|LI| DR | DST-REF. | SRC-REF. |REASON|VARIABLE| USER |
| |1000 0001| | | | | | PART | DATA |
+--+---------+----+-----+----+-----+------+--------+----------+
13.5.2 LI
See Section 13.2.1
129
13.5.3 Fixed Part (Octets 2 to 7
The fixed part shall contain:
a) DR: Disconnect Request Code: 1000 0000;
b) DST-REF: Reference identifying the transport connection
at the remote transport entity;
c) SRC-REF: Reference identifying the transport connection
at the transport entity initiating the TPDU. Value zero
when reference is unassigned;
d) REASON: Defines the reason for disconnecting the
transport connection. This field shall take one of the
following values:
The following values may be used for Classes 1 to 4:
1) 128 + 0 - Normal disconnect initiated by session
entity
2) 128 + 1 - Remote transport entity congestion at
connect request time
3) *128 + 2 - Connection negotiation failed (i.e. proposed
class(es) not supported)
4) 128 + 3 - Duplicate source reference detected for the
same pair of NSAPS.
5) 128 + 4 - Mismatched references
6) 128 + 5 - Protocol error
7) 128 + 6 - Not used
8) 128 + 7 - Reference overflow
9) 128 + 8 - Connection request refused on this network
connection
10) 128 + 9 - Not used
11) 128 + 10- Header or parameter length invalid
130
The following values can be used for all classes:
12) 0 - Reason not specified
13) 1 - Congestion at TSAP
14) *2 - Session entity not attached to TSAP
15) *3 - Address unknown
NOTE - Reasons marked with an asterisk (*) may be reported to
the TS-user as persistent, other reasons as transient.
13.5.4 Variable Part (Octets 8 to p)
The variable part may contain
a) A parameter allowing additional information related to the
clearing of the connection.
Parameter code: 1110 0000
Parameter length: Any value provided that the length of
the DR TPDU does not exceed the maximum
agreed TPDU size or 128 when the DR
TPDU is used during the connection
refusal procedure
Parameter value: Additional information. The content of
this field is user defined.
b) Checksum (see 13.2.3.1)
13.5.5 User Data (Octets p+1 to the end)
This field shall not exceed 64 octets and is used to carry TS-
user data. The successful transfer of this data is not
guaranteed by the transport protocol. When a DR TPDU is used in
Class 0 it shall not contain this field.
131
13.6 Disconnect Confirm (DC) TPDU
This TPDU shall not be used in Class 0.
13.6.1 Structure
The structure of DC TPDU shall be as follows:
1 2 3 4 5 6 7 p
+----+-----------+-----+-----+-----+-----+-------+--------+
| LI | DC | DST REF | SRC REF | Variable Part |
| | 1100 0000 | | | | | | |
+----+-----------+-----+-----+-----+-----+-------+--------+
13.6.2 LI
See 13.2.1
13.6.3 Fixed Part (Octets 2 to 6)
The fixed part shall contain:
a) DC: Disconnect Confirm Code: 1100 0000;
b) DST-REF: See 13.4.3;
c) SRC-REF: See 13.4.3.
132
13.6.4 Variable Part
The variable part shall contain the checksum parameter if the
condition in (see 13.2.3.1) applies.
13.7 Data (DT) TPDU
13.7.1 Structure
Depending on the class and the option the DT TPDU shall have one
of the following structures.
a) Normal format for Classes 0 and 1
1 2 3 4 5 ... end
+----+-----------+-----------+------------ - - - - - -------+
| LI | DT | TPDU-NR | User Data |
| | 1111 0000 | and EOT | |
+----+-----------+-----------+------------ - - - - - -------+
b) Normal format for Classes 2, 3 and 4
1 2 3 4 5 6 p p+1 ... end
+----+---------+---+---+-------+-----+-------+----------- - - -+
| LI | DT |DST-REF|TPDU-NR|Variable Part|User Data |
| |1111 0000| | |and EOT| | | |
+----+---------+---+---+-------+-----+-------+----------- - - -+
c) Extended Format for use in Classes 2, 3 and 4 when
selected during connection establishment.
1 2 3 4 5,6 7,8 9 p p+1 ... end
+----+---------+---+---+---------+--------+---------- - - -+
| LI | DT |DST-REF| TPDU-NR |Variable|User Data |
| |1111 0000| | | and EOT | Part | |
+----+---------+---+---+---------+--------+---------- - - -+
133
13.7.2 LI
See 13.2.1
13.7.3 Fixed Part
The fixed part shall contain:
a) DT: Data Transfer Code: 1111 0000;
b) DST-REF: See 13.4.3;
c) 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). EOT is bit 8 of octet 3
in class 0 and 1, bit 8 of octet 5 for normal
formats for classes 2, 3 and 4 and bit 8 of
octet 8 for extended formats;
d) TPDU-NR: TPDU send Sequence Number (zero in Class 0).
May take any value in Class 2 without explicit
flow control. TPDU-NR is bits 7-1 of octet 3
for classes 0 and 1, bits 7-1 of octet 5 for
normal formats in classes 2, 3 and 4, octets 5,
6 and 7 together with bits 7-1 of octet 8 for
extended formats.
NOTE - Depending on the class, the fixed part of the DT TPDU
uses the following octets:
Classes 0 and 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.
134
13.7.4 Variable Part
The variable part shall contain the checksum parameter if the
condition in see 13.2.3.1 applies.
13.7.5 User Data Field
This field contains data of the TSDU being transmitted.
NOTE - 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 present, may further reduce the size of the user data
field.
13.8 Expedited Data (ED) TPDU
The ED TPDU shall not be used in Class 0 or in Class 2 when the
no explicit flow control option is selected or when the expedited
data transfer service has not been selected for the connection.
13.8.1 Structure
Depending on the format negotiated at connection establishment
the ED TPDU shall have one of the following structures:
135
a) Normal Format (classes 1, 2, 3, 4)
1 2 3 4 5 6 p p+1 ... end
+--+---------+---+---+---------+-----+-------+---------------+
|LI| ED |DST-REF|EDTPDU-NR|Variable Part|User Data |
| |0001 0000| | |and EOT | | | |
+--+---------+---+---+---------+-----+-------+---------------+
b) Extended Format (for use in classes 2, 3, 4 when selected
during connection establishment).
1 2 3 4 5,6,7,8 9 p p+1 ... end
+--+---------+---+---+---------+-----+-------+---------------+
|LI| ED |DST-REF|EDTPDU-NR|Variable Part|User Data |
| |0001 0000| | |and EOT | | | |
+--+---------+---+---+---------+-----+-------+---------------+
13.8.2 LI
See 13.2.1
13.8.3 Fixed Part
The fixed part shall contain:
a) ED: Expedited Data code: 0001 0000;
b) DST-REF: see 13.4.3;
c) ED-TPDU-NR: Expedited TPDU identification number. ED-
TPDU-NR is used in classes 1, 3 and 4 and may
take any value in Class 2. Bits 7-1 of octet
5 for normal formats and octets 5, 6 and 7
together with bits 7-1 of octet 8 for
extended formats;
136
d) EOT: end of TSDU always set to 1 (bit 8 of octet 5
for normal formats and bit 8 of octet 8 for
extended formats).
NOTE - Depending on the format the fixed part shall be either
octets 2 to 5 or 2 to 8.
13.8.4 Variable Part
The variable part shall contain the checksum parameter if the
condition defined in 13.2.3.1 applies.
13.8.5 User Data Field
This field contains an expedited TSDU (1 to 16 octets).
13.9 Data Acknowledgement (AK) TPDU
This TPDU shall not be used 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.
13.9.1 Structure
Depending on the class and option agreed the AK TPDU shall have
one of the following structures:
137
a) Normal Format (classes 1, 2, 3, 4)
1 2 3 4 5 6 p
+--+--------+----------+------------+---------------+
|LI| AK CDT | DST-REF | YR-TU-NR | Variable Part |
| | 0110 | | | |
+--+--------+----------+------------+---------------+
b) Extended Format (for use in classes 2, 3, 4 when selected
during connection establishment).
1 2 3 4 5,6,7,8 9,10 11 p
+--+---------+---------+----------+-----+--------+
|LI| AK | DST-REF | YR-TU-NR | CDT |Variable|
| |0110 0000| | | | Part |
+--+---------+---------+----------+-----+--------+
13.9.2 LI
See 13.2.1
13.9.3 Fixed Part
The fixed part shall contain (in octet 2 to 5 when normal format
is used, 2 to 10 otherwise) the following parameters:
a) AK: Acknowledgement code: 0110;
b) CDT: Credit Value (set to 1111 in class 1). Bits
4-1 of octet 2 for normal formats and octets 9
and 10 for extended formats;
c) DST-REF: See 13.4.3;
d) YR-TU-NR: Sequence number indicating the next expected DT
TPDU number. For normal formats, bits 7-1 of
octet 5; bit 8 of octet 5 is not significant
138
and shall take the value 0. For extended
formats, octets 5, 6 and 7 together with bits
7-1 of octet 8; bit 8 of octet 8 is not
significant and shall take the value 0.
13.9.4 Variable Part
The variable part contains the following parameters:
a) Checksum See 13.2.3.1 if the condition in 13.2.3.1
applies;
b) Subsequence number when optionally used under the
conditions defined in class 4. 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: 1000 1010
Parameter length: 2
Parameter value: 16-bit sub-sequence number;
c) Flow Control Confirmation Class 4 when optionally used
under the conditions defined in class 4. 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
12.2.3.10).
Parameter code: 1000 1011
Parameter length: 8
Parameter value: defined as follows
1. Lower Window Edge (32 bits)
Bit 8 of octet 4 is set to zero, the remainder
contains the YR-TU-NR value of the received AK TPDU.
When normal format has been selected, only the least
significant seven bits (bits 1 to 7 of octet 1) of
this field are significant.
2. Your Sub-Sequence (16 bits)
Contains the value of the sub-sequence parameter of
139
the received AK TPDU, or zero if this parameter was
not present.
3. Your Credit (16 bits)
Contains the value of the CDT field of the received AK
TPDU. When normal format has been selected, only the
least significant four bits (bits 1 to 4 of octet 1)
of this field are significant.
13.10 Expedited Data Acknowledgement (EA) TPDU
This TPDU shall not be used for Class 0 and Class 2 when the no
explicit flow control option is selected.
13.10.1 Structure
Depending on the option (normal or extended format) the TPDU
structure shall be:
a) Normal Format (classes 1,2,3,4)
1 2 3 4 5 6 p
+--+---------+---------+----------+------+------+
|LI| EA | DST-REF | YR-TU-NR |Variable Part|
| |0010 0000| | | | |
+--+---------+---------+----------+------+------+
b) Extended Format (for use in classes 2, 3, 4 if selected
during connection establishment)
1 2 3 4 5,6,7,8 9 p
+--+---------+---------+----------+------+------+
|LI| EA | DST-REF | YR-TU-NR |Variable Part|
| |0010 0000| | | | |
+--+---------+---------+----------+------+------+
140
13.10.2 LI
See 13.2.1
13.10.3 Fixed Part
The fixed part shall contain (in octets 2 to 5 when normal format
is used, in octets 2 to 8 otherwise):
a) EA: Expedited Acknowledgement code: 0010 0000;
b) DST-REF: See 13.4.3;
c) YR-EDTU-NR: Identification of the ED TPDU being
acknowledged. May take any value in Class 2;
For normal formats bits 7-1 of octet 5; bit 8
of octet 5 is not significant and shall take
the value 0. For extended formats, octets
5,6 and 7 together with bits 7-1 of octet 8;
bit 8 of octet 8 is not significant and shall
take the value 0.
13.10.4 Variable Part
The variable part may contain the checksum parameter (see
13.2.3.1).
13.11 Reject (RJ) TPDU
The RJ TPDU shall not be used in Classes 0, 2 and 4.
141
13.11.1 Structure
The RJ TPDU shall have one of the following formats:
a) Normal Format (classes 1 and 3)
1 2 3 4 5
+----+----------+----+----+------------+
| LI | RJ CDT | DST-REF | YR-TU-NR |
| | 0101 | | | |
+----+----------+----+----+------------+
b) Extended Format (for use in classes 3 if selected during
connection establishment).
1 2 3 4 5,6,7,8 9,10
+--+-----------+----+----+----------+-----+
|LI| RJ | DST-REF | YR-TU-NR | CDT |
| | 0101 0000 | | | | |
+--+-----------+----+----+----------+-----+
13.11.2 LI
See 13.2.1.
13.11.3 Fixed Part
The fixed part shall contain (in octets 2 to 5 when normal format
is used, in octets 2 to 10 otherwise):
a) RJ: Reject Code: 0101. Bits 8-5 of octet 2;
b) CDT: Credit Value (set to 1111 in class 1). Bits
4-1 of octet 2 for normal formats and octets 9
and 10 for extended formats;
c) DST-REF: See 13.4.3;
142
d) YR-TU-NR: Sequence number indicating the next expected
TPDU from which retransmission should occur.
For normal formats, bits 7-1 of octet 5; bit 8
of octet 5 is not significant and shall take
the value 0. For extended formats, octets 5,6
and 7 together with bits 7-1 of octet 8; bit 8
of octet 8 is not significant and shall take
the value 0.
13.11.4 Variable Part
There is no variable part for this TPDU type.
13.12 TPDU Error (ER) TPDU
13.12.1 Structure
1 2 3 4 5 6 P
+----+-----------+----+----+--------+----------+
| LI | ER | DST-REF | Reject | Variable |
| | 0111 0000 | | | Cause | Part |
+----+-----------+----+----+--------+----------+
13.12.2 LI
See 13.2.1
143
13.12.3 Fixed Part
The fixed part shall contain:
a) ER: TPDU Error Code: 0111 0000;
b) DST-REF: See 13.4.3;
c) REJECT CAUSE: 0000 0000 Reason not specified
0000 0001 Invalid parameter code
0000 0010 Invalid TPDU type
0000 0011 Invalid parameter value.
13.12.4 Variable Part
The variable part may contain the following parameters:
a) Invalid TPDU
Parameter code: 1100 0001
Parameter length: number of octets of the value field
Parameter Value: 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.
b) Checksum
This parameter shall be present if the condition in
13.2.3.1 applies.
144
SECTION THREE. CONFORMANCE
14 CONFORMANCE
14.1
A system claiming to implement the procedures specified in this
standard shall comply with the requirements in 14.2 - 14.5.
14.2
The system shall implement Class 0 or Class 2 or both.
14.3
If the system implements Class 3 or Class 4, it shall also
implement Class 2.
14.4
If the system implements Class 1, it shall also implement Class
0.
145
14.5
For each class which the system claims to implement, the system
shall be capable of:
a) initiating CR TPDUs or responding to CR TPDUs with CC
TPDUs or both;
b) responding to any other TPDU and operating network service
in accordance with the procedures for the class;
c) operating all the procedures for the class listed as
mandatory in table 9;
d) operating those procedures for the class listed as
optional in table 9 for which conformance is claimed;
e) handling all TPDUs of lengths up to the lesser value of:
1) the maximum length for the class;
2) the maximum for which conformance is claimed.
NOTE - This requirement indicates that TPDU sizes of 128
octets are always implemented.
14.6 Claims of Conformance Shall State
a) which class or classes of protocol are implemented;
b) whether the system is capable of initiating or responding
to CR TPDUs or both;
c) which of the procedures listed as optional in table 9 are
implemented;
146
d) the maximum size of TPDU implemented; the value shall be
chosen from the following list and all values in the list
which are less than this maximum shall be implemented:
128, 256, 512, 1024, 2048, 4096 or 8192 octets.
147
+------------------------------------------------------------+
| PROCEDURE | CLASS 0 | CLASS 1 |
|--------------------------|----------------|----------------|
| | | |
|TPDU with checksum | NA | NA |
|TPDU wihout checksum | mandatory | mandatory |
| | | |
|--------------------------|----------------|----------------|
|Expedited data transfer | NA | mandatory |
|No expedited data transfer| mandatory | mandatory |
| | | |
|--------------------------|----------------|----------------|
|Flow control in Class 2 | NA | NA |
|No flow control in Class 2| NA | NA |
| | | |
|--------------------------|----------------|----------------|
|Normal formats | mandatory | mandatory |
|Extended formats | NA | NA |
| | | |
|--------------------------|----------------|----------------|
|Use of receipt confirma- | | |
|tion in Class 1 | NA | optional |
|No use of receipt con- | | |
|firmation in Class 1 | NA | mandatory |
| | | |
|--------------------------|----------------|----------------|
|Use of network expedited | | |
|in Class 1 | NA | optional |
|No use of network expedi- | | |
|ted in Class 1 | NA | mandatory |
| | | |
+------------------------------------------------------------+
NA indicates the procedure is not applicable.
Table 9. (First of 2 pages) Provision of options
148
+------------------------------------------------------------+
| PROCEDURE | CLASS 2 | CLASS 3 | CLASS 4 |
|--------------------------|----------|----------|-----------|