CMPE 252A: Computer Networks Lecture 17 CMPE252A Fall 2004
Announcements Homework 5 posted. Tutorial on ns-2: Monday, 11.29. Due on Dec. 1st. Tutorial on ns-2: Monday, 11.29. CMPE252A Fall 2004
Today’s plan Reliable multicast transport. CMPE252A Fall 2004
Reliable Multicast Transport CMPE252A Fall 2004
Protocols SRM. RMTP. PGM. pgmcc. RLM. CMPE252A Fall 2004
Challenges Heterogeneity. Scalability. Implosion: feedback. Exposure: repair. CMPE252A Fall 2004
Mechanisms Error recovery. Congestion control. CMPE252A Fall 2004
Error recovery Sender-reliable. Receiver-reliable. CMPE252A Fall 2004
Sender-reliable Receiver ACKs. Wait for ACKs from all receivers. Re-send on timeout or selective ACK. : easy resource management. : wait for ACK. -: receiver state in sender not scalable. -: ACK implosion. CMPE252A Fall 2004
Receiver-reliable Receiver NACKs lost packet. : no state at sender - good for multicast. -: does not provide 100% reliability. : NACK implosion. CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Implosion Src CMPE252A Fall 2004
Retransmission Who retransmits? How to retransmit? Problem: exposure Sender- versus receiver-based. How to retransmit? Unicast, multicast, scoped multicast, retransmission group, … Problem: exposure CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Exposure Src CMPE252A Fall 2004
Router-assisted recovery “Ideal router”. A single request is sent upstream. A single repair is multicast from the nearest repairer to the subtree down the lossy link. R A R A A A A router receiver R A CMPE252A Fall 2004
Scalable Reliable Multicast CMPE252A Fall 2004
Scalable Reliable Multicast SRM. Originally designed for wb. Receiver-reliable. NACK-based. Every member may multicast NACK or data. Need much more elaborate explaination of why SRM is designed this way, e.g., get the previous microsoft guy’s slides of SRM, showing (1) why NACK instead of ACK; (2) why need NACK suppression and retransmission suppression; *Maybe* a little bit discussion of why not use tree-like structure: because these replication applications are essentially PEER-TO-PEER, and all members are senders. We believe in this situation, random suppression with a “good” timer will perform better than dynamic/static tree structures. CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
SRM Request Suppression Src CMPE252A Fall 2004
Deterministic Suppression time d d data 2d d session msg d d nack repair = sender 3d = repairer d 4d = requestor Delay = C1dS,R CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM Star Topology Src CMPE252A Fall 2004
SRM: Stochastic Suppression time 2d d data 1 d repair session msg d 2 NACK d 3 = sender Delay = U[0,C2] +C1dS,R = repairer = requestor CMPE252A Fall 2004
SRM (summary) NACK/Retransmission suppression. Delay before sending. Delay based on RTT estimation. Deterministic + Stochastic components. Periodic session messages. Full reliability (e.g., last packet lost). Estimation of distance matrix among members. CMPE252A Fall 2004
What’s missing? Losses at link (A,C) causes retransmission to the whole group. Solution: only retransmit to those members who lost the packet. Request from nearest member. A B E F S C D 0.99 sender receiver CMPE252A Fall 2004
Local Recovery Application-level hierarchy. TTL scoped multicast. Router supported. CMPE252A Fall 2004
RMTP Reliable Multicast Transport Protocol by Purdue and AT&T Research Labs. Designed for file dissemination (single-sender). Deployed in AT&T’s billing network. CMPE252A Fall 2004
Tree-based protocol Solution to feedback implosion and local recovery. Receivers are grouped into local regions under designated receivers (DR). DR representative of local region. Only DRs send feedback to source. Receivers send feedback to DR (ACK processor). DR does local recovery based on feedback from receivers. CMPE252A Fall 2004
Tree-based hierarchy Receivers grouped into local regions. Receiver unicasts periodic ACKs to its ACK Processor (AP), AP unicasts its own ACK to its parent. DR R1 R2 DR R3 DR R4 R5 Receiver dynamically chooses closest statically configured Designated Receiver (DR) as its AP. R R R R R R DR DR/AP R receiver R* router CMPE252A Fall 2004
Choosing DRs Pre-defined set of receivers that can act as DRs. DRs periodically send special packet using multicast tree. TTL decremented at each hop. Receiver chooses DR whose packet has highest TTL = closest DR. CMPE252A Fall 2004
Error control DR checks retransmission requests periodically. Multicast or unicast retransmission. Based on percentage of requests. Immediate transmission request. Used for late joining receivers. Data cache: buffers entire file during session. CMPE252A Fall 2004
Congestion Control Retransmission requests as congestion indicator. Window-based. Sender computes number of retransmission requests over pre-configured time interval. If threshold exceeded, cwnd=1. Otherwise, cwnd=cwnd+1 up to pre-configured maximum window size. CMPE252A Fall 2004
RMTP: Comments : Heterogeneity : Position of DR critical Lossy link or slow receiver will only affect a local region. : Position of DR critical Static hierarchy cannot adapt local recovery zone to loss points CMPE252A Fall 2004
PGM Cisco’s reliable multicast protocol. Single source protocol. CMPE252A Fall 2004
Protocol overview NACK-based with probabilistic suppression. Repair only forwarded to “NACKers”. Can make use of router support. Feedback aggregation. Selective repair forwarding. Source path message (SPM): generated hop-by-hop by PGM routers. CMPE252A Fall 2004
PGM: Request forwarding NACK + random delay. Forwarded upstream towards the source. Only one NACK is forwarded for every packet loss. SPM: identify next PGM router upstream. S R A R A A2 A A1 R router A receiver NACK RTX SPM CMPE252A Fall 2004
PGM Repair Src CMPE252A Fall 2004
PGM Repair Src (x) CMPE252A Fall 2004
PGM Repair Src (x) (x) Data loss CMPE252A Fall 2004
PGM Repair Src CMPE252A Fall 2004
PGM Repair Src (x+1) Next sequence number sent; nodes will notice the loss. CMPE252A Fall 2004
PGM Repair Src (x+1) CMPE252A Fall 2004
PGM Repair Src (x+1) CMPE252A Fall 2004
PGM Repair Src (x?) noticing the loss, sending a NACK CMPE252A Fall 2004
PGM Repair Src (x?) (x) (x?) (x?) (x?) (x?) CMPE252A Fall 2004
PGM Repair Src (x?) NACKS have now created state at necessary routers CMPE252A Fall 2004
PGM Repair Src out goes the repair (x) (x) (x) (x) CMPE252A Fall 2004
PGM Repair Src (x) (x) (x) CMPE252A Fall 2004
PGM Repair Src (x) (x) CMPE252A Fall 2004
PGM Repair Src CMPE252A Fall 2004
PGM Repair Src CMPE252A Fall 2004
Problem: Repeated Retransmissions Src CMPE252A Fall 2004
Repeated Retransmissions Src CMPE252A Fall 2004
Repeated Retransmissions Src data loss CMPE252A Fall 2004
Repeated Retransmissions Src CMPE252A Fall 2004
Repeated Retransmissions Src Next sequence number CMPE252A Fall 2004
Repeated Retransmissions Src CMPE252A Fall 2004
Repeated Retransmissions Src CMPE252A Fall 2004
Repeated Retransmissions Src CMPE252A Fall 2004
Repeated Retransmissions Src (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src repair (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) (x) (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src 2nd. repair (x) (x) (x) (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src (x) (x) CMPE252A Fall 2004
Repeated Retransmissions Src CMPE252A Fall 2004
Repeated Retransmissions Src CMPE252A Fall 2004
PGM Summary Pros: Cons: Avoids sending repairs everywhere. Routers need to look at multicast transport state (sequence numbers). Can result in duplicate repairs (depending on timing). CMPE252A Fall 2004
pgmcc Single-rate multicast congestion control mechanism. Single rate as opposed to hierarchical rate decomposition. Single-source multicast. Developed for PGM. But does not require router support. CMPE252A Fall 2004
pgmcc features End-to-end. Use ACKs and NACKs. Window-based. Sender-based RTT measurements. Representatives (ackers). Receiver with worst throughput. CMPE252A Fall 2004
Protocol overview Sender monitors receiver reports (NACKs). Select acker. Window-based congestion control (a la TCP) between sender and acker. Acker sends ACKs for every data packet. CMPE252A Fall 2004
Protocol components (1) Receiver reports: Sent as part of NACKs. Used to determine lowest throughput receiver, or acker. Reports receiver’s measured loss rate. Used to measure RTT. CMPE252A Fall 2004
Protocol components (2) Acknowledgments: Acker generates an ACK for each data packet received. Contain loss report. Sequence number of ack’ed packet. Bitmap with status of most recent 32 packets. CMPE252A Fall 2004
Protocol components (3) Window-based controller Window-based congestion control between sender and acker. Similar to TCP: AIMD. When sessions starts, slow-start up to small ssthresh. CMPE252A Fall 2004
Acker election and tracking Acker is receiver with lowest throughput. Uses TCP relation between throughput and loss, i.e., Bias in favor of current acker. CMPE252A Fall 2004
RLM Receiver-driven Layered Multicast. Use multiple multicast groups. Receiver initiated rate adaptation. Cope with heterogeneity. Use multiple multicast groups. Assemble content by combining data from multiple groups. Receivers add/remove layers Applicable to video. CMPE252A Fall 2004
RLM Layered video encoding. Each layer uses its own multicast group. Basic layer. Additional layer for enhanced video. Each layer uses its own multicast group. On spare capacity, receivers add layer. On congestion, receivers drop layer. CMPE252A Fall 2004
Layered media streams R1 R1 10Mbps 10Mbps 512Kbps S R R 10Mbps 128Kbps CMPE252A Fall 2004
When to add layer? Join experiments used to probe for bandwidth. Receivers try to add layers at specific times. Spontaneous subscription to next layer. If join-experiment causes congestion, receiver drops layer. Otherwise, receiver succeeds. CMPE252A Fall 2004
RLM Adaptation Learning strategy. Shared learning. Receivers learn over time level of subscription that causes congestion. Join-timer performing exponential backoff. Shared learning. For large groups, receivers learn from one another. Receiver multicasts join message; if experiment fails, other receivers know. CMPE252A Fall 2004
Join experiments Layer 3 timer exponentially increased Congestion 4 3 B 2 A 1 time CMPE252A Fall 2004