Download - Multimedia Networks - 1- Introduction
-
7/28/2019 Multimedia Networks - 1- Introduction
1/101
Chapter 1Multimedia Networking
1: Introduction 1-1
-
7/28/2019 Multimedia Networks - 1- Introduction
2/101
1: Introduction 1-2
Multimedia and Quality of Service: Whatis it?
multimediaapplications: network
audio and video(continuous media)
network providesapplication with level of
performance needed forapplication to function.
QoS
-
7/28/2019 Multimedia Networks - 1- Introduction
3/101
1: Introduction 1-3
Chapter 1: goals
Principles
classify multimedia applications
identify network services applications need
making the best of best effort service
Protocols and Architectures
specific protocols for best-effort
mechanisms for providing QoS architectures for QoS
-
7/28/2019 Multimedia Networks - 1- Introduction
4/101
1: Introduction 1-4
Chapter 1 outline
1.1 multimedianetworking applications
1.2 streaming storedaudio and video
1.3 making the best outof best effort service
1.4 protocols for real-timeinteractive applications
RTP,RTCP,SIP
1.5 providing multipleclasses of service
1.6 providing QoSguarantees
-
7/28/2019 Multimedia Networks - 1- Introduction
5/101
1: Introduction 1-5
MM Networking Applications
Fundamentalcharacteristics:
typically delaysensitive
end-to-end delay delay jitter
loss tolerant:infrequent lossescause minor glitches
antithesis of data,which are lossintolerantbut delaytolerant.
Classes of MMapplications:
1) stored streaming
2) live streaming
3) interactive, real-time
Jitter is the variabilityof packet delays withinthe same packet stream
-
7/28/2019 Multimedia Networks - 1- Introduction
6/101
1: Introduction 1-6
Streaming Stored Multimedia
Stored streaming:
media stored at source transmitted to client
streaming: client playout beginsbefore all data has arrived
timing constraint for still-to-be transmitteddata: in time for playout
-
7/28/2019 Multimedia Networks - 1- Introduction
7/101
1: Introduction 1-7
Streaming Stored Multimedia:What is it?
1. videorecorded
2. videosent
3. video received,played out at client
streaming: at this time, clientplaying out early part of video,while server still sending later
part of video
networkdelay
time
-
7/28/2019 Multimedia Networks - 1- Introduction
8/101
1: Introduction 1-8
Streaming StoredMultimedia:Interactivity
VCR-like functionality: client canpause, rewind, FF, push slider bar
10 sec initial delay OK
1-2 sec until command effectOK
timing constraint for still-to-betransmitted data: in time for playout
-
7/28/2019 Multimedia Networks - 1- Introduction
9/101
1: Introduction 1-9
Streaming Live Multimedia
Examples:
Internet radio talk show
live sporting event
Streaming (as with streaming storedmultimedia)
playback buffer
playback can lag tens of seconds aftertransmission
still have timing constraintInteractivity
fast forward impossible
rewind, pause possible!
-
7/28/2019 Multimedia Networks - 1- Introduction
10/101
1: Introduction 1-10
Real-Time InteractiveMultimedia
end-end delay requirements:
audio: < 150 msec good, < 400 msec OK
includes application-level (packetization) and networkdelays
higher delays noticeable, impair interactivity
session initialization
how does callee advertise its IP address, port number,encoding algorithms?
applications: IP telephony, videoconference, distributed interactive
worlds
-
7/28/2019 Multimedia Networks - 1- Introduction
11/101
1: Introduction 1-11
Multimedia Over Todays
Internet
TCP/UDP/IP:best-effort service
no guarantees on delay, loss
Todays Internet multimedia applicationsuse application-level techniques to mitigate
(as best possible) effects of delay, loss
But you said multimedia apps requiresQoS and level of performance to beeffective!
?? ??
?
?
? ??
?
?
-
7/28/2019 Multimedia Networks - 1- Introduction
12/101
1: Introduction 1-12
How should the Internet evolve to bettersupport multimedia?
Integrated services philosophy: fundamental changes in
Internet so that apps canreserve end-to-endbandwidth
requires new, complex
software in hosts & routers
Laissez-faire
no major changes
more bandwidth whenneeded
content distribution,application-layer multicast
application layer
Differentiated servicesphilosophy:
fewer changes to Internetinfrastructure, yet provide1st and 2nd class service
Whats your opinion?
-
7/28/2019 Multimedia Networks - 1- Introduction
13/101
1: Introduction 1-13
A few words about audiocompression
analog signal sampled atconstant rate
telephone: 8,000samples/sec
CD music: 44,100
samples/sec each sample quantized, i.e.,
rounded
e.g., 28=256 possiblequantized values
each quantized valuerepresented by bits
8 bits for 256 values
example: 8,000samples/sec, 256 quantizedvalues --> 64,000 bps
receiver converts bits backto analog signal:
some quality reduction
Example rates
CD: 1.411 Mbps
MP3: 96, 128, 160 kbps
Internet telephony: 5.3kbps and up
-
7/28/2019 Multimedia Networks - 1- Introduction
14/101
1: Introduction 1-14
A few words about videocompression
video: sequence ofimages displayed atconstant rate
e.g. 24 images/sec
digital image: arrayof pixels
each pixel representedby bits
redundancy
spatial (within image)
temporal (from oneimage to next)
Examples: MPEG 1 (CD-ROM) 1.5
Mbps
MPEG2 (DVD) 3-6
Mbps MPEG4 (often used in
Internet, < 1 Mbps)
Research:
layered (scalable)video
adapt layers to availablebandwidth
-
7/28/2019 Multimedia Networks - 1- Introduction
15/101
1: Introduction 1-15
Chapter 1 outline
1.1 multimedianetworking applications
1.2 streaming storedaudio and video
1.3 making the best outof best effort service
1.4 protocols for real-timeinteractive applications
RTP,RTCP,SIP
1.5 providing multipleclasses of service
1.6 providing QoSguarantees
-
7/28/2019 Multimedia Networks - 1- Introduction
16/101
1: Introduction 1-16
Streaming Stored Multimedia
application-levelstreaming techniquesfor making the best outof best effort service:
client-side buffering
use of UDP versusTCP
multiple encodingsof multimedia
jitter removal
decompression error concealment
graphical user interfacew/ controls forinteractivity
Media Player
-
7/28/2019 Multimedia Networks - 1- Introduction
17/101
1: Introduction 1-17
Internet multimedia: simplestapproach
audio, video not streamed:
no, pipelining, long delays until playout!
audio or video stored in file
files transferred as HTTP object
received in entirety at client
then passed to player
-
7/28/2019 Multimedia Networks - 1- Introduction
18/101
1: Introduction 1-18
Internet multimedia:streaming approach
browser GETs metafile browser launches player, passing metafile
player contacts server
server streams audio/video to player
-
7/28/2019 Multimedia Networks - 1- Introduction
19/101
1: Introduction 1-19
Streaming from a streamingserver
allows for non-HTTP protocol between server, mediaplayer
UDP or TCP for step (3), more shortly
-
7/28/2019 Multimedia Networks - 1- Introduction
20/101
1: Introduction 1-20
constant bitrate video
transmission
time
variable
networkdelay
client videoreception
constant bitrate video
playout at client
client
playoutdelay
buffere
d
video
Streaming Multimedia: ClientBuffering
client-side buffering, playout delaycompensate for network-added delay,
delay jitter
-
7/28/2019 Multimedia Networks - 1- Introduction
21/101
1: Introduction 1-21
Streaming Multimedia: ClientBuffering
client-side buffering, playout delaycompensate for network-added delay,
delay jitter
buffered
video
variable fill
rate, x(t)
constantdrain
rate, d
-
7/28/2019 Multimedia Networks - 1- Introduction
22/101
-
7/28/2019 Multimedia Networks - 1- Introduction
23/101
1: Introduction 1-23
Streaming Multimedia: clientrate(s)
Q: how to handle different client receive ratecapabilities?
28.8 Kbps dialup
100 Mbps Ethernet
A: server stores, transmits multiple copies ofvideo, encoded at different rates
1.5 Mbps encoding
28.8 Kbps encoding
-
7/28/2019 Multimedia Networks - 1- Introduction
24/101
1: Introduction 1-24
User Control of StreamingMedia: RTSP
HTTP
does not targetmultimedia content
no commands for fast
forward, etc.
RTSP: RFC 2326
client-serverapplication layer
protocol
user control: rewind,fast forward, pause,resume, repositioning,
etc
What it doesnt do: doesnt define how
audio/video isencapsulated for
streaming overnetwork
doesnt restrict howstreamed media istransported (UDP orTCP possible)
doesnt specify howmedia player buffersaudio/video
-
7/28/2019 Multimedia Networks - 1- Introduction
25/101
1: Introduction 1-25
RTSP: out of band control
FTP uses an out-of-band
control channel: file transferred over one
TCP connection.
control info (directorychanges, file deletion,
rename) sent overseparate TCP connection
out-of-band, in-bandchannels use differentport numbers
RTSP messages also sent
out-of-band: RTSP control messages
use different portnumbers than mediastream: out-of-band.
port 554
media stream isconsidered in-band.
-
7/28/2019 Multimedia Networks - 1- Introduction
26/101
1: Introduction 1-26
RTSP Example
Scenario: metafile communicated to web browser
browser launches player
player sets up an RTSP control connection,data connection to streaming server
-
7/28/2019 Multimedia Networks - 1- Introduction
27/101
1: Introduction 1-27
Metafile Example
Twister
-
7/28/2019 Multimedia Networks - 1- Introduction
28/101
1: Introduction 1-28
RTSP Operation
-
7/28/2019 Multimedia Networks - 1- Introduction
29/101
1: Introduction 1-29
RTSP Exchange ExampleC: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0
Transport: rtp/udp; compression; port=3056; mode=PLAY
S: RTSP/1.0 200 1 OK
Session 4231
C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231
Range: npt=0-
C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231
Range: npt=37
C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0Session: 4231
S: 200 3 OK
-
7/28/2019 Multimedia Networks - 1- Introduction
30/101
1: Introduction 1-30
Chapter 1 outline
1.1 multimedianetworking applications
1.2 streaming storedaudio and video
1.3 making the best outof best effort service
1.4 protocols for real-timeinteractive applications
RTP,RTCP,SIP
1.5 providing multipleclasses of service
1.6 providing QoSguarantees
-
7/28/2019 Multimedia Networks - 1- Introduction
31/101
1: Introduction 1-31
Real-time interactiveapplications PC-2-PC phone
Skype
PC-2-phone
Dialpad
Net2phone
Skype
videoconference with
webcams Skype
Polycom
Going to now lookat a PC-2-PCInternet phone
example in detail
-
7/28/2019 Multimedia Networks - 1- Introduction
32/101
1: Introduction 1-32
Interactive Multimedia:Internet Phone
Introduce Internet Phone by way of an example
speakers audio: alternating talk spurts, silent periods.
64 kbps during talk spurt
pkts generated only during talk spurts
20 msec chunks at 8 Kbytes/sec: 160 bytes data
application-layer header added to each chunk.
chunk+header encapsulated into UDP segment.
application sends UDP segment into socket every 20msec during talkspurt
Internet Phone: Packet Loss
-
7/28/2019 Multimedia Networks - 1- Introduction
33/101
1: Introduction 1-33
Internet Phone: Packet Lossand Delay
network loss: IP datagram lost due tonetwork congestion (router bufferoverflow)
delay loss: IP datagram arrives too late
for playout at receiver delays: processing, queueing in network;
end-system (sender, receiver) delays
typical maximum tolerable delay: 400 ms
loss tolerance: depending on voiceencoding, losses concealed, packet lossrates between 1% and 10% can be
tolerated.
-
7/28/2019 Multimedia Networks - 1- Introduction
34/101
1: Introduction 1-34
constant bitrate
transmission
time
variable
networkdelay(jitter)
clientreception
constant bitrate playout
at client
client
playoutdelay
buffere
d
data
Delay Jitter
consider end-to-end delays of two consecutive packets:difference can be more or less than 20 msec(transmission time difference)
Internet Phone: Fixed
-
7/28/2019 Multimedia Networks - 1- Introduction
35/101
1: Introduction 1-35
Internet Phone: FixedPlayout Delay
receiver attempts to playout eachchunk exactly q msecs after chunk wasgenerated.
chunk has time stamp t: play out chunk at
t+q . chunk arrives after t+q: data arrives too
late for playout, data lost
tradeoff in choosing q:
large q: less packet loss small q: better interactive experience
-
7/28/2019 Multimedia Networks - 1- Introduction
36/101
1: Introduction 1-36
Fixed Playout Delay
packets
time
packets
generated
packets
received
loss
r
p p'
playout schedule
p' - r
playout schedule
p - r
sender generates packets every 20 msec during talk spurt. first packet received at time r first playout schedule: begins at p second playout schedule: begins at p
-
7/28/2019 Multimedia Networks - 1- Introduction
37/101
1: Introduction 1-37
Adaptive Playout Delay (1)
packetithreceivingafterdelaynetworkaverageofestimated
acketpithfordelaynetworktr
receiveratplayedisipackettimethep
receiverbyreceivedisipackettimether
packetiththeoftimestampt
i
ii
i
i
i
dynamic estimate of average delay at receiver:)()1( 1 iiii trudud
where u is a fixed constant (e.g., u = .01).
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.
-
7/28/2019 Multimedia Networks - 1- Introduction
38/101
1: Introduction 1-38
Adaptive playout delay (2)
also useful to estimate average deviation of delay, vi:
||)1( 1 iiiii dtruvuv
estimates di , vicalculated for every received packet(but used only at start of talk spurt
for first packet in talk spurt, playout time is:iiii Kvdtp
where K is positive constant
remaining packets in talkspurt are played out periodically
-
7/28/2019 Multimedia Networks - 1- Introduction
39/101
R f k t l (1)
-
7/28/2019 Multimedia Networks - 1- Introduction
40/101
1: Introduction 1-40
Recovery from packet loss (1)
Forward Error Correction(FEC): simple scheme
for every group ofn chunkscreate redundant chunk byexclusive OR-ing n originalchunks
send out n+1 chunks,increasing bandwidth byfactor 1/n.
can reconstruct original nchunks if at most one lost
chunk from n+1 chunks
playout delay: enough
time to receive all n+1packets
tradeoff:
increase n, lessbandwidth waste
increase n, longerplayout delay
increase n, higherprobability that 2 ormore chunks will be
lost
-
7/28/2019 Multimedia Networks - 1- Introduction
41/101
1: Introduction 1-41
Recovery from packet loss (2)
2nd FEC schemepiggyback lowerquality stream send lower resolutionaudio stream asredundant information
e.g., nominalstream PCM at 64 kbpsand redundant streamGSM at 13 kbps.
whenever there is non-consecutive loss,receiver can conceal the loss. can also append (n-1)st and (n-2)nd low-bit ratechunk
-
7/28/2019 Multimedia Networks - 1- Introduction
42/101
1: Introduction 1-42
Recovery from packet loss (3)
Interleaving
chunks divided into smaller
units
for example, four 5 msec unitsper chunk
packet contains small unitsfrom different chunks
if packet lost, still have most
of every chunk no redundancy overhead, but
increases playout delay
-
7/28/2019 Multimedia Networks - 1- Introduction
43/101
1: Introduction 1-43
Content distribution networks(CDNs)
Content replication challenging to stream large files(e.g., video) from single originserver in real time
solution: replicate content athundreds of servers throughout
Internet content downloaded to CDN
servers ahead of time
placing content close touser avoids impairments
(loss, delay) of sendingcontent over long paths
CDN server typically inedge/access network
origin server
in North America
CDN distribution node
CDN server
in S. America CDN server
in Europe
CDN server
in Asia
-
7/28/2019 Multimedia Networks - 1- Introduction
44/101
1: Introduction 1-44
Content distribution networks(CDNs)Content replication
CDN (e.g., Akamai)customer is the contentprovider (e.g., CNN)
CDN replicates customers
content in CDN servers. when provider updates
content, CDN updatesservers
origin server
in North America
CDN distribution node
CDN server
in S. America CDN server
in Europe
CDN server
in Asia
-
7/28/2019 Multimedia Networks - 1- Introduction
45/101
1: Introduction 1-45
CDN example
origin server (www.foo.com)
distributes HTML
replaces:http://www.foo.com/sports.ruth.gif
withhttp://www.cdn.com/www.foo.com/sports/ruth.gif
HTTP request for
www.foo.com/sports/sports.html
DNS query for www.cdn.com
HTTP request for
www.cdn.com/www.foo.com/sports/ruth.gif
1
2
3
origin server
CDNsauthoritative
DNS server
CDN server near client
CDN company (cdn.com)
distributes gif files
uses its authoritativeDNS server to routeredirect requests
client
-
7/28/2019 Multimedia Networks - 1- Introduction
46/101
1: Introduction 1-46
More about CDNs
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
-
7/28/2019 Multimedia Networks - 1- Introduction
47/101
-
7/28/2019 Multimedia Networks - 1- Introduction
48/101
1: Introduction 1-48
Chapter 1 outline
1.1 multimedianetworking applications
1.2 streaming storedaudio and video
1.3 making the best outof best effort service
1.4 protocols for real-timeinteractive applications
RTP, RTCP, SIP
1.5 providing multipleclasses of service
1.6 providing QoSguarantees
-
7/28/2019 Multimedia Networks - 1- Introduction
49/101
1: Introduction 1-49
Real-Time Protocol (RTP)
RTP specifies packetstructure for packetscarrying audio, videodata
RFC 3550 RTP packet provides
payload typeidentification
packet sequencenumbering
time stamping
RTP runs in endsystems
RTP packetsencapsulated in UDPsegments
interoperability: if twoInternet phoneapplications run RTP,then they may be able
to work together
-
7/28/2019 Multimedia Networks - 1- Introduction
50/101
1: Introduction 1-50
RTP runs on top of UDP
RTP libraries provide transport-layer interfacethat extends UDP:
port numbers, IP addresses payload type identification
packet sequence numbering time-stamping
-
7/28/2019 Multimedia Networks - 1- Introduction
51/101
1: Introduction 1-51
RTP Example
consider sending 64
kbps PCM-encodedvoice over RTP.
application collectsencoded data in
chunks, e.g., every20 msec = 160 bytesin a chunk.
audio chunk + RTP
header form RTPpacket, which isencapsulated in UDPsegment
RTP header indicatestype of audio encodingin each packet
sender can changeencoding duringconference.
RTP header alsocontains sequencenumbers, timestamps.
-
7/28/2019 Multimedia Networks - 1- Introduction
52/101
1: Introduction 1-52
RTP and QoS
RTP does not provide any mechanism toensure timely data delivery or other QoSguarantees.
RTP encapsulation is only seen at endsystems (not) by intermediate routers.
routers providing best-effort service, making nospecial effort to ensure that RTP packets arrive
at destination in timely matter.
RTP Header
-
7/28/2019 Multimedia Networks - 1- Introduction
53/101
1: Introduction 1-53
RTP Header
Payload Type (7 bits): Indicates type of encoding currently beingused. If sender changes encoding in middle of conference, senderinforms receiver via payload type field.
Payload type 0: PCM mu-law, 64 kbpsPayload type 3, GSM, 13 kbpsPayload type 7, LPC, 2.4 kbpsPayload type 26, Motion JPEGPayload type 31. H.261Payload type 33, MPEG2 video
Sequence Number (16 bits): Increments by one for each RTP packetsent, and may be used to detect packet loss and to restore packetsequence.
RTP H d (2)
-
7/28/2019 Multimedia Networks - 1- Introduction
54/101
1: Introduction 1-54
RTP Header (2)
Timestamp field (32 bytes long): sampling instant of
first byte in this RTP data packet for audio, timestamp clock typically increments by one for
each sampling period (for example, each 125 usecs for 8KHz sampling clock)
if application generates chunks of 160 encoded samples,
then timestamp increases by 160 for each RTP packetwhen source is active. Timestamp clock continues toincrease at constant rate when source is inactive.
SSRC field (32 bits long): identifies source of t RTP stream.Each stream in RTP session should have distinct SSRC.
RTSP/RTP Programming
-
7/28/2019 Multimedia Networks - 1- Introduction
55/101
1: Introduction 1-55
RTSP/RTP ProgrammingAssignment
build a server that encapsulates storedvideo frames into RTP packets
grab video frame, add RTP headers, create UDPsegments, send segments to UDP socket
include seq numbers and time stamps
client RTP provided for you
also write client side of RTSP
issue play/pause commands server RTSP provided for you
Real-Time Control Protocol
-
7/28/2019 Multimedia Networks - 1- Introduction
56/101
1: Introduction 1-56
Real-Time Control Protocol(RTCP) works in conjunction with
RTP.
each participant in RTPsession periodicallytransmits RTCP controlpackets to all otherparticipants.
each RTCP packet containssender and/or receiverreports
report statistics useful toapplication: # packetssent, # packets lost,interarrival jitter, etc.
feedback can be used to
control performance
sender may modify itstransmissions based onfeedback
RTCP C ti d
-
7/28/2019 Multimedia Networks - 1- Introduction
57/101
1: Introduction 1-57
RTCP - Continued
each RTP session: typically a single multicast address; all RTP /RTCP packetsbelonging to session use multicast address.
RTP, RTCP packets distinguished from each other via distinct port numbers.
to limit traffic, each participant reduces RTCP traffic as number of conferenceparticipants increases
-
7/28/2019 Multimedia Networks - 1- Introduction
58/101
-
7/28/2019 Multimedia Networks - 1- Introduction
59/101
1: Introduction 1-59
Synchronization of Streams
RTCP can synchronizedifferent media streamswithin a RTP session
consider videoconferencingapp for which each sender
generates one RTP streamfor video, one for audio.
timestamps in RTP packetstied to the video, audiosampling clocks
nottied to wall-clocktime
each RTCP sender-reportpacket contains (for mostrecently generated packetin associated RTP stream):
timestamp of RTP packet
wall-clock time for whenpacket was created.
receivers uses associationto synchronize playout ofaudio, video
-
7/28/2019 Multimedia Networks - 1- Introduction
60/101
1: Introduction 1-60
RTCP Bandwidth Scaling
RTCP attempts to limit itstraffic to 5% of sessionbandwidth.
Example
Suppose one sender,
sending video at 2 Mbps.Then RTCP attempts tolimit its traffic to 100Kbps.
RTCP gives 75% of rate
to receivers; remaining25% to sender
75 kbps is equally sharedamong receivers:
with R receivers, eachreceiver gets to send RTCPtraffic at 75/R kbps.
sender gets to send RTCPtraffic at 25 kbps.
participant determines RTCPpacket transmission periodby calculating avg RTCP
packet size (across entiresession) and dividing byallocated rate
SIP: Session Initiation
-
7/28/2019 Multimedia Networks - 1- Introduction
61/101
1: Introduction 1-61
SIP: Session InitiationProtocol[RFC 3261]
SIP long-term vision:
all telephone calls, video conference calls take place overInternet
people are identified by names or e-mail addresses, ratherthan by phone numbers
you can reach callee, no matter where callee roams, nomatter what IP device callee is currently using
-
7/28/2019 Multimedia Networks - 1- Introduction
62/101
1: Introduction 1-62
SIP Services
Setting up a call, SIPprovides mechanisms..
for caller to letcallee know shewants to establisha call
so caller, callee canagree on media
type, encoding
to end call
determine current IPaddress of callee:
maps mnemonicidentifier to current IPaddress
call management:
add new media streamsduring call
change encoding during
call invite others
transfer, hold calls
ett ng up a ca to nown IP
-
7/28/2019 Multimedia Networks - 1- Introduction
63/101
1: Introduction 1-63
g paddress
Alices SIP invitemessage indicates her
port number, IP address,encoding she prefers toreceive (PCM ulaw)
Bobs 200 OK messageindicates his portnumber, IP address,preferred encoding(GSM)
SIP messages can be
sent over TCP or UDP;here sent over RTP/UDP.
default SIP portnumber is 5060.
time time
Bob's
terminal rings
Alice
167.180.112.24
Bob
193.64.210.89
port5060
port 38060
m Law audio
GSMport 48753
[email protected]=INIP4167.180.112.24m=audio38060RTP/AVP0port5060
200OK
c=INIP4193.64.210.89
m=audio48753RTP/AVP
3
ACKport5060
-
7/28/2019 Multimedia Networks - 1- Introduction
64/101
1: Introduction 1-64
Setting up a call (more) codec negotiation:
suppose Bobdoesnt have PCMulaw encoder.
Bob will instead
reply with 606 NotAcceptable Reply,listing his encodersAlice can then send
new INVITEmessage,advertising differentencoder
rejecting a call
Bob can rejectwith repliesbusy, gone,payment
required,forbidden
media can be sentover RTP or some
other protocol
Example of SIP message
-
7/28/2019 Multimedia Networks - 1- Introduction
65/101
1: Introduction 1-65
Example of SIP message
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 161.180.112.24
From: sip:[email protected]
To: sip:[email protected]
Call-ID: [email protected]
Content-Type: application/sdp
Content-Length: 885
c=IN IP4 161.180.112.24
m=audio 38060 RTP/AVP 0
Notes:
HTTP message syntax
sdp = session description protocol
Call-ID is unique for every call.
Here we dont knowBobs IP address.Intermediate SIPservers needed.
Alice sends,receives SIPmessages using SIPdefault port 506
Alice specifies inVia:header that SIP clientsends, receives SIPmessages over UDP
Name translation and user
-
7/28/2019 Multimedia Networks - 1- Introduction
66/101
1: Introduction 1-66
Name translation and userlocataion
caller wants to call callee,but only has callees nameor e-mail address.
need to get IP address ofcallees current host:
user moves around DHCP protocol
user has different IPdevices (PC, PDA, cardevice)
result can be based on:
time of day (work, home)
caller (dont want boss tocall you at home)
status of callee (calls sentto voicemail when callee is
already talking tosomeone)
Service provided by SIPservers:
SIP registrar server
SIP proxy server
i
-
7/28/2019 Multimedia Networks - 1- Introduction
67/101
1: Introduction 1-67
SIP Registrar
REGISTER sip:domain.com SIP/2.0
Via: SIP/2.0/UDP 193.64.210.89
From: sip:[email protected]
To: sip:[email protected]: 3600
when Bob starts SIP client, client sends SIP
REGISTER message to Bobs registrar server(similar function needed by Instant Messaging)
Register Message:
-
7/28/2019 Multimedia Networks - 1- Introduction
68/101
Example
-
7/28/2019 Multimedia Networks - 1- Introduction
69/101
1: Introduction 1-69
ExampleCaller [email protected] places acall to [email protected]
(1) Jim sends INVITEmessage to umass SIPproxy. (2) Proxy forwardsrequest to upennregistrar server.
(3) upenn server returnsredirect response,indicating that it shouldtry [email protected]
(4) umass proxy sends INVITE to eurecom registrar. (5) eurecom registrarforwards INVITE to 191.81.54.21, which is running keiths SIP client. (6-8)SIP response sent back (9) media sent directlybetween clients.Note: also a SIP ack message, which is not shown.
SIP client
217.123.56.89
SIP client
197.87.54.21
SIP proxy
umass.edu
SIP registrar
upenn.edu
SIP
registrar
eurecom.fr
1
2
34
5
6
7
8
9
C i ith H 323
-
7/28/2019 Multimedia Networks - 1- Introduction
70/101
1: Introduction 1-70
Comparison with H.323
H.323 is another signalingprotocol for real-time,interactive
H.323 is a complete,vertically integrated suite of
protocols for multimediaconferencing: signaling,registration, admissioncontrol, transport, codecs
SIP is a single component.
Works with RTP, but doesnot mandate it. Can becombined with otherprotocols, services
H.323 comes from the ITU(telephony).
SIP comes from IETF:Borrows much of itsconcepts from HTTP
SIP has Web flavor,whereas H.323 hastelephony flavor.
SIP uses the KISS principle:Keep it simple stupid.
Ch t 1 tli
-
7/28/2019 Multimedia Networks - 1- Introduction
71/101
1: Introduction 1-71
Chapter 1 outline
1.1 multimedia
networking applications
1.2 streaming storedaudio and video
1.3 making the best out
of best effort service
1.4 protocols for real-timeinteractive applications
RTP, RTCP, SIP
1.5 providing multiple
classes of service
1.6 providing QoSguarantees
Providing Multiple Classes of
-
7/28/2019 Multimedia Networks - 1- Introduction
72/101
1: Introduction 1-72
Providing Multiple Classes ofService thus far: making the best of best effort service
one-size fits all service model
alternative: multiple classes of service
partition traffic into classes
network treats different classes of traffic differently
(analogy: VIP service vs regular service)
0111
granularity: differentialservice among multipleclasses, not amongindividual connections
history: ToS bits
Multiple classes of service:
-
7/28/2019 Multimedia Networks - 1- Introduction
73/101
1: Introduction 1-73
Multiple classes of service:scenario
R1R2
H1
H2
H3
H41.5 Mbps linkR1 output
interfacequeue
Scenario 1: mixed FTP and
-
7/28/2019 Multimedia Networks - 1- Introduction
74/101
1: Introduction 1-74
Scenario 1: mixed FTP andaudio Example: 1Mbps IP phone, FTP share 1.5 Mbps link.
bursts of FTP can congest router, cause audio loss
want to give priority to audio over FTP
packet marking needed for router todistinguish between different classes; andnew router policy to treat packets accordinglyPrinciple 1
R1 R2
Principles for QOS Guarantees
-
7/28/2019 Multimedia Networks - 1- Introduction
75/101
1: Introduction 1-75
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)
provide protection (isolation) for one class from others
Principle 2
R1 R2
1.5 Mbps link
1 Mbpsphone
packet marking and policing
Principles for QOS Guarantees
-
7/28/2019 Multimedia Networks - 1- Introduction
76/101
1: Introduction 1-76
c p es o QOS Gua a tees(more)
Allocating fixed(non-sharable) bandwidth to flow:
inefficientuse of bandwidth if flows doesnt use itsallocation
While providing isolation, it is desirable to useresources as efficiently as possible
Principle 3
R1 R2
1.5 Mbps link
1 Mbps
phone
1 Mbps logical link
0.5 Mbps logical link
Scheduling And Policing
-
7/28/2019 Multimedia Networks - 1- Introduction
77/101
1: Introduction 1-77
g gMechanisms scheduling: choose next packet to send on link
FIFO (first in first out) scheduling: send in order of arrivalto queue
real-world example?
discard policy: if packet arrives to full queue: who to discard?
Tail drop: drop arriving packet
priority: drop/remove on priority basis
random: drop/remove randomly
Sched ling Policies mo e
-
7/28/2019 Multimedia Networks - 1- Introduction
78/101
1: Introduction 1-78
Scheduling Policies: more
Priority scheduling: transmit highest priorityqueued packet
multiple classes, with different priorities
class may depend on marking or other header info,e.g. IP source/dest, port numbers, etc..
Real world example?
Scheduling Policies: still more
-
7/28/2019 Multimedia Networks - 1- Introduction
79/101
1: Introduction 1-79
Scheduling Policies: still more
round robin scheduling:
multiple classes
cyclically scan class queues, serving one fromeach class (if available)
real world example?
Scheduling Policies: still more
-
7/28/2019 Multimedia Networks - 1- Introduction
80/101
1: Introduction 1-80
Scheduling Policies: still more
Weighted Fair Queuing:
generalized Round Robin
each class gets weighted amount of service ineach cycle
real-world example?
Policing Mechanisms
-
7/28/2019 Multimedia Networks - 1- Introduction
81/101
1: Introduction 1-81
Policing Mechanisms
Goal: limit traffic to not exceed declaredparameters
Three common-used criteria:
(Long term) Average Rate:how many pkts canbe sent per unit time (in the long run)
crucial question: what is the interval length: 100 packetsper 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 sentconsecutively (with no intervening idle)
Policing Mechanisms
-
7/28/2019 Multimedia Networks - 1- Introduction
82/101
1: Introduction 1-82
Policing Mechanisms
Token Bucket: limit input to specified Burst Size and Average
Rate.
bucket can hold b tokens
tokens generated at rate r token/secunless bucket full
over interval of length t: number of packets admitted lessthan or equal to (r t + b).
Policing Mechanisms (more)
-
7/28/2019 Multimedia Networks - 1- Introduction
83/101
1: Introduction 1-83
Policing Mechanisms (more)
token bucket, WFQ combine to provideguaranteed upper bound on delay, i.e., QoSguarantee!
WFQ
token rate, rbucket size, b
per-flowrate, R
D = b/Rmax
arriving
traffic
IETF Differentiated Services
-
7/28/2019 Multimedia Networks - 1- Introduction
84/101
1: Introduction 1-84
IETF Differentiated Services
want qualitative service classes
behaves like a wire
relative service distinction: Platinum, Gold, Silver
scalability: simple functions in network core,relatively complex functions at edge routers
(or hosts) signaling, maintaining per-flow router state difficult
with large number of flows
dont define define service classes, provide
functional components to build service classes
-
7/28/2019 Multimedia Networks - 1- Introduction
85/101
Edge-router Packet Marking
-
7/28/2019 Multimedia Networks - 1- Introduction
86/101
1: Introduction 1-86
Edge router Packet Marking
class-based marking: packets of different classes markeddifferently
intra-class marking: conforming portion of flow markeddifferently than non-conforming one
profile: pre-negotiatedrate A, bucket size B
packet marking at edge based on per-flow profile
Possible usage of marking:
User packets
Rate AB
Classification and Conditioning
-
7/28/2019 Multimedia Networks - 1- Introduction
87/101
1: Introduction 1-87
Classification and Conditioning
Packet is marked in the Type of Service(TOS) in IPv4, and Traffic Class in IPv6
6 bits used for Differentiated ServiceCode Point (DSCP) and determine PHB
that the packet will receive 2 bits are currently unused
Classification and Conditioning
-
7/28/2019 Multimedia Networks - 1- Introduction
88/101
1: Introduction 1-88
Classification and Conditioning
may be desirable to limit traffic injection rate ofsome class:
user declares traffic profile (e.g., rate, burst size)
traffic metered, shaped if non-conforming
Forwarding (PHB)
-
7/28/2019 Multimedia Networks - 1- Introduction
89/101
1: Introduction 1-89
Forwarding (PHB)
PHB result in a different observable(measurable) forwarding performancebehavior
PHB does not specify what mechanisms touse to ensure required PHB performancebehavior
Examples:
Class A gets x% of outgoing link bandwidth overtime intervals of a specified length
Class A packets leave first before packets fromclass B
Forwarding (PHB)
-
7/28/2019 Multimedia Networks - 1- Introduction
90/101
1: Introduction 1-90
Forwarding (PHB)
PHBs being developed: Expedited Forwarding: pkt departure rate
of a class equals or exceeds specified rate
logical link with a minimum guaranteed rate
Assured Forwarding: 4 classes of traffic
each guaranteed minimum amount ofbandwidth
each with three drop preference partitions
Chapter 1 outline
-
7/28/2019 Multimedia Networks - 1- Introduction
91/101
1: Introduction 1-91
Chapter 1 outline
1.1 multimedia
networking applications1.2 streaming stored
audio and video
1.3 making the best out
of best effort service1.4 protocols for real-time
interactive applications
RTP, RTCP, SIP
1.5 providing multiple
classes of service
1.6 providing QoSguarantees
Principles for QOS Guarantees
-
7/28/2019 Multimedia Networks - 1- Introduction
92/101
1: Introduction 1-92
(more)
Basic fact of life: can not support trafficdemands beyond link capacity
Call Admission: flow declares its needs, network mayblock call (e.g., busy signal) if it cannot meet needs
Principle 4
R1R2
1.5 Mbps link
1 Mbpsphone
1 Mbpsphone
QoS guarantee scenario
-
7/28/2019 Multimedia Networks - 1- Introduction
93/101
1: Introduction 1-93
QoS guarantee scenario
Resource reservation
call setup, signaling (RSVP)
traffic, QoS declaration
per-element admission control
QoS-sensitivescheduling (e.g.,WFQ)
request/reply
-
7/28/2019 Multimedia Networks - 1- Introduction
94/101
1: Introduction 1-94
IETF Integrated Services
architecture for providing QOS guarantees inIP networks for individual application sessions
resource reservation: routers maintain stateinfo (a la VC) of allocated resources, QoS reqs
admit/deny new call setup requests:
Question: can newly arriving flow be admitted
with performance guarantees while not violatedQoS guarantees made to already admitted flows?
Call Admission
-
7/28/2019 Multimedia Networks - 1- Introduction
95/101
1: Introduction 1-95
Call Admission
Arriving session must : declare its QOS requirement
R-spec: defines the QOS being requested
characterize traffic it will send into
network T-spec: defines traffic characteristics
signaling protocol: needed to carry R-
spec and T-spec to routers (wherereservation is required)
RSVP
Intserv QoS: Service models [rfc2211,
-
7/28/2019 Multimedia Networks - 1- Introduction
96/101
1: Introduction 1-96
rfc 2212]
Guaranteed service:
worst case traffic arrival:leaky-bucket-policed source
simple (mathematicallyprovable) boundon delay[Parekh 1992, Cruz 1988]
Controlled load service:
"a quality of serviceclosely approximating theQoS that same flow wouldreceive from an unloaded
network element."
WFQ
token rate, rbucket size, b
per-flow
rate, RD = b/R
max
arriving
traffic
Signaling in the Internet
-
7/28/2019 Multimedia Networks - 1- Introduction
97/101
1: Introduction 1-97
Signaling in the Internet
connectionless(stateless)
forwarding by IProuters
best effortservice
no networksignalingprotocols
in initial IPdesign
+ =
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 inrobust and efficient way. i.e., signaling !
earlier Internet Signaling protocol: ST-II [RFC 1819]
RSVP Design Goals
-
7/28/2019 Multimedia Networks - 1- Introduction
98/101
1: Introduction 1-98
RSVP Design Goals
1. accommodate heterogeneous receivers(different bandwidth along paths)
2. accommodate different applications withdifferent resource requirements
3. make multicast a first class service, with
adaptation to multicast group membership4. leverage existing multicast/unicast routing, with
adaptation to changes in underlying unicast,multicast routes
5. control protocol overhead to grow (at worst)
linear in # receivers6. modular design for heterogeneous underlying
technologies
RSVP: does not
-
7/28/2019 Multimedia Networks - 1- Introduction
99/101
1: Introduction 1-99
RSVP: does not
specify how resources are to be reserved
rather: a mechanism for communicating needs
determine routes packets will take
thats the job of routing protocols
signaling decoupled from routing
interact with forwarding of packets
separation of control (signaling) and data
(forwarding) planes
RSVP: overview of operation
-
7/28/2019 Multimedia Networks - 1- Introduction
100/101
1: Introduction 1-100
RSVP: overview of operation
senders, receiver join a multicast group
done outside of RSVP senders need not join group
sender-to-network signaling
path message: make sender presence known to routers
path teardown: delete senders 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
Chapter 1: Summary
-
7/28/2019 Multimedia Networks - 1- Introduction
101/101
Chapter 1: Summary
Principles classify multimedia applications
identify network services applications need
making the best of best effort service
Protocols and Architectures
specific protocols for best-effort
mechanisms for providing QoS
architectures for QoS
multiple classes of service
QoS guarantees, admission control