Personal Miscellaneous TCP/IP GRID Quality of ServiceMulti-Cast  
Background high-speed tcp Transfer Tests Web 100TCP Tuning  


The internet is expanding rapidly. This expansion is no doubt aided by the ideas and implementations of the TCP/IP protocol stack. Based on the OSI model of design, each layer of the TCP/IP suite is comprised of a series of almost independent protocols which all rely on the underlying IP protocol.

The IP protocol is a datagram model in which all data is split up into segments of a certain size. For the IP protocol, it does not matter what is inside the segment, only that it is from a particular host, and is destined for a specific sink. (These assumptions are valid, even for one to many communication such as Multicasting). Due to the simplicity of the IP protocol, there is nothing to guarantee anything - except that the contents is valid (checksumed), and that it is only for a specific source-sink pair. As the datagrams are in effect stateless, it is up to higher layer to provide any specialist services such as receipt of the packet and even actual application data to the deliveried. As such, hosts do not use the IP packet directly (The onlyexception is the ICMP protocol) but rely on a protocol directly above this bottom IP layer in the TCP/IP suite that is known as 'transport layer' - the protocols that act within this layer are known as 'transport protocols'.

These transport protocols have one function - to enable applications to do something useful. As such, all OS's have a set of API's to enable packet formation and sending. Although applications will create the data to be sent and package it within a transport protocol packet, the packet still has to be set within an IP segment before it can be sent out into the network.

There are two main transport protocols that are commonly used today: User Datagram Protocol (UDP) and Transmission Control Protocol (TCP). The former offers a unreliable way of transferring information, i.e., one does not know explicitly that a send packet is received; whilst the latter offers a reliable service; for every packet of information that is sent, some kind of ‘acknowledgement’ is received by the sending host. UDP can offer a greater raw performance as it does not require the extra overhead of acknowledging information. However, as UDP offers no kind of signalling from the network to discover its' state, it can be potentially dangerous if used maliciously (denial of service attacks).

Currently, the Internet is based mainly on the connectionless communication model of the IP protocol, in which UDP and TCP is encapsulated and used to get packets across the internet. IP has no inherent mechanisms to delivery guarantees according to traffic contracts and hence mechanisms to reserve network resources have to be done via other means. Because of this, IP routers on a given data path from source to destination may suffer from congestion when the aggregated input rate exceeds the output capacity. Consequently, flows tend to experience varying network conditions that affect the original traffic profile from the source.

Whilst TCP has adapted well to the improvements in network speed since it’s incarnation with link speeds of kilobits/sec, with networks becoming standard at 100mbits/sec, a user is often lucky to get over 40mbits/sec when transferring a file without knowledge of ‘tuning’ or tweaking. Research Groups such as Web100 [Web100] are putting effort to achieve 100% utilisation of network resources by placing more informative logging information about a TCP connection. However, these efforts seem to be more of a patch to the problems of TCP rather than a real fix, and as such some research groups believe that TCP have any place in the future of High Speed Grid Networks.

High Performance Protocols

The optimisation of high performance, high throughput network transport protocols is very important. There is a clear need to maximize the network transport performance and efficiency in order to maximise the network resource utilisation. These considerations apply to both the throughput and latency of network connections. This was demonstrated in the case studies shown.

TCP is one of the most widely used transport protocols with friendly congestion control mechanisms. It has been extensively studied, extended, and refined in the last two decades and has proven to be reliable under a variety of network conditions and applications requirements. Increasingly, however, the standard TCP implementations are becoming inadequate to support high-performance distributed science applications emerging in the science community. These science applications are expected to generate petrabits/sec traffic to be distributed to scientists in different geographical location. With the practical throughput of enhanced TCP implementations still far below Gbit/sec speeds, further research and development efforts are required to enhance the existing TCP stack or to develop a new flexible universal transport protocols that will deliver and sustain multi-Gbits/sec to scientific applications.

Slow Start

Congestion Avoidance


Dynamic Right Sizing


Tahoe and Reno


The development of new transport protocols must be scalable, programmable, self-configurable, and adaptable to different types of transmission medium and different types of applications.

New transport protocols such as Tsunami [tsunami] that relies on UDP data channels to achieve consistent high throughput. However, the trade off is that they often do not include network friendly techniques to obtain this performance. This often involves sending as much data into the network as possible without concern for the resulting degradation in performance experienced by other internet users. As such, it is not scalable in the face of many competing streams and may saturate the network and cause congestion collapse.

As such, transport protocols should have some indication of what is possible on a particular internet path. TCP does this by probing the network and using implicit or explicit congestion signals to alter the amount of data forwarded into the network, and hence preventing congestion collapse. As such TCP can be thought of as an adaptive protocol. On the other hand, technologies such as Explicit Congestion Notification [ECN] (ECN) work in the network to provide possible congestion information to traffic flows – in essence giving explicit information about network state. As such, any ECN capable flow should be programmed to adapt to this notification – usually by backing off or decreasing its transfer rate. For TCP the current consensus would be to react to the signal as a form of congestion. Even though still in its infancy, ECN holds a promising method of improving network performance for all traffic rather than a single flow.

New and existing transport protocols that are to be widely on the internet should include an in depth analysis of its fairness. This parameter gives an indication of how well a network protocol will share a network path with other flows – possibly with other, different transport protocols. One technique in popular use today is to take advantage of this fairness by pretending to be more than one person; Parallel TCP [ParallelTCP] streams can be used to achieve a higher link utilisation by pretending to be more than one connection – aggregating the throughput. Another protocol which is currently still under research is MulTCP [MulTCP]. It also pretends to be more than one stream by changing its behaviour to congestion control and slow start, while still operating with one single data stream.

However, while it is possible for end users to use and implement these protocols to achieve higher performance, the question of scaling arises: if everyone uses the same techniques to obtain higher performance, will all users actually experience a resultant degradation in performance?

One way of making sure people do not over use their performance allocation is through the introduction of QoS. However, network protocols are currently blind to different QoS policies due to the use of encapsulation. As such, there is a clear need for transport protocols to be as adaptive as possible to improved or restricted performance of networks set about through different Quality of Service policies also.

The applicability of transport protocols is also important. Some applications perform poorly on the Internet because of a mismatch between the expectations of the application and the services offered by the network. For instance, web browsing is often restricted by the algorithms inherent to TCP.


Tue, 22 July, 2003 23:47 Next Page
    email me!
2001-2003, Yee-Ting Li, email:, Tel: +44 (0) 20 7679 1376, Fax: +44 (0) 20 7679 7145
Room D14, High Energy Particle Physics, Dept. of Physics & Astronomy, UCL, Gower St, London, WC1E 6BT