www.pragsoft.com Chapter 6: The Session Layer
81
•
Minor Synchronization Points
. These can be issued at arbitrary points in time, and are used for coordinating data exchange within dialogue units see Figure
6.68. This service is supported by the S-SYNC-MINOR primitive. The primitive takes one parameter type in addition to the two used by S-SYNC-
MAJOR; it determines whether the request is to be confirmed.
Figure 6.68 Minor synchronization points.
Minor sync Send Record 1
Dialogue unit Major sync
Major sync
Minor sync Minor sync
All synchronization points are serially numbered for ease of reference. The serial numbers are managed by the service provider. For minor synchronization, when the
functional unit Symmetric Synchronize is selected instead of Minor Synchronize at connection time, two serial numbers are employed, one for each data flow direction.
6.2.4. Error Reporting and Resynchronization
The error reporting service is based on two primitives. S-U-EXCEPTION is issued by a service user to report an error condition to the other user. Error conditions
detected by the service provider are reported to service users using the S-P- EXCEPTION primitive. All data in transit is lost as a consequence. Also, unless the
error is handled by the service users, no further activity is permitted. Depending on the nature of the error, it may be handled in a number of ways: issuing an S-U-
ABORT, S-ACTIVITY-INTERRUPT, S-ACTIVITY-DISCARD, or resynchronizing.
Resynchronization is a service used for recovering from errors as well as for resolving disagreements between service users. It allows the service users to agree
on a synchronization point, and start from that point. All data in transit is lost as a result. This service is supported by the S-RESYNCHRONIZE primitive, which may
be issued by either user and requires confirmation. It takes four parameters: type explained below, serial number for a synchronization point, tokens for
distribution of tokens after resynchronization, and user data an unlimited block. The type parameter may be one of:
•
Abandon . Aborts the current dialogue by resynchronizing to a new
synchronization point with a serial number greater than all previous ones.
82 Communication Networks
Copyright © 2005 PragSoft
•
Restart
. Re-attempts a dialogue by retreating to an earlier synchronization point, provided it is no earlier than the last confirmed major synchronization point.
•
Reset . Aborts the current dialogue and sets the synchronization serial number to
a new value subject to negotiation.
6.2.5. SPDUs
Session layer messages are exchanged by the transport layer using Session Protocol Data Units
SPDUs. Most primitives are implemented as one or two SPDUs the additional SPDU is used where acknowledgment is required, i.e., in
confirmed primitives. Some SPDUs are individually mapped onto TSDUs e.g., Connect and Disconnect SPDUs. Others are always concatenated with Please-
Token and Give-Token SPDUs and then mapped onto TSDUs e.g., all Activity SPDUs.
The general structure of an SPDU is shown in Figure 6.69. The exact parameters depend on the type of SPDU. As indicated in the figure, parameters may be grouped
together. Furthermore, parameter groups may contain subgroups.
Figure 6.69 General SPDU structure. Field
Description
Service ID Specifies the type of this SPDU.
Length Indicator Total length of the following parameters.
P sample Parameter ID
Specifies the type of this parameter. A
single Length Indicator
Length of the parameter. R
par. Parameter Value
Specifies the value of the parameter. A
...more parameters M
or These can be in any order.
E parameter groups...
T sample
Parameter Group ID Specifies a group of parameters.
E par.
Length Indicator Total length of parameters in this group.
R group
Group The group parameters appear one by one here
S Parameters
and may contain other groups as well. User Data
Actual session service user data.
6.3. Session Layer Standards
Session services discussed in Section 6.1 are defined by the ISO 8326 and CCITT X.215 standards. ISO 8327 and CCITT X.225 define the session protocol, and
were the basis of the discussions in Section 6.2.