IP Multicasting

Document Sample
IP Multicasting Powered By Docstoc
					      IP Multicasting




Part of this presentation based on: Cisco, Forouzan TCP/IP textbook,
   Anthony Chung, Dale Buchholz.

                                                                       1
Topics
   IP Class D Group Addressing
   IGMP (Internet Group Management Protocol)
   Multicast Strategies:
        Broadcast/Flooding
        Multiple Unicast
        Distribution trees
        Multicast forwarding (based on Reverse Path Forwarding)
   Multicast Routing Protocols
        DVMRP (Distance Vector Multicast Routing Protocol)
        MOSPF (Multicast OSPF)
        PIM (Protocol Independent Multicast)
   MBONE (Multicast Backbone)
   Implementation and Configuration (for Cisco)


                                                                   2
Practical Applications of IP
Multicast
   Multimedia: A number of users “tunes” to a video or audio transmission from a
    multimedia source station.
   Teleconferencing: A group of workstations form a multicast group such that a
    transmission from any member is received by all other group members.
   Database: All copies of a replicated file or database are updated at the same
    time.
   Distributed computation: Intermediate results are sent to all participants.
   Real-time workgroup: Files, graphics, and message are exchanged among active
    group members in real time.
   MOST prevalent usage right now: trading – Used to multicast market data.
        Can be VERY large; OPRA (Options Price Reporting Authority) feed is over 80 Mbps
         SUSTAINED
        Very latency sensitive. Trading platforms are trying to optimize at the micro-second
         levels.




                                                                                                3
     Multicasting within single LAN
   In 802.3, MAC address can specify a broadcast/multicast
        0xFFFF.FFFF.FFFF is for broadcast
        Bit 0 of octet 0 indicates Broadcast/Multicast
        Bit 1 of octet 0 indicates Locally Administer Address (LAA) vs use of Universally
         Administered Addresses (UAA)
   IANA was given MAC address block 01:00:5E IANA defined range available:
        0100.5E00.0000 to 0100.5E7F.FFFF – That is 23 bits
   Multicast IP address is defined by 28 bits (1110 defines class D)
   The lowest 23 bits of the IP multicast address maps to a MAC address
   All stations that recognise the MAC address of the multicast address accept
    the packet – Done at L2 admission instead of L3 like it would be in
    broadcast. (a broadcast is accepted by all stations, then sent to L3 for
    processing where it will be dropped if no process uses it)
   Works because of broadcast nature of LAN
   Packet only sent once
   Much harder on Internet or routed infrastructure

                                                                                             4
IP Class D Group Addressing (multicast address or group ID)




Mapping IP Multicast Address to Ethernet Address
  Figure 10.10


This prefix is
given for multicast
MAC addresses




                                                              5
MAC address Ambiguities
   Because upper 5 bits in IP multicast address are
    dropped, result MAC address is not unique: 32
    multicast group IDs map to a single MAC address.
   Example all groups below maps to 0x0100.5E01.0101
       224.1.1.1
       224.129.1.1
       225.1.1.1
       225.129.1.1
       …
       238.1.1.1
       238.129.1.1
       239.1.1.1
       239.129.1.1

                                                    6
Multicast Strategies across
routers




                              7
Multicast Strategies across
routers
   Broadcast
   Multiple Unicasts
   True Multicast




                              8
Broadcast
   Assume location of recipients not know
   Send packet to every network
   Packet addressed to N3 traverses N1, link L3,
    N3
   Router B translates IP multicast address to
    MAC multicast address
   Repeat for each network
   Generates lots of packets
   Delivery of packets done via Routing
    Protocols
                                                    9
Multicast Strategies          S
Broadcast: send one copy to
each network (not knowing
which network has
members)




                                  10
Multiple Unicast
   Location of each member of multicast
    group known to source
   Table maps multicast address to list of
    networks
   Only need to send to networks
    containing members of multicast group
   Reduced traffic (a bit)

                                              11
                             S
Multicast Strategies
Multiple Unicast: send one
copy to each network where
there is a member.




                                 12
