+ All Categories
Home > Documents > Preliminaries, Protocols, Preview Priorities, and Principles

Preliminaries, Protocols, Preview Priorities, and Principles

Date post: 24-Feb-2016
Category:
Upload: bethan
View: 36 times
Download: 0 times
Share this document with a friend
Description:
Preliminaries, Protocols, Preview Priorities, and Principles. EE122 Fall 2011 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley. Announcements. TAs gave me brutal feedback - PowerPoint PPT Presentation
Popular Tags:
70
1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley
Transcript
Page 1: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

Preliminaries

Page 5: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

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

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

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

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

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

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

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

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

Smooth Arrivals = No Queueing Delays

16

Page 17: Preliminaries, Protocols, Preview Priorities, and Principles

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

Bursty Arrivals = Queueing Delays

18

There is substantial queueing delay even though link is underutilized

Page 19: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

Packet Losses: Buffers Full

21

Page 22: Preliminaries, Protocols, Preview Priorities, and Principles

Packet Losses: Corruption

22

Page 23: Preliminaries, Protocols, Preview Priorities, and Principles

Reviewing Queueing: java applet

23

Page 24: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

Statistical Multiplexing

Page 27: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

• 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

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

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

Protocols

Page 34: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

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

• 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

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

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

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

Clients and Servers

Page 43: Preliminaries, Protocols, Preview Priorities, and Principles

43

Many Different Hosts on Internet

Internet

Also known as a “host”…

Page 44: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

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

48

5 Minute Break

Questions Before We Proceed?

Page 49: Preliminaries, Protocols, Preview Priorities, and Principles

Internet Design Goals

Page 50: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

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

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

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

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

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

Resource Accountability• Failure!

58

Page 59: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

Internet Design Principles

Page 63: Preliminaries, Protocols, Preview Priorities, and Principles

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

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

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

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

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

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

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

Remember that slide!• The relationship between architectural principles

and architectural decisions is crucial to understand

70


Recommended