CS/ECE 438, CSE 425Communication Networks
Nikita BorisovECE Department, UIUC
8/25/06 UIUC - CS/ECE 438, Fall 2006 2
Course Information
Instructor Prof. Nikita Borisov Office Hours:
460 CSL, 244-5385 10-12 [email protected] or by appointment
TA Monika Battala, [email protected] 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 highlyrecommended
Probability and Statistics (MATH461,463 or ECE 413)
8/25/06 UIUC - CS/ECE 438, Fall 2006 5
Textbook
Computer Networks: A Top-Down ApproachFeaturing 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 UNIXprogramming
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
on 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 unitproject 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 beable to: Identify the problems that arise in networked
communication Explain the advantages and disadvantages of
existing solutions to these problems in thecontext of different networking regimes
Understand the implications of a given solutionfor 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 shouldbe 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 softwareissues
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 anetwork Two or more nodes
connected by a physicallink
Two or more networksconnected by one ormore nodes
8/25/06 UIUC - CS/ECE 438, Fall 2006 15
Indirect Connectivity
Switched Networks Internetworks
Recursive definition of anetwork Two or more nodes
connected by a physicallink
Two or more networksconnected by one ormore nodes
8/25/06 UIUC - CS/ECE 438, Fall 2006 15
Indirect Connectivity
Switched Networks Internetworks
Recursive definition of anetwork Two or more nodes
connected by a physicallink
Two or more networksconnected by one ormore 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 forwardmessages toward the destination node based onits 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 thenext -> 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 trafficdetermine bandwidth
8/25/06 UIUC - CS/ECE 438, Fall 2006 19
Cost-Effective Sharing ofResources
Physical links and switches must be sharedamong 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 usersExample:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM
frequency
time
4 usersExample:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM
frequency
time
4 usersExample:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM
frequency
timeTDM
frequency
time
4 usersExample:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM
frequency
timeTDM
frequency
time
4 usersExample:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM
frequency
timeTDM
frequency
time
4 usersExample:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM
frequency
timeTDM
frequency
time
4 usersExample:
8/25/06 UIUC - CS/ECE 438, Fall 2006 20
Circuit Switching: FDM and TDM
FDM
frequency
timeTDM
frequency
time
4 usersExample:
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 aSwitch
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 anetwork
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
HostHostChannelChannel
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
HostHostChannelChannel
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
HostHostChannelChannelChannelChannel
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 bycommunication 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 senderkeeps the pipe full
Takes another one-way latency to receive aresponse 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 whiledelivering “good” performance.
Hardware and expectations are movingtargets.
How do network designers cope withcomplexity? 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
HardwareHost-to-host connectivity
Request/reply channelMessage 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 exchangemessages Service interface:
To objects on the same computer that want to use itscommunication 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-levelProtocol
(IP)
Lower-levelProtocol
(IP)
8/25/06 UIUC - CS/ECE 438, Fall 2006 37
Interfaces
Host 1 Host 2
Peer-to-peerinterface
Lower-levelProtocol
(IP)
Lower-levelProtocol
(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-peerinterface
Lower-levelProtocol
(IP)
Lower-levelProtocol
(IP)
8/25/06 UIUC - CS/ECE 438, Fall 2006 37
Interfaces
Host 1 Host 2
Service interfaceHigher-
levelprotocol
(TCP)
Higher-level
protocol(TCP)
Peer-to-peerinterface
Lower-levelProtocol
(IP)
Lower-levelProtocol
(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 determinecorrect upper-layer protocol
8/25/06 UIUC - CS/ECE 438, Fall 2006 40
Encapsulation
Applicationprogram
Request/Reply
Host-to-Host
DATA
RRP HDR DATA
Applicationprogram
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 SoftwareDistribution (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
ModemATMFDDIEthernet
IP
UDP
VoIPDNSHTTP
8/25/06 UIUC - CS/ECE 438, Fall 2006 46
Internet Architecture
Features: No strict layering Hourglass shape – IP is the focal point
Application
NetworkIP
UDPTCP
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 usingcomputer 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
Assignments
Homework 1 Due Wednesday September 6 at
2:00pm. Project 1
Due Friday September 8 at 9:00pm. Both will be on website by end of
day today.