Multicast Routing - PowerPoint PPT Presentation

1 / 69
About This Presentation
Title:

Multicast Routing

Description:

After a period of time, the pruned branch grow back and the next datagram flood again ... If a pruned branch has newly added group member, the graft message is ... – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 70
Provided by: edwardji
Category:

less

Transcript and Presenter's Notes

Title: Multicast Routing


1
Multicast Routing Protocols
  • Acute Communication Corp.
  • Edward Jin-Ru Chen
  • jzchen_at_acutecomm.com.tw

2
Content
  • Introduction
  • Algorithms
  • Flooding, Spanning Tree, Reverse Path Broadcast,
    Reverse Path Multicast and Core Based Tree
  • Routing Protocols
  • DVMRP, MOSPF, PIM-SM, PIM-DM and CBT
  • Testing Issue

3
Why Multicast Routing?
  • Reduce the bandwidth waste

D
D
S
S
D
D
Broadcast
Multicast
4
Sender-base VS Receiver-base
  • Whether the sender or the receiver establishes
    the connections necessary for forming a multicast
    group
  • Sender-Based
  • Suitable for small group
  • Hard to extend to large or dynamic groups
  • Receiver-Based
  • Source no need to maintain receiver lists
  • Easier to make group dynamic

5
Sender-based multicasting
Conformation
Source
Receivers
Join requests
6
Receiver-based multicasting
Data
Data
Data
Receivers
Source
Join requests
7
Multicast Backbone
  • MBONE is an interconnected set of subnetworks and
    routers that support the delivery of IP multicast
    traffic
  • Start from 40 subnets in four different countries
    in 1992
  • Connect each island through virtual
    point-to-point links called tunnels

8
IP Multicast Address
  • Class D address
  • Address assignment
  • 224.0.0.0 is reserved and cannot be assigned to
    any group
  • 224.0.0.1 to 224.0.0.255 is reserved for the use
    of routing protocols and other low-level topology
    discovery or maintenance protocol
  • 224.0.1.0 to 239.255.255.255 are assigned to
    various multicast applications
  • 239.0.0.0 to 239.255.255.255 are to be reserved
    for site-local administratively scoped
    applications

9
Multicast Path Decision
  • Source to router
  • Transmit to direct connected router
  • Router to router
  • Base on multicast routing protocol
  • Such as DVMRP, MOSPF ...
  • Router to destinations
  • Base on local membership register protocol
  • Such as IGMP (Version1, 2, 3)

10
Multicast Routing Concept
  • Class of routing protocols
  • Dense - lots of receivers nearby
  • Sparse - few receivers spread out
  • Delivery Trees can be
  • Source- rooted (one per sending host) or,
  • Shared one delivery tree that all senders use
  • Establishment of a delivery tree triggered when
  • Multicast data sent out from the sender or
  • Receivers joining a multicast group

11
Source-Rooted Trees
12
Source-Rooted Trees (II)
  • Source- rooted delivery tree built for each
    (Source, Group Address) multicast pair
  • also called a shortest- path tree (SPT)
  • Routers must maintain O( S x G) state
  • Better performance and optimal path from sender
    to receivers via shortest- path trees (SPT) but
    routers have to maintain more information

13
Shared Trees
14
Shared Trees (II)
  • Single delivery tree (per group) is built rooted
    at Core
  • Routers must maintain O( G) state
  • Routers must maintain less information but Core
    performance, locality and control could be issues

15
Dense Mode Protocol
  • Group membership is dense
  • Data- driven from Source
  • SPT is not built until multicast data begins to
    flow from sender
  • packets are forwarded to all subnets until
    routers prune interfaces/ links
  • Use Flood and Prune
  • Suitable for campus LANs and corporate intranets

16
Sparse Mode Protocol
  • Group membership is sparse
  • Flood and Prune wastes bandwidth and resources
  • Better to use shared tree approach
  • Data is not sent from the Core/ RP router to a
    downstream router unless that router joins the
    shared tree (by sending an explicit JOIN towards
    the CORE/ RP)
  • Suitable for large corporate intranets and the
    Internet

