ppt - FSU Computer Science

Download Report

Transcript ppt - FSU Computer Science

CDA 4503
Introduction To Computer Networks
http://www.cs.fsu.edu/~kartik/cen4516
Kartik Gopalan
[email protected]
Introduction
1-1
Goals of this course
 Learn about
Fundamentals of Networking
 Network Applications

• Design and Implementation
 Network
Protocols
• Physical-level, Routing-level, Transport-level,
Application-level

Network Internals
• Individual components

Network Management
• Administration, Security
Introduction
1-2
Pre-requisites
 COP4530 - Data Structures and Algorithms
 CIS3931 - Either Elementary Java or C++
Programming (or equivalent)
 Working knowledge of Unix environment

Shell, commands, vi, emacs.
Introduction
1-3
Office hours
 Instructor : Kartik Gopalan
 Location : Room 164, Love Bldg.
 Office Hours:
1:00PM to 3:00PM Mon-Wed
 Email : [email protected]
Introduction
1-4
Textbooks
 Required Textbook :
 Computer Networking: A Top-Down Approach
Featuring the Internet (2nd Edition)
by James F. Kurose, Keith Ross. Publisher: Pearson
Addison Wesley; 3rd edition ISBN: 0321227352
 Recommended Reference Textbook :
 Computer Networks (4th Edition)
by Andrew S. Tanenbaum. Publisher: Prentice Hall,
ISBN: 0130661023
Introduction
1-5
Evaluation Criteria
 Final Exam 30%

December 14th (Wednesday) 5:30 PM to 7:30 PM
 Midterm Exams 30%

October 10th (Monday) 5:15 PM to 6:30 PM
 Assignments 40%
Introduction
1-6
Attendance
 Attendance will be taken
 Used to decide on borderline grades
Introduction
1-7
Assignments
 All assignment are individual
 Typically two weeks per-assignment
 Start early
 Ask questions early
 Submit on time
Introduction
1-8
Accounts
 Computer Science account (<yourid>@cs.fsu.edu)
 For submitting assignments
 http://www.cs.fsu.edu/sysinfo/newstudent.html
 ACNS account (<yourid>@fsu.edu)
 https://cars.acns.fsu.edu/
 Access to blackboard
 For class materials, discussion board, grades etc.
 Through your ACNS account
 http://campus.fsu.edu
Introduction
1-9
Asking questions
Make Google your friend!
1.
Can’t beat the response time!
•
2.
Office hours:

3.
Mon-Wed 1:00 to 3:00 PM at 164, Love Bldg.
Use class mailing list


Discussion board on campus blackboard
Advantages
•
•
•
Anybody may reply (including your classmates)
Everyone benefits from common issues
Don’t ask for solutions!
Introduction
1-10
Academic Integrity
 Means
 No copying from anywhere
 Don’t solve assignments for others
 Don’t ask/give solutions.
 Protect your code
 Moss: An automated tool for comparing code
will be used.
 Please read the guidelines on course web page
 Dishonesty  Not fair to others.
 You may get a grade of F.
Introduction
1-11
Chapter 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-2004
J.F Kurose and K.W. Ross, All Rights Reserved
Introduction
1-12
Chapter 1: Introduction
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
Introduction
1-13
Chapter 1: roadmap
1.1 What is the Internet?
1.2 Network edge
1.3 Network core
1.4 Network access and physical media
1.5 Internet structure and ISPs
1.6 Delay & loss in packet-switched networks
1.7 Protocol layers, service models
1.8 History
Introduction
1-14
What’s the Internet: “nuts and bolts” view
 millions of connected
computing devices: hosts =
end systems
 running network apps
 communication links


router
server
workstation
mobile
local ISP
fiber, copper, radio, satellite
transmission rate =
bandwidth (bits/sec)
regional ISP
 Switches – forward packets
 Two types
• Routers: across networks
• Link-layer switches
– within networks
company
network
Introduction
1-15
What’s the Internet: “nuts and bolts” view
 protocols control sending,
receiving of msgs

e.g., TCP, IP, HTTP, FTP, PPP
 Internet: “network of
router
server
workstation
mobile
local ISP
networks”


loosely hierarchical
public Internet versus
private intranet
 Internet standards
 RFC: Request for comments
 IETF: Internet Engineering
Task Force
regional ISP
company
network
Introduction
1-16
What’s the Internet: a service view
 communication infrastructure
