CS/ECE 438, CSE 425 Communication Networks Nikita Borisov ECE - - PowerPoint PPT Presentation
CS/ECE 438, CSE 425 Communication Networks Nikita Borisov ECE - - PowerPoint PPT Presentation
CS/ECE 438, CSE 425 Communication Networks Nikita Borisov ECE Department, UIUC Course Information Instructor Prof. Nikita Borisov Office Hours: 460 CSL, 244-5385 10-12 Tuesdays nikita@uiuc.edu or by appointment TA Monika
8/25/06 UIUC - CS/ECE 438, Fall 2006 2
Course Information
Instructor
- Prof. Nikita Borisov
Office Hours:
460 CSL, 244-5385 10-12 Tuesdays nikita@uiuc.edu
- r by appointment
TA
Monika Battala, battala2@uiuc.edu
Office hours TBA
Webpage
http://www.cs.uiuc.edu/class/fa06/cs438
Newsgroup
class.cs438 on news.cs.uiuc.edu
8/25/06 UIUC - CS/ECE 438, Fall 2006 3
Acknowledgments
Slides are adapted from Prof. Kravets Some material contributed by Profs.
Luo, Lumetta, Hajek, Vaidya
Some material from Larry Peterson &
James Kurose & Keith Ross
8/25/06 UIUC - CS/ECE 438, Fall 2006 4
Prerequisites
C Programming (CS241)
Pre-req for ECE students is ECE290, but
ECE391/398SSL or C experience highly recommended
Probability and Statistics (MATH
461,463 or ECE 413)
8/25/06 UIUC - CS/ECE 438, Fall 2006 5
Textbook
Computer Networks: A Top-Down Approach
Featuring the Internet, by Kurose & Ross, 3rd Edition
We will be covering this text out of order
Ch 1
Ch 5 + some of 6
Ch 4
Ch 3
Some of Ch 2
8/25/06 UIUC - CS/ECE 438, Fall 2006 6
Recommended Text
UNIX Network Programming,
Volume 1, by Stevens
There are 3 editions
Second & third edition more up-to-date First edition (1990) contains more
background on general UNIX programming
8/25/06 UIUC - CS/ECE 438, Fall 2006 7
Grading Policy
Homework
15%
7 homework assignments
Mid-term Exam
20%
Oct 12
Programming Projects
35%
4 Programming projects 2% off per hour late
Final Exam
30%
8/25/06 UIUC - CS/ECE 438, Fall 2006 8
Homework and Projects
Homeworks:
Due Wednesdays at 2:00 in class.
General extension to Thursdays at 2:00pm (hard deadline).
No questions to TA or on newsgroup after class
- n Tuesday.
Projects:
Project 1: 5%, Projects 2- 4: 10%
Due Fridays at 9:00pm.
8/25/06 UIUC - CS/ECE 438, Fall 2006 9
Academic Honesty
Your work in this class must be your own. Penalties for excessive collaboration and
cheating are severe
Sharing strategies and small code
fragments (5-10 lines) OK
Sharing homework answers and large
sections of code forbidden
Don’t post these to newsgroup!
If in doubt, ask the professor
8/25/06 UIUC - CS/ECE 438, Fall 2006 10
One Unit Students
Graduate students MAY take an extra unit
project in conjunction with this class
Graduate students
Register for 4 credits
Write a survey paper in a networking research area of your choice.
Project proposal with list of 10+ academic references (no URL’s) due September 22
Paper due last day of class
Undergraduates may not take this project course
8/25/06 UIUC - CS/ECE 438, Fall 2006 11
Course Objectives
At the end of the semester, you should be
able to:
Identify the problems that arise in networked communication
Explain the advantages and disadvantages of existing solutions to these problems in the context of different networking regimes
Understand the implications of a given solution for performance in various networking regimes
Evaluate novel approaches to these problems
8/25/06 UIUC - CS/ECE 438, Fall 2006 12
Programming Objectives
At the end of the semester, you should
be able to
Identify and describe the purpose of each
component of the TCP/IP protocol suite
Develop solid client-server applications
using TCP/IP
Understand the impact of trends in
network hardware on network software issues
8/25/06 UIUC - CS/ECE 438, Fall 2006 13
Course Contents
Overview UNIX Network Programming Direct Link Networks Multiple Access Packet Switched Networks Internetworking Reliable Transport Congestion Control, QoS & Fair Sharing Performance Analysis and Queueing Theory
8/25/06 UIUC - CS/ECE 438, Fall 2006 14
Connectivity
Building Block
Links:
coax cable, optical fiber, …
Nodes:
workstations, routers, …
Links:
Point-to-point Multiple access
…
8/25/06 UIUC - CS/ECE 438, Fall 2006 15
Indirect Connectivity
Switched Networks Internetworks Recursive definition of a
network
Two or more nodes connected by a physical link
Two or more networks connected by one or more nodes
8/25/06 UIUC - CS/ECE 438, Fall 2006 15
Indirect Connectivity
Switched Networks Internetworks Recursive definition of a
network
Two or more nodes connected by a physical link
Two or more networks connected by one or more nodes
8/25/06 UIUC - CS/ECE 438, Fall 2006 15
Indirect Connectivity
Switched Networks Internetworks Recursive definition of a
network
Two or more nodes connected by a physical link
Two or more networks connected by one or more nodes
8/25/06 UIUC - CS/ECE 438, Fall 2006 16
Network Problems
8/25/06 UIUC - CS/ECE 438, Fall 2006 16
Network Problems
What must a network provide?
Connectivity Cost-effective Resource Sharing Functionality Performance
8/25/06 UIUC - CS/ECE 438, Fall 2006 17
Addressing
Addressing
Unique byte-string used to indicate which node is the target of communication
Routing
The process of determining how to forward messages toward the destination node based on its address
Types of Addresses
Unicast: node-specific
Broadcast: all nodes on the network
Multicast: subset of nodes on the network
8/25/06 UIUC - CS/ECE 438, Fall 2006 18
Effects of Indirect Connectivity
Nodes receive data on one link and forward it onto the next -> switching network
Circuit Switching
Telephone
Stream-based (dedicated circuit)
Links reserved for use by communication channel
Send/receive bit stream at constant rate
Packet Switching
Internet
Message-based (store-and-forward)
Links used dynamically
Admission policies and other traffic determine bandwidth
8/25/06 UIUC - CS/ECE 438, Fall 2006 19
Cost-Effective Sharing of Resources
Physical links and switches must be shared
among many users
Common multiplexing strategies
(Synchronous) time-division multiplexing (TDM)
Frequency-division multiplexing (FDM)
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time TDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time TDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time TDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time TDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM frequency time TDM frequency time 4 users Example:
8/25/06 UIUC - CS/ECE 438, Fall 2006 21
Statistical Multiplexing
Statistical Multiplexing (SM)
On-demand time-division multiplexing Scheduled on a per-packet basis Packets from different sources are
interleaved
Uses upper bounds to limit transmission
Queue size determines capacity per source
8/25/06 UIUC - CS/ECE 438, Fall 2006 22
Statistical Multiplexing in a Switch
Packets buffered in switch until forwarded
Selection of next packet depends on policy
How do we make these decisions in a fair manner? Round Robin? FIFO?
How should the switch handle congestion?
…
8/25/06 UIUC - CS/ECE 438, Fall 2006 23
Functionality
Support For Common Services
Goal
Meaningful communication between hosts on a network
Idea
Common services simplify the role of applications
Hide the complexity of the network without overly constraining the application designer
Semantics and interface depend on applications
Request/reply: FTP, HTTP, DNS
Message stream: video-on-demand, video conferencing
8/25/06 UIUC - CS/ECE 438, Fall 2006 24
Channels
Channel
The abstraction for application-level communication
Idea
Turn host-to-host connectivity into process-to-process communication
8/25/06 UIUC - CS/ECE 438, Fall 2006 24
Channels
Channel
The abstraction for application-level communication
Idea
Turn host-to-host connectivity into process-to-process communication
Host Host Host Host Host
Channel Channel
8/25/06 UIUC - CS/ECE 438, Fall 2006 24
Channels
Channel
The abstraction for application-level communication
Idea
Turn host-to-host connectivity into process-to-process communication
Host Host Host Host Host
Channel Channel
APP APP
8/25/06 UIUC - CS/ECE 438, Fall 2006 24
Channels
Channel
The abstraction for application-level communication
Idea
Turn host-to-host connectivity into process-to-process communication
Host Host Host Host Host
Channel Channel
Channel Channel
APP APP
8/25/06 UIUC - CS/ECE 438, Fall 2006 25
Channel Implementation
Question
Where does the functionality belong?
Middle (switches)?
Telephone system
Edges (end hosts)?
Internet
8/25/06 UIUC - CS/ECE 438, Fall 2006 26
Inter-process Communication
Problems typically masked by
communication channel abstractions
Bit errors (electrical interference)
Packet errors (congestion)
Link/node failures
Message delays
Out-of-order delivery
Eavesdropping
Goal
Fill the gap between what applications expect and what the underlying technology provides
8/25/06 UIUC - CS/ECE 438, Fall 2006 27
Performance
... and to do so while delivering “good” performance.
Bandwidth/throughput
Data transmitted per unit time
Example: 10 Mbps
Link bandwidth vs. end-to-end bandwidth
Notation
KB = 210 bytes
Mbps = 106 bits per second
8/25/06 UIUC - CS/ECE 438, Fall 2006 28
Performance
8/25/06 UIUC - CS/ECE 438, Fall 2006 28
Performance
Latency/delay
8/25/06 UIUC - CS/ECE 438, Fall 2006 28
Performance
Latency/delay
Time from A to B
8/25/06 UIUC - CS/ECE 438, Fall 2006 28
Performance
Latency/delay
Time from A to B
Example: 30 msec (milliseconds)
8/25/06 UIUC - CS/ECE 438, Fall 2006 28
Performance
Latency/delay
Time from A to B
Example: 30 msec (milliseconds)
Many applications depend on round-trip time (RTT)
8/25/06 UIUC - CS/ECE 438, Fall 2006 28
Performance
Latency/delay
Time from A to B
Example: 30 msec (milliseconds)
Many applications depend on round-trip time (RTT)
Components
Transmission time
Propagation delay over links
Queueing delays
Software processing overheads
8/25/06 UIUC - CS/ECE 438, Fall 2006 29
Performance Notes
Speed of Light
3.0 x 108 meters/second in a vacuum
2.3 x 108 meters/second in a cable
2.0 x 108 meters/second in a fiber
Comments
No queueing delays in a direct link
Bandwidth is not relevant if size = 1bit
Software overhead can dominate when distance is small
Key Point
Latency dominates small transmissions
Bandwidth dominates large
8/25/06 UIUC - CS/ECE 438, Fall 2006 30
Delay x Bandwidth Product
channel = pipe delay = length bandwidth = area of a cross section bandwidth x delay product = volume
8/25/06 UIUC - CS/ECE 438, Fall 2006 30
Delay x Bandwidth Product
channel = pipe delay = length bandwidth = area of a cross section bandwidth x delay product = volume
8/25/06 UIUC - CS/ECE 438, Fall 2006 30
Delay x Bandwidth Product
channel = pipe delay = length bandwidth = area of a cross section bandwidth x delay product = volume
Bandwidth
8/25/06 UIUC - CS/ECE 438, Fall 2006 30
Delay x Bandwidth Product
channel = pipe delay = length bandwidth = area of a cross section bandwidth x delay product = volume
Bandwidth Delay
8/25/06 UIUC - CS/ECE 438, Fall 2006 31
Delay x Bandwidth Product
Example: Transcontinental Channel
BW = 45 Mbps
delay = 50ms
bandwidth x delay product = (45 x 106 bits/sec) x (50 x 10–3 sec) = 2.25 x 106 bits Bandwidth x delay product
How many bits the sender must transmit before the first bit arrives at the receiver if the sender keeps the pipe full
Takes another one-way latency to receive a response from the receiver
8/25/06 UIUC - CS/ECE 438, Fall 2006 32
Bandwidth vs. Latency
Relative importance
1-byte: Latency bound
1ms vs 100ms latency dominates 1Mbps vs 100Mbps BW
25MB: Bandwidth bound
1Mbps vs 100Mbps BW dominates 1ms vs 100ms latency
8/25/06 UIUC - CS/ECE 438, Fall 2006 32
Bandwidth vs. Latency
Relative importance
1-byte: Latency bound
1ms vs 100ms latency dominates 1Mbps vs 100Mbps BW
25MB: Bandwidth bound
1Mbps vs 100Mbps BW dominates 1ms vs 100ms latency 25MB 1 Mbps 1b 1Mbps 1ms 100 Mbps 1Mbps 100ms
8/25/06 UIUC - CS/ECE 438, Fall 2006 33
Bandwidth vs. Latency
Infinite bandwidth
RTT dominates
Throughput = TransferSize / TransferTime TransferTime = RTT + 1/Bandwidth x
TransferSize
Its all relative
1-MB file to 1-Gbps link looks like a 1-KB
packet to 1-Mbps link
8/25/06 UIUC - CS/ECE 438, Fall 2006 34
Network Architecture
Challenge
Fill the gap between hardware capabilities and application expectations, and to do so while delivering “good” performance.
Hardware and expectations are moving
targets.
How do network designers cope with
complexity?
Layering
Protocols
Standards
8/25/06 UIUC - CS/ECE 438, Fall 2006 35
Abstraction through Layering
Abstract system into layers:
Decompose the problem of building a network into manageable components
Each layer provides some functionality
Modular design provides flexibility
Modify layer independently
Allows alternative abstractions
8/25/06 UIUC - CS/ECE 438, Fall 2006 35
Abstraction through Layering
Abstract system into layers:
Decompose the problem of building a network into manageable components
Each layer provides some functionality
Modular design provides flexibility
Modify layer independently
Allows alternative abstractions
Application programs Hardware Host-to-host connectivity Request/reply channel Message stream channel
8/25/06 UIUC - CS/ECE 438, Fall 2006 36
Protocols
Definition
A protocol is an abstract object that makes up the layers of a network system
A protocol provides a communication service that higher-layer objects use to exchange messages
Service interface:
To objects on the same computer that want to use its communication services
Peer interface:
To its counterpart on a different machine. peers communicate using the services of lower-level protocols
8/25/06 UIUC - CS/ECE 438, Fall 2006 37
Interfaces
Host 1 Host 2
8/25/06 UIUC - CS/ECE 438, Fall 2006 37
Interfaces
Host 1 Host 2
Lower-level Protocol (IP) Lower-level Protocol (IP)
8/25/06 UIUC - CS/ECE 438, Fall 2006 37
Interfaces
Host 1 Host 2 Peer-to-peer interface
Lower-level Protocol (IP) Lower-level Protocol (IP)
8/25/06 UIUC - CS/ECE 438, Fall 2006 37
Interfaces
Host 1 Host 2
Higher- level protocol (TCP) Higher- level protocol (TCP)
Peer-to-peer interface
Lower-level Protocol (IP) Lower-level Protocol (IP)
8/25/06 UIUC - CS/ECE 438, Fall 2006 37
Interfaces
Host 1 Host 2 Service interface
Higher- level protocol (TCP) Higher- level protocol (TCP)
Peer-to-peer interface
Lower-level Protocol (IP) Lower-level Protocol (IP)
8/25/06 UIUC - CS/ECE 438, Fall 2006 38
Terminology
Term “protocol” is overloaded
specification of peer-to-peer interface module that implements this interface
8/25/06 UIUC - CS/ECE 438, Fall 2006 39
Layering Concepts
Encapsulation
Higher layer protocols create messages and send them via the lower layer protocols
These messages are treated as data by the lower-level protocol
Higher-layer protocol adds its own control information in the form of headers or trailers
Multiplexing and Demultiplexing
Use protocol keys in the header to determine correct upper-layer protocol
8/25/06 UIUC - CS/ECE 438, Fall 2006 40
Encapsulation
Application program
Request/ Reply Host-to-Host
DATA RRP HDR DATA
Application program
Request/ Reply Host-to-Host
DATA RRP HDR DATA HHP HDR RRP HDR DATA
8/25/06 UIUC - CS/ECE 438, Fall 2006 41
OSI Architecture
Open Systems Interconnect (OSI)
Architecture
International Standards Organization
(ISO)
International Telecommunications Union
(ITU, formerly CCITT)
“X dot” series: X.25, X.400, X.500 Primarily a reference model
8/25/06 UIUC - CS/ECE 438, Fall 2006 42
OSI Protocol Stack
Application Presentation Physical Transport Session Data Link Network
Application: Application specific protocols
Presentation: Format of exchanged data
Session: Name space for connection mgmt
Transport: Process-to-process channel
Network: Host-to-host packet delivery
Data Link: Framing of data bits
Physical: Transmission of raw bits
8/25/06 UIUC - CS/ECE 438, Fall 2006 43
OSI Protocol Stack
Application Presentation Physical Transport Session Data Link Network Physical Data Link Network Application Presentation Physical Transport Session Data Link Network Host User- Level Host OS Kernel Router
8/25/06 UIUC - CS/ECE 438, Fall 2006 44
Internet Architecture
Internet Architecture (TCP/IP)
Developed with ARPANET and NSFNET
Internet Engineering Task Force (IETF)
Culture: implement, then standardize
OSI culture: standardize, then implement
Popular with release of Berkeley Software Distribution (BSD) Unix; i.e., frees software
Standard suggestions debated publicly through “requests for comments” (RFC’s)
We reject kings, presidents, and voting. We believe in rough consensus and running code. – David Clark
8/25/06 UIUC - CS/ECE 438, Fall 2006 45
Internet Architecture – Hourglass Design
FTP TCP Modem ATM FDDI Ethernet IP UDP VoIP DNS HTTP
8/25/06 UIUC - CS/ECE 438, Fall 2006 46
Internet Architecture
Features:
No strict layering Hourglass shape – IP is the focal point
Application Network IP UDP TCP
8/25/06 UIUC - CS/ECE 438, Fall 2006 47
Protocol Acronyms
(T)FTP - (Trivial) File Transfer Protocol
HTTP - HyperText Transport Protocol
DNS - Domain Name Service
SMTP – Simple Mail Transfer Protocol
NTP - Network Time Protocol
TCP - Transmission Control Protocol
UDP - User Datagram Protocol
IP - Internet Protocol
FDDI - Fiber Distributed Data Interface
ATM - Asynchronous Transfer Mode
8/25/06 UIUC - CS/ECE 438, Fall 2006 48
Summary
Goal
Understanding of computer network functionality, with experience building and using computer networks
Steps
Identify what concepts we expect from a network
Define a layered architecture
Implement network protocols and application programs
8/25/06 UIUC - CS/ECE 438, Fall 2006 49