Niwot
Networks, Inc.
___________________________________________________________________________________________________________
721 9th Ave, Longmont, CO, 80501 (303) 772-8664 www.gigabytex.com
By Bill Gibson, Chief
Technical Officer, Niwot Networks, Inc.
April 12, 2000 revised July 25, 2000
This
chart compares performance of RELIA extensions vs TCP over T1 (1536kbps)
Internet connections in the presence of the typical 4 per cent packet loss over
ping times(distance) of 80ms(National), 300ms(International) and 600ms
(Satellite).
TCP is the basic transport for Internet applications
such as email, web browsing, and file transfer. When used on high speed networks with long delay (ping time) and
congestion (packet loss), TCP becomes slow and less reliable. When a TCP packet
is lost, the sender must retransmit the packet, and the time it waits before
retransmission grows as the ping time grows.
The new RELIA
technology(patent pending) overcomes long ping times and packet loss
to provide high performance reliable communication over the international and
satellite Internet.
Background
Historically, the Internet was made possible by the
evolution of algorithms for making an unreliable data transport act reliably.
The first of these was the Ethernet standard, where hardware retransmitted lost
(collision) packets without software intervention. The second was TCP, where software detects corrupted or missing
packets and takes responsibility for retransmission. RELIA technology is the logical next step for
environments which suffer from the combination of packet loss and longer delay,
eliminating the need for the sender to retransmit in most cases.
Overcoming Internet
Congestion with Redundant Packets
We know that on the Internet “congestion” means lost packets. You see the effects of congestion whenever “the Internet is crowded”, and you notice that Internet performance is much better during the hours when nobody else is using it. When an information packet is lost with TCP(the protocol below FTP and HTTP), the sending side times out, then retransmits and resumes your transfer. The amount of time the sending side waits before retransmitting is determined by the ping time. While this may be only a few milliseconds on a local connection, the ping time is 300 milliseconds on the international Internet and 600 milliseconds over satellites. Not only are information packets more likely to be lost, but the time wasted before retransmitting the lost information increases as well.
RELIA sends a little extra data to allow the receiver to recover the lost information. This eliminates the wait time and the retransmission associated with lost information . With RELIA your data moves efficiently even when information is being lost over international or satellite links.
Lost information packets
(congestion) is a fact of life on the Internet. By sending redundant
information along with the information being transported the receiving side can
recreate the lost information. RELIA offers four levels of redundancy:
· RED1 can recover from 1
packet being lost at a time.
· RED2 can recover from a pair
of packets being lost
· RED4 can recover from a
block of 4 packets being lost
· RED8 can recover from a
blocks of 8 being lost.
The number of extra packets
sent goes up as the redundancy level increases. The percentage of extra packets
sent is the redundancy overhead, and it ranges from 9 per cent to 43 per cent
in the initial version of RELIA.
It is not always possible to
regenerate the lost information packets. When this occurs, RELIA will fall back
and retransmit.
Overcoming Internet Delay
with a Large Window Size
RELIA combines a large window size with information
recovery to allow efficient use of long-delay Internet connections. These long-delay connections are found on
international and satellite communications.
On the international Internet, it typically takes 300 milliseconds for
data to reach its Internet destination and the response to be returned (ping
time). Over satellite links, this
“ping” time is 600 milliseconds. The
amount of data a system can send before it waits to receive an acknowledgement
is called the “window size.” If the
window size is too small, the system spends time waiting for acknowledgements
instead of sending data.
RFC 1323 is the Internet standard to improve TCP performance on high bandwidth, long delay links. The algorithms documented in this standard are included along with the packet recovery techniques in the RELIA implementation.
In the standard
international Internet environment of 4 per cent packet loss and 300
millisecond ping time, RELIA’s RED1 technology throughput is 884% of TCP’s
throughput. Similar advantages are
available at other combinations of packet loss and delay.
In testing against groups of
8 packets being lost out of every 200, with
a ping time of 600 milliseconds, the RELIA technology lost its
connection only 1/9 (11 per cent) as often as the TCP connection was lost. This difference will grow even more in
RELIA’s favor as the technology evolves
This chart shows the superior performance of the various RELIA extension technologies as compared to naked TCP when subjected to the International average 4 per cent packet loss over Local(10ms), National(80ms), International(300ms), and Satellite(600ms) ping times.
Performance on the international Internet and satellite Internet at 2
per cent packet loss
The Relia technology sends
redundant packets , enabling the receiving side to reconstruct the missing
packets and eliminate TCP’s “time out and retransmission”(the sender waits some
multiple of the ping time before retransmitting if it hasn’t heard an
acknowledgment). The patent filing
covers a variety of techniques to accomplish recovery without
retransmission.
The RelSock demonstration implementation allows the user
to easily select redundancy levels RED1(good for recovering single packet
losses), RED2(good for recovering pairs of lost packets), RED4(good for
recovering groups of up to 4 lost packets), or RED8(good for recovering groups
of up to 8 lost packets).
As would be expected, the
different redundancy levels offer advantages as the packets are lost in groups
instead of one-at-a time. The default selection in the current demo is RED2.
CONCLUSION: In all cases of international and satellite
Internet connections, RELIA technology
significantly out-performs Naked TCP.
In
our testing (NT to NT ) losing a group of 8 packets out of 200 with 600
milliseconds ping time, sending a suite of 10 files, each slightly larger than
a megabyte:
NAKED TCP: TCP connection was lost
before all 10 files were transferred in 72 out of 113 trials (63 per cent of the time)
RED1, RED2, RED4, RED8: These connections use a
conventional TCP connection to establish the RELIA connection, and it appears
this process is still vulnerable to connection loss, this vulnerability will be
reduced in future versions of the technology. With today’s demonstration
version the RELIA connection was lost before all 10 files were transferred in 8
out of 120 trials (7 per cent of the
time)
CONCLUSION: When 8 packets in a row are lost at an
overall packet loss rate of 4 per cent and a satellite delay, The RELIA
connections are 9 times more robust than NAKED TCP.
RELIA technology offers the software application developer dramatically higher performance and reliability extensions to TCP when compared in the harsh international and satellite Internet environment.