![Page 1: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/1.jpg)
1
Preliminaries, Protocols, PreviewPriorities, and Principles
EE122 Fall 2011
Scott Shenker
http://inst.eecs.berkeley.edu/~ee122/
Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxsonand other colleagues at Princeton and UC Berkeley
![Page 2: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/2.jpg)
2
Announcements• TAs gave me brutal feedback
– Need to cover more of the basics– Goal today: fluency in packets, probability, terminology
• Homework #1 Out– This is about learning, not evaluation– But please try to do it on your own first– Will entertain questions in office hours and in class
• Today’s lecture will spill over into next week
• There is a special place in hell reserved for the designer of Powerpoint’s animation package…..
![Page 3: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/3.jpg)
Outline
• Preliminaries– Life of a packet, types of delay, Little’s Law, etc.– Protocols– Client-server architectures
• Preview of homework assignment– Clear up any misunderstanding
• Design priorities (probably today)– Clark’s 1988 paper
• Design Principles (I hope not today)– The good stuff…..
3
![Page 4: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/4.jpg)
Preliminaries
![Page 5: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/5.jpg)
Nodes and Links
• Link: transmission technology– Twisted pair, optical, radio, whatever
• Node: computational devices on end of links– Host: general-purpose computer– Network node: switch or router
5
Node NodeLink
![Page 6: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/6.jpg)
Properties of Links
• Latency (delay)– Propagation time for data sent along the link– Corresponds to the “length” of the link
• Bandwidth (capacity)– Amount of data sent (or received) per unit time– Corresponds to the “width” of the link
• Bandwidth-delay product: (BDP)– Amount of data that can be “in flight” at any time– Propagation delay × bits/time = total bits in link
6
bandwidth
latency
delay x bandwidth
![Page 7: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/7.jpg)
Examples of Bandwidth-Delay
• Same city over slow link:– B~100mbps– L~.1msec– BDP ~ 10000bits ~ 1.25MBytes
• Cross-country over fast link:– B~10Gbps– L~10msec– BDP ~ 108bits ~ 12.5GBytes
• Another example where the Internet has to be prepared for a wide range of conditions!
7
![Page 8: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/8.jpg)
Examples of Transmission Times
• 1500 byte packet over 14.4k modem: ~1 sec
• 1500 byte packet over 10Gbps link: ~10-6sec
8
![Page 9: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/9.jpg)
Utilization
• Fraction of time link is busy transmitting– Often denoted by ρ
• Ratio of arrival rate to bandwidth– Arrival: A bits/sec on average– Utilization = A/B
9
![Page 10: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/10.jpg)
Packets
• Payload (Body)– Data being transferred
• Header– Instructions to the network for how to handle packet– Think of the header as an interface!
10
![Page 11: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/11.jpg)
The Lifecycle of Packets
11
Excess Packets Stored in Buffer
Packet Arriving at Switch
PacketBeing
Transmitted
Packet BufferLink
Packet Currently Being Transmitted
![Page 12: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/12.jpg)
The Delays of Their Lives
12
QueueingDelay
Transmission Delay
Propagation Delay is how long it takesto reach the next switch after transmission
Round-Trip Time (RTT) is the time it takesa packet to reach the destination and the response to return to the sender
![Page 13: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/13.jpg)
Review of Networking Delays
• Propagation delay: latency– Time spent in traversing the link– “speed of propagation” delay
• Transmission delay:– Time spent being transmitted– Ratio of packet size to bandwidth
• Queueing delay:– Time spent waiting in queue– Ratio of total packet bits ahead in queue to bandwidth
• Roundtrip delay (RTT)– Total time for a packet to reach destination and a
response to return to the sender 13
![Page 14: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/14.jpg)
Trends
• Propagation delay? – No change
• Transmission delay? – Getting smaller!
• Queueing delay? – Usually smaller
• How does this affect applications?– CDNs work very hard to move data near clients– Reduces backbone bandwidth requirements– But also decreases latency– Google: time is money!
14
![Page 15: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/15.jpg)
Queueing Delay
• Does not happen if packets are evenly spaced– And arrival rate is less than service rate
15
![Page 16: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/16.jpg)
Smooth Arrivals = No Queueing Delays
16
![Page 17: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/17.jpg)
Queueing Delay
• Does not happen if packets are evenly spaced– And arrival rate is less than service rate
• Queueing delay caused by “packet interference”– Burstiness of arrival schedule– Variations in packet lengths
17
![Page 18: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/18.jpg)
Bursty Arrivals = Queueing Delays
18
There is substantial queueing delay even though link is underutilized
![Page 19: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/19.jpg)
Queueing Delay
• Does not happen if packets are evenly spaced– And arrival rate is less than service rate
• Queueing delay caused by “packet interference”– Burstiness of arrival schedule– Variations in packet lengths
• Made worse at high load– Less “idle time” to absorb bursts– Think about traffic jams in rush hour….
19
![Page 20: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/20.jpg)
Jitter
• Difference between minimum and maximal delay
• Latency plays no role in jitter– Nor does transmission delay for same sized packets
• Jitter typically just differences in queueing delay
• Why might an application care about jitter?
20
![Page 21: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/21.jpg)
Packet Losses: Buffers Full
21
![Page 22: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/22.jpg)
Packet Losses: Corruption
22
![Page 23: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/23.jpg)
Reviewing Queueing: java applet
23
![Page 24: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/24.jpg)
Basic Queueing Theory Terminology
• Arrival process: how packets arrive– Average rate A– Peak rate P
• Service process: transmission times– Average transmission time– For networks, function of packet size
• W: average time packets wait in the queue– W for “waiting time”
• L: average number of packets waiting in the queue– L for “length of queue”
• Two different quantities24
![Page 25: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/25.jpg)
Little’s Law (1961)
L = A x W
• Compute L: count packets in queue every second– How often does a single packet get counted? W times
• Could compute L differently – On average, every packet will be counted W times– The average arrival rate determines how frequently this
total queue occupancy should be added to the total
• Why do you care?– Easy to compute L, harder to compute W
25
![Page 26: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/26.jpg)
Statistical Multiplexing
![Page 27: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/27.jpg)
Se-ries1
Se-ries1
Se-ries1
Data Rate 1
Data Rate 2
Data Rate 3
Three Flows with Bursty Arrivals
Time
Time
TimeCapacity
![Page 28: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/28.jpg)
Se-ries1
Se-ries1
Se-ries1
Data Rate 1
Data Rate 2
Data Rate 3
When Each Flow Gets 1/3rd of Capacity
Time
Time
Time
Frequent Overloading
![Page 29: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/29.jpg)
When Flows Share Total Capacity
Se-ries1
Se-ries1 Time
Time
Time
Se-ries1
No Overloading
Statistical multiplexing relies on the assumption that not all flows burst at the same time.
Very similar to insurance, and has same failure case
![Page 30: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/30.jpg)
• Assume time divided into frames– Frames divided into slots
• Flows generate packets during each frame– Peak number of packets/frame P– Average number of packets/frame A
• Single flow: must allocate P slots to avoid drops– But P might be much bigger than A– Very wasteful!
• Use the “Law of Large Numbers”….
Another Take on “Stat Mux”
30
Frame
Slots
![Page 31: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/31.jpg)
Law of Large Numbers (~1713)
• Consider any probability distribution– Can be highly variable, such as varying from 0 to P
• Take N samples from probability distribution– In this case, one set of packets from each flow
• Thm: the sum of the samples is very close to N×A– And gets percentage-wise closer as N increases
• Sharing between many flows (high aggregation), means that you only need to allocate slightly more than average A slots per frame.– Sharing smooths out variations
31
![Page 32: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/32.jpg)
If you still don’t understand stat mux
• Come to office hours and I can try another explanation…
32
![Page 33: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/33.jpg)
Protocols
![Page 34: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/34.jpg)
34
What Is A Protocol?
• Protocol: an agreement on how to communicate– To exchange data– To coordinate sharing of resources
• Protocols specifies syntax and semantics
• Syntax: how protocol is structured– Format, order messages are sent and received
• Semantics: what these bits mean– How to respond to various messages, events, etc.
![Page 35: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/35.jpg)
Examples of Protocols in Life
• Asking a question in class
• Turn-taking in conversations– Pause is a signal for the next person’s response– When do these rules break?
• Boarding and exiting an airplane– Not all countries have the same protocol!
• Answering the phone– Starting with hello as signal for other party to talk– Other party identifies themselves, then conversation
• Teenagers (an example of unreliable transport!)– Information and money only flow in one direction
35
![Page 36: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/36.jpg)
36
Example: HyperText Transfer Protocol
GET /courses/archive/spring06/cos461/ HTTP/1.1Host: www.cs.princeton.eduUser-Agent: Mozilla/4.03CRLF
HTTP/1.1 200 OKDate: Mon, 6 Feb 2006 13:09:03 GMTServer: Netscape-Enterprise/3.5.1Last-Modified: Mon, 6 Feb 2006 11:12:23 GMTContent-Length: 21CRLFSite under construction
Request
Response
![Page 37: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/37.jpg)
37
Example: IP Packet
4-bitVersion
4-bitHeaderLength
8-bit Type ofService (TOS)
16-bit Total Length (Bytes)
16-bit Identification3-bitFlags 13-bit Fragment Offset
8-bit Time to Live (TTL)
8-bit Protocol 16-bit Header Checksum
32-bit Source IP Address
32-bit Destination IP Address
Options (if any)
Payload
20-byteheader
![Page 38: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/38.jpg)
• Communication service– Ordered, reliable byte stream
• Both data transfer and resource sharing– Packet exchanges to make sure data arrives– Congestion control to share bandwidth fairly with others
38
Example: Transmission Control Protocol
![Page 39: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/39.jpg)
39
Protocol Standardization
• All hosts must follow same protocol– Very small modifications can make a big difference– Or prevent it from working altogether– Cisco bug compatible!
• This is why we have standards– Can have multiple implementations of protocol
• Internet Engineering Task Force– Based on working groups that focus on specific issues– Produces “Request For Comments” (RFCs)– IETF Web site is http://www.ietf.org– RFCs archived at http://www.rfc-editor.org
![Page 40: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/40.jpg)
40
Internet Motto
We reject kings, presidents, and voting. We believe in rough consensus and running code.”
David Clark
![Page 41: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/41.jpg)
Alternative to Standardization?
• Have one implementation used by everyone
• Open-source projects– Which has had more impact, Linux or POSIX?
• Or just sole-sourced implementation– Skype, many P2P implementations, etc.
41
![Page 42: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/42.jpg)
Clients and Servers
![Page 43: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/43.jpg)
43
Many Different Hosts on Internet
Internet
Also known as a “host”…
![Page 44: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/44.jpg)
44
Clients and Servers• Client program
– Running on end host– Requests service– E.g., Web browser
GET /index.html
![Page 45: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/45.jpg)
45
Clients and Servers• Client program
– Running on end host– Requests service– E.g., Web browser
• Server program– Running on end host– Provides service– E.g., Web server
GET /index.html
“Site under construction”
![Page 46: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/46.jpg)
46
Client-Server Communication• Client “sometimes on”
– Initiates a request to the server when interested– E.g., Web browser on your laptop or cell phone– Doesn’t communicate directly with other clients– Needs to know the server’s address
• Server is “always on”– Services requests from many client hosts– E.g., Web server for the www.cnn.com Web site– Doesn’t initiate contact with the clients– Needs a fixed, well-known address
![Page 47: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/47.jpg)
47
Peer-to-Peer Designs• No always-on server at the center of it all
– Hosts can come and go, and change addresses– Hosts may have a different address each time
• Example: peer-to-peer file sharing– All hosts are both servers and clients!– Scalability by harnessing millions of peers– “self-scaling”
• Not just for file sharing!– This is how many datacenter applications are built– Better reliability, scalability, less management…
o Sound familiar?
![Page 48: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/48.jpg)
48
5 Minute Break
Questions Before We Proceed?
![Page 49: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/49.jpg)
Internet Design Goals
![Page 50: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/50.jpg)
Internet Design Goals (Clark ‘88)
• Connect existing networks
• Robust in face of failures
• Support multiple types of delivery services
• Accommodate a variety of networks
• Allow distributed management
• Easy host attachment
• Cost effective
• Allow resource accountability
50
![Page 51: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/51.jpg)
Connect Existing Networks
• Internet (e.g., IP) should be designed such that all current networks could support IP.
51
![Page 52: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/52.jpg)
Robust
• As long as the network is not partitioned, two endpoints should be able to communicate
• Failures (excepting network partition) should not interfere with endpoint semantics
• Very successful, not clear how relevant now
• Second notion of robustness is underappreciated
52
![Page 53: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/53.jpg)
53
Types of Delivery Services
• Use of the term “communication services” already implied an application-neutral network
• Built lowest common denominator service– Allow end-based protocols to provide better service
• Example: recognition that TCP wasn’t needed (or wanted) by some applications– Separated TCP from IP, and introduced UDP
![Page 54: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/54.jpg)
54
Variety of Networks
• Incredibly successful!– Minimal requirements on networks– No need for reliability, in-order, fixed size packets, etc.– A result of aiming for lowest common denominator
• IP over everything– Then: ARPANET, X.25, DARPA satellite network..– Now: ATM, SONET, WDM…
![Page 55: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/55.jpg)
Decentralized Management
• Both a curse and a blessing– Important for easy deployment– Makes management hard today
55
![Page 56: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/56.jpg)
56
Host Attachment
• Clark observes that cost of host attachment may be higher because hosts have to be smart
• But the administrative cost of adding hosts is very low, which is probably more important
![Page 57: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/57.jpg)
Cost Effective
• Cheaper than telephone network
• But much more expensive than circuit switching
• Perhaps it is cheap where it counts (low-end) and more expensive for those who can pay….
57
![Page 58: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/58.jpg)
Resource Accountability
• Failure!
58
![Page 59: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/59.jpg)
59
Internet Motto
We reject kings , presidents, and voting. We believe in rough consensus and running code.”
David Clark
![Page 60: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/60.jpg)
Real Goals
• Build something that works!
• Connect existing networks
• Robust in face of failures
• Support multiple types of delivery services
• Accommodate a variety of networks
• Allow distributed management
• Easy host attachment
• Cost effective
• Allow resource accountability 60
![Page 61: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/61.jpg)
61
Questions to think about….
• What priorities would a commercial design have?
• What would the resulting design look like?
• What goals are missing from this list?
• Which goals led to the success of the Internet?
![Page 62: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/62.jpg)
Internet Design Principles
![Page 63: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/63.jpg)
The Networking Dilemma
• Many different networking technologies
• Many different network applications
• How do you prevent incompatibilities?
63
![Page 64: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/64.jpg)
64
The Problem
• Re-implement every application for every technology?
• No! But how does the Internet design avoid this?
Skype SSH NFS
RadioCoaxial cable
Fiberoptic
Application
TransmissionMedia
HTTP
![Page 65: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/65.jpg)
65
Solution: Intermediate Layers
• Introduce intermediate layers that provide set of abstractions for various network functionality and technologies– A new app/media implemented only once– Variation on “add another level of indirection”
Skype SSH NFS
Packetradio
Coaxial cable
Fiberoptic
Application
TransmissionMedia
HTTP
Intermediate layers
![Page 66: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/66.jpg)
66
Network Architecture
• Architecture is not the implementation itself
• Architecture is how to organize/structure the elements of the system and their implementation
• What interfaces are supported?– Using what sort of abstractions
• Where functionality is implemented?– The modular design of the network
![Page 67: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/67.jpg)
67
Computer System Modularity
Partition system into modules & abstractions:
• Well-defined interfaces give flexibility–Hides implementation - can be freely changed– Extend functionality of system by adding new modules
• E.g., libraries encapsulating set of functionality
• E.g., programming language + compiler abstracts away how the particular CPU works …
![Page 68: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/68.jpg)
Computer System Modularity (cnt’d)• Well-defined interfaces hide information
– Isolate assumptions – Present high-level abstractions
• But can impair performance!
• Ease of implementation vs worse performance
68
![Page 69: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/69.jpg)
69
Network System Modularity
Like software modularity, but:
• Implementation distributed across many machines (routers and hosts)
• Must decide:– How to break system into modules
o Layering
– Where modules are implementedo End-to-End Principle
– Where state is storedo Fate-sharing
• We will address these choices in turn
![Page 70: 1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker ee122/ Materials with thanks](https://reader035.vdocuments.site/reader035/viewer/2022081501/56649d615503460f94a42208/html5/thumbnails/70.jpg)
Remember that slide!
• The relationship between architectural principles and architectural decisions is crucial to understand
70