Protocols NUS SOC CS 5248 2007 Roger Zimmermann

  • Slides: 99
Download presentation
Protocols NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei

Protocols NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Background NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei

Background NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Quality of Service (Qo. S) n Basic concepts n Quality of service n Resource

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

Multimedia Systems n Qo. S n Often “quality” is subjective (e. g. , video,

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

Real-time Requirements n Fault tolerance n Missed deadlines n Result: e. g. , jitter

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

Service and Protocol Req. n Time-sensitive requirements n High data throughput requirements n Service

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

Resource Reservation n Proper resource management helps to establish desired Qo. S (memory, bandwidth,

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

Resource Reservation n Rule of Thumb Shared resources can often be more (cost-) effectively

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

Qo. S Summary n (Networked) multimedia systems have certain requirements But, we have n

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

You are Here Encoder Decoder Middlebox Receiver Sender Network NUS. SOC. CS 5248 -2007

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

Interested ISO Layers Application Transport Network NUS. SOC. CS 5248 -2007 Roger Zimmermann (based

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

Interested ISO Layers RTP TCP UDP IP Multicast Network. IP NUS. SOC. CS 5248

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

IP Multicast NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi

IP Multicast NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Communication Models sender receiver Traditional Applications: One-to-One NUS. SOC. CS 5248 -2007 Roger Zimmermann

Communication Models sender receiver Traditional Applications: One-to-One NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Communication Models sender receivers Media Applications: One-to-Many NUS. SOC. CS 5248 -2007 Roger Zimmermann

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

Communication Models Mesh topology Media Applications: Many-to-Many NUS. SOC. CS 5248 -2007 Roger Zimmermann

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

Communication Models Example: MCU for video conferencing Star topology (client-server) (Multipoint Control Unit) Media

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

Traditional Solutions n Mesh n N-1 connections at each client n (N × (N-1))/2

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

Famous Example n You. Tube: client-server video distribution n Throughput: > 100 million videos

Famous Example n You. Tube: client-server video distribution n Throughput: > 100 million videos per day (July 2006) n Number of users: > 20 million per month n Video bit-rate: 250 kb/s (Adobe Flash) n Cost of bandwidth: several million US$ per month NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

One Solution: IP Multicast sender receivers NUS. SOC. CS 5248 -2007 Roger Zimmermann (based

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

Group and Members members NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides

Group and Members members NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Sending to a Group NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides

Sending to a Group NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Joining and Leaving NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by

Joining and Leaving NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Anyone can Send NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by

Anyone can Send NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Multicast Address n Group ID or “Multicast address” n 224. 0. 0. 0 –

Multicast Address n Group ID or “Multicast address” n 224. 0. 0. 0 – 239. 255 NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Unicast S A B C Router A Router C NUS. SOC. CS 5248 -2007

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

Multicast S G A Router C NUS. SOC. CS 5248 -2007 Roger Zimmermann (based

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

Multicast S G Router A Router G C NUS. SOC. CS 5248 -2007 Roger

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

Multicast S G A Router C NUS. SOC. CS 5248 -2007 Roger Zimmermann (based

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

Question 1 should I forward this packet to my subnet? Router ? NUS. SOC.

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

Group Management n Routers maintain “local host group membership table” n “which group has

Group Management n Routers maintain “local host group membership table” n “which group has a member in my subnet ? ” NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Question 2 which neighbors should I forward this packet? Router NUS. SOC. CS 5248

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

Routing Protocols NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi

Routing Protocols NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Routing Protocols n Generic Methods : n Form a tree to all routers with

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

Shortest Path Tree n One tree for each source for each group NUS. SOC.

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

Shared Tree n One tree for each group NUS. SOC. CS 5248 -2007 Roger

Shared Tree n One tree for each group NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Routing Protocols n DVMRP – shortest path tree n CBT – shared tree n

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

DVMRP Distance Vector Multicast Routing Protocol NUS. SOC. CS 5248 -2007 Roger Zimmermann (based

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

A router needs to remember. . n If it has any member for group

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

Problems of DVMRP n Not Scalable n O(|S||G|) n Not Efficient n Flooding initially

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

CBT Core-based Tree NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by

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

Core Based Tree n One tree per group n Pick a router as core

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

A Shared Tree U W R Q NUS. SOC. CS 5248 -2007 Roger Zimmermann

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

V Joins G U W R JOIN Q NUS. SOC. CS 5248 -2007 Roger

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

V Joins G U W R JOIN Q NUS. SOC. CS 5248 -2007 Roger

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

V Joins G U W R ACK Q NUS. SOC. CS 5248 -2007 Roger

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

V Joins G U W R ACK Q NUS. SOC. CS 5248 -2007 Roger

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

V Joins G U W R Q NUS. SOC. CS 5248 -2007 Roger Zimmermann

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

U Joins G U W R JOIN Q NUS. SOC. CS 5248 -2007 Roger

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

U Joins G U W R ACK Q intercept! NUS. SOC. CS 5248 -2007

U Joins G U W R ACK Q intercept! NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang) core P V

P Sends (on Tree) U W R Q NUS. SOC. CS 5248 -2007 Roger

P Sends (on Tree) U W R Q NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang) core P V

W Sends (Not on Tree) U W R Q NUS. SOC. CS 5248 -2007

W Sends (Not on Tree) U W R Q NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang) core P V

CBT Strengths n Scalable n O(|G|) states n No flooding n No exchange of

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

CBT Weaknesses n Core placement matters n Single point of failure n Core can

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

PIM Protocol Independent Multicast NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides

PIM Protocol Independent Multicast NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

PIM n Get the best of both worlds: n dense mode : similar to

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

Summary n What is IP Multicast? n How to route packets n IGMP n

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

So, why can’t we multicast? n Who assign multicast address? n Who pay for

So, why can’t we multicast? n Who assign multicast address? n Who pay for multicast traffic? n How to inter-operate between protocols? n How can we prevent Do. S? NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Multicast Programming NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi

Multicast Programming NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Create a UDP Socket n s = socket(PF_INET, SOCK_DGRAM, 0) n bind(s, sock_addr, sizeof(sock_addr))

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

Join a Group struct sockaddr_in group. Struct; struct ip_mreq; mreq. imr_multiaddr = … //

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

Leave a Group struct sockaddr_in group. Struct; struct ip_mreq; mreq. imr_multiaddr = … //

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

Transport Layer NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi

Transport Layer NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Interested ISO Layers RTP TCP UDP IP Multicast Network. IP NUS. SOC. CS 5248

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

TCP vs UDP NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by

TCP vs UDP NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

TCP vs UDP n TCP n connection oriented n packet ordering n reliability n

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

How TCP Works (Roughly) n Sender expects packet to be ACK n If received

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

How TCP Works (Roughly) n Congestion Avoidance - Reduce sending window when packet lost,

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

Conventional Wisdom n Continuous media uses UDP n Retransmission may not be useful n

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

UDP Header struct UDPHeader { short src_port; short dst_port; short length; short checksum; }

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

UDP not enough n Who sent this packet? n How do I interpret this

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

UDP Challenges n “NATmare” (© Nan Chen, Atrica) n Many residential computers use network

UDP Challenges n “NATmare” (© Nan Chen, Atrica) n Many residential computers use network address translation (NAT) NAT device (Cable modem gateway) NAT device (DSL gateway) Peer 2 Peer 1 128. 125. 4. 204 192. 168. 0. 1 NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang) 209. 7. 114. 157 192. 168. 1. 3

Application-Level Framing n Expose details to applications n Let application decides what to do

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

RTP Real-Time Transport Protocol NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides

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

RTP Packet Format RTP Header RTP Payload Header NUS. SOC. CS 5248 -2007 Roger

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

RTP Header n payload type: 7 bits n identify content n e. g. 14:

RTP Header n payload type: 7 bits n identify content n e. g. 14: mp 3 32: MPEG-1 NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

RTP Header n sequence number: 16 bits n packet sequence number NUS. SOC. CS

RTP Header n sequence number: 16 bits n packet sequence number NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

RTP Header n media timestamp: 32 bits n the instant the first byte in

RTP Header n media timestamp: 32 bits n the instant the first byte in this packet is captured NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

RTP Header n SSRC: 32 bits n random, unique in a session n identify

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

RTP Header n marker bit: n depends on payload n e. g. beginning of

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

On Receiving RTP packet n check SSRC n new source? n existing source? which

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

RTCP Real-Time Transport Control Protocol NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on

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

RTCP n Real-Time Control Protocol n Provides n receiver’s feedback n network conditions n

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

RTCP Packet Types n Sender’s Report (SR) n Receiver’s Report (RR) n Source Description

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

Fields in SR n NTP and RTP Timestamp n relate media timestamp to real

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

Fields in SR + RR n Reception Report n Number of lost packets n

Fields in SR + RR n Reception Report n Number of lost packets n % of lost packets tdlsr n Inter-arrival jitter n Timestamp of last SR n Delay since last SR NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang) SR RR tlsr

Deducing Network Conditions n Packet Loss Rate n Interarrival Jitter n Round Trip Time

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

Calculating Packet Loss Ratio n for each source, keep n first sequence number S

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

Calculating Interarrival Jitter n Variance in packet spacing n Define: n Pi. arrival_time n

Calculating Interarrival Jitter n Variance in packet spacing n Define: n Pi. arrival_time n Pi. media_timestamp n Pi. transit_time NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

Calculating Interarrival Jitter n Pi. transit_time = Pi. arrival_time - Pi. media_timestamp n Difference

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

Calculating Interarrival Jitter n Jitter after packet i = Ji n Ji = (1

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

Calculating ? ? ? n Pi. sender_byte_count n Pi. sender_packet_count NUS. SOC. CS 5248

Calculating ? ? ? n Pi. sender_byte_count n Pi. sender_packet_count NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

RTSP Real-Time Streaming Protocol NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides

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

RTSP n Application-level protocol for control over the delivery of data with real-time properties

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

RTSP Example DESCRIBE rtsp: //genesis/hackers. mov RTSP/1. 0 200 OK Server: QTSS/v 96 Cseq:

RTSP Example DESCRIBE rtsp: //genesis/hackers. mov RTSP/1. 0 200 OK Server: QTSS/v 96 Cseq: Content-Type: application/sdp Content-Base: rtsp: //genesis/hackers. mov/ Content-length: 179 v=0 s=hackers. mov u=http: //genesis. usc. edu/ e=admin@genesis. usc. edu c=IN IP 4 128. 125. 163. 19 a=control: / a=range: npt=0 -3714. 90167 m=audio 0 RTP/AVP 10 a=control: track. ID=2 NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

RTSP Example SETUP rtsp: //genesis/hackers. mov Transport: RTP/AVP; unicast; client_port=3000 -3001 RTSP/1. 0 200

RTSP Example SETUP rtsp: //genesis/hackers. mov Transport: RTP/AVP; unicast; client_port=3000 -3001 RTSP/1. 0 200 OK Server: QTSS/v 96 Cseq: Session: 4862038713701816342; timeout=6000 Transport: rtp/avp; server_port=2000 -2001; client_port=3000 -3001 PLAY rtsp: //genesis/hackers. mov Session: 4862038713701816342 RTSP/1. 0 200 OK Server: QTSS/v 96 Cseq: Session: 4862038713701816342 RTP-Info: url=hackers. mov; seq=59970; ssrc=477987946; rtptime=263102960 NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

RTSP Example … [Session plays] … TEARDOWN rtsp: //genesis/hackers. mov Session: 4862038713701816342 RTSP/1. 0

RTSP Example … [Session plays] … TEARDOWN rtsp: //genesis/hackers. mov Session: 4862038713701816342 RTSP/1. 0 200 OK Server: QTSS/v 96 Cseq: Session: 4862038713701816342 Connection: Close NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

SIP Session Initiation Protocol NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides

SIP Session Initiation Protocol NUS. SOC. CS 5248 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)

SIP n Application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one

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