Protocol Data Unit (PDU)
The term "letters" refers to blocks of information moved from one port to another. Letter size is independent of the size of packets in the data transmission layer. A letter is a container of information with a variable length limited to 4 K octets.
Host entities, such as
processes, users and devices communicate through the exchange of letters.
Letters are given over to the local transfer station and if fragmentation is necessary the transfer
station divides the letter into several commands that fit into packets. After the letter is sent to the addressee's
transfer station, the receiver reassembles the packets upon arrival and then delivers the letter as a whole to
the receiving process.
The transport service also transmits data units in the form of
"telegrams". A telegram is a fixed length
piece of information (16 bits) intended for interrupt-like use. It could appear
at the user interface as an event, as an interrupt, or as a contingency. Transmission and delivery of telegrams is
independent of letters. [Pouzin
1973, pg 82]Addressing
The hierarchical structure in the transport name space is as
follows: The network uses Transport Station addresses to identify hosts
(Cigale) and these addresses route information to the proper destination. Each
host has sub-addresses of transport stations that are interpreted by the
multiplexing function of the transport station. These sub addresses correlate to port numbers that identify
communicating entities.
Fragmentation and Reassembly
"Instead of designing a separate layer of limited functional significance, it appeared simpler and more efficient to include fragmentation in the transport station capabilities" [Pouzin 1982, pg 62].When necessary, a transfer station divides letters into fixed length fragments except for the last fragment. The sender process sends each fragment as a one packet command with proper control information. The size of the packet text has a direct relationship with the size of the fragment. Each letter carries an 8-bit reference unique within the liaison. Within the letter, fragments are numbered and an end-of-letter flag indicates the last fragment of the letter. The fragment number is 7 bits, and the end-of-letter flag is 1 bit. Upon arrival, fragments are reassembled into a copy of the letter
To protect against lost packets, time-outs are associated with each letter that undergoes reassembly. See the section on error control for more information about the use of time-outs to prevent packet loss.
Routing Updates
Port names constitute a convenient network-wide naming
convention for all communications. Each system is then responsible for mapping
its local names into ports. Outside each individual system, ports identify
resources and their users.
Connection
As previously mentioned, ``liaison'' is the term that refers
to the connection between two ports. This connection allows letter delivery. An
initial setup is necessary to open a connection, and exchange port
names. In
order to exchange letters, one must have a ``subscription''. A ``subscription''
can be activated and deactivated, similar to a login/logout process.
[Pouzin
1973, pg 82]Error Detection
Telegrams are not subject to error control.
Error control is an inherent part of
reassembling letters. Since packets may get lost, a time-out associated with
each letter under reassembly protects the reassembly process. This time-out is
set upon receipt of the first delivered fragment, reset on receipt of each
fragment, and finally turned off when all fragments of the letter have been received.
If the time-out occurs, reassembly is aborted and the letter considered
erroneous.Letters are subject to error control but fragments are not. When in use on a liaison, both directions perform error control. The sending transport station sends letters with cyclically re-used sequential references and expects acknowledgement within a maximum delay after sending the last fragment of the letter.
The receiving transport station acknowledges letters immediately after reception (within the maximum delay after the last fragment) by sending back ``your reference''. This means the receiving transport station received the letter with this reference and all preceding ones without error. "Your reference", however, does not mean the process has read the message or agrees with its contents. It simply acknowledges that the receiving Transport Station correctly received the letter fragment and made the fragment available to the receiving process. There are two forms that the acknowledgement can take: 1. It can be sent in a special command, or 2. If there is a fragment going from the receiver back to the sender, the receiver transport station can attach the acknowledgement to that fragment. [Pouzin 1982].
Error Recovery
To be able to recover from packet loss, the sender must keep
a copy of the data it is sending until it receives an acknowledgement.
If the sending transport station within does not receive an acknowledgement
within the prescribed delay, it assumes that all unacknowledged letters are lost. It restarts the send process, beginning
with the first unacknowledged letter. Once again, the sending transport station
expects acknowledgement within the given delay and if it does not receive
acknowledgement this process will be repeated. If a letter has been sent ``N'' times without success, the sending transport station will declare an unrecoverable error, inform its user and quit.
There are several other rules that facilitate error recovery within the transport layer:
- Receiving transport stations throw away duplicate letters, but they must send an acknowledgement back to sending transport station.
- Source transport stations should not send letters with reference numbers higher than one less half a reference cycle before the last acknowledged letter.
- Destination transport stations should not accept letters that have reference numbers higher than half a reference cycle before the last acknowledged letter.
- The reference cycle should be long enough to make sure that late letters do not arrive in the next reference cycle.
- Upon initialization of error control, all references on a liaison are set to zero. The first letter is sent with MY-REF equal to one.
[Pouzin 1982, p54]
Flow Control and Congestion Control
Telegrams are not subject to flow control. Error control
inherently implements flow control on a liaison. The receiving end allocates
``Credits'' to the sending end. One credit represents the permission to send one
letter. Each allocation correlates with an acknowledgement within a letter
sending command or an ACK sending command. The 4-bit Credit Number parameter
means: ``you may send letter with references going from your reference number +
1 up to your reference number + credit number. If credit number is zero, it
means not to send any letters. The credit number has a maximum value of 15,
thus, when flow control is used (it is optional), the maximum number of letters
in transit is 15.
Tidak ada komentar:
Posting Komentar