enables distributed
applications:


Web, email, games, ecommerce, file sharing
Note; Web is not a separate
network. It is a distributed
application-level service.
 communication services
provided to apps:


Connectionless unreliable
service
connection-oriented reliable
service
 Quality of Service --
performance guarantees :


Bandwidth
End-to-end delay
Introduction
1-17
What’s a protocol?
a human protocol and a computer network protocol:
Hi
TCP connection
req
Hi
TCP connection
response
Got the
time?
Get http://www.awl.com/kurose-ross
2:00
<file>
time
Introduction
1-18
What’s a protocol?…
 all communication activity in
Internet governed by
protocols
 specific msgs sent
 specific actions taken when
msgs received, or other
events
protocols define format,
order of msgs sent and
received among network
entities, and actions
taken on msg
transmission, receipt
Introduction
1-19
Chapter 1: roadmap
1.1 What is the Internet?
1.2 Network edge
1.3 Network core
1.4 Network access and physical media
1.5 Internet structure and ISPs
1.6 Delay & loss in packet-switched networks
1.7 Protocol layers, service models
1.8 History
Introduction
1-20
A closer look at network structure:
 network edge:
applications and
hosts
 network core:
 routers

network of
networks
 access networks,
physical media:
communication links
Introduction
1-21
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
Introduction
1-22
Network edge: connection-oriented service
Goal: Maintain a session for
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 connectionoriented service
TCP service [RFC 793]
1.
reliable data transfer

loss: acknowledgements and
retransmissions
2. In-order byte-stream

Apps don’t see packets
3. flow control:

sender won’t overwhelm
receiver
4. congestion control:

senders “slow down sending
rate” when network
congested
Note: The above 4 features don’t
have to be part of every
connection-oriented service.
Introduction
1-23
Network edge: connectionless service
Goal: data transfer
between end systems

same as before!
 UDP - User Datagram
Protocol [RFC 768]:
 connectionless
 unreliable data
transfer
 no flow control
 no congestion control
Apps using TCP:
 HTTP (Web),
 FTP (file transfer),
 Telnet (remote login),
 SMTP (email)
Apps using UDP:
 streaming media,
 teleconferencing,
 DNS,
 Internet telephony
Introduction
1-24
Chapter 1: roadmap
1.1 What is the Internet?
1.2 Network edge
1.3 Network core
1.4 Network access and physical media
1.5 Internet structure and ISPs
1.6 Delay & loss in packet-switched networks
1.7 Protocol layers, service models
1.8 History
Introduction
1-25
The Network Core
 mesh of interconnected
routers
 the fundamental question: how
is data transferred through
net?


circuit switching:
dedicated circuit per “call”
(or session) : telephone net
packet-switching: data
sent thru net in discrete
“chunks” or packets
Introduction
1-26
Network Core: Circuit Switching
End-to-end resources
reserved for session
 link bandwidth, switch
capacity
 dedicated resources: no
sharing
 circuit-like (guaranteed)
performance
 call setup required
Introduction
1-27
Network Core: Circuit Switching
network resources
(e.g., bandwidth)
divided into “shares”
 shares allocated to calls
 Multiplexing : dividing
link bandwidth into
“shares”
 frequency division
 time division
 resource share idle if
not used by owning call
(no sharing)
Introduction
1-28
Circuit Switching: FDM and TDM
Example:
FDM
4 users
frequency
time
TDM
frequency
time
Introduction
1-29
Numerical example
 How long does it take to send a file of
640,000 bits from host A to host B over a
circuit-switched network?
 All
links are 1.536 Mbps
 Each link uses TDM with 24 slots
 500 msec to establish end-to-end circuit
Work it out!
Introduction
1-30
Network Core: Packet Switching
each end-end data stream divided
into packets
 user A, B packets share
network resources
Resource contention:
 aggregate resource demand
can exceed amount available
 each packet uses full link
 congestion: packets queue,
 resources used as needed
 store and forward: packets
bandwidth
wait for link use
move one hop at a time

Node receives complete packet
before forwarding
Introduction
1-31
Packet Switching: Statistical Multiplexing
10 Mb/s
Ethernet
A
B
statistical multiplexing
C
1.5 Mb/s
queue of packets
waiting for output
link
D
E
Sequence of A & B packets does not have fixed pattern 
statistical multiplexing.
In TDM each host gets same slot in revolving TDM frame.
Introduction
1-32
Packet switching versus circuit switching
Packet switching allows more users to use network!
 1 Mb/s link
 each user:
 100 kb/s when “active”
 active 10% of time
 circuit-switching:
 10 users
