papers | collections | search login | register | forgot password?

A Comparison of Mechanisms for Improving TCP Performance over Wireless Links
by Venkata N. Padmanabhan, Hari Balakrishnan, Srinivasan Seshan, Randy H. Katz
url  show details
You need to log in to add tags and post comments.
Tags
Public comments
#1 posted on Feb 16 2008, 18:11 in collection CMU 15-744: Computer Networks -- Spring 08
TCP has been designed to work optimally in traditional networks, where almost all the packet losses are due to congestion. Because of this, TCP responds to every packet loss with a congestion control response. However, in wireless networks many packets can be lost due to noise or interference. In these cases, TCP's congestion control response leads to inefficient use of the available bandwidth.

The article compares different protocol extensions that have been proposed to improve TCP's performance over lossy networks. The first contribution of the article is to categorize the proposed extensions into 3 groups: end-to-end protocols, link-layer protocols, and split-connection protocols. In end-to-end protocols, more information about packet losses is given to the sender, and the sender is responsible for handling those losses in the appropriate manner. The other two protocols attempt to hide non-congestion-related losses from the sender. Link-layer protocols do this by using TCP-friendly loss recovery in a lower-level protocol. Split-connection protocols isolate the sender from the wireless part of a network entirely by splitting the sender-receiver connection into two separate connections: one between the sender and a base, and the second (over the wireless network) between the base and the receiver.

The second contribution of the article is a detailed experiment comparing the throughput and goodput of the different protocols in networks with a lossy wireless link. The experiment reveals that significant performance improvements can be obtained with the proposed protocol extensions. In particular, the link-layer protocols implemented in the experiment significantly outperform the standard TCP implementation.

Issues:

- The experiments in the article involved a source in the traditional network and the wireless link as the last link before the receiver. This accurately represented what was the dominant usage model at the time (e.g., accessing web sites from mobile devices). In recent years, the mobile devices are also increasingly becoming the source of content, with receivers in the traditional network (e.g., camera phones). In this model where the sender is close to the wireless link and the receiver is in the traditional network, should we expect to observe similar results to the ones seen in the article's experiments, or should we expect different protocols to do better in this model?

- The authors mention as future work that they plan to make similar experiments in more complicated scenarios where there is congestion as well as noise loss, and where there are multiple noisy wireless links. Which of the protocols should we expect to do best under these scenarios?
#2 posted on Feb 16 2008, 23:19 in collection CMU 15-744: Computer Networks -- Spring 08
First, the amount of TCP performance degradance even in slightly lossy link was higher than I expected. So the idea of applying some mechanisms to improve tcp performance over lossy link started to make more sense.
The contribution of this paper is that it assessed and analyzed possible mechanisms.
One question I had reading the paper was on link layer schemes. It's not clear what window size they used for LL protocol, but using Stop-and-Wait ARQ would have caused no duplicate ACKs in TCP. I think this case is not covered. It might have produced similar performance to that of LL-TCP-AWARE.
#3 posted on Feb 17 2008, 11:02 in collection CMU 15-744: Computer Networks -- Spring 08
The scenario described in this paper does not reflect accurately what happens in many of today's networks, since computers can be connect through a complete wireless channel.

Nonetheless, I think the results are still relevant. The linklayer approach is my favourite, not only for its performance, but also because it fits better in the usual layered model of protocols and because it can adapt better to the physical details of the channel.
#4 posted on Feb 17 2008, 13:02 in collection CMU 15-744: Computer Networks -- Spring 08
This paper provides a comprehensive overview, categorization and comparison of mechanisms to improve TCP over wireless links. The authors conducted a plethora of experiments and results indicate that out of all the proposed mechanisms, well-tuned link-layer solutions seem to give the best performance, both in terms of throughput and goodput.

The authors mention that in all of the conducted experiments losses are exclusively attributed to wireless errors and not to congestion. I wonder if the same results would be valid for a congested wireless environment? Although it is not the core topic of this paper, another interesting issue is the handling of wireless handoffs. Should wireless clients choose a base station based only on signal strength? Maybe a base station with fewer clients and lower signal strength would be a better choice. Overall I think this was a good read, because it gave a nice summary and evaluation of all the previous work in this research area.
#5 posted on Feb 17 2008, 13:48 in collection CMU 15-744: Computer Networks -- Spring 08
It's interesting to me to see how the separation of TCP from IP isn't nearly as clean as one might suppose. Rather, TCP makes assumptions about IP network technologies generally providing low loss rates and in-order delivery (we saw the out-of-order problem in router design too). This is an interesting standpoint from which to ask: what is going wrong here? Are wireless networks are violating an unwritten rule of IP, or is TCP is simply assuming too much? I think the question of whether a TCP-aware link-layer is required is tied to where you fall on this point.

