Monday, September 29, 2008

Improving TCP Performance over Wireless Links

Hari Balakrishnan, Venkata Padmanabhan, Srinivasan Seshan, Randy Katz, "A Comparison of Mechanisms for Improving TCP Performance over Wireless Links"

In TCP, Packet loss = congestion, so lossy links like wireless make TCP perform badly.
The paper does not introduce new ideas how to improve this, but does a great job in reviewing, systematizing and comparing the approaches which are listed in Table 1.

Two approaches:
  • Hide losses from TCP sender, local problem solved locally, higher quality link with reduced effective bandwidth
  • make sender aware of lossy links
I found the snoop protocol interesting which works on the link layer, but is TCP aware and suppresses for example non-congestion related dup acks.
Also that there might be timers in the TCP layer and the link layer which might be redundant and issue unnecessart retransmissions.

The conclusion
  • reliable link-layer protocol with TCP awareness (e.g. in order packet delivery) improve performance greatly
  • Can avoid split-connection without performance loss
  • TCP mechanisms like SACK help to recover quicker from multiple packet losses
  • explicit loss notification improves performance

1 comment:

Akhil Dhar said...

Doesn't the link-layer retransmission mentioned in this paper operate at a far smaller timescale and thus not produce the overhead of a complete end-to-end transport-layer retransmission? Otherwise, there may definitely exist issues of redundancy - layering violations should be handled with care in this regard.