Computer Networks. Wenzhong Li. Nanjing University

Similar documents
Mohammad Hossein Manshaei 1393

CSC 4900 Computer Networks: Multimedia Applications

Multimedia Networking

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

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

Chapter 7 Multimedia Networking

Multimedia Applications. Classification of Applications. Transport and Network Layer

Video Streaming and Media Session Protocols

ITTC Communication Networks The University of Kansas EECS 780 Multimedia and Session Control

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

Multimedia: video ... frame i+1

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

Multimedia

Streaming (Multi)media

Lecture 9: Media over IP

Digital Asset Management 5. Streaming multimedia

Mohammad Hossein Manshaei 1393

Multimedia networking: outline

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

Week-12 (Multimedia Networking)

Service/company landscape include 1-1

Multimedia Networking

Multimedia in the Internet

Real-Time Control Protocol (RTCP)

Multimedia networking: outline

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

Multimedia networking: outline

Chapter 7 Multimedia Networking

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

Multimedia networking: outline

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

Kommunikationssysteme [KS]

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

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

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

Telematics 2 & Performance Evaluation

Real-time Services BUPT/QMUL

The Transport Layer: User Datagram Protocol

Multimedia Networking

Networking Applications

Lecture 14: Multimedia Communications

Chapter 7 Multimedia Networking

Multimedia Networking

Chapter 7 Multimedia Networking

Chapter 7 Multimedia Networking

EDA095 Audio and Video Streaming

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

CS 457 Multimedia Applications. Fall 2014

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

Data Communications & Networks. Session 10 Main Theme Multimedia Networking. Dr. Jean-Claude Franchitti

Chapter 7 Multimedia Networking

CSC 401 Data and Computer Communications Networks

Multimedia Networking. Protocols for Real-Time Interactive Applications

55:054 Communication Networks 12/11/2008

Real-time Services BUPT/QMUL

4 rd class Department of Network College of IT- University of Babylon

File transfer. Internet Applications (FTP,WWW, ) Connections. Data connections

Multimedia Networking

Chapter 7 Multimedia Networking. Chapter 7 outline. Chapter 7: goals. Multimedia and Quality of Service: What is it? QoS

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

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

Part 3: Lecture 3! Content and multimedia!

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

Real Time Protocols. Overview. Introduction. Tarik Cicic University of Oslo December IETF-suite of real-time protocols data transport:

EDA095 Audio and Video Streaming

Content distribution networks

Popular protocols for serving media

ITEC310 Computer Networks II

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

13. Internet Applications 최양희서울대학교컴퓨터공학부

Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications

EDA095 Audio and Video Streaming

Transporting Voice by Using IP

Ch 4: Multimedia. Fig.4.1 Internet Audio/Video

Multimedia networks. Additional references. Jargon. Analog to Digital (S5 4.3) KR: Kurose and Ross chapter 7 (KR3: 3 rd ed)

Chapter 7 + ATM/VC networks (3, 4, 5): Multimedia networking, QoS, Congestion control Course on Computer Communication and Networks, CTH/GU

Transporting Voice by Using IP

Multimedia Protocols. Foreleser: Carsten Griwodz Mai INF-3190: Multimedia Protocols

Internet Streaming Media

Voice over IP (VoIP)

Multimedia Applications. Internet Technologies and Applications

Overview. Slide. Special Module on Media Processing and Communication

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

Including location-based services, IoT, and increasing personalization... Service models and delivery architectures

Master Kurs Rechnernetze Computer Networks IN2097

Chapter 28. Multimedia

TSIN02 - Internetworking

Chapter 7 + ATM/VC networks (3, 4, 5): control Course on Computer Communication and Networks, CTH/GU

Tema 0: Transmisión de Datos Multimedia

RTP/RTCP protocols. Introduction: What are RTP and RTCP?

ETSF10 Internet Protocols Transport Layer Protocols

RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

Outline. Multimedia is different Real Time Protocol (RTP) Session Description Protocol (SDP) Session Initiation Protocol (SIP)

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

Protocols supporting VoIP

Transport protocols Introduction

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

