Inter-Domain ASM Multicast Networking: Michael P. O'Connor
Inter-Domain ASM Multicast Networking: Michael P. O'Connor
Inter-Domain ASM Multicast Networking: Michael P. O'Connor
Multicast Networking
Michael P. O’Connor
[email protected]
2
Types of Data Delivery
• Unicast: Data is delivered to one specific
recipient. One-to-one delivery.
• Broadcast: Data is delivered to all hosts. One to
all delivery.
• Multicast: Data is delivered to all hosts that
have expressed interest. One-to-many delivery.
• Anycast: Data is delivered to the nearest host of
those sharing a single address. One to any
delivery.
3
What is multicast?
It’s a network application:
Multicast distribution provides an efficient method for delivering traffic
that can be characterized as “one-to-many” or “many-to-many”.
Multicast enabled networks are responsible for replicating data and
delivering it only to listeners who have tuned in to the session.
Routers in the network build a distribution tree where the sender is the
root and each network with at least one interested listener is a leaf.
When a new listener tunes in, the network must build a branch from
the new leaf toward the root. When a leaf no longer contains listeners,
the branch must be pruned. When there are no longer any senders,
the distribution tree must be torn down.
The local network support staff is almost always the only group with
the knowledge and access privileges required to configure a multicast
enabled network.
4
Addressing
Multicast group addresses are defined in the IPv4 “class D”
address range 224.0.0.0 to 239.255.255.255 or using prefix
notation 224.0.0.0/4.
5
Special Addresses
6
GLOP space
0-7 8 - 23 24 - 31
233 16 bit AS Local bits
If you have an AS number you have a /24 in GLOP space. You should
use your GLOP space for AG virtual venues at your site.
Example:
AG Test room 233.2.171.39 is in the Argonne National Lab GLOP space.
AS 683 = 2 * 256 + 171
GLOP calculator
http://www.shepfarm.com/multicast/glop.html
GLOP is not an acronym or abbreviation; for some odd reason it was
selected as the name for this clever mechanism.
7
Site to ESnet Multicast Interconnect;
Best and Current Practice
ESnet recommends that multicast enabled Sites/Customers implement the following
external multicast protocols to exchange multicast traffic with ESnet.
Multicast enabled network architectures that depend on PIM RPs in external domains are
not recommended by ESnet. MSDP enables inter-domain RP to RP communication.
Hierarchy of Internet Routing Protocols
Unicast and Reverse Path Any-Source Multicast Source-Specific Multicast
forwarding (RPF) (ASM) (SSM)
Interdomain
Intradomain
ISIS
DVMRP
(Unicast) DVMRP DVMRP
9
Protocol Independent Multicast
(PIM) Sparse Mode
• PIM-SM is the predominant multicast routing protocol for
inter-domain routing.
10
Anycast RP
• In PIM-SM, only one RP can be active for any single multicast group.
• Anycast RP is a clever mechanism that delivers load balancing and
redundancy.
• PIM RP redundancy can be achieved in this way, all Anycast RP’s also
need to be MSDP peers with each other, usually in a meshed topology.
11
PIM-SM Site Guidelines
• A single PIM Rendezvous Point (RP) for all multicast
groups.
• Static RP – statically define the address of the RP in all
PIM speaking routers.
• Auto-RP and Bootstrap Router (BSR) are not
recommended.
• Use only PIM Version 2 in “Sparse” mode.
• Configure the RP on a Loopback interface to simplify
moves.
• “Dense” and “Sparse Dense” modes should not be
necessary and are not recommended.
• The RP network MBGP advertisement must be /24 or
greater.
12
Multicast Source Discovery
Protocol (MSDP)
• MSDP enables inter-domain source discovery without flooding.
13
MSDP Site Guidelines
• Your MSDP speaking router MUST be a PIM-SM RP.
14
MSDP Policy
MSDP policy should be enforced using SA message
filters. SA filtering can typically be performed on source
address, group address, and MSDP peer address.
• Cisco guidelines
http://www.cisco.com/warp/public/105/49.html
15
MBGP
MBGP is an advantage over BGP because it provides a distinction
between multicast and unicast-only networks. MBGP allows you to
advertise which networks in your LAN are multicast capable.
Cisco configuration of MBGP has three main sections
address-family ipv4
neighbor 72.40.38.229 route-map international in
network 140.52.210.0 mask 255.255.255.0
network 140.52.216.0 mask 255.255.255.0 (both unicast & multicast)
16
MBGP Route Advertisement
Cisco “show” commands
17
MSDP problems caused by MBGP
If your peer rejects all of your advertised MSDP SA’s, it’s likely
an MBGP issue.
Use the router interface address of the network you have your AG
node on for the MSDP peer ID. This will advertise both MSDP
peer and AG source addresses within the same network prefix.
18
MSDP RPF Neighbor Determination
Router R is your MSDP peer, or the receiver.
Router X is the MSDP peer that sends the source active message.
Router S is the originating RP of the source active message.
• If Router X originated the source-active message (Router X is Router S), then Router X is also
the peer-RPF neighbor, and its source-active messages are accepted.
• If Router X is a member of the Router R mesh group, or is the configured peer, then Router X is
the peer-RPF neighbor, and its source-active messages are accepted.
• If Router X is the Border Gateway Protocol (BGP) next hop of the active multicast RPF route
toward Router S (Router X installed the route on Router R), then Router X is the peer-RPF
neighbor, and its source-active messages are accepted.
• If Router X is an external BGP (EBGP) or internal BGP (IBPG) peer of Router R and the last
autonomous system (AS) number in the BGP AS-path to Router S is the same as Router X's AS
number, then Router X is the peer-RPF neighbor, and its source-active messages are accepted.
• If Router X uses the same next hop as the next hop to Router S, then Router X is the peer-RPF
neighbor, and its source-active messages are accepted.
• If Router X fits none of these criteria, then Router X is not an MSDP peer-RPF neighbor, and its
source-active messages are rejected.
IGMP LAN protocol
When a host wants to become a multicast receiver, it must
inform the routers on it’s LAN. IGMP Is used to
communicate group membership information between
hosts and routers on a LAN.
IGMPv1 – Windows95
IGMPv2 – Windows98, 2000
IGMPv3 – WindowsXP, Vista
20
IGMP Snooping
By default multicast is treated like a broadcast on a Layer2
Ethernet switch and is simply flooded out all ports on the
leaf VLAN.
Flooding multicast packets out all switch ports wastes
valuable network resources. Also, hosts that receive this
unwanted traffic must use processing cycles to examine
packets that they will eventually discard. IGMP snooping
is one way to eliminate this inefficiency.
An IGMP snooping switch looks at IGMP messages to
determine which hosts are actually interested in receiving
multicast traffic. Multicast packets are forwarded only out
ports that connect to a host that is an interested listener of
a specified group.
21
Cisco CGMP
CGMP is a proprietary mechanism that provides
the same functionality as IGMP snooping. CGMP
relies on Cisco routers to determine which hosts
are interested in each multicast group. This
offloads Cisco LAN switches and is generally
used on Cisco workgroup switches that lack the
compute resources required for IGMP snooping.
22
Packet Flow
Interdomain Multicast
PIM Join
MSDP
ESnet
ESnet Backbone
RP RP
Destination Source
23
Packet Flow
PIM Join
MSDP
ESnet
ESnet Backbone
RP RP
Destination Source
24
Packet Flow
PIM Join
MSDP
ESnet
ESnet Backbone
RP RP
· The RP generates (*,G) state and an MSDP SA.
· The SA is advertised to ESnet.
· ESnet propagates this SA to all of it’s RP/MSDP
speakers.
· The SA is then advertised to external MSDP peers.
C
Destination Source
25
Packet Flow
PIM Join
MSDP
ESnet
ESnet Backbone
RP RP
· The destination A sends a membership report to
it’s first hop router in order to join the group
· The first hop generates (*,G) state and sends a PIM
(*,G) join to the RP
· The RP generates (*,G) state and then sends an
PIM (S,G) join toward the source B C
Destination Source
26
Packet Flow
PIM Join
MSDP
ESnet
ESnet Backbone
RP RP
· The SPT is built and packets flow from the source
to the RP of the destination
· The RP forwards packets down the shared tree
down toward the destination
· Destination A’s first hop router then sends an (S,G)
join toward source B to and switches off the ST to
an SPT C
Destination Source
27
Packet Flow
PIM Join
MSDP (S,G) Join to Source
ESnet
ESnet Backbone
RP RP
· The SPT is built from the destination’s first hop
router to the first hop router of the source.
· Packets from the source take this path rather than
the chosen path from the source to destination as
in unicast.
· Intermediate routers forward the (S,G) join toward
the source if no prior (S,G) state exists. C
Destination Source
28
Packet Flow
PIM Join
MSDP Reverse Path Forwarding
ESnet
ESnet Backbone
RP RP
· Packets flow from the source along the path built
by the destination. (Reverse Path Forwarding)
· Destination A’s first hop router then switches off
the ST to an SPT. (After 1 packet on Cisco)
Destination Source
29
Troubleshooting Interdomain Multicast
When your not receiving an external source
• Verify IGMP membership at your first hop router
• Log into your RP, Start with MSDP
• Verify the remote source MSDP SA exists
– Cisco# show ip msdp sa-cache
– Juniper> show msdp source-active group A.B.C.D
• Verify the RPF route for the source
– Cisco# show ip rpf A.B.C.D
– Juniper> show multicast rpf A.B.C.D
• If the router is an MSDP speaker, verify RPF to the
remote RP
• Verify the PIM (S,G) incoming interface is aligned with
source RPF
• Verify packet counters
• Contact ESnet if necessary
30
Troubleshooting Interdomain Multicast
When your not being received
• Log into your RP
• Verify that your MSDP SA is being advertised, contact
ESnet if necessary
• Verify the PIM (S,G) for your source at your RP
• Verify your wide area PIM neighbor
• Verify that an Outgoing Interface List (OIL) entry
matches the RPF for the remote listener.
• Verify packet counters
• Contact ESnet if necessary
31
show ip mroute (*,G)
(Cisco)
Cisco#show ip mroute 233.4.200.18
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel
Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
32
show ip mroute (S,G)
(Cisco)
33
show ip mroute count
(Cisco)
Group: 233.4.200.18, Source count: 94, Packets forwarded: 44708, Packets received: 44832
RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0
Source: 63.105.122.14/32, Forwarding: 0/0/0/0, Other: 0/0/0
Source: 128.111.252.50/32, Forwarding: 718/10/72/6, Other: 718/0/0
This source is
Source: 128.118.57.33/32, Forwarding: 797/10/70/5, Other: 797/0/0 probably running
Source: 128.55.16.111/32, Forwarding: 634/9/74/6, Other: 634/0/0 two instances of the
... NLANR beacon
Source: 129.250.11.22/32, Forwarding: 914/19/74/10, Other: 915/0/1
34
show pim join (S,G)
(Juniper)
Juniper> show pim join 233.4.200.18 extensive
Instance: PIM.master Family: INET
Group: 233.4.200.18
Source: 64.65.64.31
Flags: sparse,spt
Upstream interface: ge-1/1/0.0
Upstream neighbor: 134.55.209.21
Upstream state: Join to Source
Keepalive timeout: 200
Downstream Neighbors:
Interface: so-0/1/0.0
134.55.209.218 State: Join Flags: S Timeout: 168
Interface: so-0/1/1.0
134.55.209.6 State: Join Flags: S Timeout: 184
...
Source/transmitter address
Group/destination address, 233.4.200.18 (NLANR Beacon Group)
Packets from this source arrive via 134.55.209.21 on interface ge-1/1/0.0
Packets exit the router on their way to PIM neighbors via these interfaces
PIM Join Expiration timer
35
show multicast route (S,G)
(Juniper)
Group: 233.4.200.18
Source: 64.65.64.31/32
Upstream interface: ae0.0
Downstream interface list:
so-0/1/0.0 so-0/1/1.0
Session description: Static Allocations
Statistics: 1 kBps, 8 pps, 880606 packets
Next-hop ID: 461
Upstream protocol: PIM
...
Source/transmitter address
Group/destination address, 233.4.200.18 (NLANR Beacon Group)
Packets from this source arrive via interface ae0.0
Packets exit the router on their way to PIM neighbors via these interfaces
Packet counter & rate
36
http://dast.nlanr.net/projects/beacon/
ping -U -L -t 70 233.1.37.1 60
-U UDP
-L No loopback packets for multicast
-t TTL
group address
number of packets to send
ping interval is 1 second by default
Mike O’Connor
ESnet Network Engineering Group
Lawrence Berkeley National Lab
[email protected]
39