CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email:...

47
CPSC 601.43 1 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: [email protected] Adapted from the companion web site of the text “Computer Networking: A Top Down Approach Featuring the Internet”, 3 rd edition, Jim Kurose and Keith Ross Addison-Wesley, 2005.
  • date post

    18-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    0

Transcript of CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email:...

Page 1: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 1

Multimedia Networking: An Overview

Instructor: Anirban MahantiOffice: ICT 745Email: [email protected]

Adapted from the companion web site of the text “Computer Networking: A Top Down Approach Featuring the Internet”, 3rd edition, Jim Kurose and Keith Ross Addison-Wesley, 2005.

Page 2: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 2

Outline

The Internet Protocol Stack (Review)

MM networking applications

Multimedia over “best effort” Internet

Evolving the Internet to support multimedia apps

Stored media streaming (in some detail)

What will we cover in this course?

Page 3: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 3

Internet protocol stack (Review 1/5)

application: supporting network applications FTP, SMTP, STTP

transport: host-host data transfer TCP, UDP

network: routing of datagrams from source to destination IP, routing protocols

link: data transfer between neighboring network elements PPP, Ethernet

physical: bits “on the wire”

application

transport

network

link

physical

Page 4: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 4

The Network Layer (Review 2/5)

End systems inject datagrams in the networks A transmission path is determined for each

packet (routing) A “best effort” service

Datagrams might be lost Datagrams might be arrive out of order Jitter in arrival of datagrams from the same stream

Analogy: Postal system

Page 5: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 5

The Transport Layer (Review 3/5)

Concerned with end-to-end data transfer between end systems (hosts)

Transmission unit is called segment TCP/IP networks such as the Internet provides

two types of services to applications “connection-oriented” service – Transmission Control

Protocol (TCP) “connectionless” service - User Datagram Protocol

(UDP)

Page 6: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 6

Connection-oriented Service (Review 4/5)

Handshaking between client & server programs Parameters for ensuing exchange Maintain connection-state

Packet switches do not maintain any connection-state; hence “connection-oriented”

Similar to a phone conversation TCP is bundled with reliability, congestion

control, and flow control.

Page 7: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 7

UDP: Connectionless Service (Review 5/5)

No handshaking Send whenever and however you want A “best effort” service

No reliability No congestion & flow control services

Why is it needed?

Page 8: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 8

Outline

The Internet Protocol Stack (Review)

MM networking applications

Multimedia over “best effort” Internet

Evolving the Internet to support multimedia apps

Stored media streaming (in some detail)

What will we cover in this course?

Page 9: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 9

MM Networking Applications

Fundamental characteristics:

Typically delay sensitive end-to-end delay delay jitter

But loss tolerant: infrequent losses cause minor glitches

Antithesis of data, which are loss intolerant but delay tolerant.

Classes of MM applications:

1) Streaming stored audio and video

2) Streaming live audio and video

3) Real-time interactive audio and video

Jitter is the variability of packet delays within the same packet stream

Page 10: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 10

Streaming Stored Multimedia (1/2)

VCR-like functionality: client can pause, rewind, FF, push slider bar 10 sec initial delay OK 1-2 sec until command effect OK need a separate control protocol?

timing constraint for still-to-be transmitted data: in time for playout

Page 11: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 11

Streaming Stored Multimedia (2/2)

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

Page 12: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 12

Streaming Live Multimedia

Examples: Internet radio talk show Live sporting eventStreaming playback buffer playback can lag tens of seconds after

transmission still have timing constraintInteractivity fast forward impossible rewind, pause possible!

Page 13: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 13

Interactive, Real-Time 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

Page 14: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 14

Outline

The Internet Protocol Stack (Review)

MM networking applications

Multimedia over “best effort” Internet

Evolving the Internet to support multimedia apps

Stored media streaming (in some detail)

What will we cover in this course?

Page 15: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 15

Multimedia Over “Best Effort” Internet

TCP/UDP/IP: no guarantees on delay, loss

Today’s Internet multimedia applications use application-level techniques to mitigate

(as best possible) effects of delay, loss

But you said multimedia apps requiresQoS and level of performance to be

effective!

?? ???

?

? ??

?

?

Page 16: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 16

