Académique Documents
Professionnel Documents
Culture Documents
Multimedia
Networking
A note on the use of these ppt slides:
Were making these slides freely available to all (faculty, students, readers).
Theyre in PowerPoint form so you see the animations; and can add, modify,
and delete slides (including this one) and slide content to suit your needs.
They obviously represent a lot of work on our part. In return for use, we only
ask the following:
If you use these slides (e.g., in a class) that you mention their source
(after all, wed like people to use our book!)
If you post any slides on a www site, that you note that they are adapted
from (or perhaps identical to) our slides, and note our copyright of this
material.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved
Computer
Networking: A
Top Down
Approach
6th edition
Jim Kurose, Keith
Ross
Addison-Wesley
March 2012
Multmedia Networking
7-1
Multimedia networking:
outline
7.1 multimedia networking
applications
7.2 streaming stored video
7.3 voice-over-IP
7.4 protocols for real-time
conversational
applications
7.5 network support for multimedia
Multmedia Networking
7-2
Multimedia networking:
outline
7.1 multimedia networking
applications
7.2 streaming stored video
7.3 voice-over-IP
7.4 protocols for real-time
conversational
applications
7.5 network support for multimedia
Multmedia Networking
7-3
Multimedia:
audio
quantization
error
audio signal amplitude
quantized
value of
analog value
analog
signal
time
sampling rate
(N sample/sec)
Multmedia Networking
7-4
Multimedia:
audio
example: 8,000
samples/sec, 256
quantized values:
64,000 bps
receiver converts bits
back to analog signal:
some quality
reduction
example rates
quantization
error
audio signal amplitude
quantized
value of
analog value
analog
signal
time
sampling rate
(N sample/sec)
Multmedia Networking
7-5
Multimedia:
video
video: sequence of
images displayed at
constant rate
e.g. 24 images/sec
digital image: array of
pixels
each pixel represented
by bits
coding: use redundancy
within and between
images to decrease #
bits used to encode
image
spatial (within image)
temporal (from one
image to next)
...
...
frame i
frame i+1
Multmedia Networking
7-6
Multimedia:
video
CBR: (constant bit
...
...
frame i
frame i+1
Multmedia Networking
7-7
7-8
Multimedia networking:
outline
7.1 multimedia networking
applications
7.2 streaming stored video
7.3 voice-over-IP
7.4 protocols for real-time
conversational
applications
7.5 network support for multimedia
Multmedia Networking
7-9
Cumulative data
1. video
recorded
(e.g., 30
frames/sec
)
2. video
sent
network delay
(fixed in this
example)
3. video received,
played out at client
(30 frames/sec) time
variable
network
delay
client playout
delay
constant bit
rate video
playout at client
buffered
video
Cumulative data
constant bit
rate video
transmission
time
Client-side buffering,
playout
playout rate,
e.g., CBR r
variable fill
rate, x(t)
video server
client application
buffer, size B
client
Client-side buffering,
playout
playout rate,
e.g., CBR r
variable fill
rate, x(t)
video server
client application
buffer, size B
client
Client-side buffering,
playout
playout rate,
e.g., CBR r
variable fill
rate, x(t)
video server
client application
buffer, size B
7-15
Streaming multimedia:
HTTP
multimedia file retrieved via HTTP GET
TCP send
buffer
server
TCP receive
buffer
application
playout buffer
client
Streaming multimedia:
DASH
DASH: Dynamic, Adaptive Streaming over
HTTP
server:
client:
periodically measures server-to-client bandwidth
consulting manifest, requests one chunk at a time
chooses maximum coding rate sustainable
given current bandwidth
can choose different coding rates at different
points in time (depending on available
bandwidth at time)
Multmedia Networking 7-18
Streaming multimedia:
DASH
Content distribution
networks
Content distribution
networks
challenge: how to stream content (selected
netcinemas
authorative DNS
KingCDN.com
KingCDN
authoritative DNS
Netflix registration,
accounting servers
2. Bob browses
Netflix video 2
upload copies of
multiple versions of
video to CDNs
3. Manifest file
returned for
requested video
Akamai CDN
Limelight CDN
1
1. Bob manages
Netflix account
4. DASH streaming
Level-3 CDN
Multimedia networking:
outline
7.1 multimedia networking
applications
7.2 streaming stored video
7.3 voice-over-IP
7.4 protocols for real-time
conversational
applications
7.5 network support for multimedia
Voice-over-IP (VoIP)
VoIP characteristics
Delay jitter
variable
network
delay
(jitter)
client
reception
constant bit
rate playout
at client
buffered
data
Cumulative data
constant bit
rate
transmission
time
client playout
delay
lo s s
p a c k e ts
g e n e ra te d
p a c k e ts
r e c e iv e d
p la y o u t s c h e d u le
p' - r
p la y o u t s c h e d u le
p - r
tim e
r
p
p'
(1)
e.g. 0.1
(timestamp)
measured delay of ith packet
Multmedia Networking 7-33
(2)
playout-timei = ti + di + Kvi
(3)
playout
each ACK/NAK takes ~ one RTT
alternative: Forward Error Correction (FEC)
send enough bits to allow recovery without
retransmission (recall two-dimensional parity in Ch. 5)
simple FEC
(2)
lower
quality stream
send lower resolution
audio stream as
redundant information
e.g., nominal
stream PCM at 64 kbps
and redundant stream
GSM at 13 kbps
non-consecutive loss: receiver can conceal loss
generalization: can also append (n-1)st and (n-2)nd low
chunk
Multmedia Networking 7-37
(3)
Voice-over-IP: Skype
Skype
login server
clients: skype
peers connect
directly to each
other for VoIP call
super nodes (SN):
skype peers with
special functions
overlay network:
among SNs to locate
SCs server
login
supernode (SN)
supernode
overlay
network
Skype
login server
Multimedia networking:
outline
7.1 multimedia networking
applications
7.2 streaming stored video
7.3 voice-over-IP
7.4 protocols for real-time
conversational
applications:
RTP, SIP
7.5 network support for multimedia
RTP specifies
packet structure for
packets carrying
audio, video data
RFC 3550
RTP packet
provides
payload type
identification
packet sequence
numbering
time stamping
RTP example
example: sending 64
kbps PCM-encoded
voice over RTP
application collects
encoded data in
chunks, e.g., every 20
msec = 160 bytes in a
chunk
audio chunk + RTP
header form RTP
packet, which is
encapsulated in UDP
segment
RTP header
indicates type of
audio encoding in
each packet
sender can
change encoding
during conference
RTP header
payload
type
sequence
number type
time stamp
Synchronization
Source ID
Miscellaneous
fields
type
type
type
type
type
type
RTP header
payload
type
sequence
number type
time stamp
Synchronization
Source ID
Miscellaneous
fields
RTSP/RTP programming
assignment
works in
conjunction with
RTP
each participant in
RTP session
periodically sends
RTCP control
packets to all other
participants
feedback used to
control performance
sender may modify its
transmissions based
on feedback
Multmedia Networking 7-50
RTP
RTCP
RTCP
RTCP
receivers
each
fraction of packets
lost, last sequence
number, average
interarrival jitter
sender report
packets:
source description
packets:
e-mail address of
sender, sender's
name, SSRC of
associated RTP
stream
provide mapping
between the SSRC
and the user/host
name
RTCP: stream
synchronization
75 kbps is equally
shared among receivers:
with R receivers, each
receiver gets to send
RTCP traffic at 75/R kbps.
long-term vision:
all telephone calls, video conference
calls take place over Internet
people identified by names or e-mail
addresses, rather than by phone
numbers
can reach callee (if callee so desires),
no matter where callee roams, no
matter what IP device callee is currently
using
SIP services
SIP provides
mechanisms for
call setup:
for caller to let
callee know she
wants to
establish a call
so caller, callee
can agree on
media type,
encoding
to end call
determine current
IP address of
callee:
maps mnemonic
identifier to current
IP address
call management:
add new media
streams during call
change encoding
during call
invite others
transfer, hold calls
Multmedia Networking 7-56
A lic e
1 6 7 .1 8 0 .1 1 2 .2 4
1 9 3 .6 4 .2 1 0 .8 9
B o b 's
te r m in a l r in g s
L a w a u d io
p o rt 3 8 0 6 0
G SM
tim e
p o rt 4 8 7 5 3
tim e
Multmedia
Networking
default
SIP port
5-57
codec negotiation:
suppose Bob
doesnt have PCM
law encoder
Bob will instead
reply with 606 Not
Acceptable Reply,
listing his encoders.
Alice can then send
new INVITE
message,
advertising different
encoder
rejecting a call
Bob can reject
with replies
busy, gone,
payment
required,
forbidden
media can be
sent over RTP or
some other
protocol
Notes:
HTTP message syntax
sdp = session description protocol
Call-ID is unique for every call
Here we dont
know Bobs IP
address
intermediate
Alice
SIP sends,
servers
needed
receives
SIP
messages using
SIP default port
506
Alice specifies
in header that SIP
client
Multmedia
Networking 7-59
sends,
receives
SIP registrar
one function of SIP server: registrar
when Bob starts SIP client, client sends SIP
REGISTER message to Bobs registrar
server
register message:
SIP proxy
SIP example:
jim@umass.edu
calls
keith@poly.edu
2. UMass proxy forwards request
to Poly registrar server
2
3
UMass
SIP proxy
1. Jim sends INVITE
message to UMass SIP 8
proxy.
1
128.119.40.186
Poly SIP
registrar
3. Poly server returns redirect response,
indicating that it should try keith@eurecom.fr
9
9. Data flows between clients
Eurecom SIP
registrar
5. eurecom
5 registrar
6
forwards INVITE
to 197.87.54.21,
which is running
keiths SIP client
197.87.54.21
Multmedia Networking 7-63
Multimedia networking:
outline
7.1 multimedia networking
applications
7.2 streaming stored video
7.3 voice-over-IP
7.4 protocols for real-time
conversational
applications
7.5 network support for multimedia
challenges:
network dimensioning: how much bandwidth is
enough?
estimating network traffic demand: needed to
determine how much bandwidth is enough
(for that much traffic)
Multmedia Networking 7-67
H2
R1
R1 output
interface
queue
H3
R2
H4
Principle 1
packet marking needed for router to distinguish
between different classes; and new router policy to
treat packets accordingly
Multmedia Networking 7-70
R1
R2
1.5 Mbps link
Principle 2
R1
R2
1.5 Mbps link
Principle 3
while providing isolation, it is desirable to u
resources as efficiently as possible
Multmedia Networking 7-72
packet
arrivals
queue
link
(waiting area) (server)
packet
departures
Scheduling policies:
priority
priority scheduling:
send highest
priority queued
packet
multiple classes,
with different
priorities
arrivals
departures
classify
low priority queue
(waiting area)
link
(server)
2
5
1 3
arrivals
packet
in
service
departures
2
5
1 3
arrivals
packet
in
service
departures
Policing mechanisms
goal: limit traffic to not exceed declared parameters
Three common-used criteria:
(long term) average rate: how many pkts can be sent per unit
time (in the long run)
crucial question: what is the interval length: 100 packets per sec or 6000
packets per min have same average!
peak rate: e.g., 6000 pkts per min (ppm) avg.; 1500 ppm peak
rate
(max.) burst size: max number of pkts sent consecutively (with
no intervening idle)
Policing mechanisms:
implementation
token bucket: limit input to specified burst
size and average rate
arriving
traffic
token rate, r
bucket size, b
per-flow
rate, R
WFQ
arriving
traffic
D = b/R
max
Differentiated services
Diffserv architecture
marking
edge router:
r
b
scheduling
..
.
core router:
Edge-router packet
marking
profile: pre-negotiated rate r, bucket size
b
packet marking at edge based on perrate r
flow profile
b
user packets
possible use of
class-based
marking: packets of different classes
marking
:
marked differently
intra-class marking: conforming portion of flow
marked differently than non-conforming one
unused
Classification, conditioning
may be desirable to limit traffic injection
rate of some class:
user declares traffic profile (e.g., rate,
burst size)
traffic metered, shaped if nonconforming
Forwarding PHB
PHBs proposed:
expedited forwarding: pkt departure
rate of a class equals or exceeds
specified rate
logical link with a minimum guaranteed rate
Per-connection QOS
guarantees
1 Mbps
phone
R1
R2
1.5 Mbps link
Principle 4
call admission: flow declares its needs, networ
block call (e.g., busy signal) if it cannot meet n
Multmedia Networking 7-87
resource reservation
call setup, signaling (RSVP)
traffic, QoS declaration
per-element admission control
request/
reply
QoS-sensitive scheduling
(e.g., WFQ)
Multimedia networking:
outline
7.1 multimedia networking
applications
7.2 streaming stored video
7.3 voice-over-IP
7.4 protocols for real-time
conversational
applications
7.5 network support for multimedia