230 likes | 248 Views
CS 1652. Jack Lange University of Pittsburgh. QoS. network provides application with level of performance needed for application to function. Multimedia and Quality of Service: What is it?. multimedia applications: network audio and video (“continuous media”).
E N D
CS 1652 Jack Lange University of Pittsburgh
QoS network provides application with level of performance needed for application to function. Multimedia and Quality of Service: What is it? multimedia applications: network audio and video (“continuous media”) 7: Multimedia Networking
Fundamental characteristics: typically delaysensitive 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 streaming 2) live streaming 3) interactive, real-time MM Networking Applications • Jitter is the variability • of packet delays within • the same packet stream 7: Multimedia Networking
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
2. video sent 3. video received, played out at client 1. video recorded network delay streaming: at this time, client playing out early part of video, while server still sending later part of video Streaming Stored Multimedia: What is it? Cumulative data time 7: Multimedia Networking
client video reception constant bit rate video playout at client variable network Delay (jitter) buffered video client playout delay Streaming Multimedia: Client Buffering • client-side buffering, playout delay compensate for network-added delay, delay jitter constant bit rate video transmission Cumulative data time 7: Multimedia Networking
Streaming Multimedia: Client Buffering • client-side buffering, playout delay compensate for network-added delay, delay jitter constant drain rate, d variable fill rate, x(t) buffered video 7: Multimedia Networking
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
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
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
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
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’ 7: Multimedia Networking
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 Content distribution networks (CDNs) origin server in North America CDN distribution node CDN server in S. America CDN server in Asia CDN server in Europe 7: Multimedia Networking
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 CDN example HTTP request for www.foo.com/sports/sports.html origin server 1 DNS query for www.cdn.com 2 CDN’s authoritative DNS server client 3 HTTP request for www.cdn.com/www.foo.com/sports/ruth.gif CDN server near client CDN company (cdn.com) • distributes gif files • uses its authoritative DNS server to route redirect requests 7: Multimedia Networking
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
Finding an Address • Do not require anyone to provide an address • No network administrator • No DHCP server • Step 1: Select a randomaddress • 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
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
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
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
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 Content distribution networks (CDNs) origin server in North America CDN distribution node CDN server in S. America CDN server in Asia CDN server in Europe 7: Multimedia Networking
? ? ? ? ? ? ? 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 Multimedia Over Today’s Internet TCP/UDP/IP: “best-effort service” • no guarantees on delay, loss 7: Multimedia Networking
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