Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Pittsburgh

Similar presentations


Presentation on theme: "University of Pittsburgh"— Presentation transcript:

1 University of Pittsburgh
CS 1652 Jack Lange University of Pittsburgh

2 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 7: Multimedia Networking

3 Multimedia Networking Application

4 Multimedia networking: 3 application types
streaming, stored audio, video streaming: can begin playout before downloading entire file stored (at server): can transmit faster than audio/video will be rendered (implies storing/buffering at client) e.g., YouTube, Netflix, Hulu conversational voice/video over IP interactive nature of human-to-human conversation limits delay tolerance e.g., Skype streaming live audio, video e.g., live sporting event Multimedia Networking

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. Jitter is the variability of packet delays within the same packet stream 7: Multimedia Networking

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 Streaming Stored Multimedia: What is it?
streaming: at this time, client playing out early part of video, while server still sending later part of video 3. video received, played out at client Cumulative data 2. video sent 1. video recorded network delay time 7: Multimedia Networking

8 Streaming Multimedia: Client Buffering
constant bit rate video transmission variable network Delay (jitter) client video reception constant bit rate video playout at client client playout delay Cumulative data buffered video time client-side buffering, playout delay compensate for network-added delay, delay jitter 7: Multimedia Networking

9 Client-side buffering, playout
buffer fill level, Q(t) variable fill rate, x(t) playout rate, e.g., CBR r client application buffer, size B video server client Multimedia Networking

10 Streaming multimedia: HTTP
multimedia file retrieved via HTTP GET send at maximum possible rate under TCP fill rate fluctuates due to TCP congestion control, retransmissions (in-order delivery) larger playout delay: smooth TCP delivery rate HTTP/TCP passes more easily through firewalls variable rate, x(t) video file TCP send buffer TCP receive buffer application playout buffer server client Multimedia Networking

11 Voice-over-IP (VoIP) VoIP end-end-delay requirement: needed to maintain “conversational” aspect higher delays noticeable, impair interactivity < 150 msec: good > 400 msec bad includes application-level (packetization, playout), network delays session initialization: how does callee advertise IP address, port number, encoding algorithms? value-added services: call forwarding, screening, recording emergency services: 911 Multimedia Networking

12 VoIP: packet loss, 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, loss concealment, packet loss rates between 1% and 10% can be tolerated Multimedia Networking

13 VoIP: 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 Multimedia Networking

14 VoIP: 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’ Multimedia Networking

15 Video Streaming and CDNs: context
video traffic: major consumer of Internet bandwidth Netflix, YouTube: 37%, 16% of downstream residential ISP traffic ~1B YouTube users, ~75M Netflix users challenge: scale - how to reach ~1B users? single mega-video server won’t work challenge: heterogeneity different users have different capabilities (e.g., wired versus mobile; bandwidth rich versus bandwidth poor) solution: distributed, application-level infrastructure Application Layer

16 Content distribution networks
challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users? option 1: single, large “mega-server” single point of failure point of network congestion long path to distant clients multiple copies of video sent over outgoing link ….quite simply: this solution doesn’t scale Application Layer

17 Content distribution networks
challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users? option 2: store/serve multiple copies of videos at multiple geographically distributed sites (CDN) enter deep: push CDN servers deep into many access networks close to users used by Akamai, 1700 locations bring home: smaller number (10’s) of larger clusters in POPs near (but not within) access networks used by Limelight Application Layer

18 Content Distribution Networks (CDNs)
CDN: stores copies of content at CDN nodes e.g. Netflix stores copies of MadMen subscriber requests content from CDN directed to nearby copy, retrieves content may choose different copy if network path congested Akamai: 100,000+ servers in clusters in networks in 70+ countries serving trillions of requests a day. How many people use Netflix? manifest file where’s Madmen? Application Layer 18

19 Case study: Netflix upload copies of multiple versions of video to CDN servers Amazon cloud CDN server Netflix registration, accounting servers 3. Manifest file returned for requested video CDN server 2. Bob browses Netflix video 2 3 1 CDN server 1. Bob manages Netflix account 4. DASH streaming Application Layer

20 CDN content access: a closer look
Bob (client) requests video video stored in CDN at 1. Bob gets URL for video from netcinema.com web page 1 2. resolve via Bob’s local DNS 2 6. request video from KINGCDN server, streamed via HTTP 5 Bob’s local DNS server netcinema.com 3. netcinema’s DNS returns URL 4&5. Resolve via KingCDN’s authoritative DNS, which returns IP address of KingCDN server with video 4 3 netcinema’s authoratative DNS KingCDN.com KingCDN authoritative DNS Application Layer

21 VLANs

22 VLANs: motivation consider:
CS user moves office to EE, but wants connect to CS switch? single broadcast domain: all layer-2 broadcast traffic (ARP, DHCP, unknown location of destination MAC address) must cross entire LAN security/privacy, efficiency issues Computer Science Computer Engineering Electrical Engineering Link Layer and LANs

23 VLANs port-based VLAN: switch ports grouped (by switch management software) so that single physical switch …… Virtual Local Area Network 1 7 9 15 2 8 10 16 switch(es) supporting VLAN capabilities can be configured to define multiple virtual LANS over single physical LAN infrastructure. Electrical Engineering (VLAN ports 1-8) Computer Science (VLAN ports 9-15) Electrical Engineering (VLAN ports 1-8) 1 8 2 7 9 16 10 15 Computer Science (VLAN ports 9-16) … operates as multiple virtual switches Link Layer and LANs

24 Electrical Engineering
Port-based VLAN router traffic isolation: frames to/from ports 1-8 can only reach ports 1-8 can also define VLAN based on MAC addresses of endpoints, rather than switch port forwarding between VLANS: done via routing (just as with separate switches) in practice vendors sell combined switches plus routers 1 7 9 15 2 8 10 16 dynamic membership: ports can be dynamically assigned among VLANs Electrical Engineering (VLAN ports 1-8) Computer Science (VLAN ports 9-15) Link Layer and LANs

25 VLANS spanning multiple switches
1 7 9 16 1 15 3 5 7 2 8 10 2 4 6 8 Electrical Engineering (VLAN ports 1-8) Computer Science (VLAN ports 9-15) Ports 2,3,5 belong to EE VLAN Ports 4,6,7,8 belong to CS VLAN trunk port: carries frames between VLANS defined over multiple physical switches frames forwarded within VLAN between switches can’t be vanilla frames (must carry VLAN ID info) 802.1q protocol adds/removed additional header fields for frames forwarded between trunk ports Link Layer and LANs

26 802.1Q VLAN frame format 802.1 frame 802.1Q frame
type dest. address source address preamble data (payload) CRC 802.1 frame type dest. address source preamble 802.1Q frame data (payload) CRC 2-byte Tag Protocol Identifier (value: 81-00) Recomputed CRC Tag Control Information (12 bit VLAN ID field, 3 bit priority field like IP TOS) Link Layer and LANs

27 ZeroConf Multimedia Networking

28 ZeroConf Networking What: Only need to plug computer into network
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

29 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

30 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 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

31 Multicast DNS Dedicated TLD: .local
Dedicated Multicast Address: 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

32 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


Download ppt "University of Pittsburgh"

Similar presentations


Ads by Google