Outline

The Internet Protocol Stack (Review)

MM networking applications

Multimedia over “best effort” Internet

Evolving the Internet to support multimedia apps

Stored media streaming (in some detail)

What will we cover in this course?

Page 17: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 17

How to provide better support for Multimedia? (1/4)

Integrated services philosophy:

architecture for providing QOS guarantees in IP networks for individual flows

Fundamental changes in Internet so that apps can reserve end-to-end bandwidth

Components of this architecture are Admission control Reservation protocol Routing protocol Classifier and route selection Packet scheduler

Page 18: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 18

How to provide better support for Multimedia? (2/4)Concerns with Intserv: Scalability: signaling, maintaining per-flow router state difficult with large

number of flows Flexible Service Models: Intserv has only two classes. Desire “qualitative”

service classes E.g., Courier, xPress, and normal mail E.g., First, business, and cattle class

Diffserv approach: simple functions in network core, relatively complex functions at edge

routers (or hosts) Don’t define define service classes, provide functional components to

build service classes

Page 19: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 19

How to provide better support for Multimedia? (3/4)Content Distribution

Networks (CDNs) 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

Page 20: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 20

How to provide better support for Multimedia? (4/4)

R1

R2

R3 R4

(a)

R1

R2

R3 R4

(b)

duplicatecreation/transmissionduplicate

duplicate

Source-duplication versus in-network duplication. (a) source duplication, (b) in-network duplication

Multicast/Broadcast

Page 21: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 21

Outline

The Internet Protocol Stack (Review)

MM networking applications

Multimedia over “best effort” Internet

Evolving the Internet to support multimedia apps

Stored media streaming (in some detail) Streaming Architectures Real Time Streaming Protocol Packet Loss Recovery

What will we cover in this course?

Page 22: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 22

Internet multimedia: simplest approach

audio, video not streamed: no, “pipelining,” long delays until playout!

audio or video stored in file files transferred as HTTP object

received in entirety at client then passed to player

Page 23: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 23

Streaming vs. Download of Stored Multimedia Content

Download: Receive entire content before playback begins High “start-up” delay as media

file can be large ~ 4GB for a 2 hour MPEG II

movie Streaming: Play the media file

while it is being received Reasonable “start-up” delays Reception Rate >= playback

rate. Why?

Page 24: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 24

Progressive Download

browser GETs metafile browser launches player, passing metafile player contacts server server downloads audio/video to player

Page 25: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 25

Streaming from a streaming server

This architecture allows for non-HTTP protocol between server and media player

Can also use UDP instead of TCP.

Page 26: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 26

constant bit rate videotransmission

Cum

ula

tive

data

time

variablenetwork

delay

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

Page 27: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 27

Streaming Multimedia: Client Buffering

Client-side buffering, playout delay compensate for network-added delay, delay jitter

bufferedvideo

variable fillrate, x(t)

constant drainrate, d

Page 28: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 28

Streaming Multimedia: UDP or TCP?UDP server sends at rate appropriate for client (oblivious to network congestion !)

often send rate = encoding rate = constant rate then, fill rate = constant rate - packet loss

short playout delay (2-5 seconds) to compensate for network delay jitter error recover: time permitting

TCP send at maximum possible rate under TCP fill rate fluctuates due to TCP congestion control larger playout delay: smooth TCP delivery rate HTTP/TCP passes more easily through firewalls

Page 29: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 29

Outline

The Internet Protocol Stack (Review)

MM networking applications

Multimedia over “best effort” Internet

Evolving the Internet to support multimedia apps

Stored media streaming (in some detail) Streaming Architectures Real Time Streaming Protocol Packet Loss Recovery

What will we cover in this course?

Page 30: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 30

Real-Time Streaming Protocol (RTSP)

HTTP Does not target

multimedia content No commands for fast

forward, etc.RTSP: RFC 2326 Client-server application

layer protocol. For user to control

display: rewind, fast forward, pause, resume, repositioning, etc…

What it doesn’t do: does not define how

audio/video is encapsulated for streaming over network

does not restrict how streamed media is transported; it can be transported over UDP or TCP

does not specify how the media player buffers audio/video

Page 31: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 31

RTSP Example