Multimedia Systems Multimedia Networking Part II Mahdi Amiri December 2015 Sharif University of Technology

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

Applications real time/non-real time

Transcription:

Computer Networks Wenzhong Li Nanjing University 1

Chapter 5. End-to-End Protocols Transport Services and Mechanisms User Datagram Protocol (UDP) Transmission Control Protocol (TCP) TCP Congestion Control Real-time Transport Protocol (RTP) Session Initiation Protocol (SIP) Real Time Streaming Protocol (RTSP) 2

Multimedia Networking

APPLICATION Internet Multimedia Protocol Stack DASH HTTP Synchronization Service SIP RTSP RSVP RTCP Media encaps (H.264, MPEG-4) RTP Layer 5 (Session) KERNEL TCP DCCP IP Version 4, IP Version 6 UDP Layer 4 (Transport) Layer 3 (Network) AAL3/4 AAL5 MPLS Layer 2 (Link/MAC) ATM/Fiber Optics Ethernet/WiFi

audio signal amplitude Multimedia: audio Analog audio signal sampled at constant rate telephone: 8,000 samples/sec CD music: 44,100 samples/sec Each sample quantized, i.e., rounded e.g., 2 8 =256 possible quantized values Example rates CD: 1.411 Mbps MP3: 96, 128, 160 kbps Internet telephony: 5.3 kbps and up quantization error sampling rate (N sample/sec) quantized value of analog value analog signal time

Multimedia: video Video: sequence of images displayed at constant rate e.g. 24 images/sec Digital image: array of pixels each pixel represented by bits Coding: use redundancy within and between images to decrease # bits used to encode image spatial (within image) temporal (from one image to next) Examples: MPEG 1 (CD-ROM) 1.5 Mbps MPEG2 (DVD) 3-6 Mbps MPEG4 (often used in Internet, < 1 Mbps) spatial coding example: instead of sending N values of same color (all purple), send only two values: color value (purple) and number of repeated values (N)...... frame i temporal coding example: instead of sending complete frame at i+1, send only differences from frame i frame i+1

Three 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 (futbol)

Streaming stored video: 1. video recorded (e.g., 30 frames/sec) 2. video sent network delay (fixed in this example) 3. video received, played out at client (30 frames/sec) time streaming: at this time, client playing out early part of video, while server still sending later part of video

Streaming stored video: challenges Continuous playout constraint: once client playout begins, playback must match original timing but network delays are variable (jitter), so will need client-side buffer to match playout requirements Other challenges: client interactivity: pause, fastforward, rewind, jump through video video packets may be lost, retransmitted

buffered video Streaming stored video: revisted constant bit rate video transmission variable network delay client video reception constant bit rate video playout at client client playout delay time client-side buffering and playout delay: compensate for network-added delay, delay jitter

Streaming multimedia: UDP Server sends at rate appropriate for client often: send rate = encoding rate = constant rate transmission rate can be oblivious to congestion levels short playout delay (2-5 seconds) to remove network jitter error recovery: application-level, timeipermitting RTP [RFC 2326]: multimedia payload types UDP may not go through firewalls

Streaming multimedia: HTTP multimedia file retrieved via HTTP GET send at maximum possible rate under TCP variable rate, x(t) video file TCP send buffer server TCP receive buffer client application playout buffer 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

Streaming multimedia: DASH DASH: Dynamic, Adaptive Streaming over HTTP server: divides video file into multiple chunks each chunk stored, encoded at different rates manifest file: provides URLs for different chunks client: periodically measures server-to-client bandwidth consulting manifest, requests one chunk at a time chooses maximum coding rate sustainable given current bandwidth can choose different coding rates at different points in time (depending on available bandwidth at time)

Streaming multimedia: DASH DASH: Dynamic, Adaptive Streaming over HTTP intelligence at client: client determines when to request chunk (so that buffer starvation, or overflow does not occur) what encoding rate to request (higher quality when more bandwidth available) where to request chunk (can request from URL server that is close to client or has high available bandwidth)

Real-time Transport Protocol (RTP) RFC 3550 Built upon UDP, i.e. RTP packets encapsulated in UDP segments Specifies packet structure for packets carrying audio, video data RTP packet provides Payload type identification Packet sequence numbering Time stamping 15

