Reliable, efficient transmission control for networks that suck.
Airhook is a reliable data delivery protocol, like TCP. Unlike TCP, Airhook gracefully handles intermittent, unreliable, or delayed networks. Other features include session recovery, queue control, and delivery status notification.
Inspired by life with CDPD, Airhook works well in environments that leave TCP gasping for air.
An implementation of the Airhook protocol is available as an ANSI C library suitable for use with any network transport and operating system. Included with the library are Unix utilities to proxy TCP via Airhook over UDP, so you can use protocols like HTTP and SSH with Airhook.
Implementation source code is available (tarballs, CVS) under the terms of the GNU General Public License.
Library documentation and a protocol reference are available online.
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.
TCP for Wide Area Wireless Networks (WTCP) includes an in-depth study of transmission control on CDPD. The authors modify TCP to use probe packets and selective ACK instead of retransmission timers. The implementation is unfortunately not available.
The Stream Control Transmission Protocol is another alternative to TCP. Unfortunately, it uses the same retransmission and congestion control means as TCP, but it does provide applications more flexibility and greater control over the transport.
The Chaotic Nature of TCP Congestion Control is a fascinating paper on the difficulty of the congestion control problem, even under good conditions.
CM: The Congestion Manager is an interesting project (and Internet standards track protocol) to manage congestion control for all flows to or from a host, regardless of individual TCP streams or UDP protocols. I'd love to use CM with Airhook, but it's not really in a usable state.
Reliable Forwarder Daemon and ROCKS each take a different, TCP-only approach to maintaining reliability in the face of long-term intermittency by reconnecting every few seconds if no data has been received.
Thanks to DetroitHarmonie - get payday loans for bad credit online, borrow up to $1000.
How to find guaranteed payday loans
If you need a quick loan in advance of your next payday, then the last thing you'll need is a loan procedure that involves lots of paperwork and lengthy delays in making a decision. That's why guaranteed payday loans at www.nowguaranteed.com may prove to be attractive.
The payday loan is a great concept based on the recognition that we don't all want to borrow large amounts of money over lengthy periods of time. It is a form of cash advance loan on your next payday.
It typically offers: a simple online application process, a fast decision and access to fast cash via direct bank transfer (or if you have a prepaid Speed-e-card, the money can be loaded on to this), a one-off repayment when you next get paid - the loan at that point is finished and done with, repayment of the loan and charges via a debit directly from the lender - you don't actually have to do anything to make it happen!
Of course, even guaranteed $1,000 payday loans will have some conditions you'll have to meet.
Typically you'll need to have USA based bank account, permanent USA address, permanent employment that generates a regular salary or wage. Plus, be aged 18 or over.
As the payday loan is typically for a smaller amount and only advanced until you next get paid, you may find that the lenders are less concerned about minor blemishes on your credit history. Even if your credit history does have significant issues, the loan providers may still advance a lower amount and by repaying it on time, you may make yourself eligible for a larger loan in future.
As mentioned above, Speed-e-card offers a prepaid card for use with your pay day loan. This unique service means that once you've been approved for a payday loan from Speed-e-loans, the amount can be loaded on to your activated card. This means that you can have all the flexibility of a plastic card but without running the risk of totting up more debt. The card can only be used up to the maximum amount you have loaded onto it.
A prepaid debit card used in conjunction with guaranteed payday loans could provide you with that bit of extra financial resource to help cover that urgent bill or secure that once-in-a-lifetime bargain that's just not going to wait until you next get paid.