l3vpn-1

Embed Size (px)

Citation preview

  • 8/3/2019 l3vpn-1

    1/21

    Multicast in L3VPNs

    Bruce Davie1

    [email protected]

    draft-ietf-l3vpn-2547bis-mcast-03.txt

    1. Not a draft co-author, or a multicast expert

  • 8/3/2019 l3vpn-1

    2/21

    Overview

    Aiming to encourage more involvement in multicast

    L3VPN work by providing user-friendly overview of

    problem space

    Focus more on problems that the current proposedsolutions

    Hard questions will be deflected to draft authors

    Likewise questions such as why did you choose to design it

    that way?

    Attempts to make me look ignorant will be frowned

    upon

  • 8/3/2019 l3vpn-1

    3/21

    1draft-rosen-vpn-mcast-08.txt

    Agenda

    Recap of current (deployed) state (draft-rosen1)

    See also draft-raggarwa-l3vpn-2547-mvpn-00.txt,

    draft-ycai-mboned-mvpn-deploy-00.txt

    Enhancements/changes in L3VPN WG draft Supporting multiple tree types

    Aggregation

    Carrying customer multicast routing in BGP

    Inter-AS improvements

    Note Well: WG draft is a superset of draft-rosen i.e. deployed solutions will not be obsoleted by new draft

  • 8/3/2019 l3vpn-1

    4/21

    L3VPN MulticastMotivation

    Customers with IP multicast traffic would like

    to use MPLS VPN services

    RFC 2547/4364 only addresses unicast

    As usual, multicast makes the problem harder

    Difficult to achieve same scalability as unicast

  • 8/3/2019 l3vpn-1

    5/21

    Multicast VPNCurrent Deployments

    Based on draft-rosen-vpn-mcast-08.txt

    Many similarities to unicast, and some differences

    CE-routers maintain PIM adjacency with PE-router only

    Similar concept to 2547/4364 VPNs

    P-routers do not hold (S, G) state for individual customers

    Unlike unicast, there is some per-customerstate in P-routers

    PE-routers exchange customer routing information using PIM

    Contrast to BGP for unicast

    Customer multicast group addresses need not be uniqueSame as 2547/4364

  • 8/3/2019 l3vpn-1

    6/21

    Multicast VPNCurrent State (2)

    Multicast domain is a set of multicast-enabled VRFs

    (mVRFs) that can send multicast traffic to each other

    e.g., VRFs associated with a single customer

    Maps all (S, G) that can exist in a particular VPN to a

    single (S, G) group in the P-network

    This is the Multicast Distribution Tree (MDT)

    Amount of P-state is a function of # of VPNs rather than # of

    (S, G)s of all customers

    This is not as good as unicast, but better than the alternative

    Mapping is achieved by encapsulating C-packet into

    P-packet using GRE

  • 8/3/2019 l3vpn-1

    7/21

    Customer B

    Default MDT

    239.192.10.2

    Customer B

    CE

    Customer B

    CE

    PE PE

    Customer B

    CE

    PE

    Default Multicast Distribution Tree

    PE routers build a default MDT in the global table for each mVRFusing standard PIM procedures

    All PEs participating in the same mVPN join the sameDefault MDT

    Every mVRF must have a Default MDT

    MDT group addresses are defined by the providerUnrelated to the groups used by the customer

    Data MDTs may be created for high BW sources

  • 8/3/2019 l3vpn-1

    8/21

    Default Multicast Distribution Tree

    Default MDT is used as a permanent channel for PIM controlmessages and low bandwidth streams

    Access to the Default MDT is via a Multicast Tunnel Interface

    A PE is always a root (source) of the MDT

    A PE is also a leaf (receiver) to the MDT rooted on remote PEs

    Customer BCustomer B

    Default MDTDefault MDT

    239.192.10.2239.192.10.2

    Customer B

    CE

    Customer B

    CE

    PE PE

    Customer B

    CE

    PE

    Multicast TunnelInterface

    Customer BCustomer B

    Default MDTDefault MDT

    239.192.10.2239.192.10.2

    Root

    Leaf

  • 8/3/2019 l3vpn-1

    9/21

    Limitations ofdraft-rosen

    At least one multicast tree per customer in core

    No option to aggregate multicast customers on one tree

    Multicast traffic is GRE (not MPLS) encapsulated

    Bandwidth and encaps/decaps cost Operational costdifferent mcast and unicast data planes

    PIM the only fully described way to build core trees

    Cant leverage p2mp RSVP-TE, mLDP

    PE-PE exchange of C-routes using per-customer PIM

    instances

    Inter-AS challenges

  • 8/3/2019 l3vpn-1

    10/21

    PMSI: P-Multicast Service Interface

    New terms introduced to decouple tree from service

    A PE delivers packet to PMSI, then all the requiredPEs will get than packet and known which MVPN itbelongs to

    Three types of PMSI MI-PMSI: Multipoint Inclusive, all all

    All PEs of an MVPN can transmit to all PEs

    UI-PMSI: Unidirectional Inclusive, some all

    Unidirectional, selected PEs can transmit to all PEs

    Selective: S-PMSI, some some

    Unidirectional, selected PEs can transmit toselected PEs

  • 8/3/2019 l3vpn-1

    11/21

    Types ofMulticast Trees

    Inclusive: contains all the PEs for a given

    MVPN

    Selective: contains only a subset of PEs of a

    given MVPN

    Aggregate

    Carries traffic for more than one MVPN

    May be either inclusive or selective

  • 8/3/2019 l3vpn-1

    12/21

    Supporting Multiple Tree Types

    A PMSI is scoped to a single MVPN

    PMSI is instantiated using a tunnel(or set of tunnels)

    Tunnels may be: PIM (any flavor)

    MPLS (mLDP or p2mp RSVP-TE)

    Unicast tunnels with ingress PE replication

    Can map multiple PMSIs onto one tunnel

    (aggregation) Encaps a function of tunnel, not service

    Single provider can mix and match tunnel types

  • 8/3/2019 l3vpn-1

    13/21

    Mappings to Old Terminology

    Default MDT

    MI-PMSI, instantiated by PIM Shared Tree or set

    of PIM Source Trees

    Data MDT S-PMSI, instantiated by PIM Source Tree

    New terminology helpful in:

    Describing the complete set of options

    Allowing multiple instantiations of same service,

    without changing service spec

  • 8/3/2019 l3vpn-1

    14/21

    Autodiscovery

    The process of discovering all the PEs with membersin a given MVPN

    Similar to RFC4364, but: New address family MCAST-VPN

    Contains address of the originating PE

    Contains tunnel attribute to specify what sort of tunnel (e.g.PIM-SSM, mLDP, etc.) can be supported by this PE, andwhether aggregation is supported

    May contain a tunnel ID

    Can also be used to discover set of PEs interested ina given group (to enable S-PMSI creation)

  • 8/3/2019 l3vpn-1

    15/21

    Aggregation

    Conflicting goals Scale: Minimize P-router state Use as few trees as possible

    Optimality: Send traffic at most once on each link, and only to PEsthat need it Use a tree for each customer multicast group

    Solution: lots of options Draft-rosen has one MDT per VPN, and optional data MDT forhigh BW or sparse customer groups

    New draft also allows a tunnel to be shared amongmultiple mVPNs

    Better aggregation, less optimality

    Requires a de-multiplexing field (e.g., MPLS label)

    Utility of aggregation depends on amount of congruence andtraffic volume

  • 8/3/2019 l3vpn-1

    16/21

    PE-PE Routing Exchange

    In draft-rosen, C-PIM instances exchange PIMmessages over the MDT as if it were a LAN

    Per-customer PIM peering among the PEs

    By contrast, one BGP instance carries all customer unicast

    routes among PEs

    PIM Hellos can be eliminated, but Join/Prunes remain

    In new draft, BGP is proposed, as in unicast

    New AFI/SAFI

    A

    dvertisement contains essentially the same info as a PIMjoin or prune (source, group, PE sending the message)

    RDs are used to disambiguate customer multicast group andsource addresses

    BGP route reflectors may be used

  • 8/3/2019 l3vpn-1

    17/21

    Inter-AS

    Old (draft-rosen) approach: tunnel spans multiple

    ASes

    Undesirable fate-sharing, must agree on tunnel type

    New draft allows another approach: may splicetunnels from different ASes

    Allows each AS to build its tunnels independently of

    otherASes

    Scaling now independent of number of PEs in otherASes

  • 8/3/2019 l3vpn-1

    18/21

    Inter-AS Overlay Tunnel

    For a given MVPN, each AS independently buildsan intra-AS tunnel

    In addition, an overlay tunnel that spans multipleASes is built

    Each PE announces its MVPN membership info tothe ASBRs with iBGP

    An ASBR announces the AS MVPN membership tootherASBRs (in otherASes) using eBGP

    This enables an AS-level spanning tree to be builtamong the set ofASes with members in this MVPN Inter-AS tunnels spliced to intra-AS tunnels

  • 8/3/2019 l3vpn-1

    19/21

    Inter-AS Tunnels

    ASBR1ASBR2

    CustomerA CustomerA

    ASBR3

    CustomerA

    CustomerA

    Intra-AS tunnels

    Inter-AS tunnels

  • 8/3/2019 l3vpn-1

    20/21

    Otherissues

    RPF establishment

    PEs need to know who theirRPF PE is for a given route

    Duplicate detection

    Multihomed sites and switching from shared to source treecan lead to a PE getting duplicate packets

    draft proposes means to address this

    C-RP Engineering

    RP location in customer sites may cause hairpin

    PEs may act as outsourced C-RPs

    PEs may speak MSDP to C-RPs

  • 8/3/2019 l3vpn-1

    21/21

    Conclusions

    WG draft builds on rosen draft without

    obsoleting it:

    Support for more tree types, including PIM

    variants, mLDP, RSVP-TE Separation of service and mechanism

    Aggregation support

    More Inter-AS options with improved

    independence Possibility to use BGP for C-route exchange