1 the role of “awareness” in internet protocol performance carey williamson professor/icore...
Post on 19-Dec-2015
216 views
TRANSCRIPT
1
The Role of “Awareness”in Internet Protocol Performance
Carey WilliamsonProfessor/iCORE Senior Research
FellowDepartment 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 years of Internet development have brought many advances: World Wide Web (WWW) Media streaming applications “Wi-Fi” wireless LANs Mobile computing E-Commerce, mobile commerce Pervasive/ubiquitous computing
3
4
The Wireless Web
The emergence and convergence of these technologies enable the “wireless Web” the wireless classroom (CRAN) the wireless workplace the wireless home
My iCORE mandate: design, build, test, and evaluate wireless Web infrastructures
Holy grail: “anything, anytime, anywhere” access to information (when we want it, of course!)
5
Some Challenges
Portable computing devices: no problem (cell phones, PDAs, notebooks, laptops…)
Wireless access: not much of a problem (WiFi, 802.11b, BlueTooth, Pringles…)
Security: still an issue, but being addressed Services: the next big growth area??? Performance transparency: providing an
end-user experience that is hopefully no worse than that in traditional wired Internet desktop environments (my focus!)
6
Research Theme
Existing layered Internet protocol stack does not lend itself well to providing optimal performance for diversity of service demands and environments
Who should bend: users or protocols? Explore the role of “awareness” in
Internet protocol performance Identify tradeoffs, evaluate performance
7
Talk Overview
Introduction Background
Internet Protocol Stack TCP 101
Motivating Examples Our Work on CATNIP Concluding Remarks
8
Internet Protocol Stack Application: supporting network
applications and end-user services FTP, SMTP, HTTP, DNS, NTP
Transport: end to end data transfer TCP, UDP
Network: routing of datagrams from source to destination IPv4, IPv6, BGP, RIP, routing protocols
Data Link: hop by hop frames, channel access, flow/error control PPP, Ethernet, IEEE 802.11b
Physical: raw transmission of bits
Application
Transport
Network
Data Link
Physical
001101011...
9
Viewpoint
“Layered design is good; layered implementation is bad” -Anon.
Good: unifying framework for describing protocols modularity, black-boxes, “plug and play”
functionality, well-defined interfaces (good SE)
Bad: increases overhead (interface boundaries) compromises performance (ignorance)
10
Tutorial: TCP 101
The Transmission Control Protocol (TCP) is the protocol that gets 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, acknowledgements, timers, retransmissions, flow control...
11
TCP 101 (Cont’d)
TCP is a connection-oriented protocol
SYNSYN/ACK
ACKGET URL
YOUR DATA HERE
FIN FIN/ACKACK
12
TCP 101 (Cont’d)
TCP slow-start and congestion avoidance
ACK
13
TCP 101 (Cont’d)
TCP slow-start and congestion avoidance
ACK
14
TCP 101 (Cont’d)
TCP slow-start and congestion avoidance
ACK
15
TCP 101 (Cont’d)
This (exponential growth) “slow start” process continues until either of the following happens: packet loss: after a brief recovery phase,
you enter a (linear growth) “congestion avoidance” phase based on slow-start threshold found
all done: terminate connection and go home
16
Simple Observation
Consider a big file transfer download: brief startup period to estimate network
bandwidth; most time spent sending data at the “right rate”; small added penalty for lost packet(s)
Consider a typical Web document transfer: median size about 6 KB, mean about 10 KB most time is spent in startup period; as soon as
you find out the network capacity, you’re done! if you lose a packet or two, it hurts a lot!!!
17
The Problem (Restated)
TCP doesn’t realize this dichotomy between optimizing throughput (the classic file transfer model) versus optimizing transfer time (the Web document download model)
Wouldn’t it be nice if it did? (i.e., how much data it was sending, and over what type of network)
Some research starting to explore this...
18
Motivating Example #1
Wireless TCP Performance Problems
Wired Internet
WirelessAccess
Highcapacity,lowerrorrate
Low capacity,high error rate
19
Motivating Example #1
Solution: “wireless-aware TCP” (I-TCP, ProxyTCP, Snoop-TCP, ...)
20
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
21
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
22
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
23
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
24
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
25
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
26
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
27
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
28
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
29
Motivating Example #2
Multi-hop “ad hoc” networking
Carey
Haruna
30
Motivating Example #2
Two interesting subproblems: Dynamic ad hoc routing: node movement can
disrupt the IP routing path at any time, disrupting TCP connection; yet another way to lose packets!!!; possible solution: Explicit Loss Notification (ELN)
TCP flow control: the bursty nature of TCP packet transmissions can create contention for the shared wireless channel among forwarding nodes; possible solution: rate-based flow control
31
Our Work
Context-Aware Transport/Network Internet Protocol (CATNIP)
Motivation: “Like kittens, TCP connections are born with their eyes shut” - CLW
Research Question: How much better could TCP perform if it knew what it was trying to accomplish (e.g., Web document transfer)?
32
Some Key Observations (I think)
Not all packet losses are created equal
TCP sources have relatively little control
IP routers have all the power!!!
33
Tutorial: TCP 201
There is a beautiful way to plot and visualize the dynamics of TCP behaviour
Called a “TCP Sequence Number Plot” Plot packet events (data and acks) as
points in 2-D space, with time on the horizontal axis, and sequence number on the vertical axis
34
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
35
TCP 201 (Cont’d)
What happens when a packet loss occurs?
Quiz Time... Consider a 14-packet Web document For simplicity, consider only a single packet
loss
36
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
37
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
X
++
++++
+
+++
++
?
38
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
X
++
++++
+
+++
++
X +
39
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
40
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
X
++
++++
+
++
++
?
41
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
+
+++
++
42
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
43
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXX
XXXX
XX
XX
++
++++
+
++
?
44
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXX
XXXX
XX
XX
++
++++
+
+++++
X
+
45
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet X
XXXX
XXXX
XX
XX
++
++++
+
++++
++
46
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet
X +?
47
Time
Seq
Num
X +
Key: X Data Packet + Ack Packet
XX
X + ++
XXXX +
+++
X
XX +
+
+
48
Time
Seq
Num
Key: X Data Packet + Ack Packet
?
49
Time
Seq
Num
+
Key: X Data Packet + Ack Packet
XX +
+
XXXX +
+++
X
50
TCP 201 (Cont’d)
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 at least a retransmit timeout
Losses in the middle may or may not hurt, depending on congestion window size at the time of the loss
51
The TCP Transfer “Pain Profile”
SeqNum of the Single Lost Packet1 N
Rel
ativ
e T
rans
fer
Tim
e
52
Design of CATNIP•Can we make the TCP/IP protocols “smarter”
about the specific job they are trying to do?
Yes. Convey application-layer context information to the TCP and IP layers
Network
Transport
Application
Document Size
Packet Priority
53
Design of CATNIP (Cont’d)•Q: What could a TCP source do differently?•A: If it knew how much data it had to send, and
how far along it was already, then maybe…
Rate-Based Pacing of the Last Window (RBPLW)
Early Congestion Avoidance (ECA)
Selective Packet Marking (SPM):Use the reserved high-order bit in the TCP header to convey packet priority information (high priority for the really crucial packets)
54
55
Design of CATNIP (Cont’d)•Q: What could an IP router do differently?•A: If it knew which packets were the “painful”
ones to lose, then the router could…
CATNIP-Good: give them preferential treatment, and avoid throwing them away (if possible) when congested
CATNIP-Bad: throw them away
56
Evaluation of CATNIP
Evaluation
Simulation: ns-2
Emulation: use WAN emulation to test a prototype implementation of CATNIP in the Linux kernel of an Apache Web server.
57
Simulation Evaluation
• Network model:
Client 100
Server 1
Server 2
Server 10
Client 1
Client 2
Client 99
1.5 Mbps, 5 ms
10 Mbps, 5 ms 10
Mbp
s, 5 m
s
10 M
bps,
5 m
s 10 Mbps, 5 m
s
RouterS RouterC
58
Simulation Evaluation (Cont’d)
• Web workload model: 100 clients, 10 different Web pages Use empirically-observed distribution to
determine the size, and the number of embedded images
59
Simulation Evaluation (Cont’d)
• Factors and Levels:Factor Levels
TCP IP
Reno, RBPLW, ECA, ECA+RBPLW, SPM DropTail, RED, CATNIP-Good, CATNIP-Bad, CATNIP-RED
• Performance metrics:
transfer time for each Web page
packet loss ratio
60
Simulation Results for DropTail Routers
Reno/ RBPLWReno
ECA
ECA/RBPLW
Mean and Standard Deviation of Transfer Times
61
Simulation Results for CATNIP-Good Routers
Mean and Standard Deviation of Transfer Times Reno/DropTail
SPM/Good
62
Simulation Results for CATNIP-Bad Routers
Mean and Standard Deviation of Transfer TimesReno/DropTail
SPM/Bad
63
Observations
Sources have relatively little control IP routers have all the power Adding context-awareness at the IP
routers improves both mean and standard deviation of Web page transfer times
SPM and CATNIP-Good provide most of the benefit
64
Network Emulation Experiments
• Experimental environment:
WAN emulator: IP-TNE (Internet Protocol Traffic and Network Emulator) at the U of C
Web server:Apache Web server (version 1.3.19-5) on modified Linux 2.4.16 kernel.
Implementation focused on SPM feature only (partially implemented at this time)
Preliminary results available
65
Client 100
• Primary Factor:
buffer size of the bottleneck link (64 KB -- 512 KB)
10 M
bps,
5 ms
Endpoint
Client 1
Client 2
Client 99
1.5 Mbps, 5 ms10 M
bps, 5 ms
10 Mbps, 5 ms
• Network Model
Server
WAN Emulation
RouterS RouterC
66
67
Summary
There seem to be performance advantages to bending the rules regarding the Internet protocol stack layered model
The general notion of “awareness” needs to explored in a variety of contexts wireless networks, ad hoc routing, TCP/IP,
Web caching, mobile computing, adaptive applications, …
Many exciting issues to explore!!
68
The Next Steps
Putting it all together: Web + Wireless
Wireless Internet Performance Lab (UofC)
Experimental Laboratory for Internet Systems and Applications (UofS/UofC,CFI)
Research Collaborations: UofC, UofS, UofA, TRLabs, CS/ECE Nortel? HP? Cisco? Agilent? Compaq? Telus?
69
Credits: Research Team
Martin Arlitt: Web performance, workload characterization
Qian Wu: TCP, ns-2 simulation Guangwei Bai: network traffic
measurement and modeling Tianbo Kuang: wireless networks, video
compression, streaming
Nayden Markatchev: tech support Grad Students: Mingwei Gong, Yujian Li,
Kehinde Oladosu, Fang Xiao, and ???
Application
Transport
Network
Data Link
Physical
70
The End: Question Time!
For more information: Email: [email protected] URL: www.cpsc.ucalgary.ca/~carey