Lecture 6: Multicast

Similar documents
Different Layers Lecture 20

Multicast EECS 122: Lecture 16

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Multicast Routing. Overview. Multicast Efficient Data Distribution

Contents. Overview Multicast = Send to a group of hosts. Overview. Overview. Implementation Issues. Motivation: ISPs charge by bandwidth

Multicast Routing : Computer Networking. Example Applications. Overview

Randomization. Randomization used in many protocols We ll study examples:

Randomization used in many protocols We ll study examples: Ethernet multiple access protocol Router (de)synchronization Switch scheduling

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

UNIT IV -- TRANSPORT LAYER

Adaptive Video Multicasting

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

CSCI-131 Networking: the End-to-End Layer. Rodrigo Fonseca March 12 th, 2013

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors

CSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks

EE122: Multicast. Kevin Lai October 7, 2002

EE122: Multicast. Internet Radio. Multicast Service Model 1. Motivation

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Distributed Systems Multicast & Group Communication Services

Lecture 6: Multicast

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network

Mohammad Hossein Manshaei 1393

CSCD 433/533 Advanced Networks Spring Lecture 22 Quality of Service

Reminder: Datalink Functions Computer Networking. Datalink Architectures

15-744: Computer Networking TCP

CSE 123A Computer Networks

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Lecture 19: Multicast. CSE 123: Computer Networks Stefan Savage

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Multicast Communications. Tarik Čičić, 4. March. 2016

Lecture 14: Congestion Control"

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

CS 138: Communication I. CS 138 V 1 Copyright 2012 Thomas W. Doeppner. All rights reserved.

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

15-441: Computer Networking. Lecture 24: Ad-Hoc Wireless Networks

Telecommunication Protocols Laboratory Course. Lecture 3

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

CSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF)

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 20: Networks and Distributed Systems

List of groups known at each router. Router gets those using IGMP. And where they are in use Where members are located. Enhancement to OSPF

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals

Chapter 3: Transport Layer

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 19: Networks and Distributed Systems

Hands-On IP Multicasting for Multimedia Distribution Networks

TCP Congestion Control

Computer Networks. Sándor Laki ELTE-Ericsson Communication Networks Laboratory

Congestion Control. Tom Anderson

Communication Networks

Lecture 14: Congestion Control"

ADVANCED COMPUTER NETWORKS

CSE 123A Computer Networks

TCP Overview Revisited Computer Networking. Queuing Disciplines. Packet Drop Dimensions. Typical Internet Queuing. FIFO + Drop-tail Problems

NWEN 243. Networked Applications. Layer 4 TCP and UDP

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

Multicast service model Host interface Host-router interactions (IGMP) Multicast Routing Distance Vector Link State. Shared tree.

Page 1. This Week. CS 269: Lecture 11 Multicast A Tale of Two Failures. Multicast and QoS: the lost decade. Irony. History. Lectures.

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Table of Contents 1 PIM Configuration 1-1

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Multiple unconnected networks

Congestion Control in TCP

Principles behind data link layer services:

Principles behind data link layer services:

Different Layers Lecture 21

Bayeux: An Architecture for Scalable and Fault Tolerant Wide area Data Dissemination

NT1210 Introduction to Networking. Unit 10

CS 268: IP Multicast Routing

Announcements. EECS 122: Introduction to Computer Networks Multicast and Overlay Networks. Motivational Example: Streaming Media

Systems. Roland Kammerer. 10. November Institute of Computer Engineering Vienna University of Technology. Communication Protocols for Embedded

Fault Tolerance. Distributed Systems. September 2002

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

RSVP and the Integrated Services Architecture for the Internet

Quality of Service (QoS)

Study and Comparison of Mesh and Tree- Based Multicast Routing Protocols for MANETs

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

3. Quality of Service

Mul$cast and Anycast. Outline today TODAY 3/11/14. Mike Freedman COS 461: Computer Networks. IP Anycast

The Transport Layer Reliability

Multicast and Quality of Service. Internet Technologies and Applications

Chao Li Thomas Su Cheng Lu

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

The flow of data must not be allowed to overwhelm the receiver

Lecture 11. Transport Layer (cont d) Transport Layer 1

CS519: Computer Networks. Lecture 5, Part 5: Mar 31, 2004 Queuing and QoS

SYSC 5801 Protection and Restoration

II. Principles of Computer Communications Network and Transport Layer

Router s Queue Management

