1 the role of “awareness” in internet protocol performance carey williamson professor/icore...

Post on 19-Dec-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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: carey@cpsc.ucalgary.ca URL: www.cpsc.ucalgary.ca/~carey

top related