IP ANYCAST and MULTICAST;

Slides:



Advertisements
Similar presentations
Virtual Links: VLANs and Tunneling
Advertisements

MPLS VPN.
Copyright © 2004 Juniper Networks, Inc. Proprietary and Confidentialwww.juniper.net 1 Multicast in BGP/MPLS VPNs and VPLS draft-raggarwa-l3vpn-mvpn-vpls-mcast-
OLD DOG CONSULTING Challenges and Solutions for OAM in Point-to-Multipoint MPLS Adrian Farrel, Old Dog Consulting Ltd. Zafar Ali, Cisco Systems, Inc.
Internetworking II: MPLS, Security, and Traffic Engineering
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
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.
Lecture 6 Overlay Networks CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
CS Summer 2003 Lecture 14. CS Summer 2003 MPLS VPN Architecture MPLS VPN is a collection of sites interconnected over MPLS core network. MPLS.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
1 Overlay Networks Reading: 9.4 COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford Teaching Assistants: Sunghwan Ihm and.
1 Overlay Networks Reading: 9.4 COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Jennifer Rexford Teaching Assistant: Ioannis Avramopoulos.
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
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
Internet Networking Spring 2002
1 Network Layer: Host-to-Host Communication. 2 Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using.
Multicast Communication
© 2006 Cisco Systems, Inc. All rights reserved. Implementing Secure Converged Wide Area Networks (ISCW) Module 4: Frame Mode MPLS Implementation.
Overlay Networks and Tunneling Reading: 4.5, 9.4 COS 461: Computer Networks Spring 2009 (MW 1:30-2:50 in COS 105) Mike Freedman Teaching Assistants: Wyatt.
MPLS L3 and L2 VPNs Virtual Private Network –Connect sites of a customer over a public infrastructure Requires: –Isolation of traffic Terminology –PE,
COS 420 Day 16. Agenda Assignment 3 Corrected Poor results 1 C and 2 Ds Spring Break?? Assignment 4 Posted Chap Due April 6 Individual Project Presentations.
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.
SMUCSE 8344 MPLS Virtual Private Networks (VPNs).
Multicast and Anycast Mike Freedman COS 461: Computer Networks
1 CSCI 6433 Internet Protocols Class 7 Dave Roberts.
1 Multi-Protocol Label Switching (MPLS) presented by: chitralekha tamrakar (B.S.E.) divya krit tamrakar (B.S.E.) Rashmi shrivastava(B.S.E.) prakriti.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
© 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.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)
CS 5565 Network Architecture and Protocols Godmar Back Lecture 22.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
OVERVIEW Lecture 6 Overlay Networks. 2 Focus at the application level.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
MPLS and VPNs (David Andersen) (Nick Feamster) February 18, 2008.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
Björn Landfeldt School of Information Technologies NETS 3303 Networked Systems Multicast.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
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.
Transport Layer3-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.
1MPLS QOS 10/00 © 2000, Cisco Systems, Inc. rfc2547bis VPN Alvaro Retana Alvaro Retana
ICS 156: Networking Lab Magda El Zarki Professor, ICS UC, Irvine.
5: DataLink Layer5-1 Virtualization of networks Virtualization of resources: powerful abstraction in systems engineering: r computing examples: virtual.
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
Tunneling Continued/ End-to-End Principle CS 4251: Computer Networking II Nick Feamster Spring 2008.
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.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Multiprotocol Label Switching (MPLS) Routing algorithms provide support for performance goals – Distributed and dynamic React to congestion Load balance.
Multi-protocol Label Switching (MPLS) RFC 3031 MPLS provides new capabilities: QoS support Traffic engineering VPN Multiprotocol support.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
MPLS Virtual Private Networks (VPNs)
Advanced Computer Networks
Kapitel 19: Routing. Kapitel 21: Routing Protocols
Scaling the Network: The Internet Protocol
What’s “Inside” a Router?
CPE 401/601 Computer Network Systems
Lecture 6 Overlay Networks
Scaling the Network: The Internet Protocol
Lecture 6 Overlay Networks
Other Routing Protocols
IP Multicast COSC /5/2019.
DHCP: Dynamic Host Configuration Protocol
Computer Networks Protocols
Presentation transcript:

IP ANYCAST and MULTICAST; OVERLAYS and UNDERLAYS READING: SECTION 4.4, 4.5, 9.4.1 COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Mike Freedman http://www.cs.princeton.edu/courses/archive/spring10/cos461/

Outline today IP Anycast Multicast protocols Overlay networks IP Multicast and IGMP SRM (Scalable Reliable Multicast) PGM (Pragmatic General Multicast) Overlay networks Tunnels between host computers Build networks “on top” of the Internet Provide better control, flexibility, QoS, isolation, … Underlay tunnels Across routers within AS Build networks “below” IP route

