NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Protocols.

Slides:



Advertisements
Similar presentations
Streaming Video over the Internet
Advertisements

Streaming Protocol Suite
Multicast on the Internet CSE April 2015.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Multimedia Streaming Protocols. signalling and control protocols protocols conveying session setup information and VCR-like commands (play, pause, mute,
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Protocols.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) MPEG + RTP.
User Control of Streaming Media: RTSP
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Streaming Protocol Suite RTP, RTCP, RTSP.
UNCW UNCW SIGGRAPH 2002 Topic #3: Continuous Media in Wired and Wireless Environments Ronald J. Vetter Department of Computer Science University of North.
Streaming Media. Unicast Redundant traffic Multicast One to many.
EE689 Lecture 12 Review of last lecture Multicast basics.
Real-time Transport Protocol Matt Boutell CS457: Computer Networks November 15, 2001.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 1. RTP/RTCP.
CS335 Principles of Multimedia Systems Multimedia Over IP Networks -- II Hao Jiang Computer Science Department Boston College Nov. 8, 2007.
RTP: A Transport Protocol for Real-Time Applications
RTP/RTCP(RFC 1889) Real-time transport protocol (RTP) is the de facto standard media transport protocol in the Internet Media transport: audio, vedio,
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 7 Multicast and Realtime Service.
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Protocols.
1 How Streaming Media Works Bilguun Ginjbaatar IT 665 Nov 14, 2006.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
IP Multicast A convention to identify a multicast address Each node must translate between an IP multicast address and a list of networks that contain.
Transport Layer and UDP Tahir Azim Ref:
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Real Time Protocol (RTP) 김 준
NUS.SOC.CS5248 Ooi Wei Tsang IP Multicast CS5248.
Team Members Atcharawan Jansprasert Padmoja Roy Rana Almakabi Ehsan Eslamlouevan Manya Tarawalie.
Multicast 1 Spencer Tsai Mobile Communication & Broadband Network Lab CSIE Fu-Jen Catholic University Introduction to Multicast.
Streaming Media Control n The protocol components of the streaming n RTP/RTCP n RVSP n Real-Time Streaming Protocol (RTSP)
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
BAI513 - PROTOCOLS RTP - RTCP BAIST – Network Management.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
Multimedia Streaming I. Fatimah Alzahrani. Introduction We can divide audio and video services into three broad categories: streaming stored audio/video,
1 Internet Telephony: Architecture and Protocols an IETF Perspective Authors:Henning Schulzrinne, Jonathan Rosenberg. Presenter: Sambhrama Mundkur.
NUS.SOC.CS5248 Ooi Wei Tsang Protocols. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Multicast & Multimedia CS731 Wei Tsang Ooi. Overview What is Multicast ? Group Management (IGMP) Routing Protocols (DVMRP, MOPSF, CBT, PIM-DM, PIM-SM)
RTP/RTCP/RTSP Ben Biro CISC 856 – Spring '10 University of Delaware Thanks to Professor Amer, Henning Schulzrinne, Colin Perkins, Amit Hetawal.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Communication Networks Recitation 11. Multicast & QoS Routing.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
7: Multimedia Networking7-1 protocols for real-time interactive applications RTP, RTCP, SIP.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Streaming Protocol Suite RTP, RTCP, RTSP.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Protocols.
Streaming Protocol Suite
Multicast Outline Multicast Introduction and Motivation DVRMP.
Protocols.
RTP: A Transport Protocol for Real-Time Applications
MPEG + RTP.
RTP: A Transport Protocol for Real-Time Applications
Streaming Protocol Suite
Multimedia and Networks
Presentation transcript:

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Protocols

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Background

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Quality of Service (QoS) Basic concepts Quality of service Resource reservation End-to-end path must respond to real-time requirements and provide a certain level of service quality

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multimedia Systems QoS Often “quality” is subjective (e.g., video, audio) Real-time requirements Hard real-time: aircraft control system Soft real-time: e.g., video playback

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Real-time Requirements Fault tolerance Missed deadlines Result: e.g., jitter Periodic sampling: streams Affects scheduling policy Bandwidth demand Bandwidth versus quality tradeoff

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Service and Protocol Req. Time-sensitive requirements High data throughput requirements Service guarantee requirements High or partial reliability requirements Cost-based fairness requirements

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Resource Reservation Proper resource management helps to establish desired QoS (memory, bandwidth, CPU, …) E.g.: network bandwidth Circuit-switched Packet-switched versus

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Resource Reservation Rule of Thumb E.g.: In circuit-switched telephone system “silence” will consume bandwidth Shared resources can often be more (cost-) effectively used compared with dedicated resources

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) QoS Summary (Networked) multimedia systems have certain requirements Best-effort, shared network: Internet Non real-time OS: Windows, Linux But, we have Need to find clever techniques

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Interested ISO Layers Application Transport Network

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Interested ISO Layers RTP TCP Network IP Multicast IP UDP

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) IP Multicast

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Communication Models Traditional Applications: One-to-One receiversender

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Communication Models Media Applications: One-to-Many sender receivers

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Communication Models Media Applications: Many-to-Many Mesh topology

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Communication Models Media Applications: Many-to-Many Star topology (client-server) Example: MCU for video conferencing (Multipoint Control Unit)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Traditional Solutions Mesh N-1 connections at each client (N × (N-1))/2 connections total Not scalable! Star 1 connection per client Server resources become a bottleneck Single point of failure

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Example YouTube: client-server video distribution Throughput: > 100 million (July 2006); > 1 billion videos per day (July 2008) Number of users: > 20 million per month Video codec: Adobe Flash  Sorenson Spark H.263, H.264/MPEG-4 AVC Video bit-rate: 200 to 2,000 kb/s (SD to HD) Cost of bandwidth: several million US$ per month

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) One Solution: IP Multicast sender receivers

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Group and Members members

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Sending to a Group

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Joining and Leaving

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Anyone can Send

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multicast Address Group ID or “Multicast address” –

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Unicast Router A B C S A B C

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multicast Router A B C S G

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multicast Router A B C S G G

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multicast Router A B C S G G

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Question 1 Router G ? should I forward this packet to my subnet?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Group Management Routers maintain “local host group membership table” “which group has a member in my subnet ?”  IP Multicast requires ‘state’ in each router.

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Question 2 Router which neighbors should I forward this packet?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Routing Protocols

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Routing Protocols Generic Methods : Form a tree to all routers with members Deliver the packets along the tree

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Shortest Path Tree One tree for each source for each group

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Shared Tree One tree for each group

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Routing Protocols DVMRP – shortest path tree CBT – shared tree PIM – combine both

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) DVMRP Distance Vector Multicast Routing Protocol

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) From S to G RP Q T S :

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T Is R on the shortest path to S ? S :

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T If no…, ignore the packet

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T If yes… Where should I forward it to ?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T Is my subnet interested?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T ? ? Are my neighbors interested?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Observation If neighbor is going to ignore my packets, don’t need to send the packets to it.

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T Exchanging Routing Tables DestNext HopCost SP4 AT3 BP2

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Flooding Default : Always send to neighboring routers, unless told otherwise.

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Pruning Routers who received a “useless” packet send a prune message back. “Don’t send me packets addressed to G anymore !”

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T PRUNE

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T GRAFT

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RP Q T PRUNE

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) A router needs to remember… If it has any member for group G in its subnet Where to forward packets from source S to group G Which neighbors will not throw my packets away Which sub-trees are pruned

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Problems of DVMRP Not Scalable O(|S||G|) Not Efficient Flooding initially Periodically exchange routing tables

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) CBT Core-based Tree

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Core Based Tree One tree per group Pick a router as core

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) A Shared Tree core P Q R U V W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) V Joins G core P Q R U V JOIN W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) V Joins G core P Q R U V JOIN W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) V Joins G core P Q R U V ACK W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) V Joins G corePQ R U V ACK W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) V Joins G corePQ R U V W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) U Joins G corePQ R U V JOIN W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) U Joins G corePQ RU V ACK W intercept!

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) P Sends (on Tree) corePQ RU V W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) W Sends (Not on Tree) corePQ RU V W

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) CBT Strengths Scalable O(|G|) states No flooding No exchange of states

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) CBT Weaknesses Core placement matters Single point of failure Core can become bottleneck Paths not always shortest

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) PIM Protocol Independent Multicast

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) PIM Get the best of both worlds: dense mode : similar to DVMRP sparse mode : similar to CBT

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Summary What is IP Multicast? How to route packets IGMP DVMRP/CBT/PIM

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) So, why can’t we multicast? Who assigns a multicast address? Who pays for multicast traffic? How to inter-operate between protocols? How can we prevent DoS?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Multicast Programming

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Create a UDP Socket s = socket(PF_INET, SOCK_DGRAM, 0) bind(s, sock_addr, sizeof(sock_addr))

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Join a Group struct sockaddr_in groupStruct; struct ip_mreq mreq; mreq.imr_multiaddr = … // init mcast addr setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &mreq, sizeof(mreq))

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Leave a Group struct sockaddr_in groupStruct; struct ip_mreq mreq; mreq.imr_multiaddr = … // init mcast addr setsockopt(s, IPPROTO_IP, IP_DROP_MEMBERSHIP, (char *) &mreq, sizeof(mreq))

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Transport Layer

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Interested ISO Layers RTP TCP Network IP Multicast IP UDP

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) TCP vs UDP

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) TCP vs UDP TCP connection oriented packet ordering reliability congestion control UDP just send!

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How TCP Works (Roughly) Sender expects packet to be ACK’ed If received duplicate ACKs or no ACK after RTO, assume packet lost

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) How TCP Works (Roughly) Congestion Avoidance - Reduce sending window when packet lost, increase when packet gets through

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Conventional Wisdom Continuous media uses UDP Retransmission may not be useful Congestion control makes throughput unpredictable Multicast + TCP has problems

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) UDP Header struct UDPHeader { short src_port; short dst_port; short length; short checksum; }

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) UDP not enough Who sent this packet? How do I interpret this packet? When was this packet generated? Which packets come first? Is this packet important? Should I ask for retransmission?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) UDP Challenges “NATmare” (© Nan Chen, Atrica) Many residential computers use network address translation (NAT) Peer 1 Peer 2 NAT device (Cable modem gateway) NAT device (DSL gateway)