True Multicast
   Least cost path from source to each network
    containing member of group is determined
       Gives spanning tree configuration
            For networks containing group members only
   Source transmits packet along spanning tree
   Packet replicated by routers at branch points
    of spanning tree
   Reduced traffic

                                                          13
Multicast Strategies
Multicast along a spanning   S
tree (A sub-graph that
reaches all nodes without
cycles) to networks with
members only




                                 14
Multicast Transmission
Example




                         15
        Requirements for Multicasting

   Router must forward one or more copies of incoming
    packet
   Addressing
       IPv4 uses class D
            Start 1110 plus 28 bit group id
       IPv6 uses 8 bit prefix of all 1s, 4 bit flags field, 4 bit scope field
        112 bit group id
   Router must translate between IP multicast address and
    list of networks containing members of group – router
    must keep track of membership subscriptions and tree.
   Multicast addresses may be permanent or dynamic


                                                                                 16
    Requirements for Multicasting
   Individual hosts may join or leave dynamically
        Need mechanism to inform routers
   Routers exchange information on which subnets
    contain members of groups
   Routers exchange information to calculate shortest
    path to each network
        Need routing protocol and algorithm
   Routes determined based on source and destination
    addresses
        Avoids unnecessary duplication of packets

                                                         17
         IGMP Operation
   Host uses IGMP (Internet Group Management Protocol) to make itself
    know as member of group to other hosts and routers
   To join, send IGMP membership report message
        Send to multicast destination of group being joined
   Routers periodically issue IGMP query
        To all-hosts multicast address
        Hosts respond with report message for each group to which it belongs
           Only one host in group needs to respond to keep group alive

           Host keeps timer and responds if no other reply heard in time

   Host sends leave group message
        Group specific query from router determines if any members remain
        Note IGMP v1 did not include “leave”: Multicast would be sent until a timer
         expires




                                                                                       18
IGMP – a protocol designed to help a multicast router identify the
hosts in a LAN that are the members of a group.




Figure 10.2   IGMP (v2) message types




                                                                     19
IGMP – a protocol designed to help a multicast router identify the
hosts in a LAN that are the members of a group.




                                                      From routers to hosts. Asking
                                                      for group membership info
                             From hosts to routers.
                             Reporting group membership
                             info




                                                                                20
Reserved Link Local Addresses
   IANA reserved 224.0.0.0 through
    224.0.0.255 for routing protocols on
    local networks. These packets should
    NEVER be forwarded and should have
    TTL of 1.




                                           21
              IP multicast address                                 Description
224.0.0.0                            Base address (reserved)
                                     The All Hosts multicast group that contains all systems on the same
224.0.0.1                                 network segment
                                     The All Routers multicast group that contains all routers on the same
224.0.0.2                                 network segment
                                     The Open Shortest Path First (OSPF) AllSPFRouters address. Used to
224.0.0.5                                 send Hello packets to all OSPF routers on a network segment
                                     The OSPF AllDRouters address. Used to send OSPF routing information
224.0.0.6                                 to OSPF designated routers on a network segment
                                     The RIP version 2 group address. Used to send routing information using
224.0.0.9                                 the RIP protocol to all RIP v2-aware routers on a network segment
                                     EIGRP group address. Used to send EIGRP routing information to all
224.0.0.10                               EIGRP routers on a network segment
224.0.0.13                           PIM Version 2 (Protocol Independent Multicast)
224.0.0.18                           Virtual Router Redundancy Protocol
224.0.0.19 - 21                      IS-IS over IP
224.0.0.22                           IGMP Version 3 (Internet Group Management Protocol)
224.0.0.102                          Hot Standby Router Protocol Version 2
224.0.0.251                          Multicast DNS address
224.0.0.252                          Link-local Multicast Name Resolution address
224.0.1.1                            Network Time Protocol address
224.0.1.39                           Cisco Auto-RP-Announce address
224.0.1.40                           Cisco Auto-RP-Discovery address
224.0.1.41                           H.323 Gatekeeper discovery address



                                                                                                             22
