1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker Materials with thanks.

Slides:



Advertisements
Similar presentations
Introduction 2 1: Introduction.
Advertisements

Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
Spring 2000CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics.
1 If the Internet is the answer, then what was the question? EE122 Fall 2012 Scott Shenker Materials with thanks.
COS 461 Fall 1997 Networks and Protocols u networks and protocols –definitions –motivation –history u protocol hierarchy –reasons for layering –quick tour.
CSCI-235 Micro-Computers in Science The Network. Network Fundamentals A computer network consists of two or more computers linked together to exchange.
James 1:5 If any of you lacks wisdom, he should ask God, who gives generously to all without finding fault, and it will be given to him.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.
Socket Programming.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
1/20 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Ch. 28 Q and A IS 333 Spring Q1 Q: What is network latency? 1.Changes in delay and duration of the changes 2.time required to transfer data across.
Gursharan Singh Tatla Transport Layer 16-May
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
1: Introduction1 Part I: Introduction Goal: r get context, overview, “feel” of networking r more depth, detail later in course r approach: m descriptive.
Chapter 1 Introduction Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Data Communications and Networking
Computer Networking Lent Term M/W/F 11-midday LT1 in Gates Building Slide Set 2 Andrew W. Moore January
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
CS448 Computer Networking Chapter 1 Introduction to Computer Networks Instructor: Li Ma Office: NBC 126 Phone: (713)
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
Presentation on Osi & TCP/IP MODEL
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Chapter 4. After completion of this chapter, you should be able to: Explain “what is the Internet? And how we connect to the Internet using an ISP. Explain.
Instructor: Christopher Cole Some slides taken from Kurose & Ross book IT 347: Chapter 1.
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
1.1 What is the Internet What is the Internet? The Internet is a shared media (coaxial cable, copper wire, fiber optics, and radio spectrum) communication.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 3.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Chapter 1 Introduction Circuit/Packet Switching Protocols Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley,
Basic Concepts CS 438: Spring 2014 Matthew Caesar
CS1Q Computer Systems Lecture 17 Simon Gay. Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
1 CHAPTER 8 TELECOMMUNICATIONSANDNETWORKS. 2 TELECOMMUNICATIONS Telecommunications: Communication of all types of information, including digital data,
Computer Networks with Internet Technology William Stallings
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
William Stallings Data and Computer Communications
1 Pre-Introduction What is computer network?. 2 Pre-Introduction Suppose you want to build a computer network The question is: –What available technologies.
1 IEX8175 RF Electronics Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
1 Network Architecture Section Network Architecture Challenge –Fill the gap between hardware capabilities and application expectations, and to.
CSE 331: Introduction to Networks and Security Fall 2000 Instructor: Carl A. Gunter Slide Set 2.
Network Processing Systems Design
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Graciela Perera Introduction Graciela Perera
Slides taken from: Computer Networking by Kurose and Ross
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Understanding the OSI Reference Model
Congestion Control, Internet transport protocols: udp
Transport Layer Unit 5.
Computer Science 457 Networking and the Internet
Network Core and QoS.
The University of Adelaide, School of Computer Science
University of Houston Datacom II Lecture 1B Review Dr Fred L Zellner
Network Basics and Architectures Neil Tang 09/05/2008
Network Core and QoS.
Presentation transcript:

1 Preliminaries, Protocols, Preview Priorities, and Principles EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

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…..

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

Preliminaries

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 Link

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

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 ~ 10 8 bits ~ 12.5GBytes Another example where the Internet has to be prepared for a wide range of conditions! 7

Examples of Transmission Times 1500 byte packet over 14.4k modem: ~1 sec 1500 byte packet over 10Gbps link: ~10 -6 sec 8

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

Packets Payload (Body) –Data being transferred Header –Instructions to the network for how to handle packet –Think of the header as an interface! 10

The Lifecycle of Packets 11 Excess Packets Stored in Buffer Packet Arriving at Switch Packet Being Transmitted Packet Buffer Link Packet Currently Being Transmitted

The Delays of Their Lives 12 Queueing Delay Transmission Delay Propagation Delay is how long it takes to reach the next switch after transmission Round-Trip Time (RTT) is the time it takes a packet to reach the destination and the response to return to the sender

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

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

Queueing Delay Does not happen if packets are evenly spaced –And arrival rate is less than service rate 15

Smooth Arrivals = No Queueing Delays 16

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

Bursty Arrivals = Queueing Delays 18 There is substantial queueing delay even though link is underutilized

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

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

Packet Losses: Buffers Full 21

Packet Losses: Corruption 22

Reviewing Queueing: java applet 23

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 quantities 24

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

Statistical Multiplexing

Data Rate 1 Data Rate 2 Data Rate 3 Three Flows with Bursty Arrivals Time Capacity

Data Rate 1 Data Rate 2 Data Rate 3 When Each Flow Gets 1/3 rd of Capacity Time Frequent Overloading

When Flows Share Total Capacity Time 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

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

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

If you still don’t understand stat mux Come to office hours and I can try another explanation… 32

Protocols

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.

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

36 Example: HyperText Transfer Protocol GET /courses/archive/spring06/cos461/ HTTP/1.1 Host: User-Agent: Mozilla/4.03 CRLF HTTP/ OK Date: Mon, 6 Feb :09:03 GMT Server: Netscape-Enterprise/3.5.1 Last-Modified: Mon, 6 Feb :12:23 GMT Content-Length: 21 CRLF Site under construction Request Response

37 Example: IP Packet 4-bit Version 4-bit Header Length 8-bit Type of Service (TOS) 16-bit Total Length (Bytes) 16-bit Identification 3-bit Flags 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

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

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 –RFCs archived at

40 Internet Motto We reject kings, presidents, and voting. We believe in rough consensus and running code.” David Clark

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

Clients and Servers

43 Many Different Hosts on Internet Internet Also known as a “host”…

44 Clients and Servers Client program –Running on end host –Requests service –E.g., Web browser GET /index.html

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”

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 Web site –Doesn’t initiate contact with the clients –Needs a fixed, well-known address

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… oSound familiar?

48 5 Minute Break Questions Before We Proceed?

Internet Design Goals

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

Connect Existing Networks Internet (e.g., IP) should be designed such that all current networks could support IP. 51

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

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

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…

Decentralized Management Both a curse and a blessing –Important for easy deployment –Makes management hard today 55

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

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

Resource Accountability Failure! 58

59 Internet Motto We reject kings, presidents, and voting. We believe in rough consensus and running code.” David Clark

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

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?

Internet Design Principles

The Networking Dilemma Many different networking technologies Many different network applications How do you prevent incompatibilities? 63

64 The Problem Re-implement every application for every technology? No! But how does the Internet design avoid this? Skype SSHNFS Radio Coaxial cable Fiber optic Application Transmission Media HTTP

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 SSHNFS Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP Intermediate layers

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

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 …

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

69 Network System Modularity Like software modularity, but: Implementation distributed across many machines (routers and hosts) Must decide: –How to break system into modules oLayering –Where modules are implemented oEnd-to-End Principle –Where state is stored oFate-sharing We will address these choices in turn

Remember that slide! The relationship between architectural principles and architectural decisions is crucial to understand 70