Also, I hadn't heard the term 'goodput' before, but I like it!
#6 posted on Feb 17 2008, 14:52 in collection CMU 15-744: Computer Networks -- Spring 08
I try to think of what a complete wireless channel that Miguel mentioned would look like. However, what I can imagine are networks that beyond wireless access points, i.e. base stations, are wired connections; or at most the combination of wired and wireless connections to transport networks. It might be interesting to see how these TCP-performance-improving mechanisms work in this network setting.

About the performance metrics, i.e. throughput and goodput, considered in the paper, could anyone tell me what the different performance these two metrics are trying to measure is?
#7 posted on Feb 17 2008, 15:24 in collection CMU 15-744: Computer Networks -- Spring 08
As I expect, LL-* performs much better than E2E-*. However, any E2E technique would be much easier to deploy. In my opinion, E2E-IETF-SACK performance is good enough and it seems be to simple and quite easy to deploy. I just found out that the TCP implementation of my linux OS do support SACK with 'cat /proc/sys/net/ipv4/tcp_sack'. So, do we have any better E2E solution than E2E-IETF-SACK nowadays?
#8 posted on Feb 17 2008, 15:54 in collection CMU 15-744: Computer Networks -- Spring 08
I might have missed it, but is basic TCP still the standard protocol for wireless networks? The experimental results suggest that several enhancements to TCP -- in particular the TCP-aware link-layer protocol -- lead so substantial improvements over standard TCP. Since this paper was written over 10 years ago, have any of these improvements been incorporated into current wireless networks?
#9 posted on Feb 17 2008, 15:55 in collection CMU 15-744: Computer Networks -- Spring 08
It was a clear and enjoyable reading. But, I guess today's wireless networks might exhibit quite different congestion and loss behavior from the ones at the time when the paper was published. (Like different mobile applications and wireless technologies with higher mobility) Do we have any followup papers with more complicated experiment environment?
#10 posted on Feb 17 2008, 16:58 in collection CMU 15-744: Computer Networks -- Spring 08
It seems to me that a purely end-to-end approach is clearly the wrong approach for handling low-latency application in a noisy environment. The distance from a laptop to a wireless access point is on the order of tens of meters, but the distance from, say, Pittsburgh to California is on the order of thousands of kilometers -- a difference of several orders of magnitude. Since latency is ultimately bounded by distance (latency > distance / speed_of_light), it seems that if most waiting for the other end host will introduce too much latency.
#11 posted on Feb 17 2008, 16:59 in collection CMU 15-744: Computer Networks -- Spring 08
This paper is addressing the TCP design extension to adapt an important difference between wired and wireless network. I think that this is a typical problem in wireless research. And this is one of the few papers in which experiment is carried out by implementation on the real system. Is that because simulation techniques do not work well with wireless networks?
#12 posted on Feb 17 2008, 17:01 in collection CMU 15-744: Computer Networks -- Spring 08
In response to the comments on the e2e argument, IIRC, the e2e paper we covered earlier in class itself points out such a scenario and says that an e2e approach might not work there. This is one of the cases where the tradeoff between performance and simplicity of the protocol is probably closer to performance.
#13 posted on Feb 17 2008, 17:18 in collection CMU 15-744: Computer Networks -- Spring 08
As people have pointed out end-to-end solutions seem suboptimal and link-layer solutions seem inflexible (to changes in the transport layer protocol). But then end-to-end solutions seem reasonably good (from the paper), and given that the backbone of networks is usually wired, latency doesn't seem to be too much of an issue. Also, from what I have seen so far, ISPs (so I'm guessing cellular companies) don't seem to incorporate changes too much. So I'm guessing we are using some version of an end-to-end solution now?
#14 posted on Feb 18 2008, 00:05 in collection CMU 15-744: Computer Networks -- Spring 08
In this paper, the results show that when link layer knows some knowledge about upper layer (TCP) the performance is 10-30% better than the link layer which operates independently. Does it mean that, we should use joint-layer approach to guide the design of new protocols for wireless network?