Preliminaries, Protocols, Preview Priorities, and Principles
description
Transcript of Preliminaries, Protocols, Preview Priorities, and Principles
![Page 1: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/1.jpg)
1
Preliminaries, Protocols, PreviewPriorities, and Principles
EE122 Fall 2011
Scott Shenkerhttp://inst.eecs.berkeley.edu/~ee122/
Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxsonand other colleagues at Princeton and UC Berkeley
![Page 2: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/4.jpg)
Preliminaries
![Page 5: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/16.jpg)
Smooth Arrivals = No Queueing Delays
16
![Page 17: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/18.jpg)
Bursty Arrivals = Queueing Delays
18
There is substantial queueing delay even though link is underutilized
![Page 19: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/21.jpg)
Packet Losses: Buffers Full
21
![Page 22: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/22.jpg)
Packet Losses: Corruption
22
![Page 23: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/23.jpg)
Reviewing Queueing: java applet
23
![Page 24: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/26.jpg)
Statistical Multiplexing
![Page 27: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/29.jpg)
When Flows Share Total Capacity
Se-ries1
Se-ries1 Time
Time
TimeSe-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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/33.jpg)
Protocols
![Page 34: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/37.jpg)
37
Example: IP Packet
4-bitVersion
4-bitHeaderLength
8-bit Type ofService (TOS) 16-bit Total Length (Bytes)
16-bit Identification 3-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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/40.jpg)
40
Internet MottoWe reject kings, presidents, and voting. We believe
in rough consensus and running code.”
David Clark
![Page 41: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/42.jpg)
Clients and Servers
![Page 43: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/43.jpg)
43
Many Different Hosts on Internet
Internet
Also known as a “host”…
![Page 44: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/48.jpg)
48
5 Minute Break
Questions Before We Proceed?
![Page 49: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/49.jpg)
Internet Design Goals
![Page 50: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/55.jpg)
Decentralized Management• Both a curse and a blessing
– Important for easy deployment– Makes management hard today
55
![Page 56: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/58.jpg)
Resource Accountability• Failure!
58
![Page 59: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/59.jpg)
59
Internet MottoWe reject kings , presidents, and voting. We believe
in rough consensus and running code.”
David Clark
![Page 60: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/62.jpg)
Internet Design Principles
![Page 63: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/63.jpg)
The Networking Dilemma• Many different networking technologies
• Many different network applications
• How do you prevent incompatibilities?
63
![Page 64: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/67.jpg)
67
Computer System ModularityPartition 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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/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: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/69.jpg)
69
Network System ModularityLike software modularity, but:• Implementation distributed across many machines
(routers and hosts)• Must decide:
– How to break system into moduleso Layering
– Where modules are implementedo End-to-End Principle
– Where state is storedo Fate-sharing
• We will address these choices in turn
![Page 70: Preliminaries, Protocols, Preview Priorities, and Principles](https://reader035.fdocuments.in/reader035/viewer/2022081517/56816690550346895dda6a19/html5/thumbnails/70.jpg)
Remember that slide!• The relationship between architectural principles
and architectural decisions is crucial to understand
70