Title: The Role of
1The Role of Awareness inInternet Protocol
Performance
- Carey Williamson
- iCORE Professor
- Dept of Computer Science
- University of Calgary
2Introduction
- It is an exciting time to be an Internet
researcher (or even a user!) - The last 10 years of Internet development have
brought us - World Wide Web (WWW)
- Media streaming applications
- E-commerce, eBay, e-government
- Peer-to-peer (P2P) applications
- Wi-Fi wireless LANs
- Mobile/pervasive/ubiquitous computing
3Theme of this Talk
- 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
4Internet 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.11b
- Physical raw transmission of bits
001101011...
5Viewpoint
- Layered design is good
layered implementation is bad - 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)
6Main 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...
7In 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!
8Criticisms of TCP
- TCP is a high overhead protocol
- extra network packets for handshaking
- extra RTTs for handshaking
- Performance problems aplenty
- high delay-bandwidth product networks
- multiple packet losses in same window
- phasing effects
- fairness problems
- wireless networks
- World Wide Web
9 The Problem Restated
TCP or not TCP? That is the question!
- William Shakespeare (1608)
10 TCP Performance Problems
- Examples
- TCP over ATM Networks
- TCP over Wireless Networks
- TCP over Wireless Ad Hoc Networks
- TCP and the Web
11Example 1(a) TCP over ATM
- TCP throughput on 10 Mbps Ethernet
- approximately 9.5 Mbps
- TCP throughput on 140 Mbps ATM LAN
- 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
12Example 1(b) TCP over ATM
- TCP throughput and efficiency suffer over ATM
networks - 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
- retransmission at the TCP packet layer
- lose 1 cell, resend N cells for each pkt loss
- Solution
- mark packet boundaries use PPD/EPD
13Example 2 TCP over Wireless
- Wireless TCP Performance Problems
Low capacity, high error rate
Wired Internet
High capacity, low error rate
Wireless Access
14Example 2 TCP over Wireless
- Solution wireless-aware TCP (I-TCP, ProxyTCP,
Snoop-TCP, split connections...)
15Example 3 TCP over Ad Hoc
- Multi-hop ad hoc networking
Rick
Carey
16Example 3 TCP over Ad Hoc
- Multi-hop ad hoc networking
Rick
Carey
17Example 3 TCP over Ad Hoc
- Multi-hop ad hoc networking
Rick
Carey
18Example 3 TCP over Ad Hoc
- Multi-hop ad hoc networking
Rick
Carey
19Example 3 TCP over Ad Hoc
- Two interesting problems here
- 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
20Example 4 TCP and the Web
21Example 4 TCP and the Web
The classic approach in HTTP/1.0 is to use
one HTTP request per TCP connection, serially.
22Example 4 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.
23Our Work 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)?
24Motivation 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)
25Web/TCP Pain Profile
26Design of CATNIP
- Make TCP smarter by conveying application-layer
context to TCP/IP - modifies socket API
Application
Transport
Network
27CATNIP 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 powerful of these
- Implementable using DiffServ codepoints
28CATNIP 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!
29Simulation/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
30Summary and Conclusions
- There seem to be performance advantages to
bending the rules in the layered Internet
protocol stack - The general notion of awareness needs to
explored in lots of contexts - wireless networks, ad hoc routing, TCP/IP, Web
caching, mobile computing, adaptive
applications, - Many exciting issues to explore!!