IP ANYCAST AND MULTICAST READING: SECTION 4.4 COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Mike Freedman Teaching Assistants: Wyatt.

Slides:



Advertisements
Similar presentations
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
Advertisements

1April 16, 2002 Layer 3 Multicast Addressing IP group addresses – “Class D” addresses = high order bits of “1110” Special reserved.
Multicast on the Internet CSE April 2015.
1 o Two issues in practice – Scale – Administrative autonomy o Autonomous system (AS) or region o Intra autonomous system routing protocol o Gateway routers.
CSE331: Introduction to Networks and Security Lecture 8 Fall 2002.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Reliable Group Communication Quanzeng You & Haoliang Wang.
Multicast Fundamentals n The communication ways of the hosts n IP multicast n Application level multicast.
COS 420 Day 15. Agenda Assignment 3 Due Assignment 4 Posted Chap Due April 6 Individual Project Presentations Due IEPREP - Jeff MANETS - Donnie.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public BSCI Module 7 Lesson 2 1 IP Multicasting: IGMP and Layer 2 Issues.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
COS 420 Day 14. Agenda Assignment 3 Posted Covers chapters Due March 23 Assignment 4 Posted Chap Due April 6 Individual Project Papers due.
ANYCAST and MULTICAST READING: SECTION 4.4 COS 461: Computer Networks Spring 2011 Mike Freedman
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Network Multicast Prakash Linga. Last Class COReL: Algorithm for totally-ordered multicast in an asynchronous environment, in face of network partitions.
Computer Networking Lecture 24 – Multicast.
Internet Networking Spring 2002
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Link-State Routing Reading: Sections 4.2 and COS 461: Computer Networks Spring 2011 Mike Freedman
Anonymous Gossip: Improving Multicast Reliability in Mobile Ad-Hoc Networks Ranveer Chandra (joint work with Venugopalan Ramasubramanian and Ken Birman)
Multicast Communication
IP ANYCAST and MULTICAST;
Chapter 19 Binding Protocol Addresses (ARP) Chapter 20 IP Datagrams and Datagram Forwarding.
An Active Reliable Multicast Framework for the Grids M. Maimour & C. Pham ICCS 2002, Amsterdam Network Support and Services for Computational Grids Sunday,
Best Practices in IPv4 Anycast Routing Version 0.9 August, 2002 Bill Woodcock Packet Clearing House.
Multicast and Anycast Mike Freedman COS 461: Computer Networks
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
1 CSCI 6433 Internet Protocols Class 7 Dave Roberts.
Multicast Congestion Control in the Internet: Fairness and Scalability
Communication (II) Chapter 4
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
Network Layer introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol  datagram format  IPv4.
Application-Layer Anycasting By Samarat Bhattacharjee et al. Presented by Matt Miller September 30, 2002.
CS 5565 Network Architecture and Protocols Godmar Back Lecture 22.
1 CMPT 471 Networking II IGMP (IPv4) and MLD (IPv6) © Janice Regan,
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
TOMA: A Viable Solution for Large- Scale Multicast Service Support Li Lao, Jun-Hong Cui, and Mario Gerla UCLA and University of Connecticut Networking.
Multicasting Part I© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
IETF78 Multimob Masstricht1 Proposal for Tuning IGMPv3/MLDv2 Protocol Behavior in Wireless and Mobile networks draft-wu-multimob-igmp-mld-tuning-02 Qin.
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Internet routing protocols m RIP m OSPF m IGRP m BGP r Router architectures r IPv6 Today: r IPv6.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Chapter 21 Multicast Routing
Multicast Communications
Networks, Part 2 March 7, Networks End to End Layer  Build upon unreliable Network Layer  As needed, compensate for latency, ordering, data.
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
Fault Tolerance (2). Topics r Reliable Group Communication.
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
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.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
Kapitel 19: Routing. Kapitel 21: Routing Protocols
Multicast Outline Multicast Introduction and Motivation DVRMP.
Scaling the Network: The Internet Protocol
Internet Networking recitation #12
Routing.
Scaling the Network: The Internet Protocol
Routing.
Presentation transcript:

