Reliable communication over unreliable channels

Layered communication protocols frequently implement a FIFO message fiacility cm top of an unrehable non-FIFO serwce such as that provided hy a packet-swltchmg network. This paper investigates the possibdity of Implementing a reliable message layer on top of an underlying layer that can low packets and deliver them out of order, with the addltlonzd restriction that the implementatmn uses only a fixed fimte number of different packets. A new formalism is presented to spcclfy communication layers and their properties, the notion of their implementation by 1/0 automata. and the properties of such implementations. An 1/0 automaton that Implements a rellable layer over an unreliable layer is presented In this implementation, tbe number ot packets needed to deliver each succeeding message increases permanently as additional packet-loss and reordering faults occur. A proof is gwen that no protocol can avoid such performance degradatmn.

[1]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[2]  William R. Crowther,et al.  The Data Transfer Protocol , 1971, RFC.

[3]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[4]  Gregor von Bochmann,et al.  A Unified Method for the Specification and Verification of Protocols , 1977, IFIP Congress.

[5]  C. A. R. Hoare,et al.  Communicating sequential processes , 2021, CACM.

[6]  Carl A. Sunshine,et al.  Connection Management in Transport Protocols , 1978, Comput. Networks.

[7]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[8]  H. Zimmermann,et al.  OSI Reference Model - The ISO Model of Architecture for Open Systems Interconnection , 1980, IEEE Transactions on Communications.

[9]  Alfred V. Aho,et al.  Bounds on the size and transmission rate of communications protocols , 1982 .

[10]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[11]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[12]  Nancy A. Lynch,et al.  Data link layer: two impossibility results , 1988, PODC '88.

[13]  Yehuda Afek,et al.  End-to-end communication in unreliable networks , 1988, PODC '88.

[14]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

[15]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[16]  Oded Goldreich,et al.  Source to destination communication in the presence of faults , 1989, PODC '89.

[17]  Nancy A. Lynch,et al.  A Proof of the Kahn Principle for Input/Output Automata , 1989, Inf. Comput..

[18]  Da-Wei Wang,et al.  Tight bounds for the sequence transmission problem , 1989, PODC '89.

[19]  Richard E. Ladner,et al.  Tight bounds for weakly bounded protocols , 1990, PODC '90.

[20]  Nancy A. Lynch,et al.  The Need for Headers: An Impossibility Result for Communication over Unreliable Channels , 1990, CONCUR.

[21]  Joseph Y. Halpern,et al.  A little knowledge goes a long way: knowledge-based derivations and correctness proofs for a family of protocols , 1992, JACM.

[22]  Baruch Schieber,et al.  The intractability of bounded protocols for on-line sequence transmission over non-FIFO channels , 1992, JACM.

[23]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[24]  Da-Wei Wang,et al.  Games I/O Automata Play (Extended Abstract) , 1992, CONCUR.

[25]  Nancy A. Lynch,et al.  The impossibility of implementing reliable communication in the face of crashes , 1993, JACM.

[26]  N. Lynch,et al.  DISTRIBUTED ALGORITHMS , Lecture Notes for 6.852 FALL 1992 , 1993 .