paper

114
TCP/IP Protocol Suite 1 Multicast Routing Protocols

Upload: mkmanojdevil

Post on 16-Dec-2015

216 views

Category:

Documents


2 download

DESCRIPTION

presentation

TRANSCRIPT

  • TCP/IP Protocol Suite*

    Multicast RoutingProtocols

  • TCP/IP Protocol Suite*OBJECTIVES:To discuss the general idea behind multicast routing protocols and their division into two categories based on the creation of the shortest path trees.To discuss multicast link state routing in general and its implementation in the Internet: a protocol named MOSPF.To discuss multicast distance vector routing in general and its implementation in the Internet: a protocol named DVMRP.To discuss core-based protocol (CBT) and briefly discuss two independent multicast protocols PIM-DM and PIM-SM.To discuss multicast backbone (MBONE) that shows how to create a tunnel when the multicast messages need to pass through an area with no multicast routers.

  • *Multicast GroupsThe set of receivers for a multicast transmission is called a multicast groupA multicast group is identified by a multicast addressA user that wants to receive multicast transmissions joins the corresponding multicast group, and becomes a member of that group

    After a user joins, the network builds the necessary routing paths so that the user receives the data sent to the multicast group

  • *Multicasting over a Packet NetworkWithout support for multicast at the network layer:

  • *Multicasting over a Packet NetworkWith support for multicast at the network layer: Requires a set of mechanisms: (1) Packet forwarding can send multiple copies of same packet (2) Multicast routing algorithm which builds a spanning tree (dynamically)

  • *IP MulticastingThere are three essential components of the IP Multicast service:IP Multicast Addressing

    IP Group Management

    Multicast Routing

  • *Multicast Addressing All Class D addresses are multicast addresses:

    An IP datagram sent to a multicast address is forwarded to everyone who has joined the multicast group

    Class

    From

    To

    D

    224.0.0.0

    239.255.255.255

  • *Multicast Address Mapping

  • *Time To Live (TTL)Scope-limiting parameter for IP Multicast datagramsControls the number of hops that a IP Multicast packet is allowed to propagateTTL = 1: local network multicast TTL > 1: Multicast router(s) attached to the local network forward IP Multicast datagrams

  • Ahmed Helmy - UF*Several algorithms employed by multicast routing protocols: Spanning Trees Flooding Reverse Path Forwarding (RPF)Reverse Path Broadcasting (RPB) Reverse Path Multicasting (RPM) Core-Based Trees

  • Ahmed Helmy - UF*These algorithms are implemented in the most prevalent multicast routing protocols in the Internet today. Multicast OSPF (MOSPF) Distance Vector Multicast Routing Protocol (DVMRP) Protocol-Independent Multicast (PIM) [PIM-DM and PIM-SM]

  • TCP/IP Protocol Suite*In unicast routing, each router in the domain has a table that defines a shortest path tree to possible destinations.

  • TCP/IP Protocol Suite*Figure 12.18 Shortest path tree in unicast routing

  • TCP/IP Protocol Suite*In multicast routing, each involved router needs to construct a shortestpath tree for each group.

  • TCP/IP Protocol Suite*In the source-based tree approach, each router needs to have one shortest path tree for each group.

  • TCP/IP Protocol Suite*Figure 12.19 Source-based tree approach

  • Multicast Routing ProtocolsCharacteristicsShortest Path or Source Distribution TreeReceiver 1BEADFSourceNotation: (S, G) S = Source G = GroupCReceiver 2

  • Lecture 12: 02-17-2005*Source-based TreesRouterSourceReceiverSRRRRRSS

    Lecture 12: 02-17-2005

  • TCP/IP Protocol Suite*E.g. Source-based Tree

    TCP/IP Protocol Suite

  • TCP/IP Protocol Suite*In the group-shared tree approach, only the core router, which has a shortest path tree for each group, is involved in multicasting.

  • TCP/IP Protocol Suite*Figure 12.20 Group-shared tree approach

  • Multicast Routing ProtocolsCharacteristicsShared Distribution TreeReceiver 1BEAD (Shared Root)FSource 1Notation: (*, G) * = All Sources G = GroupCReceiver 2Source 2

  • CS 640*Shared distribution treeReceiver 1ESourceNotation: (*, G) * = all sources G = GroupCReceiver 2S1RRShared RootS2

    CS 640

  • *Building a core-based treeSource sends data to the core Core forwards data according to routing table entry

    Hub

    Desktop System

    FDDI Ring

    Ethernet

    Gateway

    Ethernet

    Computer

    Bridge

    joined

    Core

    H4

    H5

    Source

    H1

    H3

    R1

    R2

    R6

    R4

    R5

    R3

    R8

    R7

    H2

    joined

    joined

  • *Multicast routingRouting Protocols implement one of two approaches:

    Source Based Tree: Builds one shortest path tree for each senderTree is built from receiver to the sender DVMRP, MOSPF, PIM-DM, PIM-SMShortest path trees low delay, better load distributionEfficient for in dense-area multicast Optimal Routing: Shortest Path Trees

  • Core-based Tree: Build a single distribution tree that is shared by all membersSelects one router as a core (also called rendezvous point)All receivers build a shortest path to the coreCBT, PIM-SMHigher delay (bounded by factor of 2), traffic concentrationChoice of core affects efficiency

  • *Multicast Routing tableRouting table entries for source-based trees and for core-based trees are differentSource-based tree: (Source, Group) or (S, G) entry. Core-based tree: (*, G) entry.

    Source IP addressMulticast groupIncoming interface (RPF interface)Outgoing interface listS1G1I1I2, I3*G2I2I1, I3

  • Distribution trees Source treeUses more memory O(S x G) but you get optimal paths from source to all receivers, minimizes delay Shared treeUses less memory O(G) but you may get suboptimal paths from source to all receivers, may introduce extra delayProtocolsPIM, DVMRP, MOSPF, CBTMulticast Routing ProtocolsCharacteristics

  • Multicast Routing ProtocolsCharacteristicsTypes of multicast protocolsDense-modeBroadcast and Prune behaviorSimilar to Radio broadcastSparse-modeExplicit Join behaviorSimilar to Pay Per View

  • Multicast Routing ProtocolsCharacteristicsDense-mode protocolsAssumes dense group membership Branches that are pruned dont get dataPruned branches can later be grafted to reduce join latencyDVMRPDistance Vector Multicast Routing ProtocolDense-mode PIMProtocol Independent Multicast

  • Multicast Routing ProtocolsCharacteristicsSparse-mode protocolsAssumes group membership is sparsely populated across a large region Uses either source or shared distribution treesExplicit join behaviorassumes no one wants the packet unless asked Joins propagate from receiver to source or Rendezvous Point (Sparse mode PIM) or Core (Core-Based Tree)

  • TCP/IP Protocol Suite*ROUTING PROTOCOLSTopics Discussed in the Section Multicast Link State Routing: MOSPF Multicast Distance Vector: DVMRP Core-Based Tree: CBT Protocol Independent Multicast: PIM

  • TCP/IP Protocol Suite*Figure 12.21 Taxonomy of common multicast protocols

  • *Multicast routing protocolsDistance Vector Multicast Routing Protocol (DVMRP): First multicast routing protocolImplements flood-and-pruneMulticast Open Shortest Path First (MOSPF):Multicast extensions to OSPF. Each router calculates a shortest-path tree based on link state databaseNot widely usedCore Based Tree (CBT):First core-based tree routing protocolProtocol Independent Multicast (PIM):Runs in two modes: PIM Dense Mode (PIM-DM) and PIM Sparse Mode (PIM-SM). PIM-DM builds source-based trees using flood-and-prune PIM-SM builds core-based trees as well as source-based trees with explicit joins.

  • Multicast Link State Routing: MOSPF

  • TCP/IP Protocol Suite*Multicast link state routing uses the source-based tree approach.

  • Lecture 12: 02-17-2005*Multicast OSPF (MOSPF)OSPF (Open Shortest-Path First, a link-state, intra-domain routing protocol)The router calculates the shortest path trees on demand (when it receives the first multicast packet)MOSPF is a data-driven protocol; the first time an MOSPF router see a datagram with a given source and group address, the router constructs the Dijkstra shortest path treeThe shortest path tree is made all at once instead of gradually (i.e. pre-made, pre-pruned, ready to use)MOSPF does not support tunnelsMOSPF uses IGMP to discover members on directly attached subnets.

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*Impact on Route ComputationCant pre-compute multicast trees for all possible sourcesCompute on demand when first packet from a source S to a group G arrivesNew link-state advertisementMay lead to addition or deletion of outgoing interfaces if it contains different group addressesMay lead to re-computation of entire tree if links are changed

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*ExampleSource 1Receiver 1Receiver 2ZWQT

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*Link Failure/Topology ChangeSource 1Receiver 1Receiver 2ZWQT

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*Membership ChangeSource 1Receiver 1Receiver 2ZWQTReceiver 3

    Lecture 12: 02-17-2005

  • Ahmed Helmy - UF*LimitationsLimited to OSPF domainsFlooding membership information does not scale well for Internet-wide multicsat

  • Multicast Distance Vector: DVMRP

  • Internet Multicasting Routing: DVMRPDVMRP: distance vector multicast routing protocolFlood and prune: reverse path forwarding, source-based tree.initial datagram to multicast group is flooded everywhere via RPFrouters not wanting the multicast data: send prune messages to upstream neighbors*

  • Lecture 12: 02-17-2005*Example TopologyGGSG

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*BroadcastGGSG

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*PruneGGSPrune (s,g)Prune (s,g)G

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*Graft (s,g)Graft (s,g)GraftGGSGGReport (g)

    Lecture 12: 02-17-2005

  • Lecture 12: 02-17-2005*Steady StateGGSGG

    Lecture 12: 02-17-2005

  • Ahmed Helmy - UF*DVMRP Basic Operation

    The first packet for any (source, group) pair is broadcast to the entire network, providing the packet's TTL permits. Leaf routers with no local members send prune messages back toward the source.

  • Ahmed Helmy - UF*Prune messages cause the removal of branches that do not lead to group membersThe result is source-specific shortest path tree with all leaves having group members. After a period of time, the pruned branches grow back and the packets are broadcast throughout the network.A graft mechanism helps to quickly re-establish previously pruned branches.

  • DVMRP: SummaryDistance Vector Multicast Routing ProtocolLeaf router sends a prune message to neighbouring routers when there is no group member on the subnet.Intermediate routers perform pruning whenever possible.Flooding and pruning are repeated periodically, when the current state times out.Between flooding rounds, a leaf router can re-join a group by sending a graft message upstream.Intermediate routers propagates the graft message upstream until the path is re-connected.*

  • TCP/IP Protocol Suite*Multicast Distance Vector Routing4 decision-making strategies1. Flooding2. Reverse Path Forwarding (RPF)3. Reverse Path Broadcasting (RPB)4. Reverse Path Multicasting (RPM)

    TCP/IP Protocol Suite

  • Flooding

  • Ahmed Helmy - UF*Flooding The simplest technique for multicast delivery. When a router receives a multicast packet it determines whether or not this is the first time it has seen this packet. On first reception, a packet is forwarded on all interfaces except the one on which it arrived. If the router has seen the packet before, it is discarded.

  • Ahmed Helmy - UF*

    Flooding does not scale for Internet-wide application: Generates a large number of duplicate packets and uses all available paths across the internetwork. Routers maintain a distinct table entry for each recently seen packet (consumes memory).

  • TCP/IP Protocol Suite*Flooding broadcasts packets, but creates loops in the systems.

  • Reverse Path Forwarding (RPF)

  • Reverse Path ForwardingBuilding a loop-free broadcast treeNo knowledge of group membershiprely on routers knowledge of unicast shortest path from it to sendereach router has simple forwarding behavior:

    *if (multicast datagram received on incoming link on shortest path back to sender) then flood datagram onto all outgoing links else ignore datagram

  • *Multicast routing in practiceRouting algorithms in practice implement one of two approaches:

    Source Based Tree Tree: Establish a reverse path to the sourceCore-based Tree: Establish a reverse path to the core router

  • TCP/IP Protocol Suite*Reverse Path ForwardingTo prevent loops, only one copy is forwarded; the other copies are dropped.In RPF, a router forwards only the copy that has traveled the shortest path from the source to the router.If a packet leaves the router and comes back again, it has not traveled the shortest path.

    TCP/IP Protocol Suite

  • TCP/IP Protocol Suite*Figure 12.22 RPF

  • TCP/IP Protocol Suite*RPF eliminates the loop in the flooding process.

  • TCP/IP Protocol Suite*Figure 12.23 Problem with RPF

  • Reverse Path Broadcasting (RPB)

  • TCP/IP Protocol Suite*Figure 12.24 RPF versus RPB

  • TCP/IP Protocol Suite*RPB creates a shortest path broadcast tree from the source to each destination. It guarantees that each destination receives one and only one copy of the packet.

  • Ahmed Helmy - UF*The interface over which a router accepts multicast packets from a particular source is called the "parent" link. The outbound links over which a router forwards the multicast packets are called the "child" links.

  • *Example of Reverse Path Broadcasting

  • Ahmed Helmy - UF*BenefitsReasonably efficient and easy to implement.Does not require keeping track of previous packets, as flooding does. Multicast packets follow the "shortest" path from the source to the group members.Avoids concentration over single spanning tree

  • Ahmed Helmy - UF* LimitationsDoes not take into account group membership when building the distribution tree. As a result, packets may be unnecessarily forwarded to subnets with no group members.

  • Reverse Path Multicasting (RPM)

  • TCP/IP Protocol Suite*Figure 12.25 RPF, RPB, and RPM

  • TCP/IP Protocol Suite*Reverse Path MulticastingTo increase efficiency, the multicast packet must reach only those networks that have active members for that particular groupRPM adopts the procedures of Pruning and GraftingPruningThe designated parent router of each network is responsible for holding the membership information (through IGMP) GraftingThe graft message forces the upstream router to resume sending the multicast messages

    TCP/IP Protocol Suite

  • TCP/IP Protocol Suite*RPM adds pruning and grafting to RPB to create a multicast shortest path tree that supports dynamic membership changes.

  • *Reverse Path Multicasting

  • TCP/IP Protocol Suite*Figure 12.26 Group-shared tree with rendezvous router

  • Core-Based Tree: CBT

  • TCP/IP Protocol Suite*Formation of CBT treeMulticast traffic for each group is sent and received over the shared tree, regardless of the source. After the rendezvous point is selected, every router is informed of the unicast address of the selected routerEach router sends a unicast join message to show that it wants to join the groupThis message passes through all routers that are located between the sender and the rendezvous router

    TCP/IP Protocol Suite

  • TCP/IP Protocol Suite*Formation of CBT treeEach intermediate router extracts the necessary information from the messageUnicast address of the senderInterface through which the packet has arrivedIf a router wants to leave the group, it sends a leave message to its upstream router,

    TCP/IP Protocol Suite

  • TCP/IP Protocol Suite*In CBT, the source sends the multicast packet (encapsulated in a unicast packet) to the core router. The core router decapsulates the packet and forwards it to all interestedinterfaces.

  • TCP/IP Protocol Suite*Figure 12.27 Sending a multicast packet to the rendezvous router

  • Ahmed Helmy - UF*BenefitsA router maintains state information for each group, not for each (source, group) pair. Multicast packets only flow down branches leading to members (not periodically broadcast).Only join state is kept on-tree

  • Ahmed Helmy - UF*LimitationsCBT may result in traffic concentration near the core since traffic from all sources traverses the same set of links as it approaches the core. A single shared delivery tree may create sub-optimal routes resulting in increased delay.Core management issuesdynamic core selectioncore placement strategies

  • Protocol Independent Multicast: PIM

  • Ahmed Helmy - UF*Protocol-Independent Multicast (PIM)Broadcast and prune keeps state off-tree and is suitable when members are densely distributed

    Explicit join/center-based approach keeps state on-tree and is suitable when members are sparsely distributed

    PIM attempts to combine the best of both worlds

  • TCP/IP Protocol Suite*PIM-DM uses RPF and pruning/grafting strategies to handle multicasting. However, it is independent from the underlying unicast protocol.PIM-DM is used in a dense multicast environment, such as a LAN.

  • TCP/IP Protocol Suite*PIM-DMIt is used when there is a possibility that each router is involved in multicasting (dense mode)In this environment, the use of a protocol that broadcasts the packet is justified because almost all routers are involved in the process

    TCP/IP Protocol Suite

  • Ahmed Helmy - UF*How PIM-DM worksPackets initially flow on broadcast treeForwarded away from source using the RPF algorithmA router forwards a multicast datagram if received on the interface used to send unicast datagrams to the sourceThen, Prunes are sent up the tree to remove branches with no members

    Ahmed Helmy - UF

  • CS 640*PIM-DM(1)Initial flood of data

    SourceReceiver 2Receiver 1SR1AR2BCDFGHIE

    CS 640

  • CS 640*PIM-DM(2)prune non-RPF p2p link

    SourceReceiver 2Receiver 1SR1AR2BCDFGHIEIGMP PIM-Prune

    CS 640

  • CS 640*PIM-DM(3) C and D Assert to DetermineForwarder for the LAN, C Wins SourceReceiver 2Receiver 1SR1AR2BCDFGHIEIGMP PIM-Assert with its own IP address

    CS 640

  • CS 640*PIM-DM(4)I, E, G send PruneH send Join to override Gs PruneSourceReceiver 2Receiver 1SR1AR2BCDFGHIEIGMP PIM-PruneIGMP PIM-Join

    CS 640

  • CS 640*PIM-DM(5)I Gets PrunedEs Prune is Ignored (since R1 is a receiver)Gs Prune is Overridden (due to new receiver R2)SourceReceiver 2Receiver 1SR1AR2BCDFGHIE

    CS 640

  • CS 640*PIM-DM(6)New Receiver, I send GraftSourceReceiver 2Receiver 1SR1AR2BCDFGHIEIGMP PIM-GraftReceiver 3R3

    CS 640

  • CS 640*PIM-DM(7)new branchSourceReceiver 2Receiver 1SR1AR2BCDFGHIEIGMP PIM-GraftReceiver 3R3

    CS 640

  • TCP/IP Protocol Suite*PIM-SM is used in a sparse multicast environment such as a WAN.PIM-SM is similar to CBT but uses a simpler procedure.

  • Ahmed Helmy - UF*How PIM-SM worksA Rendezvous Point (RP) is chosen as tree center per group to enable members and senders to meetMembers send their explicit joins toward the RPSenders send their packets to the RPPackets flow only where there is join state(*,G) [any-source,group] state is kept in routers between receivers and the RP

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksSource

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPSourceReceiver 2Receiver 1(*, G)JoinEC

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPSourceReceiver 2Receiver 1EC

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPReceiver 2Receiver 1SourceRegisterEC

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPReceiver 2Receiver 1Source(S, G)Join(S, G)JoinEC

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPReceiver 2Receiver 1SourceRegister-StopEC

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPReceiver 2Receiver 1Source(S, G) JoinEC

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPReceiver 2Receiver 1Source(S, G) RP Bit PruneEC(S, G) Prune

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPReceiver 2Receiver 1SourceEC(*, G) Join

    Ahmed Helmy - UF

  • Ahmed Helmy - UF*How PIM-SM worksBADRPReceiver 2Receiver 1SourceEC

    Ahmed Helmy - UF

  • TCP/IP Protocol Suite*MBONEMultimedia and real-time communication have increased the need for multicasting in the Internet.

    only a small fraction of Internet routers are multicast routers. this problem may be solved by adding more and more multicast routers

    there is another solution for this problem. The solution is tunneling. The multicast routers are seen as a group of routers on top of unicast routers. The multicast routers may not be connected directly, but they are connected logically.

  • MBoneMulticast backbone of the Internet.Not all routers support multicast routing protocols and IGMP.Connecting multicast-capable routers using (virtual) IP tunnels.Was a long-running experimental approach to enabling multicast between sites through the use of tunnels.No longer operational.Currently: The Multicast Backbone (MBONE) carries audio and video multicasts of IETF meetings, NASA space shuttle missions,.. etc.

    *

  • TCP/IP Protocol Suite*Figure 12.28 Logical tunneling

  • TCP/IP Protocol Suite*Figure 12.29 MBONE

  • TCP/IP Protocol Suite*Figure 12.5 Tunneling

  • Lecture 12: 02-17-2005*Multicast Backbone (MBone)An overlay network of IP multicast-capable routersHost/routerMBone routerPhysical linkTunnelPart of MBoneRH

    Lecture 12: 02-17-2005

  • THANKS

    ***********************Notes: D. Waitzman, S. Deering, C. Partridge, Distance Vector Multicast Routing Protocol, RFC 1075, Nov. 1988. The version of DVMRP in use today is considerably enhanced over the RFC1075 spec.A more up-to-date work-in-progress defines a version 3 of DVMRP: T. Pusateri, Distance Vector Multicast Routing Protocol, work-in-progress, draft-ietf-idmr-v3-05.ps

    3.4 Network Layer: Internet Multicast Routing Algorithms 3-20******************