N users
1 Mbps link
 packet switching:
 with 35 users,
probability > 10 active
less than .0004
Introduction
1-33
Packet switching versus circuit switching
Is packet switching a “slam dunk winner?”
 Great for bursty data
resource sharing
 simpler, no call setup
 Excessive congestion: packet delay and loss
 protocols needed for reliable data transfer,
congestion control
 Q: How to provide circuit-like behavior?
 bandwidth guarantees needed for audio/video apps
 still an unsolved problem (chapter 6)

Introduction
1-34
Packet-switching: store-and-forward
L
R
 Takes L/R seconds to
R
transmit (push out)
packet of L bits on to
link or R bps
 Entire packet must
arrive at router before
it can be transmitted
on next link: store and
forward
 delay = 3L/R
R
Example:
 L = 7.5 Mbits
 R = 1.5 Mbps
 delay = 15 sec
Introduction
1-35
Packet-switched networks: forwarding
 Goal: move packets through routers from source to
destination

we’ll study several path selection (i.e. routing) algorithms
(chapter 4)
 datagram network:
 destination address in packet determines next hop
 routes may change during session
 analogy: driving, asking directions
 virtual circuit network:
 each packet carries tag (virtual circuit ID), tag
determines next hop
 fixed path determined at call setup time, remains fixed
thru call
 routers maintain per-call state
Introduction
1-36
Network Taxonomy
Telecommunication
networks
Circuit-switched
networks
FDM
TDM
Packet-switched
networks
Networks
with VCs
Datagram
Networks
Introduction
1-37
Chapter 1: roadmap
1.1 What is the Internet?
1.2 Network edge
1.3 Network core
1.4 Network access and physical media
1.5 Internet structure and ISPs
1.6 Delay & loss in packet-switched networks
1.7 Protocol layers, service models
1.8 History
Introduction
1-70
Protocol “Layers”
Networks are complex!
 many “pieces”:
 hosts
 routers
 links of various
media
 applications
 protocols
 hardware,
software
Question:
Is there any hope of
organizing structure of
network?
Or at least our discussion
of networks?
Introduction
1-71
Organization of air travel
ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing
airplane routing
airplane routing
airplane routing
 a series of steps
Introduction
1-72
Layering of airline functionality
ticket (purchase)
ticket (complain)
ticket
baggage (check)
baggage (claim
baggage
gates (load)
gates (unload)
gate
runway (takeoff)
runway (land)
takeoff/landing
airplane routing
airplane routing
airplane routing
departure
airport
airplane routing
airplane routing
intermediate air-traffic
control centers
arrival
airport
Layers: each layer implements a service
 via its own internal-layer actions
 relying on services provided by layer below
Introduction
1-73
Why layering?
Dealing with complex systems:
 explicit structure allows identification,
relationship of complex system’s pieces
 layered reference model for discussion
 modularization eases maintenance, updating of
system
 change of implementation of layer’s service
transparent to rest of system
 e.g., change in gate procedure doesn’t affect
rest of system
Introduction
1-74
Internet protocol stack
 application: supporting network applications

FTP, SMTP, HTTP
 transport: host-host data transfer

TCP, UDP
 network: routing of datagrams from source
to destination

IP, routing protocols
 link: data transfer between neighboring
network elements

PPP, Ethernet
 physical: bits “on the wire” (signaling)
application
transport
network
link
physical
Introduction
1-75
source
message
segment Ht
datagram Hn Ht
frame
Hl Hn Ht
M
M
M
M
Encapsulation
application
transport
network
link
physical
Hl Hn Ht
M
link
physical
Hl Hn Ht
M
switch
destination
M
Ht
M
Hn Ht
Hl Hn Ht
M
M
application
transport
network
link
physical
Hn Ht
Hl Hn Ht
M
M
network
link
physical
Hn Ht
Hl Hn Ht
M
M
router
Introduction
1-76
Introduction: Summary
Covered a “ton” of material!
 Internet overview
 what’s a protocol?
 network edge, core, access
network
 packet-switching versus
circuit-switching
 Internet/ISP structure
 performance: loss, delay
 layering and service
models
 history
You now have:
 context, overview,
“feel” of networking
 more depth, detail to
follow!
Introduction
1-81