Multimedia in the Internet

Similar documents
in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

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

Mohammad Hossein Manshaei 1393

Multimedia Networking

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

Streaming (Multi)media

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

Digital Asset Management 5. Streaming multimedia

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

Transporting Voice by Using IP

Chapter 7 Multimedia Networking

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

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

The Transport Layer: User Datagram Protocol

Video Streaming and Media Session Protocols

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

Service/company landscape include 1-1

RTP: A Transport Protocol for Real-Time Applications

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

Computer Networks. Wenzhong Li. Nanjing University

Transport Protocols. ISO Defined Types of Network Service: rate and acceptable rate of signaled failures.

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

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

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

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

Real-time Services BUPT/QMUL

Real-time Services BUPT/QMUL

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

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

Lecture 14: Multimedia Communications

ETSF10 Internet Protocols Transport Layer Protocols

Kommunikationssysteme [KS]

Transport protocols Introduction

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

Multimedia Applications. Classification of Applications. Transport and Network Layer

Multimedia Networking

Networking Applications

Introduction to Networked Multimedia An Introduction to RTP p. 3 A Brief History of Audio/Video Networking p. 4 Early Packet Voice and Video

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

Transporting Voice by Using IP

陳懷恩博士助理教授兼所長國立宜蘭大學資訊工程研究所 TEL: # 255

OSI Transport Layer. objectives

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Real-Time Transport Protocol (RTP)

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

Multimedia Networking

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

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

Part 3: Lecture 3! Content and multimedia!

Network Infrastructures

On the Scalability of RTCP Based Network Tomography for IPTV Services. Ali C. Begen Colin Perkins Joerg Ott

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

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

Lecture 9: Media over IP

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

RTP Profile for TCP Friendly Rate Control draft-ietf-avt-tfrc-profile-03.txt

EDA095 Audio and Video Streaming

Internet Streaming Media

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Lecture 6: Internet Streaming Media

Advanced Communication Networks

CMPE 80N: Introduction to Networking and the Internet

CS High Speed Networks. Dr.G.A.Sathish Kumar Professor EC

TSIN02 - Internetworking

Lecture 3: The Transport Layer: UDP and TCP

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

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

TSIN02 - Internetworking

ETSF10 Part 3 Lect 1

Popular protocols for serving media

EEC-682/782 Computer Networks I

Background: IP Protocol Stack

Lesson 5 TCP/IP suite, TCP and UDP Protocols. Chapter-4 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

RTP: A Transport Protocol for Real-Time Applications

Internet and Intranet Protocols and Applications

TSIN02 - Internetworking

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Position of IP and other network-layer protocols in TCP/IP protocol suite

TSIN02 - Internetworking

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

Overview. Slide. Special Module on Media Processing and Communication

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

TSIN02 - Internetworking

TSIN02 - Internetworking

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

IP Telephony. Course scope - lecture scope

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

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Real-Time Protocol (RTP)

Internet Streaming Media

Lecture-4. TCP/IP-Overview:

INSE 7110 Winter 2009 Value Added Services Engineering in Next Generation Networks Week #2. Roch H. Glitho- Ericsson/Concordia University

TCP /IP Fundamentals Mr. Cantu

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

RTP Protocol Transport of H.264 Video and MPEG I/II Layer 3 Audio

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

AIMD (additive-increase, multiplicative-decrease),

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

Multimedia Communications

Transcription:

Protocols for multimedia in the Internet Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ > 4 4 3 < 2 Applications and protocol stack DNS Telnet http ftp Email NFS BGP TCP IP UDP Non Specificati DNS RTP Real Audio NFS SNMP Real time apps Internet Protocol Suite Which transport protocol? UDP is suited for: Request-response (LAN) Multimedia applications Multicast TCP (reliability) is suited for: File transfer Terminal emulation Request-response (WAN) Unicast Computer Networks Design and Management - 1 Computer Networks Design and Management - 2 UDP protocol UDP (User Datagram Protocol ) permits application to application (host to host) communication through datagram transmission UDP provides a layer 4 service: Connectionless (out of sequence packets) Unreliable (packet lost) Low overhead (slim header) Optional checksum Application identification through : Source IP address, destination IP address, source UDP port, destination UDP port No rate control No flow control (possible receiver saturation) No congestion control UDP packet format 0 15 16 31 UDP Source Port UDP Destination Port UDP Message Length UDP Checksum (opt.) DATA 32 bit Computer Networks Design and Management - 3 Computer Networks Design and Management - 4 TCP protocol TCP (Transmission Control Protocol ) is the other Internet layer 4 protocol Main characteristics Connection-oriented full-duplex Reliable and in sequence delivery Retransmission Rate control Flow controlled by receiver Congestion control to avoid network saturation TCP packet header 0 15 16 31 Source Port Number Destin. Port Number Sequence Number Acknowledgement Number HLEN Resv. flags Receiver window Checksum Urgent Pointer 32 bit Computer Networks Design and Management - 5 Computer Networks Design and Management - 6 Pag. 1

