WirelessAware Protocol Stacks - PowerPoint PPT Presentation

1 / 90
About This Presentation
Title:

WirelessAware Protocol Stacks

Description:

castle.gif. 14. The 'classic' approach. in HTTP/1.0 is to use one. HTTP request per TCP ... castle.gif. GET. Example 2: TCP and the Web. 16. Example 3: TCP ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 91
Provided by: Kenn87
Category:

less

Transcript and Presenter's Notes

Title: WirelessAware Protocol Stacks


1
Wireless-Aware Protocol Stacks
  • Carey Williamson
  • Professor and iCORE Chair
  • Department of Computer Science
  • University of Calgary

2
Introduction
  • It is an exciting time to be an Internet
    researcher (or even a user!)
  • The last 10-15 years of Internet evolution have
    brought us
  • World Wide Web (WWW)
  • Media streaming applications
  • Peer-to-peer (P2P) applications
  • Wi-Fi wireless LANs and hotspots
  • Mobile/pervasive/ubiquitous computing

3
Main Theme of this Talk
  • Existing layered Internet protocol stack does not
    lend itself well to providing optimal performance
    for diversity of service demands and environments
  • Subtle multi-layer protocol interactions
  • Challenge performance transparency
  • Who should bend users or protocols?
  • Explore the role of awareness in (wireless)
    Internet protocol performance

4
Network Protocol Stack
  • Application supporting network applications and
    end-user services
  • FTP, SMTP, HTTP, DNS, NTP, ...
  • Transport end to end data transfer
  • TCP, UDP, RTP, SCTP, XTP
  • Network routing of datagrams from source to
    destination
  • IPv4, IPv6, BGP, RIP, routing protocols
  • Data Link frames, channel access, flow/error
    control
  • PPP, Ethernet, IEEE 802.11a/b/g
  • Physical raw transmission of bits

001101011...
5
Viewpoint
  • Layered design is good
    layered implementation is bad - AST??
  • Good
  • unifying framework for describing protocols
  • modularity, black-boxes, plug and play
    functionality, well-defined interfaces (SE)
  • Bad
  • increases overhead (interface boundaries)
  • compromises performance (ignorance)

6
Main Example TCP
  • The Transmission Control Protocol (TCP) is the
    protocol that sends your data reliably
  • Used for email, Web, ftp, telnet,
  • Makes sure that data is received correctly right
    data, right order, exactly once
  • Detects and recovers from any problems that occur
    at the IP network layer
  • Mechanisms for reliable data transfer
  • sequence numbers, ACKs, flow control, timers,
    retransmissions, congestion control...

7
In Praise of TCP
  • TCP is the 4 wheel drive of transport layer
    protocols
  • general purpose, robust, go anywhere
  • The TCP protocol has undergone only minor changes
    in 30 years of existence
  • original version circa 1974
  • congestion control mechanism 1988
  • TCP has witnessed dramatic changes in network
    technology and in computing technology over that
    same time period!

8
Criticisms of TCP
  • TCP is a high overhead protocol
  • hefty headers (20-byte TCP, 20-byte IP)
  • extra network packets for handshaking
  • extra RTTs for handshaking
  • Performance problems aplenty
  • high delay-bandwidth product networks
  • multiple packet losses in same window
  • fairness problems (RTT bias, phasing, losses)
  • World Wide Web (small transfers vs large ones)
  • wireless networks (losses, mobility, etc.)

9
The Problem Restated
TCP or not TCP? That is the question!
- Hamlet, Act 3, Scene 1
William Shakespeare (1608)
10
TCP Performance Problems
  • Examples
  • TCP over ATM Networks
  • TCP and the Web
  • TCP over Wireless Networks
  • TCP over Wireless Ad Hoc Networks
  • Wireless Media Streaming Performance

11
Example 1a TCP over ATM
  • TCP on 10 Mbps Ethernet LAN Boggs88
  • throughput approximately 9.5 Mbps
  • TCP on 140 Mbps ATM LAN Moldeklev94
  • throughput approximately 0.2 Mbps!!!
  • Why? TCP deadlock problem
  • large ATM MTU size, relatively small TCP
    send/receive socket buffer sizes
  • interaction between TCP delayed ACKs and Nagles
    Algorithm and socket copy rules
  • Solution proper config gt 70 Mbps

12
Example 1b TCP over ATM
  • TCP throughput and efficiency suffer over ATM
    networks Romanow94
  • Why? The jigsaw-puzzle problem
  • TCP packets large ATM cell size small
  • one TCP packet many ATM cells (N)
  • under overload, ATM switch discards cells
  • ATM cells do not have sequence numbers!!!
  • retransmission at the TCP packet layer only
  • lose 1 cell, resend N cells for each packet loss
  • Solution
  • mark packet boundaries use PPD/EPD