Wireless TCP Performance Issues

Mesh-Based Content Routing Using XML

Principles behind data link layer services

Network Control and Signalling

Fall 2012: FCM 708 Bridge Foundation I

Transcription:

Lecture 6: Multicast Challenge: how do we efficiently send messages to a group of machines? Need to revisit all aspects of networking Last time outing This time eliable delivery Ordered delivery Congestion control 1

How should you route traffic in an application-level multicast tree? 2

Scope Control Motivation Efficiency with reverse path multicast sender prunes receivers Administrative control over listeners anyone can listen to multicast conversation! snooping more difficult in unicast Coordinate sub-group actions elect a leader/suppress duplicate actions locate nearest receiver 3

Scope Control Mechanism #1 Administrative TTL boundaries Sender uses TTL = max local diameter At border router, forward pkts out iff > TTLmax TTL thresh = 8 Internet s 4

Scope Control Mechanism #2 Allocate block of local addresses At border router, forward only global addresses Don t forward addresses 0xffff0000-0xffff2000 Internet s 5

Expanding ing Multicast Locate nearest receiver by sending to more and more of group g g g g g TTL=5 TTL=3 g TTL=2 TTL=1 g s 6

eliable Multicast How do we make sure each receiver gets a copy of each message? Sender 7

Ack Implosion If each receiver acks each packet, sender gets overwhelmed! Sender 8

Negative Acks Possible solution: only send back to source if missing data missing sequence number (2, 3, 5, 6, 7, ) ping if no data being sent, to detect if missing last packet Fewer packets if losses are infrequent note TCP uses acks for pacing new sends 9

Nack Implosion If lose packet near sender, overwhelm sender with nacks! Sender X 10

Hop by Hop etransmission outer keeps copy of all packets esends if negative ack or timeout Sender retransmission X 11

Scalable eliable Multicast Use multicast services to recover from packet losses! If missing packet, multicast NACK anyone get the packet? Tell others to suppress NACK eceivers with packet will multicast reply anyone else missing the packet? Tell others to suppress reply Assumes packets are signed by source 12

SM Scalability? If everyone multicasts NACK NACK implosion everywhere! If everyone multicasts reply data implosion everywhere! Goal: minimize simultaneous NACKs and replies 13

SM Scalability Use random delay before sending NACK/reply less likely for more than one to send at once Bias delay to reduce competition NACK delay based on distance to source eply delay based on distance to NACK distance est. using periodic session msgs Doesn t matter which host NACKs, replies 14

SM Example 3 detects loss, multicasts NACK 1 sees NACK, multicasts reply Sender 2 1 X 3 4 5 15

SM Timer Adaptation Want system to be robust to topologies, group sizes, congestion Adapt average delays to minimize redundant NACKs, replies Analogous to TT estimation in TCP Examples if too many NACKs, increase average delay if NACK once, reduce delay so NACK again 16

What if multiple drops? Can use TTL expanding ring search for local recovery Sender X X X 17

SM Evaluation Scalability? What happens as we increase # of hosts? What about diversity of link bandwidths? Stability? What happens as load increases? Security reply with corrupted packet denial of service => NACK everything! 18

Application Level Framing Allow application to control how data is packetized on network each PC, object on packet boundaries by contrast, TCP/IP transmits byte stream Advantages? Disadvantages? 19

Multicast Packet Ordering Easy to order unicast packets => seq #s Easy to order multicast packets from a single source => seq #s What if multiple sources? Packets can arrive in different order at different receivers Is this bad? Ifso,whatcanwedotofixit? 20

Multicast Ordering Example abxcyz g g g s g abc abcxyz xaybzc axbycz g xyzabc xyz s g 21

Example: Email Groups A B Meet for lunch? C D Meet at noon? Need to hold design review Noon for what? Oh, ok! Anytime other than noon! Confirmed! Confirmed! 22

Example: Deterministic eplicas eplicate server for higher throughput, fault tolerance ead from any replica Write to all replicas How do we keep replicas consistent? Provide all replicas exactly same sequence of messages Each replica behaves deterministically, reaches same state as all other replicas 23

Multicast Total Ordering All packets are delivered in same order everywhere Single seq # for all packets to group every source sends packets to arbiter arbiter assigns sequence # if arbiter fails, elect new one receivers don t process packets out of order 24