17
Switch VS Protocol
  • Cooperation between protocol engine and
    forwarding engine
  • Protocol engine
  • Used to be real-time OS working over processor
  • Forwarding engine
  • ASIC
  • FPGA
  • ASIC with embedded micro-processor

18
Switch VS Protocol (II)
  • Protocol engine decide the forwarding ports and
    tell the forwarding engine
  • Forwarding engine just follow the known
    information to forwarding the multicast packet
  • Based on exactly match to do address search

19
Multicast Forwarding Algorithm
  • Flooding
  • Spanning Trees
  • Reverse Path Broadcasting (RPB)
  • Truncated Reverse Path Broadcasting (TRPB)
  • Reverse Path Multicasting (RPM)
  • Core-Based Trees (CBT)

20
Flooding Algorithm
  • Simplest technique
  • Flood the received packet to interfaces other
    than the receiving interface
  • Avoid the forwarding of looped packet

21
Spanning Tree Algorithm
  • What is the spanning tree?
  • A subset of the Internet topology that forms a
    loop free tree
  • Forward the received packet to other interfaces
    belong to the spanning tree
  • Filter out the received packet when received from
    interfaces not belong to the spanning tree
  • No loop free mechanism required
  • Powerful and relatively easy, but centralize
    packet flow and path is not the most efficient

22
Reverse Path Broadcasting
  • Build a group-specific spanning tree for each
    potential source
  • Construct source-rooted delivery trees
  • Operation
  • For each packet arrives on a link that the router
    considers to be the shortest patch back to the
    source, forward the packet on all interfaces
    except the incoming interface

23
RPB (II)
  • Reverse Path Broadcasting - Forwarding Algorithm

24
Enhanced RPB
  • Enhanced to reduce unnecessary packet duplication
    based on whether the neighboring router is on the
    shortest path back to the source
  • Intuitive on link-state protocol
  • Use Poison Reverse on distance-vector protocol

A
B
C
D
F
E
25
Truncated Reverse Path Broadcasting
  • To overcome the limitations of Reverse Path
    Broadcasting
  • Use IGMP to determine the group memberships on
    each leaf
  • The spanning delivery tree is truncated by the
    router if a leaf does not have group members

26
TRPB (II)
  • Examples

27
Reverse Path Multicasting
  • RPM creates a delivery tree that spans only
  • Subnetworks with group members
  • Routers and subnetworks along the shortest path
    to subnetworks with group members

28
RPM (II)
  • Operation of RPM

29
RPM (III)
  • Receive packet for (source, group), the first one
    is forwarded as TRPB
  • Router at the edge of the network is called leaf
    router
  • If the group member is on the leaf network
  • Forward packet based on IGMP information
  • If no subnetwork has group member
  • Transmit a prune message on its parent link
  • Prune messages are sent only one hop back
  • When all leaf are pruned, parent node sends prune
    message

30
RPM (IV)
  • The membership and network topology are
    dynamically changed
  • Remove the pruned branch periodically
  • Limitations
  • Periodically forward multicast packet to all
    routers
  • States of each source and group pair must be
    maintained

31
Core-Based Tree (CBT)
  • Construct a single delivery tree that is shared
    by all members of a group
  • Different group can have different tree

32
CBT (II)
  • Construct a CBT backbone
  • Join the group must send join message to core
    tree
  • Potential group member only need to know the
    address of the groups core router
  • Unicast join request
  • By passed router record the passed interface to
    construct the branch of core tree

33
CBT (III)
  • Benefits
  • Only need one router to record state information
    for each group
  • No periodic flooding and pruning requirement
  • Limitation
  • Traffic concentration and bottlenecks near core
    routers
  • May create suboptimal routes
  • Need to manage the selection and replacement of
    cores

34
Distance Vector Multicast Routing Protocol (DVMRP)
  • Distance-vector routing protocol
  • Origin defined in RFC1075
  • Derived from RIP
  • Use Truncated Reverse Path Broadcasting algorithm
  • Difference from RIP
  • RIP calculates the next hop to a destination
  • DVMRP calculate the previous hop back to a source
  • Version 3.8 and vender implementations employ
    Reverse Path Multicasting

