Protocols NUS SOC CS 5248 2007 Roger Zimmermann
































































































![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](https://slidetodoc.com/presentation_image_h2/97fe01ff5ede959183b77e1c7edd5bf3/image-97.jpg)


- Slides: 99
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 Tsang)
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, 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 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 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, 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 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 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 Roger Zimmermann (based on slides by Ooi Wei Tsang)
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 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)
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 (based on slides by Ooi Wei Tsang)
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 (based on slides by Ooi Wei Tsang)
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 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 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 on slides by Ooi Wei Tsang)
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 by Ooi Wei Tsang)
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 Ooi Wei Tsang)
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 Roger Zimmermann (based on slides by Ooi Wei Tsang) B
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 Zimmermann (based on slides by Ooi Wei Tsang) Router B
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. 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 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 -2007 Roger Zimmermann (based on slides by Ooi Wei Tsang)
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 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. 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 Zimmermann (based on slides by Ooi Wei Tsang)
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 on slides by Ooi Wei Tsang)
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 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 Ooi Wei Tsang)
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 (based on slides by Ooi Wei Tsang) core P V
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 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 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 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 (based on slides by Ooi Wei Tsang) core P V
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 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 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 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 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 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 by Ooi Wei Tsang)
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 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 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 Wei Tsang)
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 = … // 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 = … // 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 Wei Tsang)
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 Ooi Wei Tsang)
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 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, 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 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; } 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 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 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 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 by Ooi Wei Tsang)
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: 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 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 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 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 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 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 slides by Ooi Wei Tsang)
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 (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 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 % 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 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 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 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 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 -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 -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 by Ooi Wei Tsang)
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: 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 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 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 by Ooi Wei Tsang)
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)