Computer Networks - McMaster University
Download
Report
Transcript Computer Networks - McMaster University
COSC6377: Computer
Networks
Rong Zheng
[email protected]
Computer Networking:
A Top Down Approach
Featuring the Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
Introduction
1-1
Introduction
Overview of the course
Basic concepts and structures in computer
networking
Network architecture
Introduction
1-2
What’s the Internet: “nuts and
bolts” view
End systems
Host computer
Network applications
Access networks
Local area networks
communication links
router
server
workstation
mobile
local ISP
regional ISP
Network core:
routers
network of networks
company
network
Introduction
1-3
What’s the Internet: “nuts and bolts” view
Protocols define format, order
of msgs sent and received
among network entities, and
actions taken on msg
transmission, receipt
router
server
mobile
local ISP
e.g., TCP, IP, HTTP, FTP, PPP
Internet: “network of networks”
workstation
regional ISP
loosely hierarchical
public Internet versus private
intranet
Internet standards
RFC: Request for comments
IETF: Internet Engineering
Task Force
company
network
Introduction
1-4
Network Components (Examples)
Links
Interfaces
Fibers
Ethernet card
Switches/routers
Large router
Wireless card
Coaxial Cable
Switch
Introduction
1-5
Introduction
1-6
Internet structure: network of networks
roughly hierarchical
at center: “tier-1” ISPs (e.g., MCI, Sprint, AT&T, Cable
and Wireless), national/international coverage
treat each other as equals
Tier-1
providers
interconnect
(peer)
privately
Tier 1 ISP
Tier 1 ISP
NAP
Tier-1 providers
also interconnect
at public network
access points
(NAPs)
Tier 1 ISP
Introduction
1-7
Tier-1 ISP: e.g., Sprint
Sprint US backbone network
DS3 (45 Mbps)
OC3 (155 Mbps)
OC12 (622 Mbps)
OC48 (2.4 Gbps)
Seattle
Tacoma
Stockton
San Jose
Cheyenne
Kansas City
New York
Pennsauken
Relay
Wash. DC
Chicago
Roachdale
Anaheim
Atlanta
Fort Worth
Orlando
Introduction
1-8
Internet structure: network of networks
“Tier-2” ISPs: smaller (often regional) ISPs
Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs
Tier-2 ISP pays
tier-1 ISP for
connectivity to
rest of Internet
tier-2 ISP is
customer of
tier-1 provider
Tier-2 ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
NAP
Tier 1 ISP
Tier-2 ISPs
also peer
privately with
each other,
interconnect
at NAP
Tier-2 ISP
Tier-2 ISP
Introduction
1-9
Internet structure: network of networks
“Tier-3” ISPs and local ISPs
last hop (“access”) network (closest to end systems)
local
ISP
Local and tier3 ISPs are
customers of
higher tier
ISPs
connecting
them to rest
of Internet
Tier 3
ISP
Tier-2 ISP
local
ISP
local
ISP
local
ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
local
local
ISP
ISP
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier-2 ISP
local
ISP
Introduction
1-10
Internet structure: network of networks
a packet passes through many networks!
local
ISP
Tier 3
ISP
Tier-2 ISP
local
ISP
local
ISP
local
ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
local
local
ISP
ISP
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier-2 ISP
local
ISP
Introduction
1-11
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-12
An Imaginary 2-tier
Application
Transmission
Media
SMTP
SSH
Coaxial
cable
FTP
Fiber
optic
HTTP
Packet
radio
New application has to interface to all existing media
adding new application requires O(m) work, m = number of media
New media requires all existing applications be modified
adding new media requires O(a) work, a = number of applications
Total work in system O(ma) eventually too much work to
add apps/media
Application end points may not be on the same media!
Introduction
1-13
Solution: Indirection
Solution: introduce an intermediate layer that
provides a single abstraction for various network
technologies
O(1) work to add app/media
Indirection is an often used technique in computer
science
SSH
NFS
HTTP
SMTP
Application
Intermediate
layer
Transmission
Media
Coaxial
cable
Fiber
optic
802.11
LAN
Introduction
1-14
Network Architecture
Architecture is not the implementation
itself
Architecture is how to “organize”
implementations
what
interfaces are supported
where functionality is implemented
Architecture is the modular design of the
network
Introduction
1-15
Software Modularity
Break system into modules:
Well-defined interfaces gives flexibility
can
change implementation of modules
can extend functionality of system by adding
new modules
Interfaces hide information
allows for flexibility
but can hurt performance
Introduction
1-16
Network Modularity
Like software modularity, but with a twist:
Implementation distributed across routers
and hosts
Must decide both:
how
to break system into modules
where modules are implemented
Introduction
1-17
Layering
Layering is a particular form of
modularization
The system is broken into a vertical
hierarchy of logically distinct entities
(layers)
The service provided by one layer is based
solely on the service provided by layer
below
Rigid structure: easy reuse, performance
suffers
Introduction
1-18
ISO OSI Reference Model
ISO – International Standard Organization
OSI – Open System Interconnection
Seven layers
Lower two layers are peer-to-peer
Network layer involves multiple switches
Next four layers are end-to-end
Host 1
Application
Presentation
Session
Transport
Network
Datalink
Physical
Physical medium A
Intermediate switch
Network
Datalink
Physical
Host 2
Application
Presentation
Session
Transport
Network
Datalink
Physical
Physical medium B
Introduction
1-19
Key Concepts
Service – says what a layer does
Ethernet: unreliable subnet unicast/multicast/broadcast
datagram service
IP: unreliable end-to-end unicast datagram service
TCP: reliable end-to-end bi-directional byte stream
service
Service Interface – says how to access the
service
E.g. UNIX socket interface
Protocol – says how is the service implemented
a set of rules and formats that govern the communication
between two peers
Introduction
1-20
Functions of the Layers
Service: Handles details of application
programs.
Functions:
Service: Controls delivery of data between
hosts.
Functions: Connection
establishment/termination,
error control, flow control,
congestion control, etc.
Application telnet, ftp, email
Layer
www, NFS
Transport
TCP, UDP
Layer
Network
Layer
IP, ICMP, OSPF
RIP, BGP
Service: Moves packets inside the network.
Functions: Routing, addressing, switching,
etc.
(Data) Link Ethernet, WiFi
Service: Reliable transfer of frames over a
link.
Functions: Synchronization, error control,
flow
control, etc.
Layer
T1
Introduction
1-22
Internet Protocol Architecture
FTP
program
FTP protocol
FTP
program
TCP
TCP protocol
TCP
IP
Ethernet
Driver
IP protocol
Ethernet
protocol
Ethernet
Driver
IP
IP protocol
ATM
Driver
ATM
protocol
IP
ATM
Driver
Introduction
1-23
Internet Protocol Architecture
MPEG Servier
program
UDP
IP
Ethernet
Driver
MPEG Player
program
RTP protocol
UDP protocol
IP protocol
Ethernet
protocol
Ethernet
Driver
IP
UDP
IP protocol
ATM
Driver
ATM
protocol
IP
ATM
Driver
Introduction
1-24
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-25
Hourglass
Note: Additional protocols like routing
protocols (RIP, OSPF) needed to make
IP work
Introduction
1-26
Implications of Hourglass
A single Internet layer module:
Allows all networks to interoperate
all
networks technologies that support IP
can exchange packets
Allows all applications to function on all
networks
all
applications that can run on IP can use
any network
Simultaneous developments above and
below IP
Introduction
1-27
Reality
Layering is a convenient way to think about
networks
But layering is often violated
Firewalls
Transparent
NAT
caches
boxes
Introduction
1-28
Thinking Exercise – Interplanetary
Internet
Network entities:
Ground stations
Satellites, space stations at
near-Earth orbit 600
kilometers (~ 2s)
Mars rovers take ~ 10 to 30
min
Planets farther away?
Objective:
Interconnect with earthbound networks?
http://www.spectrum.ieee.org/WEBONLY/publicfeature/aug05/0805inte.html
Introduction
1-29