lecture 1 - Washington
Download
Report
Transcript lecture 1 - Washington
CSE 561 – Introduction and Layering
David Wetherall
[email protected]
Spring 2000
This Lecture
1.
2.
3.
4.
Administrative Stuff
Introduction to Networking
Protocols and Layering
Medium Access
djw // CS 561, Spring 2000
L1.2
People
• David Wetherall
– [email protected]
– Sieg 210, Th 11 12
• Eric Hoffman
– [email protected]
djw // CS 561, Spring 2000
L1.3
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.
djw // CS 561, Spring 2000
L1.4
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
djw // CS 561, Spring 2000
L1.5
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
djw // CS 561, Spring 2000
L1.6
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)
djw // CS 561, Spring 2000
L1.7
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
djw // CS 561, Spring 2000
L1.8
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 …
djw // CS 561, Spring 2000
L1.9
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)
djw // CS 561, Spring 2000
L1.10
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, …
djw // CS 561, Spring 2000
L1.11
Example – Local Area Network
Ethernet
Hub
Cable
Modem
Printer
PC
Laptop
• Your home network
– Ethernet is a broadcast-capable multi-access LAN
djw // CS 561, Spring 2000
L1.12
Example – An Internetwork
ISP 2
Local
Net 1
ISP 1
Local
Net 2
• Internetwork is a network of networks
• The Internet is a global internetwork in which all
participants speak a common language, IP.
djw // CS 561, Spring 2000
L1.13
Our Focus
• We are interested in networks that are:
– Distributed
– Large scale
– Multi-purpose
djw // CS 561, Spring 2000
L1.14
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
djw // CS 561, Spring 2000
L1.15
The meaning of “Large-scale”
djw // CS 561, Spring 2000
L1.16
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
djw // CS 561, Spring 2000
L1.17
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
djw // CS 561, Spring 2000
L1.18
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
djw // CS 561, Spring 2000
L1.19
Example
• One user sends at 1 Mbps and is idle 90% of the time.
– 10 Mbps channel; 10 users if statically allocated
Prob
2 users
0 1 2 Mbps
Prob
10 users
0 1
…
10 Mbps
• What are the likely loads if we share on demand?
djw // CS 561, Spring 2000
L1.20
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!
djw // CS 561, Spring 2000
L1.21
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
djw // CS 561, Spring 2000
L1.22
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.
djw // CS 561, Spring 2000
L1.23
Protocol Layering
• Layering
– Higher level protocols build on services provided by lower levels
– Peer layers communicate with each other
Layer N+1
e.g., HTTP
Layer N
e.g., TCP
Home PC
djw // CS 561, Spring 2000
Netscape
L1.24
Example – Layering at work
host
host
router
TCP
TCP
IP
IP
IP
IP
Ethernet
Ethernet
CATV
CATV
• We can connect different systems
djw // CS 561, Spring 2000
L1.25
Layering Mechanics
• Encapsulation and decapsulation
Messages
passed
between
layers
djw // CS 561, Spring 2000
Hdr + Data
Layer N+1 PDU
becomes
Hdr + Data
Layer N ADU
L1.26
More Layering Mechanics
• Multiplexing and demultiplexing in a protocol graph
SMTP
HTTP
TCP port number
TCP
UDP
IP protocol field
IP
ARP
802.2 identifier
Ethernet
djw // CS 561, Spring 2000
L1.27
A Packet on the Wire
• Starts looking like an onion!
Ethernet Hdr IP Hdr TCP Hdr HTTP Hdr Payload (Web object)
Start of packet
End of packet
• This isn’t entirely accurate
– ignores segmentation and reassembly, Ethernet trailers, etc.
• But you can see that layering adds overhead
djw // CS 561, Spring 2000
L1.28
Internet Protocol Stacks
Application
Many
(HTTP, SMTP)
Transport
TCP / UDP
Network
IP
Link
Many
(Ethernet, …)
Model
Protocols
djw // CS 561, Spring 2000
L1.29
OSI Reference Model
• Seven Layers
Their functions:
Application
• Your call
Presentation
• Encode/decode messages
Session
• Manage connections
Transport
• Reliability, congestion control
Network
• Routing
Link
Physical
djw // CS 561, Spring 2000
• Framing, multiple access
• Symbol coding, modulation
L1.30
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?
nodes
broadcast media
• Ideal solution for N nodes sharing bandwidth B bps:
– high goodput (B), low delay (0), fair (B/N), decentralized,
stable, and simple!
djw // CS 561, Spring 2000
L1.31
Key Concepts
• Networks are used to share distributed resources
• Protocol layers are used to handle complexity
• The Internet/OSI models give us a roadmap
djw // CS 561, Spring 2000
L1.32