Real-time Streaming 16

Real-time Streaming 17

How does RTP works Timestamping - most important information for real-time applications. The sender timestamp according to the instant the first octet in the packet was sampled. The receiver uses timestamp to reconstruct the original timing Also used for synchronize different streams; audio an video in MPEG. ( Application level responsible for the actual synchronization)

How does RTP work Payload type identifier specifies the payload format as well as encoding/compression schemes The application then knows how to interpret the payload Source identification Audio conference

RTP and QoS RTP does not provide any mechanism to ensure timely data delivery RTP encapsulation is only seen at end systems, and unseen by intermediate routers Routers make no special effort for RTP packets 20

RTP Packets 21

RTP Header Version (2 bits) Version of the protocol, Current 2 P (Padding) (1 bit) Indicates if there are extra padding octets X (Extension) (1 bit) Indicates presence of an extension header CC (CSRC Count) (4 bits) Number of CSRC identifiers M (Marker) (1 bit) Indicates special relevance for the application 22

RTP Header Payload Type (7 bits) Indicates type of encoding currently being used Sender can change encoding in middle of session Example payload: 0: PCM mu-law, 64 kbps 3: GSM, 13 kbps 7: LPC, 2.4 kbps 26: Motion JPEG 31: H.261 33: MPEG2 video 23

RTP Header Sequence Number (16 bits) Increment by 1 for each RTP data packet sent Timestamp: (32 bits) Sampling instant of first octet, used for play-back SSRC (Synchronization source identifier) (32 bits) Uniquely identifies the source of a stream in a RTP session CSRC (Contributing source IDs) (32 bits) Enumerate contributing sources to a stream Extension header Specific header for certain payload type 24

RTP Control Protocol (RTCP) Specifies report PDUs exchanged between sources and destinations Receiver reception report feedback of data delivery Packet lost, jitter, timestamps Sender report Intermedia synchronization, number of bytes sent Source description report Reports contain statistics such as the number of RTP- PDUs sent, number of RTP-PDUs lost, inter-arrival jitter Used by application to modify sender transmission rates and for diagnostics purposes 25

RTCP Message Types Several RTCP PDUs of different types can be transmitted in a single UDP segment 26

Sender/Receiver Report PDUs 27

RTCP provides the following services QoS monitoring and congestion control Primary function: QoS feedback to the application The sender can adjust its transmission The receiver can determine if the congestion is local, regional, or global Network managers can evaluate the network performance for multicast distribution Source identification inter-media synchronization control information scaling Limit control traffic (most 5 % of the overall session traffic)

Real Time Streaming Protocol (RTSP) RFC 2326 An app-level protocol that establishes and controls media sessions between end points Support VCR commands: rewind, fast forward, pause, resume, repositioning, etc RTSP is an application-level protocol designed to work with RTP (and RSVP) to provide a complete streaming service over internet Can built upon UDP or TCP, commands sent in ASCII text Integration with web architecture, separate stream channel and control channel 29

RTSP Scenario Metafile communicated to web browser using HTTP Browser launches player Player sets up an RTSP control connection, data connection to streaming server 30

A Meta-File 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> </group> </session> <track type="video/jpeg" src="rtsp://video.example.com/twister/video"> 31

RTSP Operation 32

SETUP Example Specifies the transport mechanism used for streaming media Client can issue SETUP to change parameters for already started media 33

PLAY Example Plays from beginning to end of range specified Scale header can be used to change viewing rate 34

Pause and Teardown Pause May contain Range header to specify when to pause Server will terminate session after timeout period expires Teardown Frees up resources on the server 35

RTSP Reliability If using TCP message is sent just once If using UDP, RTSP will retransmit if not receive ACK Timeout is initially set to 500 ms Can re-compute timeout based on RTT like TCP Sequence no is not incremented for retransmission Timestamp is used to overcome retransmission ambiguity 36

Why IP telephony (VoIP) Advantages: Cheaper No inter-connect charges; 6-8 kb/s (packet) vs 64kb/s Regulation costs New value-added features; conferencing Single network Still immature; latency major issue ITU-T: H.323 (set of protocols) SIP used to imitate a session between users. Simple, cheap. Limited, but popular

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

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