Problems for multimedia Packetization Voice sample of few bit Single image has very large size How to distinguish at the receiver among different coding techniques? How to compensate for IP limitations? Packet losses Out of order delivery Packet duplication How to notify to the source the correct reception of data? How to deal with multicast? Using TCP for multimedia? TCP is reliable, but Retransmissions cause delays TCP is rate controlled to avoid receiver and network congestion, but The available bit rate for the multimedia application is highly variable TCP does not support multicast TCP cannot be used for real-time multimedia Non real time multimedia can be treated as file transfer Computer Networks Design and Management - 7 Computer Networks Design and Management - 8 UDP for multimedia UDP supports multicast, is not rate controlled and does not use retransmissions, but Does not guarantees in-order delivery Does not detect and deals with packet losses Does not compensate for delay fluctuations Does not recognize multimedia contents IETF proposal: add RTP protocol over UDP H.323 SIP RTP RTCP Example of multimedia application IP telephony: three different problems Establish multimedia connection, find IP addresses (possibly multicast), negotiate the type of coding and/or compression scheme, possibly inter-operate with the telephone network Once the connection has been established, transfer audio packets Periodically send feedback information to the transmitter (and to receivers) to indicate the quality of the multimedia connection Computer Networks Design and Management - 9 Computer Networks Design and Management - 10 RTP: Real-time Transport Protocol Defined in RFC 1889 a framework to build multimedia applications Provides some basic mechanisms for multimedia data transfer It is not and independent protocol, but must be included in the application (no API defined) Composed by two different (although related) protocols: RTP: deals with multimedia data transport (even UDP ports) RTCP: provides control and monitoring services (odd UDP ports) Feedback on packet delay and losses Request/response to coding modifications Helps in the management of the list of participants RTP + RTCP Functions available Payload identification (coding) Sequence number management Timestamp management Monitoring and performance analysis Participants identification Functions NOT available No QoS support No reliability, bit rate or delay guarantees No guarantee on correct and in order delivery Exploits UDP checksum to detect errors Computer Networks Design and Management - 11 Computer Networks Design and Management - 12 Pag. 2

RTP: packet losses UDP/IP do not guarantee zero losses Packets may be lost or delivered not in order RTP provides sequence numbers in the RTP header to detect out of order delivery RTP: delay jitter When the multimedia source sends synchronous signals (e.g., voice), one packet is sent every T seconds (source clock) The network introduces variable delays even when there are no losses (router buffers) R How to recover the synchronous signal at the receiver? Computer Networks Design and Management - 13 Computer Networks Design and Management - 14 RTP: delay jitter Possible solution: introduce a delay at the receiver Maximum delay D Use a playback buffer m Received packets are stored in the buffer One packet every T seconds is played out D f The buffer size emulates a fixed delay of D m seconds D m is a compromise between low delays and low losses Delay Computer Networks Design and Management - 15 RTP: delay jitter If the source uses silence suppression? During talk spurt: one packet every T seconds During silence: no packets a packet may be delayed because the network has delayed it it was preceded by a silence suppressed The sequence number is not enough A timestamp field (conventional number which increases at the transmitter according to the source clock) is needed in the RTP header to recover information on the generation instant of a packet Timestamp cannot be used as sequence number, since many packets may have the same timestamp (e.g., a video frame generates several packets with the same timestamp) Computer Networks Design and Management - 16 RTP: applications Applications using RTP may be multicast If the network does not support multicast addressing and routing A unicast connection among each pair of participants to the multicast session should be opened The number of connections increases quadratically with respect to the number of users An application must specify two RTP parameters: RTP profile A table that associates to each type of payload (coding) a unique code How RTP should use the payload Information such as RTP packet size, number of samples contained in each packet, etc RTP: example of voice transmission Consider a multi-user voice conference over RTP Basic elements: One IP multicast address Users must register the IP multicast address to access the service Two UDP ports One even port for RTP, the next one (odd) for RTCP RTP does not specify how to choose these numbers Voice is produced according to a proper coding technique Voice samples are grouped in packets Sent to the multicast address The number of samples in each packet depends on the RTP configuration Computer Networks Design and Management - 17 Computer Networks Design and Management - 18 Pag. 3

