Professional Master's Program Orientation Winter 2016 cs.washington.edu/students/pmp.
CSE 561 – Introduction and Layering David Wetherall [email protected] Spring 2000.
-
date post
21-Dec-2015 -
Category
Documents
-
view
228 -
download
3
Transcript of CSE 561 – Introduction and Layering David Wetherall [email protected] Spring 2000.
![Page 2: CSE 561 – Introduction and Layering David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/2.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/3.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/4.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/5.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/6.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/7.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/8.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/9.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/10.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/11.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/12.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/13.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/14.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/15.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/16.jpg)
djw // CS 561, Spring 2000 L1.16
The meaning of “Large-scale”
![Page 17: CSE 561 – Introduction and Layering David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/17.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/18.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/19.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/20.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/21.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/22.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/23.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/24.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/25.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/26.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/27.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/28.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/29.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/30.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/31.jpg)
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 David Wetherall djw@cs.washington.edu Spring 2000.](https://reader036.fdocuments.in/reader036/viewer/2022062714/56649d695503460f94a4771b/html5/thumbnails/32.jpg)
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