Wednesday, October 1, 2008

Modeling Wireless links for Transport Protocols

Andrei Gurtov, Sally Floyd, "Modeling Wireless Links for Transport Protocols"

Interesting idea: cross-layer communication

Motivation
  • wrong assumptions about wireless links yield to bad design of link layer and transport layer protocols with low performance (the paper shows examples like tight assumptions on inter-packet delays to distinguish between loss and congestion)
  • accurate evaluation of mechanisms like Forward Error Correction, link-level error recovery
  • discuss the tussle whether changes should be implemented in the link layer or transport layer and which one should consider the dynamics of the other one (e.g. implementation of error recovery on both layers might yield to unnecessary retransmissions due to competing timeouts): there is interplay between the two layers
  • TCP assumes that packet loss means congestion
  • TCP Reno assumes that Dup ACKs mean packet loss (does not allow (any) reordering)
  • Metrics: goodput, also (for cell phones) power consumption
Types of wireless networks
  • wlan
  • wide-area cellular links (GSM, UTMS)
  • satellite links
Other aspects
  • network topology
  • shape of traffic (e.g. short Web requests versus Megabyte file sharing)
Link characteristics (for each one, the physical cause, the direct impact on the link layer and indirect impact on the transport layer is explained and a model is discussed)
  • error losses and corruption (FEC and limited number of retransmissions on the link layer might not hide them in really poor radio conditions, losses due to handovers between stations might not be recoverable on the link layer): modeled by probabilistic packet dropping, might have a certain distribution or state
  • delay variation (messes up delay-based congestion algorithms, rate-based protocols more affected than window based): model delay spikes by suspending data transmission in simulation
  • on-demand resource allocation (a radio frequency is only allocated after a link layer buffer has passed a threshold or timeout, channel allocation delay causes TCP timeouts): modeled by additional delay at packet arrival to queue
  • bandwidth variation (timeouts, congestion and underutilization)
  • asymmetry in bandwidth (congested TCP ACKs), example satellite 10-100x difference
  • Queue Management (used to accomodate bursty traffic, can cause high queueing delay and poor loss recovery (high RTT)): simulate tail-drop or RED
  • effects of mobility: deeper understanding of inter-system handover necessary
Impact
  • currently: link layer designed to deal with TCP's bad performance under packet reordering or loss (TCP could be changed), TCP designed to work over exisiting link layers (not necessarily having explicit loss notification)
  • explicit loss notification instead of timely link-layer recovery
  • buffers to fix reordering or make TCP robust against reordering
  • reduce delays on link layer or make TCP more robust
  • cross-layer communication

No comments: