Multimedia Networking

Similar documents
CS 457 Multimedia Applications. Fall 2014

Mul$media Streaming. Digital Audio and Video Data. Digital Audio Sampling the analog signal. Challenges for Media Streaming.

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Chapter 7 Multimedia Networking

Streaming (Multi)media

Networking Applications

Week-12 (Multimedia Networking)

Multimedia Networking

CSC 4900 Computer Networks: Multimedia Applications

Multimedia Networking

Tema 0: Transmisión de Datos Multimedia

Digital Asset Management 5. Streaming multimedia

Mohammad Hossein Manshaei 1393

Multimedia: video ... frame i+1

Chapter 5 VoIP. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March Multmedia Networking

CS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007

MULTIMEDIA I CSC 249 APRIL 26, Multimedia Classes of Applications Services Evolution of protocols

Real-Time Protocol (RTP)

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Introduction to LAN/WAN. Application Layer 4

Multimedia Networking. Network Support for Multimedia Applications

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

Multimedia Networking

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

of-service Support on the Internet

ITEC310 Computer Networks II

Advanced Computer Networks

Content distribution networks

Multimedia Networking

Multimedia Applications. Classification of Applications. Transport and Network Layer

Network Layer Enhancements

Computer Networks. Wenzhong Li. Nanjing University

Multimedia networking: outline

Multimedia Applications over Packet Networks

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

CS519: Computer Networks. Lecture 9: May 03, 2004 Media over Internet

Multimedia Networking and Quality of Service

Transporting audio-video. over the Internet

Real-Time Control Protocol (RTCP)

CMSC 322 Computer Networks Applications and End-To- End

Mohammad Hossein Manshaei 1393

The Transport Layer: User Datagram Protocol

Week 7: Traffic Models and QoS

Quality of Service. Qos Mechanisms. EECS 122: Lecture 15

Lecture 9: Media over IP

Today. March 7, 2006 EECS122 Lecture 15 (AKP) 4. D(t) Scheduling Discipline. March 7, 2006 EECS122 Lecture 15 (AKP) 5

Lecture 11. Transport Layer (cont d) Transport Layer 1

A common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Multimedia

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Multicast and Quality of Service. Internet Technologies and Applications

CSC 4900 Computer Networks: End-to-End Design

Goal and A sample Network App

Distributed Multimedia Systems. Introduction

ETSF10 Internet Protocols Transport Layer Protocols

CSC 401 Data and Computer Communications Networks

CS 528 Mobile and Ubiquitous Computing Lecture 4a: Playing Sound and Video Emmanuel Agu

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Multimedia Applications: Streaming. Hamid R. Rabiee Mostafa Salehi, Fatemeh Dabiran, Hoda Ayatollahi Spring 2011

Network Support for Multimedia

Multimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!

Part 3: Lecture 3! Content and multimedia!

Multimedia networking: outline

Service/company landscape include 1-1

Chapter 28. Multimedia

Multimedia in the Internet

Quality of Service (QoS)

Transporting Voice by Using IP

Internet Video Delivery. Professor Hui Zhang

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach

UNIT IV -- TRANSPORT LAYER

Megapixel Networking 101. Why Megapixel?

The Diffie-Hellman Key Exchange

Lecture 17: Distributed Multimedia

Video Streaming and Media Session Protocols

Multimedia Networking. Protocols for Real-Time Interactive Applications

ELEC 691X/498X Broadcast Signal Transmission Winter 2018

ETSF10 Internet Protocols Transport Layer Protocols

Network Management & Monitoring

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Introduction to Quality of Service

Latency and Loss Requirements! Receiver-side Buffering! Dealing with Loss! Loss Recovery!

Mohammad Hossein Manshaei 1393

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

DiffServ Architecture: Impact of scheduling on QoS

Chapter 5 Link Layer. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Lecture 14: Performance Architecture

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Computer Networking. Queue Management and Quality of Service (QOS)

CE 443: Computer Networks

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Page 1. Outline / Computer Networking : 1 st Generation Commercial PC/Packet Video Technologies

Flow and Congestion Control

Kommunikationssysteme [KS]

CS 3516: Advanced Computer Networks

Alcatel OmniPCX Enterprise

Lecture 24: Scheduling and QoS

Introduction to VoIP. Cisco Networking Academy Program Cisco Systems, Inc. All rights reserved. Cisco Public. IP Telephony

Transcription:

CE443 Computer Networks Multimedia Networking Behnam Momeni Computer Engineering Department Sharif University of Technology Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides are obtained from other sources, a reference will be noted on the bottom of that slide. A full list of references is provided on the last slide.

Digital Audio and Video Data 3

Challenges for Media Streaming Large volume of data Each sample is a sound or an image Many samples per second Volume of data may vary over time Due to compression of the data Cannot tolerate much variation in delay Once playout starts, need to keep playing Sometimes cannot tolerate much delay, period For interactive applications (e.g., VoIP and gaming) Though some loss is acceptable 4

Digital Audio Sampling the analog signal Sample at some fixed rate Each sample is an arbitrary real number Quantizing each sample Round each sample to one of a finite number of values Represent each sample in a fixed number of bits 4 bit representation (values 0-15) 5

Audio Examples Speech Sampling rate: 8000 samples/second Sample size: 8 bits per sample Rate: 64 kbps Compact Disc (CD) Sampling rate: 44,100 samples/second Sample size: 16 bits per sample Rate: 705.6 kbps for mono, 1.411 Mbps for stereo 6

Audio Compression Audio data requires too much bandwidth Speech: 64 kbps is too high for a dial-up modem user Stereo music: 1.411 Mbps exceeds most access rates Compression to reduce the size Remove redundancy Remove details that human tend not to perceive Example audio formats Speech: GSM (13 kbps), G.729 (8 kbps), and G.723.3 (6.4 and 5.3 kbps) Stereo music: MPEG 1 layer 3 (MP3) at 96 kbps, 128 kbps, and 160 kbps 7

Digital Video Sampling the analog signal Sample at some fixed rate (e.g., 24 or 30 times per sec) Each sample is an image Quantizing each sample Representing an image as an array of picture elements Each pixel is a mixture of colors (red, green, and blue) E.g., 24 bits, with 8 bits per color 8

The 2272 x 1704 hand The 320 x 240 hand 9

Video Compression: Within an Image Image compression Exploit spatial redundancy (e.g., regions of same color) Exploit aspects humans tend not to notice Common image compression formats Joint Pictures Expert Group (JPEG) Graphical Interchange Format (GIF) Uncompressed: 167 KB Good quality: 46 KB Poor quality: 9 KB 10

Video Compression: Across Images Compression across images Exploit temporal redundancy across images Common video compression formats MPEG 1: CD-ROM quality video (1.5 Mbps) MPEG 2: high-quality DVD video (3-6 Mbps) Proprietary protocols like QuickTime and RealNetworks 11

Streaming Over the Internet 12

Transferring Audio and Video Data Simplest case: just like any other file Audio and video data stored in a file File downloaded using conventional protocol Playback does not overlap with data transfer A variety of more interesting scenarios Live vs. pre-recorded content Interactive vs. non-interactive Single receiver vs. multiple receivers Examples Streaming audio and video data from a server Interactive audio in a phone call 13

Streaming Stored Audio and Video Client-server system Server stores the audio and video files Clients request files, play them as they download, and perform VCR-like functions (e.g., rewind and pause) Playing data at the right time Server divides the data into segments and labels each segment with timestamp or frame id so the client knows when to play the data Avoiding starvation at the client The data must arrive quickly enough otherwise the client cannot keep playing 14

Playout Buffer Client buffer Store the data as it arrives from the server Play data for the user in a continuous fashion Playout delay Client typically waits a few seconds to start playing to allow some data to build up in the buffer to help tolerate some delays down the road 15

Influence of Playout Delay 16

Requirements for Data Transport Delay Some small delay at the beginning is acceptable E.g., start-up delays of a few seconds are okay Jitter Variability of packet delay within the same packet stream Client cannot tolerate high variation if the buffer starves Loss Small amount of missing data does not disrupt playback Retransmitting a lost packet might take too long anyway 17

Streaming From Web Servers Data stored in a file Audio: an audio file Video: interleaving of audio and images in a single file HTTP request-response TCP connection between client and server Client HTTP request and server HTTP response Client invokes the media player Content-type indicates the encoding Browser launches the media player Media player then renders the file 18

Initiating Streams from Web Servers Avoid passing all data through the Web browser Web server returns a meta file describing the object Browser launches media player and passes the meta file The player sets up its own connection to the Web server 19

Using a Streaming Server Avoiding the use of HTTP (and perhaps TCP, too) Web server returns a meta file describing the object Player requests the data using a different protocol 20

TCP is Not a Good Fit Reliable delivery Retransmission of lost packets even though retransmission may not be useful Adapting the sending rate Slowing down after a packet loss even though it may cause starvation at the client Protocol overhead TCP header of 20 bytes in every packet which is large for sending audio samples Sending ACKs for every other packet which may be more feedback than needed 21

Better Ways of Transporting Data User Datagram Protocol (UDP) No automatic retransmission of lost packets No automatic adaptation of sending rate Smaller packet header UDP leaves many things to the application When to transmit the data How to encapsulate the data Whether to retransmit lost data Whether to adapt the sending rate or adapt quality of the audio/video encoding 22

Recovering From Packet Loss Loss is defined in a broader sense Does a packet arrive in time for playback? A packet that arrives late is as good as lost Retransmission is not useful if deadline passed Selective retransmission Sometimes retransmission is acceptable E.g., if client has not already started playing data Data can be retransmitted within time constraint Could do Forward Error Correction (FEC) Send redundant info so receiver can reconstruct 23

YouTube: HTTP, TCP, and Flash Flash videos All uploaded videos converted to Flash format Nearly every browser has a Flash plug-in avoids need for users to install players HTTP/TCP Implemented in every browser Easily gets through most firewalls Keep It Simple, Stupid Simplicity more important than video quality 24

