november 27 th, 2012 cs1652 jack lange university of pittsburgh 1
TRANSCRIPT
November 27th, 2012CS1652
Jack LangeUniversity of Pittsburgh
1
OMET Question
Compared to other Pitt CS classes I learned: (1) Much Less (2) Slightly Less (3) The same amount (4) Slightly More (5) A lot more
7: Multimedia Networking 7-2
7: Multimedia Networking 7-3
Multimedia and Quality of Service: What is it?
multimedia applications: network audio and video(“continuous media”)
network provides application with level of performance needed for application to function.
QoS
Multimedia Networking Application
4
7: Multimedia Networking 7-5
MM Networking Applications
Fundamental characteristics:
typically delay sensitive end-to-end delay delay jitter
loss tolerant: infrequent losses cause minor glitches
antithesis of bulk data, which is loss intolerant but delay tolerant.
Classes of MM applications:
1) stored streaming2) live streaming3) interactive, real-time
Jitter is the variability of packet delays within the same packet stream
7: Multimedia Networking 7-6
Streaming Stored Multimedia
Stored 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
7: Multimedia Networking 7-7
Streaming Stored Multimedia: What is it?
1. videorecorded
2. videosent
3. video received,played out at client
Cum
ula
tive
data
streaming: at this time, client playing out early part of video, while server still sending laterpart of video
networkdelay
time
7: Multimedia Networking 7-8
constant bit rate videotransmission
Cum
ula
tive
data
time
variablenetworkDelay(jitter)
client videoreception
constant bit rate video playout at client
client playoutdelay
bu
ffere
dvid
eo
Streaming Multimedia: Client Buffering
client-side buffering, playout delay compensate for network-added delay, delay jitter
7: Multimedia Networking 7-9
Streaming Multimedia: Client Buffering
client-side buffering, playout delay compensate for network-added delay, delay jitter
bufferedvideo
variable fillrate, x(t)
constant drainrate, d
7: Multimedia Networking 7-10
Streaming Live Multimedia
Examples: Internet radio talk show live sporting eventStreaming (as with streaming stored multimedia) playback buffer playback can lag tens of seconds after
transmission still have timing constraintInteractivity fast forward impossible rewind, pause possible
7: Multimedia Networking 7-11
Real-Time Interactive Multimedia
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?
applications: IP telephony, video conference, distributed interactive worlds
7: Multimedia Networking 7-12
Multimedia Over Today’s InternetTCP/UDP/IP: “best-effort service” no guarantees on delay, loss
Today’s Internet multimedia applications use application-level techniques to mitigate
(as best possible) effects of delay, loss
But multimedia apps requireQoS and level of performance to be
effective!
?? ???
?
? ??
?
?
7: Multimedia Networking 7-13
Internet Phone: Packet Loss and Delay
network loss: IP datagram lost due to network congestion (router buffer overflow)
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 voice encoding, losses concealed, packet loss rates between 1% and 10% can be tolerated.
7: Multimedia Networking 7-14
Internet Phone: Fixed Playout Delay
receiver attempts to playout each chunk exactly q msecs after chunk was generated. 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: Multimedia Networking 7-15
Fixed Playout Delay
packets
tim e
packetsgenerated
packetsreceived
loss
r
p p '
playout schedulep' - r
playout schedulep - 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: Multimedia Networking 7-16
Content distribution networks (CDNs)
Content replication challenging to stream large
files (e.g., video) from single origin server in real time
solution: replicate content at hundreds of servers throughout Internet content downloaded to
CDN servers ahead of time placing content “close” to
user avoids impairments (loss, delay) of sending content over long paths
CDN server typically in edge/access network
origin server in North America
CDN distribution node
CDN serverin S. America CDN server
in Europe
CDN serverin Asia
7: Multimedia Networking 7-17
Content distribution networks (CDNs)
Content replication CDN (e.g., Akamai)
customer is the content provider (e.g., CNN)
CDN replicates customers’ content in CDN servers.
when provider updates content, CDN updates servers
origin server in North America
CDN distribution node
CDN serverin S. America CDN server
in Europe
CDN serverin Asia
7: Multimedia Networking 7-18
CDN example
origin server (www.foo.com) distributes HTML replaces: http://www.foo.com/sports.ruth.gif
with
http://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
CDN’s authoritative DNS server
CDN server near client
CDN company (cdn.com)
distributes gif files uses its authoritative
DNS server to route redirect requests
client
7: Multimedia Networking 7-19
Summary: Internet Multimedia: bag of tricks use UDP to avoid TCP congestion control
(delays) for time-sensitive traffic
client-side adaptive playout delay: to compensate for delay
server side matches stream bandwidth to available client-to-server path bandwidth chose among pre-encoded stream rates dynamic server encoding rate
error recovery (on top of UDP) FEC, interleaving, error concealment retransmissions, time permitting
CDN: bring content closer to clients
ZeroConf Networking
What: Non-administered networks Full Plug-and-Play architecture No centralized services to configure (DNS, DHCP,
etc)
Only need to plug computer into network Automatically assigns address Automatically discovers services Automatically negotiates protocols and connections
For local networks mostly Not easy to allow external (internet) connectivity
7: Multimedia Networking 7-20
Finding an Address
Do not require anyone to provide an address No network administrator No DHCP server
Step 1: Select a random address Special range dedicated to internal zeroconf
networks
Step 2: Probe to check if address is already taken How?
Step 3: Assign address to interface
7: Multimedia Networking 7-21
What is multicast
So far we’ve talked about unicast and broadcast Multicast is “in between”
Each interface has an IP address But also selectively listens for multicast addresses
Each network device has MAC address But also selectively listens for multicast addresses
One host can send a packet to anyone who wants to receive it Mechanism for self defined group communication TCP doesn’t really work, but UDP is fine
7: Multimedia Networking 7-22
Multicast DNS
Dedicated TLD: .local Dedicated Multicast Address: 224.0.0.251
Send out a DNS request to a multicast group If a group member has that name they respond
Example When you buy a new computer you give it a name
• E.g. “My Mac Laptop” The DNS address is now “My Mac Laptop.local”
• If someone queries for that hostname your laptop responds
• Sort of like an ARP query
7: Multimedia Networking 7-23
Service Discovery
Service Discovery extension to DNS (DNS-SD) DNS used to identify services (not computers) Based on Multicast
Special domain name format Instance.ServiceType.Domain E.g. My iTunes._daap._tcp.local
Query for ServiceTypes Enumerate all instances of a service
DNS is based on Multicast! So we can send a query for _daap._tcp.local to
EVERYONE! If a computer is running a given service they respond
with their instance name
7: Multimedia Networking 7-24