35
DVMRP Tunneling
  • Supports tunneling of multicast packets through
    non- multicast routers
  • IP over IP encapsulation
  • Enables IP Multicast islands to communicate
  • Contributes to increased network utilization
  • DVMRP tunnels are manually configured between
    end-points

36
DVMRP Operation
37
DVMRP Scope Control
  • Use TTL value to limit the scope of transmission

38
DVMRP Operation
  • First datagram for any (source, group) pair is
    forwarded to entire internetwork
  • The prune messages result in the removal of
    branches from the tree
  • After a period of time, the pruned branch grow
    back and the next datagram flood again
  • If a pruned branch has newly added group member,
    the graft message is send

39
DVMRP Routing Table
40
DVMRP Forwarding Table
41
Multicast Extensions to OSPF (MOSPF)
  • Multicast Extensions to OSPF
  • not actually a separate multicast routing
    protocol
  • Leverages already existing OSPF topology database
    to compute source-rooted shortest path delivery
    tree
  • Defines Group Membership LSA that is added to
    topology database and propagated throughout OSPF
    AS

42
MOSPF (II)
  • Generates a source- rooted delivery tree that
    branches out to all members-only subnetworks
  • calculates as soon as first multicast packet hits
    the router
  • because MOSPF routers maintain the same topology
    database in an area, they will calculate the same
    delivery tree
  • RFC1584

43
MOSPF Characteristics
  • Not supported on all routers
  • MOSPF can interoperate with OSPF to support
    unicast but MOSPF does not support tunnels
  • Does not support equal cost paths

44
MOSPF Characteristics(II)
  • Advantages
  • SPT is calculated "in memory" thus initial
    multicast packets are not flooded
  • leverages existing OSPF function
  • Disadvantages
  • may require router CPU to calculate each SPT as
    number of senders increases
  • Group Membership LSAs are propagated throughout
    network

45
MOSPF Inter-Area routing
46
Inter-Area Routing (II)
  • Area border routers are configured as wild- card
    multicast receivers (WCMR) and inter- area
    multicast forwarders (IAMF)
  • WCMR receives all multicast packets and forwards
    to the next area - must not be pruned from the
    source- rooted SPT
  • IAMF forwards group membership from non- backbone
    areas to the backbone
  • Inter- area delivery trees built using
    information supplied by inter- area multicast
    forwarders and summary- links LSAs

47
Protocol Independent Multicast (PIM)
  • Supports both a Dense Mode and Sparse Mode
    function
  • Dense mode to operate under both group members
    are relatively densely packed and bandwidth is
    plentiful
  • Sparse mode to operate under group members are
    widely dispersed across the Internet
  • Independent of any underlying unicast routing
    protocol
  • Require a unicast routing protocol to provide
    routing table information and to adapt to
    topology changes

48
PIM (II)
  • Design objectives
  • provide scalable inter-domain multicast routing
  • efficient sparse group support
  • shared- tree or SPT support
  • routing protocol independent
  • dense mode support
  • robustness - uses soft- state
  • interoperability with other multicast routing
    protocols

49
PIM - Dense Mode
  • Designed for Dense multicast regions
  • Uses Reverse Path Multicasting
  • Default operation is to send
  • implicit join (everybody is a member) with
    explicit prunes
  • Simple to implement

50
PIM - DM (II)
  • Differs from DVMRP in the following
  • forwards out all interfaces until explicit
    pruning or truncating occurs DVMRP uses parent-
    child relationship, uses split- horizon to
    recognize downstream routers
  • independent of specific unicast routing
    technology but rely on unicast routing protocol
    to adapt to topology changes DVMRP uses distance
    vectors
  • does not support tunnels DVMRP does

51
PIM - Sparse Mode
  • Designed for Sparse multicast regions
  • RFC2362
  • Basic concept is that multicast data is blocked
    unless a downstream router explicitly asks for it
  • controls the amount of traffic that traverses
    network
  • Similar to the Core-Based Tree (CBT) approach
  • Employs the concept of a rendezvous point (RP)
    where receivers meet sources
  • Only one RP for each multicast group

