Tuesday, November 27th - University of Pittsburgh
Download
Report
Transcript Tuesday, November 27th - University of Pittsburgh
November 27th, 2012
CS1652
Jack Lange
University 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
Multimedia and Quality of Service: What is it?
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-3
Multimedia Networking
Application
4
MM Networking Applications
Classes of MM applications:
1) stored streaming
2) live streaming
3) interactive, real-time
Fundamental
characteristics:
typically delay sensitive
end-to-end delay
delay jitter
loss tolerant: infrequent
Jitter is the variability
of packet delays within
the same packet stream
losses cause minor
glitches
antithesis of bulk data,
which is loss intolerant
but delay tolerant.
7: Multimedia Networking
7-5
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-6
Streaming Stored Multimedia:
What is it?
1. video
recorded
2. video
sent
network
delay
3. video received,
played out at client
time
streaming: at this time, client
playing out early part of video,
while server still sending later
part of video
7: Multimedia Networking
7-7
Streaming Multimedia: Client Buffering
variable
network
Delay
(jitter)
client video
reception
constant bit
rate video
playout at client
buffered
video
constant bit
rate video
transmission
time
client playout
delay
client-side buffering, playout delay compensate
for network-added delay, delay jitter
7: Multimedia Networking
7-8
Streaming Multimedia: Client Buffering
constant
drain
rate, d
variable fill
rate, x(t)
buffered
video
client-side buffering, playout delay compensate
for network-added delay, delay jitter
7: Multimedia Networking
7-9
Streaming Live Multimedia
Examples:
Internet radio talk show
live sporting event
Streaming (as with streaming stored multimedia)
playback buffer
playback can lag tens of seconds after
transmission
still have timing constraint
Interactivity
fast forward impossible
rewind, pause possible
7: Multimedia Networking 7-10
Real-Time Interactive Multimedia
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?
7: Multimedia Networking
7-11
Multimedia Over Today’s Internet
TCP/UDP/IP: “best-effort service”
no guarantees on delay, loss
?
?
?
?
?
?
?
?
But multimedia apps require
QoS and level of performance to be
? effective!
?
?
Today’s Internet multimedia applications
use application-level techniques to mitigate
(as best possible) effects of delay, loss
7: Multimedia Networking 7-12
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; endsystem (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-13
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-14
Fixed Playout Delay
• 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’
packets
loss
packets
generated
packets
received
playout schedule
p' - r
playout schedule
p-r
time
r
p
p'
7: Multimedia Networking 7-15
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 server
in S. America CDN server
in Europe
CDN server
in Asia
7: Multimedia Networking 7-16
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 server
in S. America CDN server
in Europe
CDN server
in Asia
7: Multimedia Networking 7-17
CDN example
HTTP request for
www.foo.com/sports/sports.html
origin server
1
2
client
3
DNS query for www.cdn.com
CDN’s authoritative
DNS server
HTTP request for
www.cdn.com/www.foo.com/sports/ruth.gif
CDN server near client
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
CDN company (cdn.com)
distributes gif files
uses its authoritative
DNS server to route
redirect requests
7: Multimedia Networking 7-18
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
7: Multimedia Networking 7-19
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