13
Example 2 TCP and the Web
14
Example 2 TCP and the Web
The classic approach in HTTP/1.0 is to use
one HTTP request per TCP connection, serially.
15
Example 2 TCP and the Web
The persistent HTTP approach can re-use
the same TCP connection for multiple HTTP
transfers, one after another, serially. Amortizes
TCP overhead, but maintains TCP state longer at
server. Mogul 1995
16
Example 3 TCP over Wireless
  • Wireless TCP Performance Problems

Low capacity, high error rate
Wired Internet
High capacity, low error rate
Wireless Access
17
Example 3 TCP over Wireless
  • Solution wireless-aware TCP (I-TCP, ProxyTCP,
    Snoop-TCP, split connections...)

The assumption Loss Congestion no longer
applies
18
Example 4a TCP over Ad Hoc
  • Multi-hop ad hoc networking

Steve
Carey
19
Example 4a TCP over Ad Hoc
  • Multi-hop ad hoc networking

Steve
Carey
20
Example 4a TCP over Ad Hoc
  • Multi-hop ad hoc networking

Steve
Carey
21
Example 4a TCP over Ad Hoc
  • Multi-hop ad hoc networking

Steve
Carey
22
Example 4a TCP over Ad Hoc
  • Problem TCP vs Dynamic ad hoc routing
  • Node movement can disrupt the IP routing path at
    any time, disrupting TCP connection
  • Yet another way to lose packets!!!
  • Route discovery delays are unpredictable
  • can vary from 10 ms to 5 s or more Gupta 2004
  • Possible solutions
  • Explicit Loss Notification (ELN) Balakrishnan et
    al.1998
  • Wireless loss inference techniques Liu et al.
    2003
  • Fast TCP handoffs Tan et al. 1999