RTP: example of voice transmission Packets size should be smali to keep under control the packetization delay (should be smaller than few tens of ms) Few samples in each packet Samples are encapsulated within an IP + UDP + RTP headers RTP header UDP header IP header Samples RTP: example of voice transmission Through RTCP, each participants sends (in multicast) statistical data It is possible to analyze service performance Code rate adaptation may be envisioned to adapt the transmission to the measured quality Since the RTCP traffic is sent in multicast to all participants (and is generated by all participants) the required bit rate may be significant and should be kept under control Computer Networks Design and Management - 19 Computer Networks Design and Management - 20 RTP: example of audio-video conference The standard suggests to use two independent RTP flows Advantage: a user may access only one of the two services It is mandatory to synchronize the two flows: The RTP timestamps of the two flows may be used with this goal RTP: terms and definitions An RTP session Allows the communication among a set of users through RTP Is identified by a pair of transport addresses A transport address is a IP address-udp port pair One transport address is used by RTP, the other one for RTCP The IP multicast address (if used) is the same for both pairs The host or end-system (ES) is the user system where applications based on RTP are running. Hosts generate and receive multimedia flows Computer Networks Design and Management - 21 Computer Networks Design and Management - 22 RTP: terms and definitions An RTP translator is a coding translator They modify the data coding and retransmit the modified data flow over the session May also operate as gateways The permit the service provisioning also over non IP islands An RTP mixer is an RTP flow aggregator More RTP flows in input are mixed and generate a new single RTP flow at output Typically, the bit rate of the new flow is smaller that the sum of the bit rate of original flows Devices more complex that translator Correlated flow synchronization must be dealt with RTP: terms and definitions RTP monitors observe externally the control packet flow (RTCP packets) Do not participate in the RTP transmission/reception process The are useful to collect information on the QoS of the RTP session Useful for network providers to control the network service quality Computer Networks Design and Management - 23 Computer Networks Design and Management - 24 Pag. 4

RTP: terms and definitions The SSRC (Synchronization SouRCe) is the unique identifier of the data flow generator Is a 32 bit number contained in the RTP header Warning: mixers are characterized by an own SSRC The output data flow from a mixer is a new flow, with its proper timestamp Within an RTP session, each SSRC must be unique Since it may be useful or needed to recover the original source of a mixed RTP flow The CSRC (Contributing SouRCe) are fields optionally contained in the RTP header that contain the SSRCs of the original sources of the RTP mixed flow RTP: Host The first host creates an RTP flow with SSRC 18 and DVI4 code, the second host sends RTP data with SSRC 39 and C16 code SSRC 18 SSRC 39 18,DVI4 39,C16 Computer Networks Design and Management - 25 Computer Networks Design and Management - 26 RTP: Translator The translator modifies the coding of the flow with SSRC 39 from C16 to GSM RTP: Mixer The RTP flow generated by the mixer has SSRC 12 and CSRC 18 e 39 18,DVI4 18,DVI4 18,DVI4 39,GSM 39,GSM SSRC=12 12,GSM,(18,39) 39,C16 Computer Networks Design and Management - 27 Computer Networks Design and Management - 28 Marker May be used to indicate the beginning/end of an information (video, picture) PType Indicates the type of coding used in the packet payload Sequence number Monotonically increasing sequence (+1 for each RTP PDU) Timestamp Logical time instant in which the information included in the payload was generated.. Several PDUs may have the same timestamp. RTP packet format SSRC Unique identifier of the source which has generated the payload. Id chosen randomly at the source. Source port Length 32 bits Sequence number V PX CC M PType Timestamp Payload Destination port Checksum Synchronization source (SSRC) identifier Possible header extension Content in a format dependent form the application UDP Header 8 B RTP Header 12 B RTP header V (Version) (2bit) Version of the RTP protocol P (padding) (1bit) Padding contained in the payload X (extension header) (1bit) Proprietary CC (CSRC count) (4 bit) Number of CSRC field contained in the header Marker (1 bit) Use dependent on the RTP session profile PT (Payload Type) (7 bit) Type of coding used in the packet payload Computer Networks Design and Management - 29 Computer Networks Design and Management - 31 Pag. 5

