Block-switched Networks: A New Paradigm for Wireless Transport Ming Li, Devesh Agrawal, Deepak Ganesan and Arun Venkataramani presented by zhen qin, marcel flores
Motivation
How TCP works E2E rate control is error-prone
How TCP works E2E retransmissions are wasteful
How TCP works Link layer ARQ
How TCP works Link-layer ARQs/backoffs hurt TCP rate control
Hop Contribution A clean-slate design and implementation of a wireless transport protocol Using reliable per-hop block transfer as a building block
Hop Design
Reliable Block Transfer Structure of a block and Timeline of TCP vs Hop
Virtual Retransmission Exploit caching at intermediate node Hop routers store all packets they overhear Transmit BSYN packet when block dropped
Backpressure Limits #outstanding blocks per-flow at forwarder
Backpressure Limits #outstanding blocks per-flow at forwarder
Ack Withholding acknowledging only one BSYN packet withholding BACKs to other concurrent BSYN packet until outstanding block complete Mitigating impact of hidden terminals
Micro-block Prioritization Senders piggybacks small blocks to BSYN Receivers prioritizes small block’s BACK Low delay for small blocks
Evaluation A 20 node wireless mesh testbed Linux 2.6 kernel a/b/g Athero/MadWiFi card Spread around the CS building
Comparisons End-to-end –UDP –TCP with CUBIC congestion control Hop-by-hop –Hop-by-hop TCP TCP with backpressure –DTN2.5 Always subtract TCP setup time
Results Single hop microbenchmarks –100 Random links, transferred 10 MB file –Shows robust performance on poor links
Graceful Degradation Sorted by TCP goodput Tried artificially dropping packets, examined goodput for different rates
Multi-Hop 100 random pairs - varying lengths TCP slightly inflated, OSLR only picks good links (Hop does well on lossy)
Hop Components Compare Hop against different versions of itself
Other Comparisons High Load WLAN access points Small file transfers Single hop transfer delay Multi hop transfer delay Robustness to partitions Affect on VOIP Network and link layer dynamics g
Conclusion for Hop vs. TCP It looks like Hop would do well in this environment –Blocks seem effective as a paradigm Do not claim TCP can’t be made better –Instead, have shown starting from the ground up has potential