Glop Addressing (RFC 2770)
   RFC 2770 (revised 3180) proposes that 233.0.0.0/8 be reserved
    for static Multicast groups for organizations that have a
    reserved, registered public AS number.
   That AS # form the 2nd and 3rd Octet of the IP range.
   Gives an AS owner 255 unique static and global Multicast
    groups.
   Example: AS #62010
       Decimal 62010 = 0xF23A
       F2 is 2nd octet = 242
       3A is 3rd octet = 58
       233.242.58.0 is globally reserved for AS 62010 to use
   Question: what does “GLOP” stands for?




                                                                23
Using IGMP, R learns about the list of groups on this LAN.
When R receives a packet with a destination multicast
address, it checks against the list and determine if the packet
should be propagated to the LAN.




                                                              24
Four situations of IGMP operations VERSION 1!!




                                                 (initially)




                                                   (periodic)




                                                      (in response to a query)




                                                       (time out) Router erase
                                                       after no responses to 3
                                                                                 25
                                                       queries
(A host waits for a random period of
time before sending out a report)




                                       (they hear that the group has been
                                                                        26
                                       reported)
27
    IGMP v2 improvements
IGMPv2
-Defines a procedure for the election of multicast queriers for each
LAN (the router with the lowest IP address).
-Group-specific query message
-Leave group message (to lower IGMP’s “leave latency”)

IGMPv3
- Enables hosts to listen only to a specified subset of the hosts sending
to the group




                                                                            28
IGMP v2 and V3 improvements




                              29
      Multicast Distribution Trees
Multicast Distribution Trees
 Control the path which IP Multicast traffic takes through the network in order to deliver
traffic to all receivers.
 Source Trees
     o A source tree with its root at the source and branches forming a spanning tree
     through the network to the receivers.
     o Also referred to as a shortest path tree (SPT).
o Remind you of anything??? 




                                                                                        30
       Multicast Source Tree

o Advantage of creating the
optimal path between the
source and the receivers.
o The routers must maintain
path information for each
source.
     Memory
    consumption: O(S * G)




                               31
Shared Trees
o A single common root placed at some chosen point in the network. This shared root is
called a Rendezvous Point (RP).




  o Advantage of requiring the minimum amount of state in each router. Memory
  requirements: O(G)
  o The disadvantage of shared trees is that under certain circumstances the paths between
  the source and receivers might not be the optimal paths.
  o The placement of the RP must be carefully considered.
  o THIS IS THE PREFERED MANNER to implement Multicasts                                      32
     Multicast Forwarding
Multicast Forwarding
In unicast routing, a router does not really care about the
source address.
In multicast routing, the multicast router must determine
which direction is upstream (towards the source) and which
direction (or directions) is downstream.




                                                              33
         Multicast Forwarding
Reverse Path Forwarding (RPF)
    oAn approximation of the source tree.

     oMake use of the existing unicast routing table to determine the upstream and
     downstream neighbors. A router will only forward a multicast packet if it is
     received on the upstream interface. This RPF check helps to guarantee that the
     distribution tree will be loop free.

Step 1. Router looks up the source address in the unicast routing table to determine if it
has arrived on the interface that is on the reverse path back to the source.
Step 2. If packet has arrived on the interface leading back to the source, the RPF check is
successful and the packet will be forwarded.
Step 3. If the RPF check in 2 fails, the packet is dropped.


                                                                                          34
35
Enhancement
 Only forward to your neighbor on a link if the neighbor uses this link to reach the source.
     o How does the node know?
           For link state routing: easy
           For distance vector routing
                 Modify to include next hop information in messages; or
                 “Poison reverse”
                                                                                                36
         Figure 15.7   Taxonomy of common multicast routing protocols




                                                                         JP note: Core
MOSPF (RFC 1584)                                                         Based Trees –
  •Extension to OSPF unicast routing protocol                            Never seen live
      •Includes multicast information in OSPF link state advertisements to construct
      multicast distribution trees
  •Group membership LSAs are flooded throughout the OSPF routing domain so
  MOSPF routers can compute outgoing interface lists
  •Uses Dijkstra algorithm to compute shortest-path tree
      •Separate calculation is required for each (S Net , G) pair (Source, Group
      address pair)
      •Data-driven – a router construct a tree the first time it sees a (S Net , G) pair.
                                                                                      37
