MainlineNet Holdings A Brief Discussion of Extreme TCP01.01.2012
A Brief Discussion of Extreme TCPI. Introduction. Thank you for your interest in Extreme TCP, the revolutionary technology that will soon speed up theInternet. This document will briefly discuss the technical nature of Extreme TCP as well as the commercialpotential of this technology. Extreme TCP is developed and fully owned by Mainline Net Holdings Limited, aBritish Virgin Islands company.II. What is Extreme TCP? This discussion requires some familiarity with the overall structure of the Internet and Extreme TCP.A concise description of these concepts follows. A. TCP and the Internet. TCP (Transmission Control Protocol) is one of the most important protocols of the Internet. It isgenerally used to transmit data over the Internet or other networks. TCP is a guaranteed delivery protocol.This means that TCP attempts to guarantee that all packets that are sent by a sender will be delivered in theorder in which they were sent. This is not an easy task because the networking elements TCP relies on arerather chaotic and do not guarantee delivery. The Internet and other networks that feature TCP usually utilize various electronic devices to facilitatecommunications. These devices can be switches, routers, bridges and similar devices. They receive packets ofdata, process them and send them off to other switches and routers, or to the end recipient. A packet of datasent by a sending computer (a server) to a receiving computer (a client) can encounter more than a dozensuch devices en route. Usually these devices (referred in general as routers hereafter), feature local memoriesor buffers which store data that is to be processed. I f a device receives data faster than it can process it, thedata stored in its buffer that is waiting to be processed increases. Eventually, the data to be stored in the buffermay exceed the storage capacity of the buffer. In such an event the router usually simply deletes or drops anydata that it cannot store. Thus, data can easily be lost en route from a server to a client. TCP, however, is supposed to guarantee delivery of all data. To achieve this, TCP requires that theserver and client keep track of the data sent, and i f any packets are lost en route, such loss is to be detectedand the lost packets are to be resent. Thus, lost packets are re-sent until they are received by the client, thusallowing TCP to guarantee delivery of all packets. The above scheme for guaranteed delivery seems simple at first glance, but it has the potential tocause instabilities of network traffic. Take, for example, a server that sends out data to a client. This may be anInternet server that sends a webpage to a client. It would be logical for the server to send the data at themaximum rate the server is physically capable of sending data, as to ensure that the client receives the website
as quickly as possible. As is usually the case, the data would pass through at least one router before it reachesthe client. This router would usually process data coming from many other servers and addressed to manyother clients. But what i f the router gets swamped, i.e., it receives moredata than it can process. It will try to store data in its buffers until the buffers run out of space and then it willstart dropping the data. The TCP protocol implementation running at the server will eventually notice thatdata is being dropped and will resend the dropped data. But the router may still be swamped, and may dropthe resent data as well. Furthermore all other servers sending data through this router may be having theirdata dropped and may also be resending dropped data that may in turn be dropped again. In this situation, theoverall data transfer rate of each server eventually drops to 0, as each server simply keeps resending the samedata over and over. This is referred to as congestion. Thus, i f too much data is sent over a TCP network thenetwork can completely stop transmitting data (or the data transmission rates can greatly decrease from thedesigned network capacity). For this reason, a parallel is often made between TCP networks and physicalhighways. I f too many cars go on a highway, congestion occurs and no cars can move. Similarly, i f too muchdata is sent over a TCP network a congestion condition may occur which will result in a great reduction of thedata transfer rates of the network. In order to avoid congestion conditions, the TCP protocol includes a mechanism referred to as thecongestion avoidance algorithm. Congestion avoidance attempts to control the rates at which each serversends data in order to avoid congestion. Furthermore, the congestion avoidance algorithm is configured todetect i f a congestion condition occurs (usually evidenced by dropped packets), and i f it does, greatlyreduce the transmission speed in order to allow the congestion to clear up. The task of a congestion avoidance algorithm can be likened to the game of Blackjack. On one hand, thealgorithm should allow the greatest possible transmission speed in order to provide for faster downloads. Onthe other hand, the algorithm should make sure that the download speed does not exceed a threshold whichwill cause network congestion which in turn causes all downloads to slow down to a crawl. Thus, i f we definean optimal transmission speed to be the highest transmission speed that does not result in congestion, thegoal of the congestion avoidance algorithm is to keep transmission at the optimal transmission speed at alltimes without exceeding it. The problem is that the optimal transmission speed is usually not known inadvance and it tends to change with time. B. Extreme TCP In brief, Extreme TCP is an improvement of the TCP congestion avoidance algorithm. Mainlineengineers determined that the TCP congestion avoidance algorithm is far from optimal. It tends toperiodically speed up and slow down transmission, thus resulting in highly fluctuating download speeds. Insome cases, it tends to cause periodic congestions. In other cases, the TCP congestion avoidance algorithmdoes not cause congestions, but artificially limits download speeds to speeds much lower than the optimaldownload speed. Armed with a very thorough and complete understanding of routers and networks, Mainline engineersdeveloped an advanced congestion control algorithm that performs much better than the TCP one. The resultis Extreme TCP. Extreme TCP is based on complex models of the behavior of modern routers and other
network equipment. Extreme TCP works with ordinary TCP implementations, and it is only meant to replacethe congestion avoidance code of an existing TCP implementation. Extreme TCP has an uncanny ability to raise transmission speeds higher than standard TCP and yet atthe same time avoid dropped packets and congestion events that are usually caused by TCP. In practice,Extreme TCP tends to quickly adopt a high transmission speed (which is probably close to theoptimal speed) and to keep transmitting at that high speed while avoiding congestion events, while TCPfeatures highly fluctuating transmission speeds as it periodically hits the threshold and has to sharplydecrease the transmission speed. In cases where TCP artificially limits the transmission speed to rates farbelow the threshold, Extreme TCP has no such limits and allows for much higher speeds. While Extreme TCPdoes not completely avoid dropped packets and congestion events, these tend to be much rarer than they arefor standard TCP. I f a packet is dropped, Extreme TCP decreases the transmission speed to allow thecongestion to dissipate (as does TCP) and yet Extreme TCP is usually able to raise the transmission speedback to high levels much quicker than TCP. One of the other advantages of Extreme TCP is that it is a pure software solution that can be easilyapplied as a software patch to the TCP/IP stack of a computer. Thus, Extreme TCP does not requirecomplex hardware upgrades. Furthermore, the Extreme TCP software need not be present at both sides ofcommunication (i.e., server and client). It only needs to be present at the computer that sends data (theserver) in order to provide for a significant improvement in the transmission speeds of the data. I f twocomputers send data to each other and only one features Extreme TCP, the improvements of Extreme TCPwill be present only for the data sent by the computer that has Extreme TCP loaded thereon, but thecommunications of the other computer will not be negatively effected by Extreme TCP. This is a significantadvantage because, as opposed to much other software that is intended to improve the Internet, ExtremeTCP does not require high adoption rates in order to work. In our testing, Extreme TCP showed improvement in practically all conditions we tested. Forconnections of non trivial length, such as California to New York, or New York to London, theimprovement was 4 to 10 times (that is 400%-1000%). For longer connections (such asCalifornia-London), the improvement went up to 14 times (1400%). For shorter connections theimprovement may be less but still noticeable. For really short connections (such as a LAN) there may beno noticeable improvement. The improvement may also be limited i f the upload bandwidth is limited. Insuch cases there simply isnt enough room in the connection for the improvement brought about theExtreme TCP algorithm. This is usually not an issue in the US and Europe, but may be an issue for someUS-South/Latin America connections where we measured about a 30% improvement.
I I I . Conclusion While discussion herein may center on the Internet, it applies to all networks that use TCP, or similarguaranteed delivery protocols. Thus, while the Internet is by far the largest TCP utilizing network, there areother networks (such as various closed government, military or corporate networks) that also use TCP andthat would greatly benefit from Extreme TCP. By the same token, some Internet communication may not useTCP, but another transmission level protocol that does not guarantee delivery (such as, for example, UDP).Extreme TCP will benefit only communications that use TCP or a similar protocol that guarantees deliveryand utilizes congestion control. Currently, most Internet communications do use TCP, so Extreme TCP canaffect and imrove most of the present Internet. Mainline Net Holdings, Ltd. 78 YORK STREET LONDON W1H 1DP United Kingdom