Session Initiation Protocol (SIP) RFC 3261 an application level protocol A signaling protocol used for controlling multimedia communication sessions such as voice and video calls over IP For create, modify and terminate two-party (unicast) or multiparty (multicast) sessions consisting of one or several media streams An alternative to ITU s H.323, used for IP Telephony since 1994 Application examples Video conferencing Streaming multimedia distribution Instant messaging Online games 40

SIP Services Setting up a call Determine current IP address of callee by SIP address Let callee know caller wants to establish a call Caller, callee agree on media type, encoding Call management Add new media streams during call Change encoding during call Invite others, transfer and hold calls 41

SIP Addressing Uses Internet URLs Uniform Resource Locators Supports both Internet and PSTN addresses General form is user@host Examples sip:alan@wcom.com sip:j.t. Kirk <kirk@starfleet.gov> sip:+1-613-555-1212@wcom.com;user=phone sip:guest@10.64.1.1 sip:790-7360@wcom.com;phone-context=vnet 42

Setting up a Call Alice s SIP agent invite msg, indicates her port, IP address, encoding she prefers to receive (PCM μlaw) Bob s agent 200 OK msg, indicates his port, IP address, preferred encoding (GSM) SIP msgs can be sent over TCP or UDP, here sent over RTP/UDP Default SIP port number is 5060 43

Other Possible Reply Rejecting a call Bob agent rejects with 600 busy, 503 unavailable, 302 gone, 401 unauthorized Further negotiation Bob replies with 606 Not Acceptable, listing his encoders Alice can then send new INVITE message, advertising different encoder 44

A SIP Request Message INVITE sip:bob@domain.com SIP/2.0 Via: SIP/2.0/UDP 167.180.112.24:5060 From: sip:alice@hereway.com To: sip:bob@domain.com Call-ID: a2e3a@pigeon.hereway.com CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 885 c=in IP4 167.180.112.24 m=audio 38060 RTP/AVP 0 Use HTTP message syntax Via: Shows route taken by request Call-ID: unique identifier generated by client CSeq: Command Sequence number, incremented for each successive request 45

A SIP Response Message SIP/2.0 200 OK Via: SIP/2.0/UDP 167.180.112.24:5060 From: sip:alice@hereway.com To: sip:bob@domain.com Call-ID: a2e3a@pigeon.hereway.com CSeq: 1 INVITE Via, From, To, Call-ID, and CSeq are copied exactly from Request To and From are NOT swapped 46

Finding a Callee SIP address must be transformed to IP address of callee s current host Bob may move around, getting different IP addresses (using mobile devices) Different SIP servers to handle this Registrar: Accepts REGISTER requests from clients (caller or callee) Redirect: Sends address of next hop towards callee back to caller Proxy: Decides next hop and forwards request (as a broker) 47

SIP Registrar When Bob starts SIP agent, agent sends SIP REGISTER message to Bob s registrar server Similar function needed by Instant Messaging REGISTER sip:domain.com SIP/2.0 Via: SIP/2.0/UDP 193.64.210.89 From: sip:bob@domain.com To: sip:bob@domain.com Expires: 3600 48

Using Redirect Server 49

Using Proxy Server 50

A More Complicated Example Caller: Bob@umass.edu Callee: Alice@upenn.edu (1) Bob s agent sends INVITE message to umass SIP proxy (2) Proxy forwards request to upenn registrar server (3) upenn server returns redirect response, indicating that it should try Alice@eurecom.fr (4) umass proxy sends INVITE to eurecom registrar (5) eurecom registrar forwards INVITE to 197.87.54.21, which is running Alice s SIP agent (6-8) SIP response sent back (9) media sent directly between SIP agents 51

Summary Multimedia networking Multimedia applications Streaming, stored audio, video Conversational voice/video over IP Streaming live audio, video Protocols Real-time Transport Protocol (RTP) Session Initiation Protocol (SIP) Real Time Streaming Protocol (RTSP)

Homework 第 7 章 :P1, P3, P5