RTP header Sequence number (16 bit) The initial sequence number X is chosen randomly at session startup X is inserted in the sequence number field of the first generated RTP packet The second packet will have sequence number X+1, the third X+2... The random extraction minimizes the probability of choosing the same number previously selected in an older RTP session (which may have some packets still in the network) RTP header Timestamp (32 bit) Represents the logical time instant in which the packet payload was generated. More packets my have the same timestamp value The first timestamp value is randomly selected at RTP session startup The timestamp refers to the creation time instant of the first sample contained in the packet Example: if each packet of an RTP phone session contains 160 samples: If packet I has timestamp X, then packet I+1 will have timestamp X+160 Computer Networks Design and Management - 32 Computer Networks Design and Management - 33 RTP header SSRC (32 bit) Identifier of the source that has created the RTP payload. Randomly chosen at the source at session startup. Algorithm defined to solve contentions. CSRC (32 bit) Optional field Identifier of the sources that have originally created the payload from which the current payload was derived through a mixing operation RTCP: objectives Quality of service and congestion control RTCP packets are used as low frequency ACKs to signal the reception quality On the basis of RTCP report, the server may adapt the coding to the communication status Identification Provide identification information on RTP session participants (signalling) Estimate the number of participants to the multicast session Needed to control the transmission bit rate required by RTCP control signals which would increase too much if the number of participants increases too much Computer Networks Design and Management - 34 Computer Networks Design and Management - 35 RTP Control Protocol (RTCP) Control protocol for RTP data flow Defines the information exchange among the source and the destinations Several types of RTCP packets: SR (Sender Report): sent by all active sources to all participants; includes TX and RX statistics RR (Receiver Report): sent by all receivers to all participants; includes RX statistics SDES (Source DEScriptor): source description through a unique identifier BYE: session ends or one participant leaves the session APP: application-specific Computer Networks Design and Management - 36 RTCP Sender Report SR is used to provide information on data recently sent A SR contains: An absolute timestamp (NTP timestamp) of the data sending time Relative timestamp referring to the current RT flow Amount of data sent from RTP session start-up Total number of RTP packets sent Total number of byte sent Computer Networks Design and Management - 37 Pag. 6

RTCP Receiver Report RR are sent to inform senders on the quality of the RTP session as seen by receivers A RR is sent to each source from which a SR was received A RR contains: Identification of the received source Timestamp of the last received SR Delay from the reception of the last SR Highest sequence number received from the source Number of lost RTP packets Fraction of lost RTP packets Estimate of RTP packets jitter Computer Networks Design and Management - 38 RTCP SDES Used by sources and destinations to identify themselves An SDES may contain: CNAME: user identifier (user@host.domain) NAME: name of the person using the application EMAIL PHONE LOC: geographical location of the user TOOL: application using RTP NOTES Computer Networks Design and Management - 39 RTCP: report transmission speed Four rules must be followed to generate RTCP packets The RTCP traffic should be limited to a given percentage of the data traffic (5%) 25% of the session bit rate is devoted to SR packets, the remaining part to other packets An RTCP packet cannot be sent earlier than 5s after the previous RTCP packet transmission A variable time P should be added to the waiting time T sr RTCP: report transmission speed P is computed as a random number uniformly chosen between 0,5 e 15, multiplied by Tsr # Sender Session _ BitRate 1 0,25 1 0.05 ( RTCP _ Avg _ Packet _ Size) Computer Networks Design and Management - 40 Computer Networks Design and Management - 41 Interactive IP telephony Delay management Streaming RTSP Playback control Multimedia traffic Multimedia: streaming approach The client browser receives the metafile containing the multimedia streaming file description The browser passes the metafile to the player The player contacts the streaming server The server sends data in streaming Computer Networks Design and Management - 42 Computer Networks Design and Management - 43 Pag. 7

User control of streaming multimedia: RTSP protocol Real Time Streaming Protocol (RTSP): RFC 2326 Supports user control: rewind, FF, pause, resume Out-of-band protocol: Exploits port 544 for control and signalling messages Another port for multimedia stream Exploits either TCP or UDP for control connections Operations Metafile sent to the browser The browser activates the proper player The player activates a control connections and an RTSP data connection with the server Computer Networks Design and Management - 44 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> Computer Networks Design and Management - 45 RTSP operation RTSP messages: 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 Computer Networks Design and Management - 46 Computer Networks Design and Management - 47 Pag. 8