Multicast Causal Ordering Total ordering inefficient for subcasts Instead, causal ordering packets are never delivered before packets that could have caused them receiver must have gotten all the packets source has seen packets that originate concurrently can be delivered in any order 25

Implementing Causal Ordering Packets carry per-host sequence # increment on each send Each host maintains a version vector max seq # s seen (in order) from each host put version vector in each outgoing packet At receiver, delay packet until host vector > packet vector, for all sources 26

Causal Ordering Example 0,0,0,0 0,0,0,0 0,0,0,0 0,0,0,0 A B Meet for lunch? 0,1,0,0 C D Meet at noon? 0,1,1,0 Need to hold design review 0,0,0,1 Defer packet 11 am? Anytime other than 11am! Confirmed! Defer packet How about noon? 27

Multicast Congestion Control What if receivers have very different bandwidths? Send at max? Send at min? Send at avg? S 100Mb/s 1Mb/s 100Mb/s 100Mb/s 1Mb/s 56Kb/s 28

Layered Multimedia Transmit signal at multiple granularities 56Kb/s - voice only 1Mb/s - choppy video 100Mb/s - high quality video Layers can be independent (redundant) dependent (progressive refinement) 29

Drop Policies for Layered Multicast Priority packets for low bandwidth layers are kept, drop queued packets for higher layers requires router support (hard to deploy!) wastes upstream resources Uniform (e.g., drop tail, ED) packets arriving at congested router are dropped regardless of their layer 30

eceiver-driven Layered Multicast Each layer a separate group receiver subscribes to max group that will get through with minimal drops Dynamically adapt to available capacity use packet losses as congestion signal Assume no special router support packets dropped independently of layer 31

How does receiver know which layers to add? User decides based on observed quality? Won t add layer if no benefit System dynamically adapts to available capacity Use packet drops as congestion signal No drops => try subscribing to higher layer Drops => unsubscribe to layer 32

LM Join Experiment eceivers periodically try subscribing to higher layer If enough capacity, no congestion, no drops => keep layer (& try next layer) If not enough capacity, congestion, drops => drop layer (& increase time to next retry) what about impact on other receivers? 33

LM Join Example S 100Mb/s 100Mb/s 1 1 joins layer 1, joins layer 2 joins layer 3 100Mb/s 1Mb/s 2 1Mb/s 2,3 join layer 1, 3 join layer 2 fails at layer 3 56Kb/s 4 4 joins layer 1, fails at layer 2 34

LM Scalability? What happens with more receivers? Increased frequency of experiments? more likely to conflict (false signals) network spends more time congested educe # of experiments per host? Takes longer to converge 35

LM eceiver Coordination eceiver advertises intent to add layer Other receivers avoid conflicting experiments if experiment fails, will see increased drops => don t try adding layer! (shared learning) OK to try adding lower layer during higher layer experiment won t cause drops at higher layer! 36

LM Interactions With other multicast groups? With unicast TCP traffic? With ED? With fair queuing? With priority for lower layers? 37

Drop Policies for Layered Multicast Priority packets for low bandwidth layers are kept, drop queued packets for higher layers Uniform packets arriving at congested router are dropped regardless of their layer Which is better? Intuition vs. reality! 38

LM Intuition Uniform offers better incentives to wellbehaved users if oversend, performance rapidly degrades Uniform offers clearer congestion signal allows shared learning LM approaches optimal operating point uniform is already deployed 39

LM Intuition 70 Uniform vs. Priority Dropping 60 Performance 50 40 30 20 Uniform Priority LM 10 0 offered load 40

Bajaj et al. Intuition Priority offers much better performance particularly with bursty traffic LM will perform badly with bursty traffic unable to adapt to congestion transients Uniform offers better incentives but socially optimal!= individually optimal 41

Bajaj et al. Intuition 70 Uniform vs. Priority Dropping 60 Performance 50 40 30 20 Uniform Priority LM 10 0 offered load 42

Model Details Compare alternatives using total utility Utility of low layers > utility of high layers Utility of layer even if some drops independent of drops on other layers Drop tail router Both simulation and analytical model 43

Model esults Smooth traffic: LM is close to optimal Bursty traffic: LM < uniform < priority but not by much! LM worse if low layers not valuable Incentive to oversubscribe with both uniform and priority Slight disincentive to send/receive => individual = socially optimal 44

Multicast Summary Multicast needed for efficiency, group coordination Need to revisit all aspects of networking outing Administration eliable delivery Ordered delivery Congestion control 45