Multicast Routing Protocols
   Dense-Mode (DM)
       Uses “Push” Model
       Traffic Flooded throughout network
       Pruned back where it is unwanted
       Flood & Prune behavior (typically every 3
        minutes)

   Sparse-Mode (SM)
       Uses “Pull” Model
       Traffic sent only to where it is requested
        Explicit Join behavior                      38
DVRMPv3 (Internet Draft)

   Dense Mode Protocol
   Distance vector-based
       Similar to RIP
       Infinity = 32 hops
       Subnet masks in route advertisements
   DVMRP Routes used:
       For RPF Check
       To build Truncated Broadcast Trees (TBTs)
            Uses special “Poison-Reverse” mechanism
   Uses Flood and Prune operation
       Traffic initially flooded down TBT’s
       TBT branches are pruned where traffic is unwanted.
   Prunes periodically time-out causing reflooding.
                                                             39
Multicast Extension to OSPF
(MOSPF)
   Enables routing of IP multicast datagrams
    within single AS
   Each router uses MOSPF to maintain local
    group membership information
   Each router periodically floods this to all
    routers in area
   Routers build shortest path spanning tree
    from a source network to all networks
    containing members of group (Dijkstra)
       Takes time, so on demand only

                                                  40
Forwarding Multicast Packets
   If multicast address not recognised,
    discard
   If router attaches to a network
    containing a member of group, transmit
    copy to that network
   Consult spanning tree for this source-
    destination pair and forward to other
    routers if required
                                         41
Equal Cost Multipath Ambiguities
   Dijkstra’ algorithm will include one of
    multiple equal cost paths
       Which depends on order of processing
        nodes
   For multicast, all routers must have
    same spanning tree for given source
    node
   MOSPF has tiebreaker rule
                                               42
Inter-Area Multicasting
   Multicast groups may contain members
    from more than one area
   Routers only know about multicast
    groups with members in its area
   Subset of area’s border routers forward
    group membership information and
    multicast datagrams between areas
       Interarea multicast forwarders
                                          43
Inter-AS Multicasting
   Certain boundary routers act as inter-AS
    multicast forwarders
       Run an inter-AS multicast routing protocol as well
        as MOSPF and OSPF
       MOSPF makes sure they receive all multicast
        datagrams from within AS
       Each such router forwards if required
       Use reverse path routing to determine source
            Assume datagram from X enters AS at point advertising
             shortest route back to X
            Use this to determine path of datagram through MOSPF
             AS
                                                                 44
        MOSPF (RFC 1584)
   Extension to OSPF unicast routing protocol
       Includes multicast information in OSPF LSAs to
        construct multicast distribution trees
   Group membership LSAs are flooded throughout
    the OSPF routing domain so MOSPF routers can
    compute outgoing interface lists.
   Uses Dijkstra’s algorithm to compute shortest-
    path tree for each multicast group.


                                                         45
Protocol Independent
Multicast (PIM)
   Independent of unicast routing
    protocols
   Extract required routing information
    from any unicast routing protocol
   Work across multiple AS with different
    unicast routing protocols
   JP Note: this is usually how we do
    Multicasting in real life 

                                             46
PIM Strategy
   Flooding is inefficient over large sparse
    internet
   Little opportunity for shared spanning trees
   Focus on providing multiple shortest path
    unicast routes
   Two operation modes
       Dense mode
            For intra-AS
            Alternative to MOSPF
       Sparse mode
            Inter-AS multicast routing
                                                   47
PIM-DM (Internet Draft)
   Protocol Independent
        Supports all underlying unicast routing protocols
        including: static, RIP, IGRP, EIGRP, IS-IS, BGP,
        and OSPF
   Uses reverse path forwarding
        Floods network and prunes back based on
        multicast group membership
        Assert mechanism used to prune off redundant
        flows
   Appropriate for...
       Smaller implementations and pilot networks
                                                             48
        PIM-SM (RFC 2362)
   Supports both source and shared trees
       Assumes no host wants multicast traffic unless it specifically ask
        for it
   Uses a Rendezvous Point (RP)
       Senders and Receivers “rendezvous” at this point to learn of each
        others existence.
       Senders are “registered” with RP by their first-hop router.
       Receivers are “joined” to the Shared Tree (rooted at the RP) by
        their local Designated Router (DR).
   Appropriate for…
       Wide scale deployment for both densely and sparsely populated
        groups in the enterprise
       Optimal choice for all production networks regardless of size and
        membership density.
                                                                             49