IP ANYCAST AND MULTICAST READING: SECTION 4.4 COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Mike Freedman Teaching Assistants: Wyatt Lloyd and Jeff Terrace 1

Outline today IP Anycast Multicast protocols – IP Multicast and IGMP – SRM (Scalable Reliable Multicast) – PGM (Pragmatic General Multicast) – Bimodal multicast – Gossiping 2

Limitations of DNS-based failover Failover/load balancing via multiple A records ;; ANSWER SECTION: If server fails, service unavailable for TTL – Very low TTL: Extra load on DNS – Anyway, browsers cache DNS mappings  What if root NS fails? All DNS queries take > 3s? 3

Motivation for IP anycast Failure problem: client has resolved IP address – What if IP address can represent many servers? Load-balancing/failover via IP addr, rather than DNS IP anycast is simple reuse of existing protocols – Multiple instances of a service share same IP address – Each instance announces IP address / prefix in BGP / IGP – Routing infrastructure directs packets to nearest instance of the service Can use same selection criteria as installing routes in the FIB – No special capabilities in servers, clients, or network 4

ClientRouter 1 IP anycast in action Server Instance A Server Instance BRouter 3 Router 2 Router Announce /32

Router 1 IP anycast in action Client Server Instance A Server Instance BRouter 3 Router 2 Router Routing Table from Router 1: DestinationMaskNext-HopDistance / / /

ClientRouter 1 IP anycast in action Server Instance A Server Instance BRouter 3 Router 2 Router DNS lookup for produces a single answer: IN A

Router 1 IP anycast in action Client Server Instance A Server Instance BRouter 3 Router 2 Router Routing Table from Router 1: DestinationMaskNext-HopDistance / / /

Router 1 IP anycast in action Client Server Instance A Server Instance BRouter 3 Router 2 Router Routing Table from Router 1: DestinationMaskNext-HopDistance / / /

Router 1 IP anycast in action Client Server Instance A Server Instance BRouter 3 Router 2 Router Routing Table from Router 1: DestinationMaskNext-HopDistance / / /

Router 1 IP anycast in action ClientServer Router 3 Router 2 Router Routing Table from Router 1: DestinationMaskNext-HopDistance / / / From client/router perspective, topology could as well be:

Downsides of IP anycast Many Tier-1 ISPs ingress filter prefixes > /24 – Publish a /24 to get a “single” anycasted address: Poor utilization Scales poorly with the # anycast groups – Each group needs entry in global routing table Not trivial to deploy – Obtain an IP prefix and AS number; speak BGP Subject to the limitations of IP routing – No notion of load or other application-layer metrics – Convergence time can be slow (as BGP or IGP convergence) Failover doesn’t really work with TCP – TCP is stateful; other server instances will just respond with RSTs – Anycast may react to network changes, even though server online Root name servers (UDP) are anycasted, little else 12

Multicast protocols 13

