Titel:

Realible Asynchronous Transfer Protocol

Startseite
Artikelliste
english
  
ISBN: 3423050012   ISBN: 3423050012   ISBN: 3423050012   ISBN: 3423050012 
 
|<< Anfang     < Zurück     Index     Weiter >     Ende >>|
  Wir empfehlen:       
 

6.3. Unacknowledged Packets

If an ACK for a packet is not obtained within the retransmission timeout interval that packet is retransmitted. Because significant variability in response can be expected from either end of a connection it is best to dynamically calculate the retransmission timeout interval. An example of such a calculation is provided below. The protocol will operate successfully, although not with as high an effective transmission rate, if a realistic upper bound time is used instead.

A realistic upper bound time depends upon the packet size and line speed. If the baud rate of the connection is 300 or above let B be the baud rate (for clarity assume it is the same in both directions), let L be the MDL of the receiver, let P be the packet processing time of the receiver. Then an Upper Bound for the Reception Time (UBRT) is:

UBRT = L/(B/10) seconds + P seconds

and a realistic upper bound time is 2*UBRT seconds.

6.3.1. Calculation of Retransmission Timeout Interval

For the purpose of detecting retransmission time out the protocol must have access to a clock which provides at least single second resolution. One technique for calculating the round trip time is:

Measure the elapsed time between sending a packet with a particular SN and receiving an ACK with an AN which covers that SN. The measured elapsed time is the Round Trip Time (RTT). Next a Smoothed Round Trip Time (SRTT) is calculated as:

SRTT = (ALPHA * SRTT) + ((1- ALPHA) * RTT)

and based upon this you compute the Retransmission Time Out (RTO) as:

RTO = min[UBOUND, max[LBOUND, (BETA * SRTT)]]

where UBOUND is an upper bound on the timeout (e.g., 1 minute), LBOUND is a lower bound on the timeout (e.g., 1 second), ALPHA is a smoothing factor (e.g., .8 to .9), and BETA is a delay variance factor (e.g., 1.3 to 2.0).

6.4. Bad Packets

A bad packet is received when it fails either the header or data checksum tests. When this happens the sender will retransmit the packet after the retransmission timeout interval.

6.5. Duplicate Packets

A duplicate packet is a packet which passes the checksum tests but for which the SN received is significant but not the expected value. This is normally caused when the sender did not get the ACK last sent by the receiver. This situation is diagrammed below.

Side A Side B

ESTABLISHED ESTABLISHED

1. --> <SN=1><AN=0><CTL=ACK><DATA> ... -->

2. XXX <SN=0><AN=0><CTL=ACK><OTHER-DATA> <--

3. (after SRTT) --> <SN=1><AN=0><CTL=ACK><DATA> ...

4. --> ... <SN=0><AN=0><CTL=ACK><OTHER-DATA> <--

5. <--

In line 2, B's packet was lost in transit, it may have failed its checksum tests when it reached A or its initial SYNCH pattern was smashed, etc.. In line 3 side A comes to the decision that its packet from line 1 was not received after SRTT time passes and retransmits that packet.

In line 4 side B receives the packet. It detects a duplicate because it already sent a packet acknowledging A's SN=1 (although that packet was lost). B now discards the duplicate and immediately retransmits its last packet to A. Side A finally receives the retransmitted packet in line 5.

  
Bürgerliches Gesetzbuch BGB
von Helmut Köhler
Siehe auch:
Handelsgesetzbuch HGB: ohne Seehandelsrech...
Arbeitsgesetze
Grundgesetz GG: Menschenrechtskonvention, Europäischer Gerichtsh...
Strafgesetzbuch StGB
Aktiengesetz · GmbH-Gesetz: mit Umwandlungsgesetz, Wertpapiererw...
Zivilprozeßordnung. ZPO
 
   
 
     
|<< Anfang     < Zurück     Index     Weiter >     Ende >>| 

Zurück zur Themenseite:
ScientificPublication.com/Startseite/Informatik/Spezifikationen

Das Setzen von Verweisen (Links) auf diese Seite ist gestattet und bedarf keine vorherige Absprache.

Artikelliste:
Realible Asynchronous Transfer Protocol
   
  Startseite  |  english  |  Bookmark setzen  |  Webseite weiterempfehlen  |  Impressum