Scenario: metafile communicated to web browser browser launches player player sets up an RTSP control connection, data

connection to streaming server

Page 32: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 32

Metafile Example

<title>Twister</title> <session> <group language=en lipsync> <switch> <track type=audio e="PCMU/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lofi"> <track type=audio e="DVI4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi"> </switch> <track type="video/jpeg" src="rtsp://video.example.com/twister/video"> </group> </session>

Page 33: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 33

RTSP Operation

Page 34: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 34

RTSP Exchange Example C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=PLAY

S: RTSP/1.0 200 1 OK Session 4231

C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0-

C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37

C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231

S: 200 3 OK

Page 35: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 35

Outline

The Internet Protocol Stack (Review)

MM networking applications

Multimedia over “best effort” Internet

Evolving the Internet to support multimedia apps

Stored media streaming (in some detail) Streaming Architectures Real Time Streaming Protocol Packet Loss Recovery

What will we cover in this course?

Page 36: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 36

Packet Loss

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 Tolerable delay depends on the application

How can packet loss be handled? We will discuss this next …

Page 37: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 37

Receiver-based Packet Loss Recovery Generate replacement packet

Packet repetition Interpolation Other sophisticated schemes

Works when audio/video stream exhibits short-term self-similarity

Works for relatively low loss rates (e.g., < 5%) Typically, breaks down on “bursty” losses

Page 38: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 38

Forward Error Correction (FEC)

for every group of n packets generate k redundant packets

send out n+k packets, increasing the bandwidth by factor k/n.

can reconstruct the original n packets provided at most k packets are lost from the group

Works well at high loss rate (for a proper choice of k) Handles “bursty” packet losses Cost: increase in transmission cost (bandwidth)

Page 39: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 39

Another FEC Example

• “piggyback lower quality stream” • Example: send lower resolution audio stream as the redundant information•

• Whenever there is non-consecutive loss, thereceiver can conceal the loss. • Can also append (n-1)st and (n-2)nd low-bit ratechunk

Page 40: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 40

Interleaving: Recovery from packet loss

Interleaving Re-sequence packets before transmission Better handling of “burst” losses Results in increased playout delay

Page 41: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 41

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 retransmissions, time permitting conceal errors: repeat nearby data

Page 42: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 42

What will we study in this course?

Empirical measurements Multicast support

IP Multicast, Application layer multicast

Content Distribution Scalable streaming, CDNs

Rate Control TCP overview, TCP Vegas, unicast and multicast rate

control protocol

Quality of Service Integrated/differentiated services, AQM

Packet loss recovery

Page 43: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 43

Example: Streaming Popular Content

Consider a popular media file Playback rate: 1 Mbps Duration: 90 minutes Request rate: once every minute

Can a video server handle such high loads? Approach 1: Start a new “stream” for each

request Allocate server and disk I/O bandwidth for

each request Bandwidth required at server= 1 Mbps x 90 How to improve efficiency?

Page 44: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 44

Streaming Popular Content using Batching Approach 2: Leverage the multipoint delivery

capability of modern networks Playback rate = 1 Mbps, duration = 90 minutes Group requests in non-overlapping intervals of

30 minutes: Max. start-up delay = 30 minutes Bandwidth required = 3 channels = 3 Mbps

0 30

60 90 120 150 180 210 240Time (minutes)

Channel 1

Channel 2

Channel 3

Page 45: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 45

Batching Issues

Bandwidth increases linearly with decrease in start-up delays

Can we reduce or eliminate “start-up” delays? Periodic Broadcast Protocols Stream Merging Protocols CDNs

Page 46: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 46

Another Example: Streaming Live Multimedia How to stream to large numbers of clients?

Example: A popular sporting event Use multicast/broadcast

What about client heterogeneity? E.g., clients might have different available b/w Use layered/scalable video

Internet

Video Server

ADSL

Dial-up

High-speed Access

Page 47: CPSC 601.431 Multimedia Networking: An Overview Instructor: Anirban Mahanti Office: ICT 745 Email: mahanti@cpsc.ucalgary.ca Adapted from the companion.

CPSC 601.43 47

Multimedia Networking

Exciting, industry relevant research topic

Multimedia is everywhere Tons of open problems Questions?