23
Example 4b TCP over Ad Hoc
(Assume ideal world)
1
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
R
24
Example 4b TCP over Ad Hoc
2
3
4
S
5
1
6
7
8
9
10
11
12
A
C
B
D
R
25
Example 4b TCP over Ad Hoc
3
4
S
5
2
6
7
8
9
10
11
1
12
A
C
B
D
R
26
Example 4b TCP over Ad Hoc
4
S
5
3
6
7
8
9
1
10
11
2
12
A
C
B
D
R
27
Example 4b TCP over Ad Hoc
S
5
4
6
7
8
9
10
2
11
1
3
12
A
C
B
D
R
28
Example 4b TCP over Ad Hoc
S
6
5
7
8
9
10
3
11
2
4
12
A
C
B
1
D
R
29
Example 4b TCP over Ad Hoc
S
6
7
8
9
10
11
3
4
12
A
5
C
B
2
D
1
R
30
Example 4b TCP over Ad Hoc
S
7
8
9
10
11
5
6
12
A
4
C
B
D
3
1
2
R
31
Example 4b TCP over Ad Hoc
S
8
9
10
11
6
5
7
12
A
C
B
D
4
1
2
3
R
32
Example 4b TCP over Ad Hoc
S
9
10
7
11
6
12
A
8
C
B
D
5
1
2
3
4
R
33
Example 4b TCP over Ad Hoc
S
10
11
8
7
12
A
9
C
B
D
6
1
2
3
4
5
R
34
Example 4b TCP over Ad Hoc
S
11
8
9
12
A
C
10
B
D
7
1
2
3
4
5
R
6
35
Example 4b TCP over Ad Hoc
S
12
10
A
9
11
C
B
D
8
1
2
3
4
5
R
6
7
36
Example 4b TCP over Ad Hoc
S
10
11
A
12
C
B
D
9
1
2
3
4
5
R
6
7
8
37
Example 4b TCP over Ad Hoc
S
12
11
A
C
B
D
10
1
2
3
4
5
R
6
7
8
9
38
Example 4b TCP over Ad Hoc
S
A
12
C
B
D
11
1
2
3
4
5
R
6
7
8
9
10
39
Example 4b TCP over Ad Hoc
S
A
C
B
D
12
1
2
3
4
5
R
6
7
8
9
10
11
40
Example 4b TCP over Ad Hoc
S
A
C
B
D
1
2
3
4
5
R
6
7
8
9
10
11
12
41
Example 4b TCP over Ad Hoc
(Reality check)
Issue 1 node A cant use both of these links at
the same time - shared wireless
channel - transmit or receive, but not
both
1
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
R
42
Example 4b TCP over Ad Hoc
Issue 2 cant use both of these links at same
time - range overlap at A -
hidden node problem - exposed node
problem
1
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
R
43
Example 4b TCP over Ad Hoc
Issue 3 LOTS of contention for the channel - in
steady state, all stations want to send - need
RTS/CTS to resolve contention
1
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
R
RTS Request-To-Send CTS Clear-To-Send
44
Example 4b TCP over Ad Hoc
1
RTS
CTS
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
R
45
Example 4b TCP over Ad Hoc
2
3
4
S
5
1
6
7
8
9
10
11
12
A
C
B
D
R
46
Example 4b TCP over Ad Hoc
RTS
CTS
2
3
4
S
5
6
7
8
9
10
11
12
A
C
1
B
D
R
47
Example 4b TCP over Ad Hoc
2
3
4
S
5
6
7
8
9
10
11
1
12
A
C
B
D
R
48
Example 4b TCP over Ad Hoc
2
3
4
S
5
6
7
8
9
10
11
1
12
A
C
B
D
R
49
Example 4b TCP over Ad Hoc
3
4
S
5
2
6
7
8
9
10
11
1
12
A
C
B
D
R
50
Example 4b TCP over Ad Hoc
3
4
S
5
6
7
8
9
10
11
12
A
2
C
B
D
1
R
51
Example 4b TCP over Ad Hoc
3
4
S
5
6
7
8
9
10
11
2
12
A
C
B
D
1
R
52
Example 4b TCP over Ad Hoc
4
S
5
3
6
7
8
9
10
11
2
12
A
C
B
D
1
R
53
Example 4b TCP over Ad Hoc
4
S
5
6
7
8
9
10
11
12
A
3
C
B
D
2
1
R
54
Example 4b TCP over Ad Hoc
4
S
5
6
7
8
9
10
11
3
12
A
C
B
D
1
2
R
55
Example 4b TCP over Ad Hoc
S
5
4
6
7
8
9
10
11
3
12
A
C
B
D
1
2
R
56
Example 4b TCP over Ad Hoc
S
5
6
7
8
9
10
11
12
A
4
C
B
D
3
1
2
R
57
Example 4b TCP over Ad Hoc
S
5
6
7
8
9
10
11
4
12
A
C
B
D
1
2
3
R
58
Example 4b TCP over Ad Hoc
Issue 4 TCP uses ACKS to indicate reliable data
delivery - bidirectional traffic (DATA, ACKS) -
even more contention!!!
1
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
R
59
Example 4b TCP over Ad Hoc
2
3
4
S
5
1
6
7
8
9
10
11
12
A
C
B
D
R
60
Example 4b TCP over Ad Hoc
2
3
4
S
5
6
7
8
9
10
11
1
12
A
C
B
D
R
61
Example 4b TCP over Ad Hoc
2
3
4
S
5
6
7
8
9
10
11
1
12
A
C
B
D
R
62
Example 4b TCP over Ad Hoc
3
4
S
5
2
6
7
8
9
10
11
1
12
A
C
B
D
R
63
Example 4b TCP over Ad Hoc
3
4
S
5
6
7
8
9
10
11
12
A
2
C
B
D
1
R
64
Example 4b TCP over Ad Hoc
3
4
S
5
6
7
2
8
9
10
11
TCP ACK
1
2
12
A
C
B
2
1
D
1
1
R
65
Example 4b TCP over Ad Hoc
4
S
5
3
6
7
8
9
10
11
1
12
2
A
C
B
D
1
R
66
Example 4b TCP over Ad Hoc
4
S
5
6
7
8
9
10
11
1
12
A
C
3
B
D
2
1
R
67
Example 4b TCP over Ad Hoc
4
S
5
6
7
8
9
10
11
12
1
A
C
3
B
D
2
1
R
68
Example 4b TCP over Ad Hoc
4
S
5
6
7
8
1
9
10
11
12
A
C
3
B
D
2
1
R
69
Example 4b TCP over Ad Hoc
4
S
5
6
7
8
1
9
10
11
12
A
3
C
B
D
2
1
R
70
Example 4b TCP over Ad Hoc
4
S
5
6
7
8
1
9
10
11
12
A
C
B
3
D
2
1
2
R
71
Example 4b TCP over Ad Hoc
  • Problem TCP flow control vs. wireless ad hoc
  • The bursty nature of TCP packet transmissions
    creates contention for the shared wireless
    channel among forwarding nodes
  • Causes intra-flow and inter-flow contention
  • Possible solutions
  • Bound TCP window size Fu et al. 2003
  • Link-layer RED Fu et al. 2003
  • Rate-based flow control Gupta et al. 2004
  • Multi-channel MAC protocols Kuang et al. 2004
  • Careful channel scheduling Wormsbecker et al.
    2006

72
Example 5 Wireless Streaming
Wireless Sniffer
73
Example 5 Contd
Wireless Sniffer
74
(No Transcript)
75
The Bad Apple Phenomenon
  • What? One user with poor or transient wireless
    connectivity in the WLAN disrupts performance for
    everyone!!!
  • Why? Shared broadcast WLAN lots of MAC-layer
    retransmissions FIFO server queue Head of Line
    (HOL) blocking
  • Solutions?
  • Disable MAC-layer retransmissions (yuck!)
  • Multiple queues and packet scheduling
  • Station-based adaptation Cao et al. 2006

