32
CSE 561 – Introduction and Layering David Wetherall [email protected] Spring 2000

CSE 561 – Introduction and Layering

  • Upload
    liz

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

CSE 561 – Introduction and Layering. David Wetherall [email protected] Spring 2000. This Lecture. Administrative Stuff Introduction to Networking Protocols and Layering Medium Access. People. David Wetherall [email protected] Sieg 210, Th 11  12 Eric Hoffman - PowerPoint PPT Presentation

Citation preview

Page 1: CSE 561 – Introduction and Layering

CSE 561 – Introduction and Layering

David [email protected]

Spring 2000

Page 2: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.2

This Lecture

1. Administrative Stuff2. Introduction to Networking3. Protocols and Layering4. Medium Access

Page 3: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.3

People

• David Wetherall– [email protected]– Sieg 210, Th 11 12

• Eric Hoffman– [email protected]

Page 4: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.4

Materials

• Course Web page– www.cs.washington.edu/education/course/561/00sp

• Mailing list– Important – make sure you join!

• Readings– Select papers distributed in class

• Textbook– Peterson and David, Computer Networks: A Systems

Approach– 2nd edition came out late 1999 and is great.

Page 5: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.5

Work and Grading

• Paper reviews and class participation (30%)– Reviews due by noon on day of class

• Written assignment (20%)– Mini-study of development of an area or technique

• Project (30%)– Groups, research-oriented, simulation or

implementation

• Exam (20%)– In-class quiz in the latter part of the quarter

Page 6: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.6

Mini-Reviews

• Half a page or so– Post on web site by noon before class

• Identify contributions/significance of paper– Summarize thrust of paper– Identify strengths and weaknesses

• Tell me what you think– What you learned, what you found interesting, what you

want to know

Page 7: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.7

Projects

• Done in groups of two or three• Research-oriented

– Evaluate proposed or new solutions/techniques– Simulation, measurement, or implementation– Topic is up to you

• Proposal– Two pages only stating purpose, prior work, plan of

attack, and measure for success

• Presentations– In class, midterm and final (with paper)

Page 8: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.8

Timeline

• Projects– Proposal end of week 2 (two pages only)– Midterm status report due end of week 5– Final presentation/paper in class end of week 10

• Assignment– Due end of week 6

• Exam– In class, start of week 8

Page 9: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.9

Goal of this Course

• For you to understand the design of large-scale computer networks.

• Fundamental problems in building networks– That are fast, efficient, secure and robust

• Design principles of proven value– Networking is young and there are few!

• Common implementation technologies– These will change of course …

Page 10: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.10

Lecture Topics

• Multi-access (Ethernet)• Routing and forwarding (IP routers)• Network and Protocol Design (E2E etc.)• Reliable transport (TCP)• Congestion control (TCP)• Multicast (Mbone)• Scheduling and QOS (Intserv, DiffServ)• Naming (DNS)

Page 11: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.11

Elements of a Network

• Links carry information (bits)– Wire, wireless, fiber optic, smoke signals …

• Switches move bits between links– Routers, gateways, bridges, CATV headend, PABXs, …

• Hosts are the communication endpoints– PC, PDA, cell phone, tank, toaster, …

Page 12: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.12

Example – Local Area Network

• Your home network– Ethernet is a broadcast-capable multi-access LAN

CableModem

PC Laptop

Printer

EthernetHub

Page 13: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.13

Example – An Internetwork

• Internetwork is a network of networks• The Internet is a global internetwork in which all

participants speak a common language, IP.

LocalNet 2

LocalNet 1

ISP 2 ISP 1

Page 14: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.14

Our Focus

• We are interested in networks that are:– Distributed– Large scale– Multi-purpose

Page 15: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.15

The meaning of “Distributed”

• There are distributed and parallel networks:– Cash machines versus a parallel computer

• What is the essential difference?– Tolerance of failed components– Decentralized operation– Heterogeneity

• Hard to get it right– “A distributed system is a system in which I can’t do my

work because some computer has failed that I’ve never even heard of.” – Lamport

Page 16: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.16

The meaning of “Large-scale”

Page 17: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.17

The meaning of “Multi-purpose”

• Telephone network– Designed for telephone calls

• Internet– Web, email, Quake, e-commerce, audio/video, …– But evolution was at work: Web/email a “surprise”