Multicasting messages Simple application multicast: Iterated unicast – Client simply unicasts message to every recipient – Pros: simple to implement, no network modifications – Cons: O(n) work on sender, network Advanced overlay multicast – Build receiver-driven tree – Pros: Scalable, no network modifications – Cons: O(log n) work on sender, network; complex to implement IP multicast – Embed receiver-driven tree in network layer – Pros: O(1) work on client, O(# receivers) on network – Cons: requires network modifications; scalability concerns? 14

Another way to slice it Best effortReliable Iterated UnicastUDP-based communication TCP-based communication; Atomic broadcast Application “Trees”UDP-based trees (P2P)TCP-based trees; Gossiping; Bimodal multicast * IP-layer multicastIP multicastSRM; PGM; NORM; Bimodal multicast * 15

Another way to slice it Best effortReliable Iterated UnicastUDP-based communication TCP-based communication; Atomic broadcast Application “Trees”UDP-based trees (P2P)TCP-based trees; Gossiping; Bimodal multicast * IP-layer multicastIP multicastSRM; PGM; NORM; Bimodal multicast * 16

IP Multicast Simple to use in applications – Multicast “group” defined by IP multicast address IP multicast addresses look similar to IP unicast addrs to (RPC 3171) – 265 M multicast groups at most – Best effort delivery only Sender issues single datagram to IP multicast address Routers delivery packets to all subnetworks that have a receiver “belonging” to the group Receiver-driven membership – Receivers join groups by informing upstream routers – Internet Group Management Protocol (v3: RFC 3376) 17

IGMP v1 Two types of IGMP msgs (both have IP TTL of 1) – Host membership query: Routers query local networks to discover which groups have members – Host membership report: Hosts report each group (e.g., multicast addr) to which belong, by broadcast on net interface from which query was received Routers maintain group membership – Host senders an IGMP “report” to join a group – Multicast routers periodically issue host membership query to determine liveness of group members – Note: No explicit “leave” message from clients 18

IGMP IGMP v2 added: – If multiple routers, one with lowest IP elected querier – Explicit leave messages for faster pruning – Group-specific query messages IGMP v3 added: – Source filtering: Join specifies multicast “only from” or “all but from” specific source addresses 19

IGMP Parameters – Maximum report delay: 10 sec – Query internal default: 125 sec – Time-out interval: 270 sec 2 * (query interval + max delay) Questions – Is a router tracking each attached peer? – Should clients respond immediately to membership queries? – What if local networks are layer-two switched? 20

So far, we’ve been best-effort IP multicast… 21

Challenges for reliable multicast Ack-implosion if all destinations ack at once Source does not know # of destinations How to retransmit? – To all? One bad link effects entire group – Only where losses? Loss near sender makes retransmission as inefficient as replicated unicast Once size fits all? – Heterogeneity: receivers, links, group sizes – Not all multicast applications need reliability of the type provided by TCP. Some can tolerate reordering, delay, etc. 22

Another way to slice it Best effortReliable Iterated UnicastUDP-based communication TCP-based communication; Atomic broadcast Application “Trees”UDP-based trees (P2P)TCP-based trees; Gossiping; Bimodal multicast * IP-layer multicastIP multicastSRM; PGM; NORM; Bimodal multicast * 23

Scalable Reliable Multicast Receives all packets or unrecoverable data loss Data packets sent via IP multicast – ODATA includes sequence numbers Upon packet failure: – Receiver multicasts a NAK … or sends NAK to sender, who multicasts a NAK confirmation (NCF) – Scale through NAK suppression … if received a NAK or NCF, don’t NAK yourself What do we need to do to get adequate suppression? – Add random delays before NAK’ing – But what if the multicast group grows big? – Repair through packet retransmission (RDATA) From initial sender From designated local repairer (DLR – IETF loves acronyms!) 24

Another way to slice it Best effortReliable Iterated UnicastUDP-based communication TCP-based communication; Atomic broadcast Application “Trees”UDP-based trees (P2P)TCP-based trees; Gossiping; Bimodal multicast * IP-layer multicastIP multicastSRM; PGM; NORM; Bimodal multicast * 25

Pragmatic General Multicast (RFC 3208) Similar approach as SRM: IP multicast + NAKs – … but more techniques for scalability Hierarchy of PGM-aware network elements – NAK suppression: Similar to SRM – NAK elimination: Send at most one NAK upstream Or completely handle with local repair! – Constrained forwarding: Repair data can be suppressed downstream if no NAK seen on that port – Forward-error correction: Reduce need to NAK Works when only sender is multicast-able 26

A stronger “reliability”? Atomic broadcast – “Everybody or nobody” receives a packet – Clearly not guaranteed with SRM/PGM: Requires consensus between receivers Performance problem: One slow node hurts everybody Performance problems with SRM/PGM? – Sender spends lots of time on retransmissions as heterogenous group increases in size Local repair makes this better 27

“Virtual synchrony” multicast performance Performance perturbation rate Average throughput on nonperturbed members group size: 32 group size: 64 group size:

Another way to slice it Best effortReliable Iterated UnicastUDP-based communication TCP-based communication; Atomic broadcast Application “Trees”UDP-based trees (P2P0TCP-based trees; Gossiping; Bimodal multicast * IP-layer multicastIP multicastSRM; PGM; NORM; Bimodal multicast * 29

Bimodal multicast 30  Initially use UDP / IP multicast

Bimodal multicast 31  Periodically (e.g. 100ms) each node sends digest describing its state to randomly-selected peer.  The digest identifies messages; it doesn’t include them.

 Recipient checks gossip digest against own history  Solicits any missing message from node that sent gossip Bimodal multicast 32

 Recipient checks gossip digest against own history  Solicits any missing message from node that sent gossip  Processes respond to solicitations received during a round of gossip by retransmitting the requested message. Bimodal multicast 33

Bimodal multicast 34  Respond to solicitations by retransmitted requested msg

Delivery? Garbage Collection? Deliver a message when it is in FIFO order – Report an unrecoverable loss if a gap persists for so long that recovery is deemed “impractical” Garbage collect a message when no “healthy” process could still need a copy Match parameters to intended environment 35

Optimizations Retransmission for most recent multicast first – “Catch up quickly” to leave at most one gap in sequence Participants bound the amount of data they will retransmit during any given round of gossip. – If too much is solicited they ignore the excess requests Label gossip msgs with sender’s gossip round # – Ignore if expired round #; node probably no longer correct Don’t retransmit same msg twice in row to same dest – Retransmission may still be in transit 36

Optimizations Use UDP multicast when retransmitting a message if several processes lack a copy – For example, if solicited twice – Also, if a retransmission is received from “far away” – Tradeoff: excess messages versus low latency Use regional TTL to restrict multicast scope 37

Why “bimodal”?  There are two phases?  Nope; description of duals “modes” of result Either sender fails… … or data gets through w.h.p. 38

Idea behind analysis Can use the mathematics of epidemic theory to predict reliability of the protocol – Assume an initial state – Now look at result of running B rounds of gossip: Converges exponentially quickly to atomic delivery 39

Another way to slice it Best effortReliable Iterated UnicastUDP-based communication TCP-based communication; Atomic broadcast Application “Trees”UDP-based trees (P2P)TCP-based trees; Gossiping; Bimodal multicast * IP-layer multicastIP multicastSRM; PGM; NORM; Bimodal multicast * 40

Epidemic algorithms via gossiping Assume a fixed population of size n For simplicity, assume epidemic spreads homogenously through popularly – Simple randomized epidemic: any one can infect any one with equal probability Assume that k members are already infected Infection occurs in rounds 41

Probability of Infection  Probability P infect (k,n) that a uninfected member is infected in a round if k are already infected? P infect (k,n)= 1 – P (nobody infects) = 1 – (1 – 1/n) k E (#newly infected) = (n-k)  P infect (k,n)  Basically it’s a Binomial Distribution  # rounds to infect entire population is O(log n) 42

Two prevailing styles Gossip push (“rumor mongering”): – A tells B something B doesn’t know – Gossip for multicasting Keep sending for bounded period of time: O (log n) – Also used to compute aggregates Max, min, avg easy. Sum and count more difficult. Gossip pull (“anti-entropy”) – A asks B for something it is trying to “find” – Commonly used for management replicated data Resolve differences between DBs by comparing digests Amazon S3 ! 43

Still several research questions Gossip with bandwidth control – Constant rate? – Tunable with flow control? – Prefer to send oldest data? Newest data? Gossip with heterogenous bandwidth – Topology / bandwidth-aware gossip … 44

Summary IP Anycast – Failover and load balancing between IP addresses – Uses existing routing protocols, no mods anywhere – But problems: scalability, coarse control, TCP stickiness – Primarily used for DNS, now being introduced inside ISPs Multicast protocols – Unrealiable: IP Multicast and IGMP – Realiable: SRM, PGM, Bimodal multicast – Gossiping 45