YouTube Load-Balancing Architecture 25

Interactive Applications 26

Interactive Audio and Video Two or more users interacting Telephone call Video conference Video game Strict delay constraints Delays over 150-200 msec are very noticeable delays over 400 msec are a disaster for voice Much harder than streaming applications Receiver cannot introduce much playout delay Difficult if network doesn t guarantee performance 27

Voice Over IP (VoIP) Delivering phone calls over IP Computer to computer Analog phone to/from computer Analog phone to analog phone Motivations for VoIP Cost reduction Simplicity Advanced applications Web-enabled call centers Collaborative white boarding Do Not Disturb, Locate Me, etc. Voicemail sent as e-mail 28

Traditional Telecom Infrastructure 7040 External line 212-8538080 7041 7042 Corporate/Campus Private Branch Exchange Telephone switch Another switch 7043 Corporate/Campus LAN Internet 29

VoIP Gateways 7041 7040 Corporate/Campus External line PBX Another campus PBX 8151 8152 7042 7043 VoIP Gateway VoIP Gateway 8154 8153 LAN Internet LAN IP Phone Client 30

VoIP With an Analog Phone Adapter Converts between analog and digital Sends and receives data packets Communicates with the phone in standard way 31

Skype Niklas Zennström and Janus Friis in 2003 Developed by KaZaA Instant Messenger (IM) with voice support Based on peer-to-peer (P2P) networking technology 32

Skype Network Architecture Login server is the only central server (consisting of multiple machines) Both ordinary host and super nodes are Skype clients Any node with a public IP address and having sufficient resources can become a super node 33

Challenges of Firewalls and NATs Firewalls Often block UDP traffic Usually allow hosts to initiate connections on port 80 (HTTP) and 443 (HTTPS) Network Address Translation (NAT) Cannot easily initiate traffic to a host behind a NAT since there is no unique address for the host Skype must deal with these problems Discovery: client exchanges messages with super node Traversal: sending data through an intermediate peer 34

Data Transfer UDP directly between the two hosts Both hosts have public IP addresses Neither host s network blocks UDP traffic Easy: the hosts can exchange UDP packets directly UDP between an intermediate peer One or both hosts with a NAT Neither host s network blocks UDP traffic Solution: direct UDP packets through another node TCP between an intermediate peer Hosts behind NAT and UDP-restricted firewall Solution: direct TCP connections through another node 35

Silence Suppression What to transfer during quiet periods? Could save bandwidth by reducing transmissions E.g., send nothing during silence periods Skype does not appear to do silence suppression Maintain the UDP bindings in the NAT boxes Provide background noise to play at the receiver Avoid drop in the TCP window size Skype sends data when call is on hold Send periodic messages as a sort of heartbeat Maintain the UDP bindings in the NAT boxes Detect connectivity problems on the network path 36

Skype Data Transfer Audio compression Voice packets around 67 bytes Up to 140 packets per second Around 5 KB/sec (40 kbps) in each direction Encryption Data packets are encrypted in both directions To prevent snooping on the phone call by someone snooping on the network or by the intermediate peers forwarding data 37

VoIP Quality The application can help Good audio compression algorithms Avoiding hops through far-away hosts Forward error correction Adaptation to the available bandwidth But, ultimately the network is a major factor Long propagation delay? High congestion? Disruptions during routing changes? Leads to an interest in Quality of Service 38

Quality of Service (QoS) 39

Principles for QoS Guarantees Applications compete for bandwidth Consider a 1 Mbps VoIP application and an FTP transfer sharing a single 1.5 Mbps link Bursts of FTP traffic can cause congestion and losses We want to give priority to the audio packets over FTP Principle 1: Packet marking Marking of packets is needed for the router To distinguish between different classes 40

Principles for QoS Guarantees Applications misbehave Audio sends packets at a rate higher than 1 Mbps Principle 2: Policing Provide protection for one class from other classes Ensure sources adhere to bandwidth restrictions Marking and policing need to be done at the edge 41

Principles for QoS Guarantees Alternative to marking and policing Allocate fixed bandwidth to each application flow But, this can lead to inefficient use of bandwidth if one of the flows does not use its allocation Principle 3: Link scheduling While providing isolation, it is desirable to use resources as efficiently as possible E.g., weighted fair queuing or round-robin scheduling 42

Principles for QoS Guarantees Cannot support traffic beyond link capacity If total traffic exceeds capacity, you are out of luck Degrade the service for all, or deny someone access Principle 4: Admission control Application flow declares its needs in advance The network may block call if it cannot satisfy the needs 43

Quality of Service Significant change to Internet architecture Guaranteed service rather than best effort Routers keeping state about the traffic A variety of new protocols and mechanisms Reserving resources along a path Identifying paths with sufficient resources Link scheduling and buffer management Packet marking with the Type-of-Service bits Packet classifiers to map packets to ToS classes Seeing some deployment within individual ASes E.g., corporate/campus networks, and within an ISP 44