Sparse Mode
   A sparse group:
       Number of networks/domains with group
        members present significantly small than
        number of networks/domains in internet
       Internet spanned by group not sufficiently
        resource rich to ignore overhead of current
        multicast schemes


                                                  50
Group Routers
   Group Destination Router
       Has local group members
       Router becomes destination router for
        given group when at least one host joins
        group
            Using IGMP or similar
   Group source router
       Attaches to network with at least one host
        transmitting on multicast address via that
        router
                                                   51
        PIM Approach
   For a group, one router designated rendezvous point
    (RP)
   Group destination router sends join message towards
    RP requesting its members be added to group
       Use unicast shortest path route to send
       Reverse path becomes part of distribution tree for this RP to
        listeners in this group
   Node sending to group sends towards RP using
    shortest path unicast route
   Destination router may replace group-shared tree
    with shortest path tree to any source
       By sending a join back to source router along unicast
        shortest path
   Selection of RP dynamic
                                                                        52
       Not critical
53
MBONE consists of multicast islands connected by tunnels




                                                           54
L2 switching implementation
Considerations
   Issue: Default behavior of a l2 switch is
    to flood multicast to all port on a VLAN.
    This beats the purpose of a switch (to
    limit traffic)
   Solution: Cisco Group Management
    Protocol (CGMP) and IGMP Snooping


                                            55
CGMP
   Proprietary Cisco solution
   Basically uses IGMP information to generate CGMP
    messages to tell a switch to enable a port for a Mcast
    group and add CAM entry.
   Disabled by default
   Must be configured on switch and routers
   Cisco recommend that for low end switches
   JP opinion: pretty poor and would not want to use it.
    I’d rather just enable Mcast flooding on VLAN and if
    switch too low end to support such high Mcast, we
    have architecture issue.

                                                        56
IGMP Snooping
   LAN switch looks at L3 information of
    multicast packet to see the “join” requests
   When it sees it: it enables forwarding on the
    port for that Mcast group
   Pro: transparent to administrator, enabled by
    default.
   Con: can get processor intensive unless you
    can do snooping in special ASIC (high end
    switches do that)

                                                57
Sparse or Dense Mode?
   What is best?
       It depends! 
   It is a global config for a given
    VLAN/interface
   What if you want both?
       Cisco: Sparse-Dense mode
       In this case it is by default Dense
       but if a group gets an RP, switch to Sparse
   Recommendation: Sparse mode

                                                      58
Enabling and configuring
Mcast
   Global command:
       Ip multicast-routing
   Per interface/VLAN:
       Ip pim {sparse-mode; dense-mode;
        sparse-dense-mode}
       If you don’t know: use sparse-dense will
        work with all.


                                                   59
Troubleshooting Mcast
   … Even more fun than troubleshooting VPN
    problems! (if you want an unforgettable life
    experience: try putting Multicast traffic in a
    GRE tunnel over an IPSEC VPN! You only
    have one life: you got to try it!)
   First make sure end-to-end unicast routing is
    fine.
   Then consider the mode and signaling used
    to propagate Mcast groups.
                                                 60
Troubleshooting Mcast
   Different aspects to check:
        Source packet flow - At upstream router:
             “show ip igmp groups interface-name”
             “show ip igmp Interface interface-name”
        Check Multicast Signaling:
             Show ip pim neighbor
             Show ip pim rp mapping
             Show ip rpf <source> (to make sure RPF is correct – alternatively look at routing
              table)
        Look at active network mroutes:
             Show ip mroute active
             Show ip mroute count
        Check receiver:
             “show ip igmp groups interface-name”
             “show ip igmp Interface interface-name”
        Advanced CLI tool:
             Mstat
             mtrace


                                                                                             61

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:11
posted:2/7/2012
language:
pages:61