Lecture 1
Introduction
Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition.
Jim Kurose, Keith Ross Addison-Wesley, July 2004.
All material copyright 1996-2005
J.F Kurose and K.W. Ross, All Rights Reserved Various other sources on the net,
Introduction 1-2
Course Outline
Instructor: Ghulam Murtaza
Room: S-214 Office Hours: Mon 2:00-4:00, Thu 2:00-4:00 (other times, by email appt)
TA: TBD
Course Web: http://cscs311.wordpress.com
Reading Material
REQUIRED TEXTS:
Computer Networking: A Top Down approach
featuring the Internet (3rd Edition) by James F. Kurose and Keith W. Ross
References:
Data and Computer Communications, 6th Edition by
William Stallings
Computer Networks by Andrew Tanenbaum
Other material will be posted on the web or
Reading Material
HOMEWORKS, QUIZZES, PROGRAMMING: 40%
MIDTERM EXAMINATION: 25% FINAL EXAMINATION: 35%
REGRADING CAN BE REQUESTED WITHIN FOLLOWING
TIME LIMITS:
QUIZZES AND HOMEWORKS: 2DAYS, EXAMS: 3DAYS
Exams: Open book, open notes
Three flex days, can either be used as a three day extension on one project, or 3, 1 day extensions on three projects. Afterwards, 25% of the grade will be lost per day.
Outline
Introduction and Overview
Basic Concepts of Networking Circuit switching
Packet switching
Multiplexing (TDM, FDM) Throughput and delay Internet Architecture Protocol Layering
Application Layer
Network application architectures HTTP, FTP, Email, DNS
P2P applications
Writing network applications The C socket API
Transport Layer
Multiplexing in UDP and TCP Connectionless Transport: UDP Reliable data transfer and TCP Congestion avoidance and control
Network Layer
The Internet Protocol
- IPv4 Datagram
- Internet Address Classes - Special IP Addresses - ARP: I need your address! - IPv6
- ICMP: Tracing a route
- Network Address Translation (NAT)
Internet Routing Protocols and Algorithms
- RIP - OSPF - BGP
X.25, Frame relay and ATM MPLS
Outline continued
Physical & Link Layer Functionalities
Error Detection & Control, ARQ Link layer addressing
LAN Technologies Bridges and Hubs Multiple Access
Special topics
Security
Overlay networks, naming Content distribution networks Peer to peer systems, DHTs
Academic honesty:
Freedom of information rule:
Collaboration is acceptable
To assure that all collaboration is on the
level, you must always write the name(s) of
your collaborators on your assignment.
Failure to adequately acknowledge your contributors is at best a lapse of
professional etiquette, and at worst it is plagiarism. Plagiarism is a form of cheating.
Course
Introduction 1-8
Networking is easy
Memory, acronyms, definitions
Strong sense of logic
Algorithms
Chapter 1: Introduction
Our goal:
get “feel” and
terminology
more depth, detail
later in course
approach:
use Internet as
example
Overview:
what’s the Internet what’s a protocol? network edge
network core
access net, physical media Internet/ISP structure performance: loss, delay
protocol layers, service models network modeling
What’s the Internet: “nuts and bolts” view
Over a billion of connected
computing devices: hosts =
end systems
running network apps
communication links
fiber, copper, radio, satellite transmission rate = bandwidth routers: forward packets
(chunks of data)
Anyone speaking IP can join
local ISP
company
regional ISP
router workstation
server
Introduction 1-12
Some internet appliances
World’s smallest web server
http://www-ccs.cs.umass.edu/~shri/iPic.html IP picture frame
http://www.ceiva.com/
Web-enabled toaster + weather forecaster
What’s the Internet: “nuts and bolts” view
protocols control sending,
receiving of msgs
e.g., TCP, IP, HTTP, FTP, PPP
Internet: “network of
networks”
loosely hierarchical
public Internet versus
private intranet
Internet standards
RFC: Request for comments
IETF: Internet Engineering
Task Force local ISP company regional ISP router workstation server mobile
Introduction 1-14
What’s the Internet: a service view
communication
infrastructure enables distributed applications:
Web, email, games,
e-commerce, file sharing
communication services
provided to apps:
Connectionless unreliable
What’s a protocol?
human protocols:
“what’s the time?”
“I have a question”
introductions
… specific msgs sent … specific actions
taken when msgs received, or other events
network protocols:
machines rather than
humans
all communication
activity in Internet governed by protocols
protocols define format, order of msgs sent and received among network
entities, and actions taken on msg
Introduction 1-16
What’s a protocol?
a human protocol and a computer network protocol:
Q: Other human protocols?
Hi Hi
Got the time?
2:00
TCP connection request
TCP connection response
Get http://www.awl.com/kurose-ross
<file>
A closer look at network structure:
network edge: applicationsand hosts
network core:
routers
network of networks
access networks, physical
Introduction 1-18
End system
Typically a computing device
PC, workstation, server, laptop….toaster
End-systems connected by some medium
Copper wire, optical fiber, coaxial cable etc
Communication link
Different transmission rates or bandwidths
of communication links
continued
What do you do if you want to connect>2
end-systems to each other
Introduction 1-20
continued
What do you do if you want to connect>2
end-systems to each other
Multiplie access link
switches or routers
a switch has several interfaces or ports
Client-Server Applications
Networks: Introduction
Networks: Introduction 22
Client-Server Model
Clients request and receive service from a
server machine
Peer-to-Peer Applications
In a peer-to-peer system there are no fixed
clients and servers.
Introduction 1-24
The network edge:
end systems (hosts):
run application programs e.g. Web, email
at “edge of network”
client/server model
client host requests, receives service from always-on server e.g. Web browser/server; email
client/server
peer-peer model:
minimal (or no) use of dedicated servers
e.g. Gnutella, KaZaA, Skype
The internet generally provides two
Network edge: connection-oriented service
Goal:
data transfer between end systems handshaking: setup
(prepare for) data
transfer ahead of time
Hello, hello back human protocol
set up “state” in two communicating hosts
TCP - Transmission
Control Protocol
Internet’s connection-oriented service
TCP service
[RFC 793] reliable, in-order
byte-stream data transfer
loss: acknowledgements
and retransmissions
flow control:
sender won’t overwhelm
receiver
congestion control:
senders “slow down sending
Introduction 1-26
Network edge: connectionless service
Goal:
data transferbetween end systems
same as before!
UDP - User Datagram
Protocol [RFC 768]:
connectionless
unreliable data
transfer
no flow control
no congestion control
App’s using TCP:
HTTP (Web), FTP (file
transfer), Telnet
(remote login), SMTP (email)
App’s using UDP:
streaming media,
teleconferencing, DNS, Internet telephony
The Network Core
mesh of interconnectedrouters
the fundamental question:
how is data transferred through net?
Two approaches
circuit switching:
dedicated circuit per call: telephone net
packet-switching: data
Lecture 1: Introduction 28
Multiplexing
Need to share network resources
How? Switched network
Party “A” gets resources sometimes
Party “B” gets them sometimes
Lecture 1: Introduction 30
Circuit Switching
Source first establishes a connection (circuit) to the
destination
Each switch along the way stores info about connection (and
possibly allocates resources)
Source sends the data over the circuit
No need to include the destination address with the data since
the switches know the path
The connection is explicitly torn down
Network Core: Circuit Switching
End-end resources
reserved for “call”
link bandwidth, switch
capacity
dedicated resources:
no sharing
circuit-like
(guaranteed) performance
Introduction 1-32
Circuit Switching: FDM and TDM
FDMfrequency
time TDM
frequency
time
4 users Example:
Circuit Switching Discussion
Positives Fast and simple data transfer, once the circuit has been
established
Predictable performance since the circuit provides
isolation from other users
• E.g. guaranteed bandwidth
Negatives
How about bursty traffic
• Circuit will be idle for significant periods of time • Circuit establishment takes time
How about users with different bandwidth needs
Lecture 1: Introduction 34
Packet Switching
Source sends information as self-contained packets
that have an address.
Source may have to break up single message in multiple
Each packet travels independently to the destination
host.
Switches use the address in the packet to determine how to forward the packets
Store and forward
Network Core: Packet Switching
each end-end data stream divided into packets
user A, B packets share
network resources
each packet uses full link
bandwidth
resources used as needed
resource contention:
aggregate resource
demand can exceed amount available
congestion: packets
queue, wait for link use
store and forward:
packets move one hop at a time
Node receives complete
packet before forwarding Bandwidth division into “pieces”
Dedicated allocation Resource reservation
Lecture 1: Introduction 36
Packet Switching –
Statistical Multiplexing
PacketsPacket Switching Discussion
Efficient
Can send from any input that is ready
General
Multiple types of applications
Accommodates bursty traffic
Addition of queues
Store and forward
Packets are self contained units
Can use alternate paths – reordering