lecture 8: overview of computer networking -...
TRANSCRIPT
1
Lecture 8: Overview of Computer Networking
Slides adapted from those of
Computer Networking: A Top Down Approach, 5th edition. Jim Kurose, Keith Ross, Addison-Wesley, April 2009.
Roadmap ! what’s the Internet? ! network edge: hosts, access net ! network core: packet/circuit switching, Internet structure ! performance: loss, delay, throughput ! media distribution: UDP, TCP/IP
2
What’s the Internet: “nuts and bolts” view
! millions of connected computing devices: hosts = end systems
" running network apps
Home network
Institutional network
Mobile network
Global ISP
Regional ISP
router
PC
server
wireless laptop cellular handheld
wired links
access points
! communication links " fiber, copper, radio, satellite " transmission rate = bandwidth
! routers: forward packets (chunks of data)
What’s the Internet: “nuts and bolts” view
! protocols control sending, receiving of msgs " e.g., TCP, IP, HTTP, Skype, Ethernet
! Internet: “network of networks” " loosely hierarchical " public Internet versus private intranet
! Internet standards " RFC: Request for comments " IETF: Internet Engineering Task Force
Home network
Institutional network
Mobile network
Global ISP
Regional ISP
3
A closer look at network structure:
! network edge: applications and hosts
! access networks, physical media: wired, wireless communication links
! network core: " interconnected routers " network of networks
The network edge: ! end systems (hosts):
" run application programs " e.g. Web, email " at “edge of network”
client/server
peer-peer
! 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. Skype, BitTorrent
4
Access networks
Q: How to connect end systems to edge router?
! residential access nets ! institutional access networks
(school, company) ! mobile access networks
Keep in mind: ! bandwidth (bits per second)
of access network? ! shared or dedicated?
Home networks Typical home network components: ! DSL or cable modem ! router/firewall/NAT ! Ethernet ! wireless access point
wireless access point
wireless laptops
router/ firewall
cable modem
to/from cable
headend
Ethernet
5
The Network Core
! mesh of interconnected routers
! the fundamental question: how is data transferred through net? " circuit switching:
dedicated circuit per call: telephone net
" packet-switching: data sent thru net in discrete “chunks”
Network Core: Circuit Switching
End-end resources reserved for “call”
! link bandwidth, switch capacity
! dedicated resources: no sharing
! circuit-like (guaranteed) performance
! call setup required
6
Network Core: Circuit Switching
network resources (e.g., bandwidth) divided into “pieces”
! pieces allocated to calls ! resource piece idle if not used by owning call (no
sharing)
! dividing link bandwidth into “pieces” " frequency division " time division
Circuit Switching: FDM and TDM
FDM
frequency
time TDM
frequency
time
4 users Example:
7
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
Packet Switching: Statistical Multiplexing
Sequence of A & B packets does not have fixed pattern, bandwidth shared on demand ! statistical multiplexing.
TDM: each host gets same slot in revolving TDM frame.
A
B
C 100 Mb/s Ethernet
1.5 Mb/s
D E
statistical multiplexing
queue of packets waiting for output
link
8
Packet-switching: store-and-forward
! takes L/R seconds to transmit (push out) packet of L bits on to link at R bps
! store and forward: entire packet must arrive at router before it can be transmitted on next link
! delay = 3L/R (assuming zero propagation delay)
Example: ! L = 7.5 Mbits ! R = 1.5 Mbps ! transmission delay = 15 sec
R R R L
more on delay shortly …
Packet switching versus circuit switching
! 1 Mb/s link ! each user:
" 100 kb/s when “active” " active 10% of time
! circuit-switching: " 10 users
! packet switching: " with 35 users, probability > 10 active at same time is less
than .0004
Packet switching allows more users to use network!
N users 1 Mbps link
Q: how did we get value 0.0004?
9
Packet switching versus circuit switching
! 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 7)
Is packet switching a “slam dunk winner?”
10
Roadmap ! what’s the Internet? ! network edge; hosts, access net ! network core: packet/circuit switching, Internet structure ! performance: loss, delay, throughput in packet switching
networks ! TCP/IP
How do loss and delay occur? packets queue in router buffers ! packet arrival rate to link exceeds output link capacity ! packets queue, wait for turn
A
B
packet being transmitted (delay)
packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers
11
Four sources of packet delay
! 1. nodal processing: " check bit errors " determine output link
A
B
propagation
transmission
nodal processing queueing
! 2. queueing " time waiting at output
link for transmission " depends on congestion
level of router
Delay in packet-switched networks 3. Transmission delay: ! R=link bandwidth (bps) ! L=packet length (bits) ! time to send bits into
link = L/R
4. Propagation delay: ! d = length of physical link ! s = propagation speed in
medium (~2x108 m/sec) ! propagation delay = d/s
A
B
propagation
transmission
nodal processing queueing
Note: s and R are very different quantities!
12
Nodal delay
! dproc = processing delay " typically a few microsecs or less
! dqueue = queuing delay " depends on congestion
! dtrans = transmission delay " = L/R, significant for low-speed links
! dprop = propagation delay " a few microsecs to hundreds of msecs
Queueing delay (revisited)
! R=link bandwidth (bps) ! L=packet length (bits) ! a=average packet
arrival rate
traffic intensity = La/R
! La/R ~ 0: average queueing delay small ! La/R -> 1: delays become large ! La/R > 1: more “work” arriving than can be
serviced, average delay infinite!
13
“Real” Internet delays and routes
! What do “real” Internet delay & loss look like? ! Traceroute program: provides delay measurement
from source to router along end-end Internet path towards destination. For all i: " sends three packets that will reach router i on path towards
destination " router i will return packets to sender " sender times interval between transmission and reply.
3 probes
3 probes
3 probes
“Real” Internet delays and routes
1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms 2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms 3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms 4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms 7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms 8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms 9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms 10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms 11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms 12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms 13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms 14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms 15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms 16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms 17 * * * 18 * * * 19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms
traceroute: gaia.cs.umass.edu to www.eurecom.fr Three delay measurements from gaia.cs.umass.edu to cs-gw.cs.umass.edu
* means no response (probe lost, router not replying)
trans-oceanic link
14
Packet loss
! queue (aka buffer) preceding link in buffer has finite capacity
! packet arriving to full queue dropped (aka lost) ! lost packet may be retransmitted by previous
node, by source end system, or not at all
A
B
packet being transmitted
packet arriving to full buffer is lost
buffer (waiting area)
Throughput
! throughput: rate (bits/time unit) at which bits transferred between sender/receiver " instantaneous: rate at given point in time " average: rate over longer period of time
server, with file of F bits
to send to client
link capacity Rs bits/sec
link capacity Rc bits/sec
pipe that can carry fluid at rate Rs bits/sec)
pipe that can carry fluid at rate Rc bits/sec)
server sends bits (fluid) into pipe
15
Throughput (more)
! Rs < Rc What is average end-end throughput?
Rs bits/sec Rc bits/sec
! Rs > Rc What is average end-end throughput?
Rs bits/sec Rc bits/sec
link on end-end path that constrains end-end throughput bottleneck link
Throughput: Internet scenario
10 connections (fairly) share backbone bottleneck link R bits/sec
Rs Rs
Rs
Rc
Rc
Rc
R
! per-connection end-end throughput: min(Rc,Rs,R/10)
! in practice: Rc or Rs is often bottleneck
16
Internet protocol stack
! application: supporting network applications " FTP, SMTP, HTTP
! transport: process-process 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”
application
transport
network
link
physical
source application transport network
link physical
Ht Hn M
segment Ht
datagram
destination application transport network
link physical
Ht Hn Hl M
Ht Hn M
Ht M
M
network link
physical
link physical
Ht Hn Hl M
Ht Hn M
Ht Hn M
Ht Hn Hl M
router
switch
Encapsulation message M
Ht M
Hn frame
17
Summary Covered a “ton” of material! ! Internet overview ! network edge, core, access network
" packet-switching versus circuit-switching " Internet structure
! performance: loss, delay, throughput ! layering, service models
2: Application Layer 34
Creating a network app
write programs that " run on (different) end systems " communicate over network " e.g., web server software
communicates with browser software
No need to write software for network-core devices " Network-core devices do not
run user applications " applications on end systems
allows for rapid app development, propagation
application transport network data link physical
application transport network data link physical
application transport network data link physical
18
2: Application Layer 35
Application architectures
! Client-server " Including data centers / cloud computing
! Peer-to-peer (P2P) ! Hybrid of client-server and P2P
2: Application Layer 36
Client-server architecture
server: " always-on host " permanent IP address " server farms for scaling
clients: " communicate with server " may be intermittently
connected " may have dynamic IP
addresses " do not communicate
directly with each other
client/server
19
Google Data Centers
! Estimated cost of data center: $600M ! Google spent $2.4B in 2007 on new data
centers ! Each data center uses 50-100 megawatts of
power
2: Application Layer 38
Pure P2P architecture
! no always-on server ! arbitrary end systems
directly communicate ! peers are intermittently
connected and change IP addresses
Highly scalable but difficult to manage
peer-peer
20
2: Application Layer 39
Hybrid of client-server and P2P Skype
" voice-over-IP P2P application " centralized server: finding address of remote
party: " client-client connection: direct (not through server)
Instant messaging " chatting between two users is P2P " centralized service: client presence detection/
location • user registers its IP address with central server
when it comes online • user contacts central server to find IP addresses
of buddies
2: Application Layer 40
App-layer protocol defines
! Types of messages exchanged, " e.g., request, response
! Message syntax: " what fields in messages &
how fields are delineated
! Message semantics " meaning of information in
fields
! Rules for when and how processes send & respond to messages
Public-domain protocols: ! defined in RFCs ! allows for
interoperability ! e.g., HTTP, SMTP,
BitTorrent Proprietary protocols: ! e.g., Skype, ppstream
21
2: Application Layer 41
What transport service does an app need?
Data loss ! some apps (e.g., audio) can
tolerate some loss ! other apps (e.g., file
transfer, telnet) require 100% reliable data transfer
Timing ! some apps (e.g.,
Internet telephony, interactive games) require low delay to be “effective”
Throughput ! some apps (e.g., multimedia)
require minimum amount of throughput to be “effective”
! other apps (“elastic apps”) make use of whatever throughput they get
Security ! Encryption, data integrity, …
2: Application Layer 42
Transport service requirements of common apps
Application
file transfer e-mail
Web documents real-time audio/video
stored audio/video interactive games instant messaging
Data loss
no loss no loss no loss loss-tolerant
loss-tolerant loss-tolerant no loss
Throughput
elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic
Time Sensitive
no no no yes, 100’s msec
yes, few secs yes, 100’s msec yes and no
22
2: Application Layer 43
Internet transport protocols services
TCP service: ! connection-oriented: setup
required between client and server processes
! reliable transport between sending and receiving process
! flow control: sender won’t overwhelm receiver
! congestion control: throttle sender when network overloaded
! does not provide: timing, minimum throughput guarantees, security
UDP service: ! unreliable data transfer
between sending and receiving process
! does not provide: connection setup, reliability, flow control, congestion control, timing, throughput guarantee, or security
Q: why bother? Why is there a UDP?
2: Application Layer 44
Internet apps: application, transport protocols
Application
e-mail remote terminal access
Web file transfer
streaming multimedia
Internet telephony
Application layer protocol
SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (eg Youtube), RTP [RFC 1889] SIP, RTP, proprietary (e.g., Skype)
Underlying transport protocol
TCP TCP TCP TCP TCP or UDP
typically UDP
23
Next Lecture
! Media over IP ! Lab2 assigned later this week; due May 11th
" Find your partner NOW (2-person group, email TA your group name + member names)
" Build your own video compression/decompression system, use motion estimation
" Apply different sets of packet loss & error patterns to your compressed video; observe the impact
" Find ways to recover from errors and minimize media quality degradation
• The top 5 groups will obtain extra 10% credit " Matlab or C/C++, must run on csil machines