76
Some Examples of Our Work
  • Context-Aware (CATNIP) TCP
  • Multi-Channel MAC Protocols
  • Bi-directional MAC protocols (Bi-MCMAC)
  • Multi-Rate Multi-Channel (MRMC) WLANs
  • Fairness Issues in IEEE 802.11b WLANs
  • Wireless Cross-Layer Design
  • Scalable Wireless Media Streaming

77
Example 1 CATNIP TCP
  • Context-Aware Transport/Network Internet
    Protocol (CATNIP)
  • Motivation Like kittens, TCP connections are
    born with their eyes shut - CLW
  • Question How much better could TCP perform if it
    knew what it was trying to do (e.g., 14 KB Web
    document transfer)?

78
Motivation for CATNIP TCP
  • Main observation
  • Not all packet losses are created equal
  • Losses early in the transfer have a huge adverse
    impact on the transfer latency
  • Losses near the end of the transfer always cost a
    retransmit timeout
  • Losses in the middle may or may not hurt,
    depending on congestion window size at the time
    of the loss (because of the TCP fast retransmit
    mechanism)

79
Web/TCP Pain Profile
80
Design of CATNIP
  • Make TCP smarter by conveying application-layer
    context to TCP/IP
  • modifies socket API

Application
Transport
Network
81
CATNIP TCP Sources
  • What could sources do differently?
  • Rate-Based Pacing of Last Window (RBPLW)
  • Early Congestion Avoidance (ECA)
  • Selective Packet Marking (SPM) use a 1-bit field
    in the reserved portion of the TCP/IP header to
    convey packet priority information
  • 0 low priority 1 high priority (crucial
    pkts)
  • SPM is the most effective Wu et al. 2002
  • Implementable using DiffServ codepoints Wu et
    al. 2006

82
CATNIP in the Internet
  • What could IP router do differently?
  • If it knew which packets mattered most
  • CATNIP-Good avoid discarding them when
    congested (if possible)
  • CATNIP-Bad throw them away!

83
Simulation/Emulation Results
  • Sources have relatively little control
  • IP routers have all the power
  • Adding context-awareness at IP routers improves
    both mean and standard deviation of Web page
    transfer times (e.g., by 20-60 for 1-5 packet
    loss)
  • SPM and CATNIP-Good provide most of the benefit

84
Example 2 Bi-MCMAC Protocol
Issue 2 cant use both of these links at same
time - range overlap at A -
hidden node problem - exposed node
problem
1
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
R
85
Multi-Channel MAC Protocols
- Sender transmits RTS on control channel,
indicating candidate set of channels to use - CTS
reply indicates channel to use (if any) - Sender
and receiver tune to that channel
for the duration of that packet transmission
1
2
3
4
S
5
6
7
8
9
10
11
12
A
C
B
D
A big win! - Confines contention to control
channel only - Reduces hidden node/exposed node
problems - Shortens the contention distance (3
to 2) - Significantly improves throughput
R
86
Bidirectional Reservations
4
S
5
6
7
8
1
9
10
11
12
A
C
Old way RTS CTS DATA 3 (ack) RTS CTS ACK 1
(ack)
B
3
Our new way RTS CTS CRN DATA 3 ACK 1 (ack)
D
2
1
2
25 less control overhead in common case of TCP
DATA/ACK
R
87
Performance Evaluation
  • Simulation using ns-2 network simulator
  • Three protocols
  • 802.11 MAC, MCMAC, Bi-MCMAC
  • Static ad hoc networks
  • Performance metrics
  • Fairness
  • Throughput (FTP-like bulk data transfer
    applications)
  • Response Time (Web-like applications)

88
Fairness Example
MCMAC
802.11 MAC
Bi-MCMAC
Total 736 kbps
Total 1406 kbps
Total 1528 kbps
89
Summary and Conclusions
  • There are performance advantages to bending the
    rules in the layered Internet protocol stack
    (esp. wireless!)
  • The general notion of awareness is worth
    exploring in many contexts
  • wireless networks, ad hoc routing, TCP/IP, mobile
    computing, adaptive applications
  • wireless mesh networks, sensor networks
  • Many interesting issues to explore!!

90
The End
  • For more information
  • Email carey_at_cpsc.ucalgary.ca
  • Web URL www.cpsc.ucalgary/carey
  • Credits
  • Guangwei Bai, Jean Cao, Mingwei Gong, Abhinav
    Gupta, Tianbo Kuang, Hongxia Sun, Ian
    Wormsbecker, Qian Wu
  • The rest of my iCORE research team
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com