Limitations of DNS-based failover Failover/load balancing via multiple A records ;; ANSWER SECTION: www.cnn.com. 300 IN A 157.166.255.19 www.cnn.com. 300 IN A 157.166.224.25 www.cnn.com. 300 IN A 157.166.226.26 www.cnn.com. 300 IN A 157.166.255.18 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?

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

IP anycast in action Announce 10.0.0.1/32 Announce 10.0.0.1/32 192.168.0.1 10.0.0.1 Router 2 Server Instance A Client Router 1 Router 3 Router 4 Server Instance B 192.168.0.2 10.0.0.1 Announce 10.0.0.1/32

IP anycast in action 192.168.0.1 10.0.0.1 Router 2 Server Instance A Client Router 1 Router 3 Router 4 Server Instance B 192.168.0.2 10.0.0.1 Routing Table from Router 1: Destination Mask Next-Hop Distance 192.168.0.0 /29 127.0.0.1 0 10.0.0.1 /32 192.168.0.1 1 10.0.0.1 /32 192.168.0.2 2

IP anycast in action 192.168.0.1 10.0.0.1 Router 2 Server Instance A Client Router 1 Router 3 Router 4 Server Instance B 192.168.0.2 10.0.0.1 DNS lookup for http://www.server.com/ produces a single answer: www.server.com. IN A 10.0.0.1

IP anycast in action 192.168.0.1 10.0.0.1 Router 2 Server Instance A Client Router 1 Router 3 Router 4 Server Instance B 192.168.0.2 10.0.0.1 Routing Table from Router 1: Destination Mask Next-Hop Distance 192.168.0.0 /29 127.0.0.1 0 10.0.0.1 /32 192.168.0.1 1 10.0.0.1 /32 192.168.0.2 2

IP anycast in action 192.168.0.1 10.0.0.1 Router 2 Server Instance A Client Router 1 Router 3 Router 4 Server Instance B 192.168.0.2 10.0.0.1 Routing Table from Router 1: Destination Mask Next-Hop Distance 192.168.0.0 /29 127.0.0.1 0 10.0.0.1 /32 192.168.0.1 1 10.0.0.1 /32 192.168.0.2 2

IP anycast in action 192.168.0.1 10.0.0.1 Router 2 Server Instance A Client Router 1 Router 3 Router 4 Server Instance B 192.168.0.2 10.0.0.1 Routing Table from Router 1: Destination Mask Next-Hop Distance 192.168.0.0 /29 127.0.0.1 0 10.0.0.1 /32 192.168.0.1 1 10.0.0.1 /32 192.168.0.2 2

IP anycast in action From client/router perspective, topology could as well be: 192.168.0.1 Router 2 10.0.0.1 Client Router 1 Server Router 3 Router 4 192.168.0.2 Routing Table from Router 1: Destination Mask Next-Hop Distance 192.168.0.0 /29 127.0.0.1 0 10.0.0.1 /32 192.168.0.1 1 10.0.0.1 /32 192.168.0.2 2

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

Multicast protocols

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 (“peer-to-peer”) 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?

IP Multicast Simple to use in applications Receiver-driven membership Multicast “group” defined by IP multicast address IP multicast addresses look similar to IP unicast addrs 224.0.0.0 to 239.255.255.255 (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)

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 Why no explicit leave? Unwanted packets can just be dropped at client!

IGMP IGMP v2 added: IGMP v3 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 Why no explicit leave? Unwanted packets can just be dropped at client!

IGMP Parameters Questions 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? 1. Router not tracking each peer, only each network: because these local networks at broadcast media (e.g., unswitched ethernet). 2. Random delay (from 0…D) in order to minimize responses to queries: Only one response from broadcast domain needed. 3. L2 switches typically broadcast multicast traffic out all ports. Alternatively, IGMP snooping (sneak peek into the layer 3 content of a multicast packet), Cisco’s proprietary, or static forwarding tables…

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

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.

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!) Grows big: delay needs to grow. Lack of efficiency.

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

Overlay Networks

Overlay Networks

Overlay Networks Focus at the application level

IP Tunneling to Build Overlay Links IP tunnel is a virtual point-to-point link Illusion of a direct link between two separated nodes Encapsulation of the packet inside an IP datagram Node B sends a packet to node E … containing another packet as the payload A B E F Logical view: tunnel A B E F Physical view:

Tunnels Between End Hosts Src: A Dest: B Src: C Dest: B Src: A Dest: B A C Src: A Dest: C Src: A Dest: B

Overlay Networks A logical network built on top of a physical network Overlay links are tunnels through the underlying network Many logical networks may coexist at once Over the same underlying network And providing its own particular service Nodes are often end hosts Acting as intermediate nodes that forward traffic Providing a service, such as access to files Who controls the nodes providing service? The party providing the service Distributed collection of end users

Overlays for Incremental Deployment

Using Overlays to Evolve the Internet Internet needs to evolve IPv6 Security Mobility Multicast But, global change is hard Coordination with many ASes “Flag day” to deploy and enable the technology Instead, better to incrementally deploy And find ways to bridge deployment gaps

