Professional Documents
Culture Documents
9c-extraNBMultimedia Networking
9c-extraNBMultimedia Networking
Multimedia Networking
Computer Networking: A
Top Down Approach
Featuring the Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July 2004.
Multimedia
applications: network
audio and video
(“continuous media”)
QoS
network provides
application with level
of performance needed
for application to
function.
7: Multimedia Networking 7-2
Chapter 7: Goals
Principles
Classify multimedia applications
Identify the network services the apps need
Making the best of best effort service
Mechanisms for providing QoS
Classes of MM Fundamental
applications: characteristics:
Typically delay
1) Streaming stored audio
sensitive
and video end-to-end delay
2) Streaming live audio delay jitter
and video But loss tolerant:
3) Real-time interactive infrequent losses cause
audio and video minor glitches
Antithesis of data,
Jitter is the variability which are loss
of packet delays within intolerant but delay
the same packet tolerant.
stream 7: Multimedia Networking 7-5
Streaming Stored Multimedia
Streaming:
media stored at source
transmitted to client
streaming: client playout begins
before all data has arrived
timing constraint for still-to-be
transmitted data: in time for playout
2. video
sent
1. video 3. video received,
recorded network played out at client
delay
time
streaming: at this time, client
playing out early part of video,
while server still sending later
part of video
Examples:
Internet radio talk show
Live sporting event
Streaming
playback buffer
playback can lag tens of seconds after
transmission
still have timing constraint
Interactivity
fast forward impossible
rewind, pause possible!
applications: IP telephony,
video conference, distributed
interactive worlds
end-end delay requirements:
audio: < 150 msec good, < 400 msec OK
• includes application-level (packetization) and network delays
• higher delays noticeable, impair interactivity
session initialization
how does callee advertise its IP address, port number, encoding
algorithms?
? ? ?
? ? ?
But you said multimedia apps requires?
QoS and level of performance to be
? ? effective! ? ?
playout at client
variable
network
buffered
data
video
delay
client time
playout
delay
Client-side buffering, playout delay compensate
for network-added delay, delay jitter
constant
variable fill drain
rate, x(t) rate, d
buffered
video
TCP
send at maximum possible rate under TCP
fill rate fluctuates due to TCP congestion control
larger playout delay: smooth TCP delivery rate
HTTP/TCP passes more easily through firewalls
Scenario:
metafile communicated to web browser
browser launches player
player sets up an RTSP control connection, data
connection to streaming server
S: RTSP/1.0 200 1 OK
Session 4231
S: 200 3 OK
7: Multimedia Networking 7-29
Chapter 7 outline
7.1 Multimedia 7.6 Beyond Best
Networking Applications Effort
7.2 Streaming stored 7.7 Scheduling and
audio and video Policing
7.3 Real-time Multimedia: Mechanisms
Internet Phone case study 7.8 Integrated
7.4 Protocols for Real-
Services and
Time Interactive Differentiated
Applications
Services
RTP,RTCP,SIP
7.9 RSVP
7.5 Distributing
Multimedia: content
distribution networks
constant bit
rate client constant bit
transmission reception rate playout
Cumulative
at client
variable
network
buffered
data
data
delay
(jitter)
client time
playout
delay
Consider the end-to-end delays of two consecutive
packets: difference can be more or less than 20 msec
p a c k e ts lo s s
g e n e ra te d
p a c k e ts
p la y o u t s c h e d u le
r e c e iv e d
p'- r
p la y o u t s c h e d u le
p - r
t im e
r
p p' 7: Multimedia Networking 7-36
Adaptive Playout Delay, I
Goal: minimize playout delay, keeping late loss rate low
Approach: adaptive playout delay adjustment:
Estimate network delay, adjust playout delay at beginning of
each talk spurt.
Silent periods compressed and elongated.
Chunks still played out every 20 msec during talk spurt.
vi (1 u )vi 1 u | ri ti d i |
The estimates di and vi are calculated for every received packet,
although they are only used at the beginning of a talk spurt.
Interleaving
chunks are broken if packet is lost, still have
up into smaller units most of every chunk
for example, 4 5 msec units per
has no redundancy overhead
chunk
Packet contains small units from
but adds to playout delay
different chunks
Sequence Number (16 bits): Increments by one for each RTP packet
sent, and may be used to detect packet loss and to restore packet
sequence.
7: Multimedia Networking 7-49
RTP Header (2)
Timestamp field (32 bytes long). Reflects the sampling
instant of the first byte in the RTP data packet.
For audio, timestamp clock typically increments by one
for each sampling period (for example, each 125 usecs
for a 8 KHz sampling clock)
if application generates chunks of 160 encoded samples,
then timestamp increases by 160 for each RTP packet
when source is active. Timestamp clock continues to
increase at constant rate when source is inactive.
SSRC field (32 bits long). Identifies the source of the RTP
stream. Each stream in a RTP session should have a distinct
SSRC.
- For an RTP session there is typically a single multicast address; all RTP
and RTCP packets belonging to the session use the multicast address.
- RTP and RTCP packets are distinguished from each other through the use of
distinct port numbers.
- To limit traffic, each participant reduces his RTCP traffic as the number
of conference participants increases.
7: Multimedia Networking 7-53
RTCP Packets
G SM
p o rt 4 8 7 5 3 • SIP messages can be
sent over TCP or UDP;
here sent over RTP/UDP.
tim e tim e
•7:Default SIP
Multimedia port
Networking 7-59
Setting up a call (more)
Codec negotiation:
Rejecting the call
Suppose Bob doesn’t
have PCM ulaw
Bob can reject with
encoder. replies “busy,”
“gone,” “payment
Bob will instead reply required,”
with 606 Not “forbidden”.
Acceptable Reply and
Media can be sent over
list encoders he can
use. RTP or some other
protocol.
Alice can then send a
new INVITE message,
advertising an
appropriate encoder.
Register Message:
CDN server
CDN server
in S. America CDN server
in Asia
in Europe
1 Origin server
routing requests
CDN creates a “map”, indicating distances
from leaf ISPs and CDN nodes
when query arrives at authoritative DNS
server:
server determines ISP from which query originates
uses “map” to determine best CDN server
CDN nodes create application-layer overlay
network
Principle 1
packet marking needed for router to
distinguish between different classes; and
new router policy to treat packets accordingly
7: Multimedia Networking 7-74
Principles for QOS Guarantees
(more)
what if applications misbehave (audio sends higher
than declared rate)
policing: force source adherence to bandwidth allocations
marking and policing at network edge:
similar to ATM UNI (User Network Interface)
Principle 2
provide protection (isolation) for one class from others
7: Multimedia Networking 7-75
Principles for QOS Guarantees
(more)
Allocating fixed (non-sharable) bandwidth to
flow: inefficient use of bandwidth if flows
doesn’t use its allocation
Principle 3
While providing isolation, it is desirable to use
resources as efficiently as possible
7: Multimedia Networking 7-76
Principles for QOS Guarantees
(more)
Basic fact of life: can not support traffic
demands beyond link capacity
Principle 4
Call Admission: flow declares its needs, network may
block call (e.g., busy signal) if it cannot meet needs
7: Multimedia Networking 7-77
Summary of QoS Principles
bucket size, b
per-flow
rate, R
WFQ
D = b/R
max
request/
reply
QoS-sensitive
scheduling (e.g.,
WFQ)
bucket size, b
per-flow
rate, R
WFQ
D = b/R
max
7: Multimedia Networking 7-91
IETF Differentiated Services
Concerns with Intserv:
Scalability: signaling, maintaining per-flow router state difficult with large number
of flows
Flexible Service Models: Intserv has only two classes. Also want “qualitative”
service classes
“behaves like a wire”
relative service distinction: Platinum, Gold, Silver
Diffserv approach:
simple functions in network core, relatively complex functions at edge routers (or
hosts)
Do’t define define service classes, provide functional components to build service
classes
Edge router:
per-flow traffic r marking
scheduling
management
marks packets as in-profile
b ..
and out-profile .
Core router:
per class traffic management
buffering and scheduling
based on marking at edge
preference given to in-profile
packets
Assured Forwarding
7: Multimedia Networking 7-93
Edge-router Packet Marking
profile: pre-negotiated rate A, bucket size B
packet marking at edge based on per-flow profile
Rate A
User packets
connectionless no network
(stateless) best effort signaling
forwarding by IP + service = protocols
routers in initial IP
design
New requirement: reserve resources along end-to-
end path (end system, routers) for QoS for
multimedia applications
RSVP: Resource Reservation Protocol [RFC 2205]
“ … allow users to communicate requirements to network
in robust and efficient way.” i.e., signaling !
earlier Internet Signaling protocol: ST-II [RFC 1819]
sender-to-network signaling
path message: make sender presence known to routers
path teardown: delete sender’s path state from routers
receiver-to-network signaling
reservation message: reserve resources from sender(s) to
receiver
reservation teardown: remove receiver reservations
network-to-end-system signaling
path error
reservation error
H2 H3
R1 R2 R3 H4
H1
H5
in L1 in L7
m1: m1:
out L2 L6 out L3 L4
L6
m1: in
out L5 L7
H2 H3
L2 L3
R1 L6 L7
R2 R3 L4 H4
L1 L5
H1
H5
L1 L6 in L7
m1: in m1:
out L3 L4
out L1 L2 L6
L5 L6
m1: in
out L5 L6 L7
H2 H3
L2 L3
R1 L6 L7
R2 R3 L4 H4
L1 L5
H1
H5
L1 L2 L6 in L3 L4 L7
m1: in m1:
out L3 L4 L7
out L1 L2 L6
L5 L6 L7
m1: in
out L5 L6 L7
H2 H3
L2 L3
R1 L6 L7
R2 R3 L4 H4
L1 L5
H1
H5
H2 H3
L2 L3
R1 L6 L7
R2 R3 L4 H4
L1 L5
H1
H5
L6 in L3 L4 L7
m1: in L1 L2 m1:
L7(b)
out L1(b) L2 L6 out L3 L4
L6 L7
m1: in L5
out L5 L6(b) L7
H2 H3
b b
L2 L3
b b
L6 L7 b
b R1 R2 R3 L4
L1 b H4
L5
H1
H5
H2 b H3
b b
L2 L3
b b
L6 L7 b
b R1 R2 R3 L4
b H4
b L1 L5
H1
H5
L6 in L3 L4 L7
m1: in L1 L2 m1:
L7(b)
out L1(b) L2(b) L6 out L3 L4
L6 L7
m1: in L5
out L5 L6(b) L7
H2 b H3
b b
L2 L3
b b
L6 L7 b
b R1 R2 R3 L4
b H4
b L1 L5
H1
H5
H2 H3
L2 L3
R1 L6 L7
R2 R3 L4 H4
L1
H1
in L1, L6 in
L4, L7
L2(H1-via-H1 ; H4-via-R2 ) L3(H4-via-H4 ; H1-via-R3 )
out L6(H1-via-H1 ) out L4(H1-via-R2 )
L1(H4-via-R2 ) L7(H4-via-H4 )
H2 H3
L2 R2 L3
R1 L6 L7
R3 L4 H4
L1
H1 in L6, L7
L6(H4-via-R3 )
out L7(H1-via-R1 )
7: Multimedia Networking 7-115
RSVP: example 2
receiver H2 sends reservation message for source
H4 at bandwidth b
propagated upstream towards H4, reserving b
in L1, L6 in
L4, L7
L2(H1-via-H1 ;H4-via-R2 (b)) L3(H4-via-H4 ; H1-via-R2 )
out L6(H1-via-H1 ) out L4(H1-via-62 )
L1(H4-via-R2 ) L7(H4-via-H4 (b))
H2 H3
b
L2 b
R2 b L3
L7 b
R1 L6
R3 L4 H4
L1
H1 in L6, L7
L6(H4-via-R3 (b))
out L7(H1-via-R1 )
H2 H3
b
L2 b
R2 b L3
L7 b
R1 L6
R3 L4 H4
L1
H1 in L6, L7
L6(H4-via-R3 (b))
out L7(H1-via-R1 )
7: Multimedia Networking 7-117
RSVP: soft-state
suppose H4 (sender) leaves without performing teardown
eventually state in routers will timeout and disappear!
in L1, L6 in
L4, L7
L2(H1-via-H1 ;H4-via-R2 (b)) L3(H4-via-H4 ; H1-via-R3 )
out L6(H1-via-H1 ) out L4(H1-via-62 )
L1(H4-via-R2 ) L7(H4-via-H4 (b))
H2 H3
b
L2 b
R2 b L3
L7 b
R1 L6
R3 L4 gone
L1
H4
fishing!
H1 in L6, L7
L6(H4-via-R3 (b))
out L7(H1-via-R1 )