multicast addresses

Upload: granddilu

Post on 03-Jun-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Multicast Addresses

    1/52

    Multicast Addresses

  • 8/12/2019 Multicast Addresses

    2/52

    Overview

    Multicast is grossly defined as sending a single packetto multiple selected destinations.

    1. One-to-many

    Radio station broadcast Transmitting news, stock-price

    Software updates to multiple hosts

    2. Many-to-many Multimedia teleconferencing Online multi-player games

    Distributed simulations

  • 8/12/2019 Multicast Addresses

    3/52

    Overview

    Without support for multicast

    A source needs to send a separate packet with the

    identical data to each member of the group

    This redundancy consumes more bandwidth Redundant traffic is not evenly distributed, concentrated near the

    sending host

    Source needs to keep track of the IP address of each

    member in the group

    Group may be dynamic

    To support many-to-many and one-to-many IP

    provides an IP-level multicast

  • 8/12/2019 Multicast Addresses

    4/52

    Overview

    Basic IP multicast model is many-to-many

    based on multicast groups

    Each group has its own IP multicast address

    Hosts that are members of a group receive copies

    of any packets sent to that groups multicast

    address

    A host can be in multiple groups A host can join and leave groups

  • 8/12/2019 Multicast Addresses

    5/52

    Overview

    Using IP multicast to send the identical packet

    to each member of the group

    A host sends a single copy of the packet addressed

    to the groups multicast address

    The sending host does not need to know the

    individual unicast IP address of each member

    Sending host does not send multiple copies of thepacket

  • 8/12/2019 Multicast Addresses

    6/52

    Overview

    IPs original many-to-many multicast has been

    enhanced with support for a form of one-to-many

    multicast

    One-to-many multicast Called Source specific multicast (SSM)

    A receiving host specifies both a multicast group and a

    specific sending host

    e.g., radio broadcasts

    Many-to-many model

    Called Any source multicast (ASM)

  • 8/12/2019 Multicast Addresses

    7/52

    Overview

    A host signals its desire to join or leave a multicast

    group by communicating with its local router using a

    special protocol

    In IPv4, the protocol is Internet Group ManagementProtocol (IGMP)

    In IPv6, the protocol is Multicast Listener Discovery (MLD)

    The router has the responsibility for making

    multicast behave correctly with regard to the host

  • 8/12/2019 Multicast Addresses

    8/52

    Multicast Routing

    Multicast via unicast

    A routers unicast forwarding table indicates the links to beused to forward the unicast packets

    To support multicast, a router must additionally havemulticast forwarding tables that indicate, based on multicastaddress, which links to use to forward the multicast packet

    Unicast forwarding tables collectively specify a set of paths

    Multicast forwarding tables collectively specify a set of trees Multicast distribution trees

  • 8/12/2019 Multicast Addresses

    9/52

    Multicast Routing

    For source specific multicast, the multicast

    forwarding tables must indicate which links to use

    based on the combination of multicast address and

    the unicast IP address of the source

    Multicast routing is the process by which multicast

    distribution trees are determined or, the process by

    which the multicast forwarding tables are built.

  • 8/12/2019 Multicast Addresses

    10/52

    Distance-Vector Multicast Routing Protocol (DVMRP)

    Distance-vector routing for unicast can be extended to support multicast.

    The resulting protocol is called Distance Vector Multicast Routing Protocol In the distance-vector algorithm, each router maintains a table of

    , and exchanges a list of

    pairs with its directly connected neighbors.

    Extending this algorithm to support multi-cast is a two-stage process.

    First, we create a broadcast mechanism that allows a packet to be

    forwarded to all the networks on the internet.

    Second, we need to refine the networks that donot have hosts that

    belong to the multicast group.

    DVMRP is one of several multicast routing protocols described as flood-

    and-prune protocols.

  • 8/12/2019 Multicast Addresses

    11/52

    From the unicast routing table, each router already knows

    that shortest path to source S goes through NextHop router N.

    When multicast packets are received from S, forward on all

    outgoing links (except the one on which the packet arrived),

    iff packet is arrived from the link on the shortest path.

    Eliminate duplicate broadcast packets by designating one

    router as the parent router (relative to S) for each link,

    where only the parent router is allowed to forward multicast

    packets from that source over the LAN

    parent selected as

    router that has the shortest path to source S

    smallest address to break ties

  • 8/12/2019 Multicast Addresses

    12/52

    Reverse Path Broadcast (RPB) or reverse path forwarding (RPF)

    Goal: Prune networks that have no hosts in group G

    Step 1: Determine a leaf networkwith no members in G

    leaf if the parent router is the only router in the network

    each host that is a member of group G periodically announce this fact

    over the network Step 2: Propagate no members of G here information up the

    shortest-path tree by

    The routers augment update sent to

    neighbors with set of groups for which this network is interested in

    receiving multicast packets.

    This is propagated from router to router, so that a given router knows

    for what groups it should forward multicast packets

    Distance-Vector Multicast

  • 8/12/2019 Multicast Addresses

    13/52

    Protocol Independent Multicast (PIM)

    PIM was developed in response to the scaling problems of

    earlier multicast routing protocols

    Two modes

    Sparse mode: PIM-SM

    Dense mode: PIM-DM (similar to RPM)

    Sparse and dense refer to the proportion of routers that will

    want the multicast.

    PIM dense mode (PIM-DM) uses a flood-and-prune algorithmlike DVMRP, and suffers from the same scalability problem.

    PIM does not depend on any particular unicast routingit can

    be used with any unicast routing protocol

  • 8/12/2019 Multicast Addresses

    14/52

    PIM-SM Routers join the multicast distribution tree using PIM protocol

    messages known as Join messages.

    PIM-SM assigns to each group a special router known as the

    rendezvous point (RP)

    Acts as the central relay between source and group

    A multicast forwarding tree is built as a result of routers sendingJoin messages to the RP.

    Two types of tree are constructed:

    a shared tree, which may be used by all senders,

    a source-specific tree, which may be used only by a specific sending host.

    The normal mode of operation creates the shared tree first,

    followed by one or more source-specific trees.

    The default is to have only one tree for a group.

  • 8/12/2019 Multicast Addresses

    15/52

    PIM-SMRP

    R3 R2 R4

    R1 R5

    Join

    R4 sends Join to RP and

    joins shared tree

    RP

    R3 R2 R4

    R1 R5

    Join

    R5 sends Join to RP and joins sharedtree: R2 does not forward Join to RP

    since it knows link (RP, R2) has been apart of the shared tree

    Rendezvous pointRP =

    Shared tree

    Source-specific tree for source R1

    A Join message must pass through some sequence of routers before reaching the RP (e.g., R2).

    Each router along the path looks at the Join and creates a forwarding table entry for the shared

    tree, called a (*, G) entry (* meaning all senders).

    To create the forwarding table entry, it looks at the interface on which the Join arrived and marks

    that interface as one on which it should forward data packets for this group. It then determines which interface it will use to forward the Join toward the RP.

    This will be the only acceptable interface for incoming packets sent to this group.

    It then forwards the Join toward the RP.

    Eventually, the message arrives at the RP, completing the construction of the tree branch.

  • 8/12/2019 Multicast Addresses

    16/52

    Source R1 tunnels the multicast packetto RP, which forwards it along theshared tree to R4 and R5

    suppose a host wishes to send a message to the

    group.

    So, it constructs a packet with the appropriatemulticast group address as its destination and sends it

    to a router on its local network known as the

    designated router (DR).

    Suppose the DR is R1 in Figure.

    Instead of simply forwarding the multicast packet, R1

    tunnels it to the RP.

    That is, R1 encapsulates the multicast packet inside a

    PIM Register message and sends to the unicast IP

    address of the RP.

    RP finds an IP packet inside, addressed to the

    multicast address of this group.

    The RP sends it out onto the shared tree of which the

    RP is the root.

  • 8/12/2019 Multicast Addresses

    17/52

    PIM-SM: optimization

    (e.g., when there is a lot of data traffic to the group)

    1. Avoid overhead incurred by tunneling from source

    to RP

    Join message sent by the RP to the sending host is specific to that sender.

    Thus, the effect of the new Join is to create a sender-specific state in the

    routers between the identified source and the RP. This is referred to as (S, G) state, since it applies to one sender to one

    group, and contrasts with the (*, G) state that was installed between the

    receivers and the RP that applies to all senders.

    RP

    R3 R2 R4

    R1 R5

    JoinRP builds source-specific tree to R1 bysending Join to R1

  • 8/12/2019 Multicast Addresses

    18/52

    2. Avoid the increased path length (or tree depth) dueto transmission relay via RP

    The next possible optimization is to replace the entire shared tree with asource-specific tree.

    This is desirable because the path from sender to receiver via the RP mightbe significantly longer than the shortest possible path.

    The router at the down-stream end of the tree (eg: R4) sends a source-

    specific Join toward the source. Since it is the shortest path toward the source, the routers along the way

    create (S, G) state for this tree, and the result is a tree that has its root atthe source, rather than the RP.

    RP

    R3 R2 R4

    R1 R5

    JoinJoin

    R4 and R5 build source-specific tree to R1 bysending Joins to R1

  • 8/12/2019 Multicast Addresses

    19/52

    Note on PIM

    PIM is protocol independent in terms of unicast

    routing protocol independent

    All of its mechanisms for building and maintaining trees

    take advantage of unicast routing without depending onany particular unicast routing protocol.

    The formation of trees is entirely determined by the paths

    that Join messages follow, which is determined by thechoice of shortest paths made by unicast routing.

  • 8/12/2019 Multicast Addresses

    20/52

    Inter-domain Multicast

    The PIM-SM protocol is typically not used across domains,

    only within a domain.

    To extend multicast across domains using PIM-SM, Multicast

    Source Discovery Protocol (MSDP) was created.

    MSDP is used to connect different domainseach running

    PIM-SM internally, with its own RPsby connecting the RPs of

    the different domains.

  • 8/12/2019 Multicast Addresses

    21/52

    MSDP (Multicast source discovery protocol)

    Each RP has one or more MSDP

    peer RPs in other domains. Each pair of MSDP peers is

    connected by a TCP connection

    over which the MSDP protocol

    runs.

    All the MSDP peers for a givenmulticast group form a loose

    mesh that is used as a broadcast

    network.

    MSDP messages are broadcast

    through the mesh of peer RPsusing the reverse path broadcast

    algorithm.

  • 8/12/2019 Multicast Addresses

    22/52

    Each RP knows the sources in its own domain

    because it receives a Register message whenever a

    new source arises.

    Each RP periodically uses MSDP to broadcast Source

    Active messages to its peers, giving the IP address of

    the source, the multicast group address, and the IP

    address of the originating RP.

    When an RP receives a multicast from the source,the RP uses its shared tree to forward the multicast

    to the receivers in its domain.

  • 8/12/2019 Multicast Addresses

    23/52

    MSDP operation:

    (a) The source SR sends a Register to its domains RP, RP1; then RP1 sends a source-specific Join to

    SR, and an MSDP Source Active to its MSDP peer in Domain B, RP2; then RP2 sends a source-

    specific Join to SR.

    (b) As a result, RP1 and RP2 are in the source-specific tree for source SR.

  • 8/12/2019 Multicast Addresses

    24/52

    Multiprotocol Label Switching

    MPLS

  • 8/12/2019 Multicast Addresses

    25/52

    MPLS Used to improve the performance of the Internet.

    Multiprotocol label switching (MPLS), combines some of the

    properties of virtual circuits with the flexibility and robustness

    of datagrams.

    It relies on IP addresses and IP routing protocols to do its job.

    Forwards packets using short, fixed length labels with local

    scope

    MPLS - Capabilities:

    To enable IP capabilities on devices that do not have the capability to

    forward IP datagrams in the normal manner;

    To forward IP packets along explicit routes: routes precalculatedseparate to IP protocol

    To support certain types of virtual private network services.

  • 8/12/2019 Multicast Addresses

    26/52

    Three applications of MPLS

    Destination-Based Forwarding

    Explicit Routing

    Virtual Private Networks and Tunnels

  • 8/12/2019 Multicast Addresses

    27/52

    1. Destination-Based Forwarding

    Routers R3 and R4 has one connected network, with prefixes 18.1.1/24 and18.3.3/24.

    R1 and R2 have routing tables that indicate which outgoing interface each router

    would use when forwarding packets to one of those two networks.

    When MPLS is enabled on a router, the router allocates a label for each prefix in

    its routing table, and advertises both the label and the prefix that it represents to

    its neighboring routers.

    This advertisement is carried in the Label Distribution Protocol.

  • 8/12/2019 Multicast Addresses

    28/52

    Destination Based Forwarding

    MPLS attaching labels with IP datagrams

    Router allocates a label for each prefix in its

    routing table

  • 8/12/2019 Multicast Addresses

    29/52

    Destination Based Forwarding

    Advertisement of label and prefixes to neighbors via Label

    Distribution Protocol (LDP)

    Attach corresponding label to all packets sent to that router for that

    prefix

    R2 allocates labels and advertises bindings to R1.

  • 8/12/2019 Multicast Addresses

    30/52

    Destination Based Forwarding

    Other routers store these labels as remote

    labels in their routing table along with prefixes

    R1 stores the received labels in a table.

  • 8/12/2019 Multicast Addresses

    31/52

    Destination Based Forwarding

    Other routers store these labels as remote labels intheir routing table along with prefixes

    R3 advertises another binding, and R2 stores the received label in a table.

  • 8/12/2019 Multicast Addresses

    32/52

    Destination Based Forwarding Example

    Suppose a packet destined to 10.1.1.5 arrives at R1

    R1 matches the prefix 10.1.1, attaches label 15 to packet, send to R2 R1 acts as Label Edge Router (LER)

    an LER performs a complete IP lookup on arriving IP packets, and thenapplies labels to them

  • 8/12/2019 Multicast Addresses

    33/52

  • 8/12/2019 Multicast Addresses

    34/52

    MPLS Achievements

    Fixed-length label lookup instead of variablelength IP prefix lookup Simpler to implement exact match instead of longest

    match algorithm

    Only forwarding algorithm is changed Any standard routing algorithm may still be used

    Packets will follow the path selected by IP route

  • 8/12/2019 Multicast Addresses

    35/52

    How to Attach Labels to Packets ?

    Depends upon type of link carrying packets When IP packets carried as complete frames

    Label is inserted as a shim between layer 2 header and layer 3

    header

    Like on most link types: Ethernet, Token Ring, PPP When the switch function is an MPLS LSR

    Label need to be in a place where switch can use it

    label switching routers (LSRs)devices that run IP control

    protocols but use the label-switching forwarding algorithm.

    In ATM, labels are inserted in ATM cell header (combination of VPI

    and VCI).

  • 8/12/2019 Multicast Addresses

    36/52

  • 8/12/2019 Multicast Addresses

    37/52

    An MPLS Network

    Mixture of conventional IP routers, label edgerouters (LER) and ATM switches (as LSRs)

    All are using the same routing protocols

    Reduction in number of adjacencies that each

    router must maintain Greatly reduce amount of work of each router

    Edge routers have a full view of completetopology of the network

    Edge routers pick a new path in case of node failure

  • 8/12/2019 Multicast Addresses

    38/52

    MPLS Example of MPLS Network

    Conventional Network Overlay of virtual circuits

    Each router connect to other by a virtual circuit

  • 8/12/2019 Multicast Addresses

    39/52

    MPLS Example of MPLS Network

    MPLS Network

    Routers peer directly with LSRs

    No virtual circuits interconnecting routers

    Each router has only one adjacency

  • 8/12/2019 Multicast Addresses

    40/52

    2. Explicit Routing

    MPLS provides a convenient way to add capabilities similarto source routing to IP networks Explicit routing

    It is not the real source of the packet that picks the routedifferent from source routing.

    One of the routers inside the service providers networkdoes this

    Application

    Traffic Engineering: refers to the task of ensuring that

    sufficient resources are available in a network to meetthe demands placed on it.

    Example Explicit Routing

  • 8/12/2019 Multicast Addresses

    41/52

    Example Explicit Routing Often called a fish network because of its shape

    The routers R1 and R2 form the tail; R7 is at the head

    Suppose the route for traffic from R1 to R7 follows the path R1-R3-R6-R7

    Route for traffic from R2 to R7 is through R2-R3-R4-R5-R7

    This is to make good use of capacity available along two distinct paths

    R1-to-R7 traffic has one forwarding equivalence class, and the R2-to-R7

    traffic constitutes a second FEC (a group of IP packets which are forwardedin the same manner).

    This is difficult in normal IP routing

  • 8/12/2019 Multicast Addresses

    42/52

  • 8/12/2019 Multicast Addresses

    43/52

    Explicit Routing

    Has a capability called fast reroute Fast reroute a capability to make networks more resilient in the

    case of failure

    Possible to precalculate a path (backup path) betweenrouter A to router B that explicitly avoids a certain link L

    Can significantly reduce the time taken to reroute packetsaround a point of failure

    There are a range of algorithms that routers can use tocalculate explicit routes automatically.

    CSPF (Constrained Shortest Path First): Most commonalgorithm to calculate explicit routes, which is like the link-state algorithms

    3 Virtual Private Networks

  • 8/12/2019 Multicast Addresses

    44/52

    44

    3. Virtual Private Networks

    Virtual Private Network

    A group of connected networks

    Connections may be over multiple networks not belonging to the group

    (e.g. over the Internet)

    E.g., joining the networks of several branches of a company into a

    private internetwork

    C

    A B

    MK L

    C

    A BM

    K L

  • 8/12/2019 Multicast Addresses

    45/52

    45

    Tunneling

    IP Tunnel

    Virtual point-to-point link between an arbitrarily

    connected pair of nodes

    10.0.0.1

    Network

    1

    Network

    2Internetwork

    R1 R2

    IP Tunnel

    IP Dest = 2.xIP Payload

    IP Dest = 10.0.0.1IP Dest = 2.xIP Payload

    IP Dest = 2.xIP Payload

  • 8/12/2019 Multicast Addresses

    46/52

    46

    Tunneling

    Advantages of tunneling Transparent transmission of packets over heterogeneous

    networks The data carried may not even be IP messages!

    Only need to change relevant routers (end points) Coupled with encryption, gives you a secure private

    internetwork. End-points of tunnels may have features not available inother Internet routers.

    Multicast Local Addresses

    Disadvantages Increases packet size Processing time needed to encapsulate and decapsulate

    packets Management at tunnel-aware routers

  • 8/12/2019 Multicast Addresses

    47/52

  • 8/12/2019 Multicast Addresses

    48/52

    The router at the entrance of the tunnel wraps the data to be tunneled in an IP

    header (the tunnel header), which represents the address of the router at the

    far end of the tunnel, and sends the data like any other IP packet.

    The receiving router receives the packet with its own address in the header,

    strips the tunnel header, and finds the data that was tunneled, which is thenprocessed.

    Exactly what it does with that data depends on what it is.

    For example, if it is another IP packet, it would then be forwarded on like a

    normal IP packet.

    Figure : An ATM circuit is emulated by a tunnel.

    Forwarding ATM Cells in MPLS VPN

  • 8/12/2019 Multicast Addresses

    49/52

    An MPLS tunnel is similar to IP tunnel, except that the tunnel

    header consists of an MPLS header rather than an IP header.

    Assume we want to tunnel ATM cells from one router to anotheracross a network of MPLS-enabled routers.

    The goal is to emulate an ATM virtual circuit, ie,

    Cells arrive at the entrance, or head, of the tunnel on a certain input port

    with a certain VCI Cells should leave the tail end of the tunnel on a certain output port and

    a different VCI.

    This can be accomplished by configuring the head and tail

    routers as follows:

    The head router needs to be configured with the incoming port, the

    incoming VCI, the demultiplexing label for this emulated circuit, and the

    address of the tunnel end router;

    The tail end router needs to be configured with the outgoing port, the

    outgoing VCI, and the demultiplexing label.

    Forwarding ATM Cells in MPLS VPN

    Forwarding ATM Cells in MPLS VPN

  • 8/12/2019 Multicast Addresses

    50/52

    Forwarding ATM Cells in MPLS VPN

    1. An ATM cell arrives on the

    designated input port with the its

    VCI value (101 in this eg.)

    2. The head router attaches the de-multiplexing label to inform the

    end-point router what to do with

    the packet.

    3. The head router then attaches a

    second label, which is the tunnel

    label that will get the packet to thetail router.

    4. Routers between the head and tail

    forward the packet using only the

    tunnel label.

    5. The tail router removes the tunnel

    label, finds the demultiplexinglabel, and recognizes the emulated

    circuit.

    6. The tail router modifies the ATM

    VCI to the correct value (202 in this

    case) and sends it out the correct

    port.

    Layer 3 VPNs

  • 8/12/2019 Multicast Addresses

    51/52

    The previous example has a stack of two labels

    You can have larger stacks of labels in the header.

    MPLS is also used to support layer 3 VPNs. The packet being carried is an IP packet

    Hence the name layer 3 VPNs

    A common service provider (see picture next ..)

    Has many customers

    Each customer has many sites

    These sites are linked with tunnels to appear to be one large

    Internetwork

    Each customer can only reach its own sites The customer is isolated from the rest of the Internet and from other

    customers

    Customer A cant sent packets directly to customer B, and vice versa.

    Customer A can even use IP addresses that have also been used by customer B.

    Layer 3 VPN s

  • 8/12/2019 Multicast Addresses

    52/52