6Bone: Deploying IPv6 over IP4 A B E F tunnel Logical view: IPv6 IPv6 IPv6 IPv6 A B C D E F Physical view: IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data A-to-B: IPv6 E-to-F: IPv6 B-to-C: IPv6 inside IPv4 B-to-C: IPv6 inside IPv4

Secure Communication Over Insecure Links Encrypt packets at entry and decrypt at exit Eavesdropper cannot snoop the data … or determine the real source and destination

Communicating With Mobile Users A mobile user changes locations frequently So, the IP address of the machine changes often The user wants applications to continue running So, the change in IP address needs to be hidden Solution: fixed gateway forwards packets Gateway has a fixed IP address … and keeps track of the mobile’s address changes www.cnn.com gateway

MBone: Multicast Backbone A catch-22 for deploying multicast Router vendors wouldn’t support IP multicast … since they weren’t sure anyone would use it And, since it didn’t exist, nobody was using it Idea: software implementing multicast protocols And unicast tunnels to traverse non-participants

We saw tunneling “on top of” IP. What about tunneling “below” IP? Introducing Multi-Protocol Label Switching (MPLS)

MPLS Overview Main idea: Virtual circuit Packets forwarded based only on circuit identifier Source 1 Destination Source 2 Router can forward traffic to the same destination on different interfaces/paths.

MPLS Overview Main idea: Virtual circuit Packets forwarded based only on circuit identifier Source 1 Destination Source 2 Router can forward traffic to the same destination on different interfaces/paths.

Circuit Abstraction: Label Swapping D A 2 1 Tag Out New 3 A 2 D Label-switched paths (LSPs): Paths are “named” by the label at the path’s entry point At each hop, MPLS routers: Use label to determine outgoing interface, new label Thus, push/pop/swap MPLS headers that encapsulate IP Label distribution protocol: responsible for disseminating signalling information

Reconsider security problem

Layer 3 Virtual Private Networks Private communications over a public network A set of sites that are allowed to communicate with each other Defined by a set of administrative policies Determine both connectivity and QoS among sites Established by VPN customers One way to implement: BGP/MPLS VPN (RFC 2547)

MPLS to forward traffic Layer 3 BGP/MPLS VPNs VPN A/Site 1 VPN A/Site 2 VPN A/Site 3 VPN B/Site 2 VPN B/Site 1 VPN B/Site 3 CEA1 CEB3 CEA3 CEB2 CEA2 CE1B1 CE2B1 PE1 PE2 PE3 P1 P2 P3 10.1/16 10.2/16 10.3/16 10.4/16 BGP to exchange routes MPLS to forward traffic Isolation: Multiple logical networks over a single, shared physical infrastructure Tunneling: Keeping routes out of the core

High-Level Overview of Operation IP packets arrive at provider edge router (PE) Destination IP looked up in forwarding table – Multiple “virtual” forwarding tables Datagram sent to customer’s network using tunneling (i.e., an MPLS label-switched path)

Virtual Routing and Forwarding Separate tables per customer at each router RFC 2547: Route Distinguishers Customer 1 10.0.1.0/24 10.0.1.0/24 RD: Purple Customer 1 Customer 2 10.0.1.0/24 Customer 2 10.0.1.0/24 RD: Blue

Forwarding in BGP/MPLS VPNs Step 1: Packet arrives at incoming interface Site VRF determines BGP next-hop and Label #2 Label 2 IP Datagram Step 2: BGP next-hop lookup, add corresponding LSP (also at site VRF) IP Datagram Label 2 Label 1

Forwarding PE and P routers have BGP next-hop reachability through the backbone IGP Labels are distributed through LDP (hop-by-hop) corresponding to BGP Next-Hops Two-Label Stack is used for packet forwarding Top label indicates Next-Hop (interior label) Second label indicates outgoing interface / VRF (exterior label) Corresponds to LSP of BGP next-hop (PE) Corresponds to VRF/interface at exit Layer 2 Header Label 1 Label 2 IP Datagram

Forwarding Layer 2 Header Label 1 Label 2 IP Datagram VPN A/Site 1 VPN B/Site 2 VPN B/Site 1 VPN B/Site 3 CEA1 CEB3 CEA3 CEB2 CEA2 CE1B1 CE2B1 PE1 PE2 PE3 P1 P2 P3 10.1/16 10.2/16 10.3/16 10.4/16 Layer 2 Header Label 1 Label 2 IP Datagram

Outline today IP Anycast Multicast protocols Overlay networks IP Multicast and IGMP SRM (Scalable Reliable Multicast) PGM (Pragmatic General Multicast) Overlay networks Tunnels between host computers Build networks “on top” of the Internet Provide better control, flexibility, QoS, isolation, … Underlay tunnels Across routers within AS Build networks “below” IP route