Network Protocols:
Design and Analysis
Polly Huang EE NTU
http://cc.ee.ntu.edu.tw/~phuang phuang@cc.ee.ntu.edu.tw
Introduction
[Hanson99a] [Jamin97b]
What you’re up against
• 40 papers
– about 3 per class (!)
– plus supplementary if you want :-)
• Written for experts
• Written for the time (not now)
• All having to show how cool they are
– as opposed to a completely objective overview
What’s on your side
• Some overview in lectures
• Discussion with peers
– Reading groups are good!
• Use context
– Related papers, reference textbook, own
background
Hints: In the Reading
• Skim first, then read in depth
– Abstract
– Introduction – Conclusion
• While going through the paper, takes notes
– Highlight key-words/phrases/sentences – Numerate points
Hints: After Reading
• Write a 1-2 paragraph summary
• Keep a database (bibilography) of all your papers
– Authors, paper title, publisher, date, location – List of keywords
– Your summary/assessment of the papers – Location of your on-line copy
• Good for a research-oriented career
– Will save lots of time when you write a paper
Telling Good from Bad
• New idea
– Really new? how do you know?
– Related work & context
• The problem
– Clearly stated?
• Evaluation
– Do their experiments back up their claims?
– Are their experiments statistically sound?
On the Review Forms
• Novelty
– New idea• Clarity
– The problem• Reality (practicality)
– Evaluation• Importance, significance, relevance
OK for Beginners
• Clarity
– Easiest
– Judging the writing
• Evaluation
– Easy
Challenging for the Advanced
• Novelty
– Hard
– Need to follow/read enough papers in the area
• Importance
– Hardest
Kinds of Papers
• Idea papers
– Better have good insight into something! implementabl e?
• Systems papers
– Is their system really new? solid? insight? lessons? alt ernatives?
• Analysis papers
– Are their models clean? relevant?
Context
• SOSP is a top OS conference
– SIGCOMM, SIGMETRICS, MOBILCOM
• Give guidance to writers about
systems
papers
Trying to Address 2 Questions
• What makes a paper important?
• What makes a paper clear?
– This should not over-shadow the technical
merit
– It, however, may influence (sometimes
critically) the reviewer’s impression on the
paper
About Importance
• Novelty
– Idea new and original
• Practicality
– Applicable, implementable, deployable
– For system papers, yes
And Impact Factor
• Lessons learned
• New problems identified
• Previous results contradicted
• Things changed
– For a lot of people
About Clarity
• Clearly states
lessons learned
– Reasoning (why, not just what)
• Puts results in
context
– Related work, premise
• Avoids extra baggage
– Irrelevant technical details
The Communication Interface
• Clear presentation
– Organization, good abstract
• Good writing
If you are writing…
• Think the criteria
– Novelty, reality, impact, and clarity
• My advise to this class
– Start from Clarity
– English is the bottleneck for most of you – Practice makes perfect
– Without this, the organization, sometimes even the work could well be effort in vain
– When this is done reasonably well, your advisor will be able to help you with the rest
Theory vs. Implementation
• Theory is incredibly important
– Can predict general results – Help understand systems
• Implementation is incredibly important
– Explore real-world constraints (sometimes abstracted away in theory)
Embrace Them Both
• Best papers tend to have
both
• Neither
is sufficient
– (some) assumptions in the theory are not all that realistic
– Ex. Ethernet cannot reach more than 36% utilization [but it fails to consider higher levels]
– (some) systems work is just trees, no forest
– Ex. distributed.net broke the RC5-64 challenge in 1757 [but what does that say about security in general]
This’s Why Teamwork is Good
• Some are
– good at grasp symbols, abstract notations
– keen in detecting patterns in random
phenomena
– experienced in implementations
Science vs. Engineering
• The roles of science and engineering in networking
and systems
• Huge amount of engineering (“construction”)
– What can we really build?
– Ex. Napster or WWW were engineering triumphs
• Really important science (“discovery”)
– The Internet is a complex system with many interactions we don’t understand
The Internet
A 1999 Internet ISP Map
[data courtesy of Ramesh Govindan a
The Internet, Posterized, Circa 2000
[data courtesy of U CSD’s caida]
Internet Development Mantra
“We reject kings, presidents and voting. We
believe in rough consensus and running
code.”
- Dave Clark
Glimpses of the Future?
http://www.picoweb.net/ (an 8-bit web server with Et
hernet) a sensor network
(tracking the truck)
cell-phones: millions of IP-enabled handsets today UCB mote: an 8-bit sensor node
with non-IP based networking home entertainment: Onkyo’s network-enabled stereo receiver USC Robo-Mote
[Rahimi, Sukhatme, et al., 2002]
Some Definitions
• Host: computer, desktop, PDA, light switch, etc.
(also a node)
• Link: path followed by bits.
– Wire or wireless
– Broadcast, point-to-point, and in-between
• Switch: moves bits between alternate links
– Packet switching: stateless, store and forward – Circuit switching: stateful, cut through
Networks
…
Point-to-Point Multiple Access…
wired or wirelessInternetworks
– Two or more nodes connected by a link, or
– Two or more networks connected by two or more nodes
The Global Network
• Structure
– Getting started – What and where? – Getting data there
Getting started: A Host
• Host configuration needs:
– a physical network cable (Ethernet, etc.) – an IP address
– a network mask – a gateway
– a DNS server (and other servers) – 2003: a mail server
Getting started: A Network
• Network configuration needs:
– a wire (from the phone or cable company) – a router
– a firewall, a IP sharing or NAT machine? – an ISP to connect you to the Internet
– network addresses (192.168.1.xxx)—a subnet
– plus whatever servers you want (DHCP, DNS, Email)
Getting started: An ISP
• ISP needs:
– a big block of addresses
– connections to one or more other ISPs, peerings
– multiple routers, probably at exchange point (a POP or MAE)
– servers for your users: mail, web, etc. – servers for you: monitoring, etc.
Idealized Network Structure
Backbones
Regionals
The Global Network
• Structure
– Getting started
– What and where? – Getting data there
How Do Computers Find Each Other?
Internet
Different Kinds of Addresses
• Will talk about names, addresses, binding in
[Saltzer81a]
• For now, what are names and addresses in t
he Internet?
– URL/URNs: http://www.isi.edu
– Domain names www.isi.edu
Finding IP Address:
Domain Naming System (DNS)
Local DNS server
What’s the IP address for www.usc.edu?
Computer 1
It is 128.125.19.146
How does computer 1 know its address? either hard-coded, or gets it at boot time w/DHCP
How does the server know
computer 1’s address? usually hard-coded, or via DNS
Finding Ether Address:
Address Resolution (ARP)
Ethernet
Broadcast: who knows the
Ethernet address for 128.125.51.41?
Finding Things:
The USER’s Perspective
• http://cc.ee.ntu.edu.tw/~phuang/teach/net-protocol-fal
l-03/
– http a protocol
– cc.ee.ntu.edu.twa web server name
– ~phuang/…fall-03/ a path on that server
• Beware:
– names vs. addresses at multiple layers
• Alternatively, using a search engine
The Global Network
• Structure
– Getting started – What and where? – Getting data there
Packet Traveling Through the Internet
R R R R R H H H H R R H RRouters send packet to next closest hop
H: Hosts R: Routers
How do the routers know
where to send data?
• Forwarding tables
at each router populated
by
routing protocols
.
– Routing tables optimize distance
– Subject also to policies
Why do the packets get there?
(Internet Economics 101)
Backbones
Regionals
Campus LANs When you get IP connectivity,
you pay someone, who pays someone, who… a
client-provider relationship
At higher levels, ISPs establish
peering relationships with each
other. They occasionally do
The Global Network
• Structure
– Getting started – What and where? – Getting data there
Network Metrics
• Bandwidth
– Transmission capacity
– A.k.a. How many bits can fit in a section of a link?
• Delay
– Queuing delay
– Propagation delay (limited by the c)
• Delay-bandwidth product
The Considerations
For designing or engineering
the Internet
But
scale
in what sense?
• Numbers of hosts • Amount bandwidth to each host • Number of concurrent users • Kinds of applications • Numbers of links • Number of independent • Globally routable • Geographic distance • Versions of hw, sw • App needs (QoS, etc.)• Levels of trust/admin bou ndaries
• Hardware price-points • … etc.
Application
Considerations
• Application input to network: traffic…
– data rate
– pattern (bursty or constant bit rate)
– destination (multipoint or single destination, mobile or fixed)
• Network service delivered to application
– delay, jitter sensitivity – loss sensitivity
Reliable File Transfer
• Loss sensitive
• Not delay sensitive relative to round trip
times
• Point-to-point or multipoint
• Bursty
Remote Login
• Loss sensitive
• Delay sensitive
– Subject to interactive constraints
– Can tolerate up to several hundreds of
milliseconds
Network Audio
• Relatively low bandwidth
– Digitized samples, packetized
• Delay variance sensitive
• Loss tolerant
• Possibly multipoint, long duration sessions
– Natural limit to number of simultaneous sender
s
Network Video
• High bandwidth
• Compressed video, bursty
• Loss tolerance function of compression
• Delay tolerance a function of interactivity
• Possibly multipoint
Web
• Transactional traffic
– Short requests, possibly large responses
• Loss (bug?) tolerant
• Delay sensitive
– Human interactivity
Robustness
• Becoming a critical issue
– cf. the microsoft memo about “trusted computin
g” (security robustness)
– phone networks promise “5 nines” of reliability
: 99.999% uptime
• (= 5 minutes of outage per year
Network Failures
• Packet loss
– queue overflows (due to congestion)
– transmission noise
• Node or link failures
• Routing transients or failures
• Application-level service failures
• Some failure (ex. congestive loss) is
(Lack of) Security in the
Network
• Many things are too easy:
– eavesdropping: credit card numbers, or passwords in pa ckets
– using other people’s resources: worms, DDoS
– breaking into machines: software bugs, poor configurati on, Trojan horses
– other things? physical security, social engineering
• But strong security is possible
Engineering Trade-offs
Network can be engineered to provide:
• Reliability
• Low delay / high bandwidth
• Low cost
Some Backsliding About Robustness
• NAT boxes
• Application-level gateways
• Layer-3 caches
• User tweaking
• All violate the end-to-end principle, and can
How does
technology
affect the net?
• Technology drives much of the Internet
• Although marketing and politics also have
influence
Examples
• Telecom-considering voice-over-IP
• Video-on-demand (tech OK, market demand not)
• Getting Internet to “grandma” pushed DHCP and autoconfig • New protocols (web, Napster) change usage patterns (and ult
imately industries)
• New devices (handsets) enables SMS messaging
• Wireless/802.11 enables new modes of operation (wireless “ hot spots”)
• Streaming music => the Internet in your stereo
Conclusion
• The terminology
• The global network
– Entities
– Connectivity – Transportation
• The design considerations
– Scale
– Application – Robustness – Technology