NAT Solutions UDP Hole Punching Third party host is used to initially establish correct state in the routers State periodically expires: keep-alive message may be needed in the absence of traffic STUN protocol (RFC 5389) “Session Traversal Utilities for NAT” NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Framing Expose details to applications Let application decide what to do with a packet, not transport protocol

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTP Real-Time Transport Protocol

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTP Packet Format RTP Header RTP Payload Header RTP Payload

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 9 bits: protocol version, alignment, header extension, CSRC length, marker RTP Header

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) payload type: 7 bits identify content e.g. 14: mp3; 32: MPEG-1 RTP Header

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTP Header sequence number: 16 bits packet sequence number

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTP Header media timestamp: 32 bits the instant when the first byte in this packet was captured

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTP Header SSRC: 32 bits random, unique in a session identifies a source (not host!)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTP Header marker bit: depends on payload e.g. beginning of frame

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) On Receiving RTP packet check SSRC new source? existing source? which one? check payload type has format been changed? which decoder should I use?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTCP Real-Time Transport Control Protocol

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTCP Real-Time Control Protocol Provides receiver’s feedback network conditions time synchronization receiver’s description

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTCP Packet Types Sender’s Report (SR) Receiver’s Report (RR) Source Description (SDES) Application Specific (APP) BYE

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Fields in SR NTP and RTP Timestamp relate media timestamp to real time Sender’s stats byte count, packet count

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Fields in SR + RR Reception Report Number of lost packets % of lost packets Inter-arrival jitter Timestamp of last SR Delay since last SR t lsr t dlsr SR RR

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Deducing Network Conditions Packet Loss Rate Interarrival Jitter Round Trip Time

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Calculating Packet Loss Ratio For each source, keep first sequence number S 0 last sequence number S last Expected packets = S last – S 0 Count how many received packets

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Calculating Interarrival Jitter Variance in packet spacing Define: P i.arrival_time P i.media_timestamp P i.transit_time

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Calculating Interarrival Jitter P i.transit_time = P i.arrival_time - P i.media_timestamp Difference in transit time for two consecutive packets = D(i,i-1) = |P i.transit_time – P i-1.transit_time|

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Calculating Interarrival Jitter Jitter after packet i = J i J i = (1-a) × J i-1 + a × |D(i,i-1)| RFC 1889: J i = J i-1 + ( |D(i,i-1)|  J i-1 )/16

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Calculating RTT t lsr t dlsr SR RR Calc RTT

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Calculating ??? P i.sender_byte_count P i.sender_packet_count

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTCP Scaling B: Fix RTCP bandwidth N: Number of participants S: Mean RTCP packet size Sending interval =

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTSP Real-Time Streaming Protocol

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTSP Application-level protocol for control over the delivery of data with real-time properties Simple, text-based RFC 2326

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTSP Example DESCRIBE rtsp://genesis/hackers.mov RTSP/1.0 RTSP/ OK Server: QTSS/v96 Cseq: Content-Type: application/sdp Content-Base: rtsp://genesis/hackers.mov/ Content-length: 179 v=0 s=hackers.mov u= c=IN IP a=control:/ a=range:npt= m=audio 0 RTP/AVP 10 a=control:trackID=2

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTSP Example SETUP rtsp://genesis/hackers.mov Transport: RTP/AVP;unicast;client_port= RTSP/ OK Server: QTSS/v96 Cseq: Session: ;timeout=6000 Transport: rtp/avp;server_port= ;client_port= PLAY rtsp://genesis/hackers.mov Session: RTSP/ OK Server: QTSS/v96 Cseq: Session: RTP-Info:url=hackers.mov;seq=59970;ssrc= ;rtptime=

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) RTSP Example … [Session plays] … TEARDOWN rtsp://genesis/hackers.mov Session: RTSP/ OK Server: QTSS/v96 Cseq: Session: Connection: Close

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) SIP Session Initiation Protocol

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) SIP Application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. Text-based RFC 3261 Has been accepted as a standard for VoIP (Note: Skype does not use SIP)