52
PIM - SP Rendezvous Point
  • Rendezvous Point (RP)
  • RP-list contains a primary RP and a small ordered
    set of alternative RPs
  • single active RP per group but backups can exist
  • Routers need to maintain RP-list before the
    arrival of data packets
  • senders must register their existence with RP
  • receivers must join RP- rooted tree

53
PIM - SP RP (II)
  • Shared RP tree is initially used to distribute
    data but PIM routers with members may switch over
    to Source-Rooted Shortest Path Tree
  • for better network performance and utilization

54
PIM - SM Operation
  • PIM Routers locate RP via Bootstrap Mechanism
  • downstream PIM routers need to know address of RP
    so that they can send PIM JOIN messages
  • PIM Routers with local members Join group-
    specific multicast tree rooted at RP
  • PIM Routers with local senders encapsulate data
    and send it (unicast) to RP
  • PIM Routers with local members may initiate and
    switch-over to source-rooted shortest-path tree

55
PIM Register
  • PIM Routers with local senders encapsulate
    multicast packets in PIM- Register messages and
    forward to RP
  • RP de-encapsulates messages and forwards out
    multicast delivery tree
  • RP may option to send PIM JOIN and PIM
    REGISTER-STOP messages to source PIM router. This
    enables source PIM router to send native
    multicast packets to RP

56
PIM Register (II)
57
PIM Join - SPT
  • Based on a threshold, PIM routers with local
    members send PIM Join messages towards the source
  • Source-rooted shortest path tree is built
  • PIM routers with local members continue to
    receive packets from both the source and the RP

58
PIM Join - SPT (II)
59
PIM Shared Tree to SPT Switch
  • After PIM routers receive multicast packets from
    both the SPT and RP delivery trees, PIM Prune
    messages are sent upstream towards the RP to
    prune the RP-tree. Now multicast data from the
    Source will only flow over the source- rooted SPT
    towards group members.

60
PIM Shared Tree to SPT Switch (II)
61
Core Base Tree
  • RFC 2189
  • CBT protocol builds and maintains a shared
    multicast distribution tree that spans only those
    networks and links leading to interested
    receivers.
  • Core router is a "meeting point" between a sender
    and group receivers
  • An on-tree router, which is part of a CBT
    distribution tree, maintains active state for the
    group

62
CBT Operation
Join_Request
Join_ACK
S
Data Flow
Core
R
R
63
CBT Receiver Operation
  • Use IGMP to register membership of a group
  • CBT router generates JOIN_REQUEST message to next
    hub to the core router
  • Acknowledge message (JOIN_ACK) is sent from
  • the core router
  • another on-the-path router which itself has
    already joined the tree
  • The host is on-tree after receiving JOIN_ACK

64
CBT Sender Operation
  • Non-member sender data is encapsulated (IP-in-IP)
    by the first-hop router, and is unicast to the
    group's core router

65
Protocol Verification
  • Packet Format
  • Lower protocol parameter setting
  • Entry field validity
  • Timer
  • Preciseness of each timer
  • Algorithm
  • Using entered packet to generate virtual
    environment to trigger algorithm calculation and
    performs respected packet forwarding

66
Protocol Verification
  • Input process
  • Check the processing result of different input
    packets
  • Output process
  • Check the processing result when router generate
    packets

67
Protocol Verification
  • Cooperation between unicast routing protocol
  • Such as MOSPF, PIM
  • The information exchange must be correct
  • Interoperability
  • Using routers produced by different venders,
    connect them and check the working result
  • Using different interface setting and multicast
    member register to verify the interoperability

68
Verification Example
  • DVMRP needs to send out routing information every
    60 sec
  • Test procedure
  • Send in routing information
  • Listen for 60 sec
  • The DUT must send out routing information
    contains the same information

69
Benchmark
  • RFC2432
  • Benchmark items
  • Multicast Speedup Index (MSI)
  • Multicast Latency (ML)
  • Group Join Delay (GJD)
  • Group Leave Delay (GLD)
Write a Comment
User Comments (0)
About PowerShow.com