• Computer networks– Carry digital information and support a rich variety of

distributed applications

Page 18: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.18

Why Build Networks?

• Communication at a distance– Want performance sufficient to given task

• Video conference, etc.

• Cost-effective resource sharing– Networks are shared among users

• Statistical multiplexing

Page 19: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.19

Statistical Multiplexing

• Static partitioning schemes work well for a fixed number of users that always have data to send

• Not suited to data communications: peak>>average

• If we share on demand we can support more users– Based on the statistics of their transmissions– Occasionally we might be oversubscribed

• Statistical multiplexing is heavily used in data networks

Page 20: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.20

Example

• One user sends at 1 Mbps and is idle 90% of the time. – 10 Mbps channel; 10 users if statically allocated

• What are the likely loads if we share on demand?

0 1 2 Mbps

Prob

0 1 … 10 Mbps

Prob2 users 10 users

Page 21: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.21

You do the Math

• For 10 users, Prob(need 10 Mbps) = 10-10 • So keep adding users …• For 35 users, Prob(>10 active users) = 0.17%

• We can support three times as many users!

Page 22: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.22

Protocols and Layering

• Need abstractions to handle complexity– Protocols and layering

• Protocol– Agreement dictating the form and function of data

exchanged between parties to effect communication– Two parts:

• Syntax: where the bits go• Semantics: what they mean, what to do with them

– Examples:• IP, the Internet protocol• TCP and HTTP, for the Web

Page 23: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.23

Protocol Standards

• Different functions require different protocols• Thus there are many protocol standards

– E.g., IP, TCP, UDP, HTTP, DNS, FTP, SMTP, NNTP, ARP, Ethernet/802.3, 802.11, RIP, OPSF, 802.1D, NFS, ICMP, IGMP, DVMRP, IPSEC, PIM-SM, BGP, …

• Organizations: IETF, IEEE, ITU• IETF specifies Internet-related protocols

– RFCs (Requests for Comments)– “We reject kings, presidents and voting. We believe in

rough consensus and running code.” – Dave Clark.

Page 24: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.24

Protocol Layering

• Layering– Higher level protocols build on services provided by

lower levels– Peer layers communicate with each other

Layer N+1e.g., HTTP

Layer Ne.g., TCP

Home PC Netscape

Page 25: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.25

Example – Layering at work

• We can connect different systems

TCP

IP

Ethernet

TCP

IP

CATV

IP IP

Ethernet

CATV

host host

router

Page 26: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.26

Layering Mechanics

• Encapsulation and decapsulation

Hdr

Hdr Data

Data+

+

Layer N+1 PDU

becomes

Layer N ADU

Messagespassed

betweenlayers

Page 27: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.27

More Layering Mechanics

• Multiplexing and demultiplexing in a protocol graph

UDPTCP

ARPIP

Ethernet

SMTP HTTP

802.2 identifier

IP protocol field

TCP port number

Page 28: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.28

A Packet on the Wire

• Starts looking like an onion!

• This isn’t entirely accurate– ignores segmentation and reassembly, Ethernet trailers,

etc.

• But you can see that layering adds overhead

IP Hdr Payload (Web object)TCP Hdr HTTP HdrEthernet Hdr

Start of packet End of packet

Page 29: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.29

Internet Protocol Stacks

Application

Transport

Network

Link

Many(HTTP, SMTP)

TCP / UDP

IP

Many(Ethernet,

…)

Model Protocols

Page 30: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.30

OSI Reference Model

• Seven Layers Their functions:

• Your call

• Encode/decode messages

• Manage connections

• Reliability, congestion

control

• Routing

• Framing, multiple access

• Symbol coding, modulation

Application

Presentation

Session

Transport

Network

Link

Physical

Page 31: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.31

The Problem of Multiple Access

• Multiple nodes share a broadcast channel– wired LAN, wireless LAN, cell phones, packet radio, satellites– How do they coordinate their transmissions?

• Ideal solution for N nodes sharing bandwidth B bps:– high goodput (B), low delay (0), fair (B/N), decentralized,

stable, and simple!

nodes

broadcast media

Page 32: CSE 561 – Introduction and Layering

djw // CS 561, Spring 2000 L1.32

Key Concepts

• Networks are used to share distributed resources• Protocol layers are used to handle complexity• The Internet/OSI models give us a roadmap