Airhook

Reliable, efficient transmission control for awful networks
Download

Airhook Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Dan Egnor
  • Publisher web site:
  • http://ofb.net/~egnor/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 27 KB

Airhook Tags


Airhook Description

Reliable, efficient transmission control for awful networks Airhook is a reliable data delivery protocol, like TCP. Unlike TCP, Airhook gracefully handles intermittent, unreliable, or delayed networks. Other features include queue control, delivery status notification and session recovery.Airhook is best described by comparison with TCP.TCP uses retransmission timeouts with exponential backoff to detect packet loss.Airhook continuously transmits small status packets to keep both endpoints aware of connection status; lost data packets are transmitted immediately when (and only when) their absence is reported. Status packets are transmitted with an adjustable frequency set to 1 Hz by default, and are sent infrequently (or not at all) when the connection is quiescent. Data packets also include status information, so recovery happens very rapidly when a packet is lost during active transmission. Airhook recovers immediately from packet loss, "dropout" periods, and extended disconnection.TCP transmits a continuous stream of bytes. Message-oriented applications must introduce their own framing.Airhook transmits delimited small messages (micropackets). The Airhook protocol implementation may transmit several micropackets in a single physical packet, but framing is preserved. Stream-oriented applications must divide their stream into micropackets for transmission and concatenate micropackets on receipt.An application using the standard TCP "sockets" interface must send data blindly into the pipe. Once data is written to the buffer, the application has no idea whether or when it was sent or confirmed; if the data becomes stale (no longer relevant) after it is buffered but before it is sent, the application can do nothing. Applications must implement their own acknowledgement protocols, and real-time applications must accept the inefficient transmission of stale data.Airhook offers status notifications for each micropacket sent. The application is notified when the packet is sent, if it is retransmitted, and when receipt confirmation is received. The application can cancel transmission of any micropacket whose data has become stale.TCP combines guaranteed single delivery, order preservation, flow control and congestion control in each session.Airhook provides guaranteed single delivery and congestion control in each session. Applications may establish their own order preservation and flow control protocols as needed (examples are provided). Applications are free to combine multiple "streams" within a single Airhook session. By obviating the need for multiple connections between the same hosts, Airhook can efficiently share congestion control knowledge and session status metadata.TCP is usually implemented in the operating system kernel and layered directly on IP.For portability, the Airhook implementation distributed here is a user-mode library, generally used with UDP.


Airhook Related Software