Top Banner
Debugging Multicast John Barlow
32

Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Dec 18, 2015

Download

Documents

Edith Foster
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Debugging Multicast

John Barlow

Page 2: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Status

• Multicast enabled on all GrangeNet routers.

• Multicast enabled in all AARNet RNOs except for NT RNO.

• Multicast running natively across SCCN and throughout GrangeNet and AARNet

• Curtin, VU, JCU, UoW, CSIRO, UQ, CQU connected (whole-of-campus ?)

Page 3: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Overview

• Terminology

• Intro. to multicast & protocols

• Good design

• Caveats

• The document you should read/use– Brief walkthrough

Page 4: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Terminology

• SA• RP• RPF• mroute• MSDP• MBGP• IGMP

• PIM-sparse• PIM-sparse-dense• PIM-dense

Page 5: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

SA (Source Active)

• Information about a singular source of multicast packets– Source address (eg: 192.94.63.41)– Multicast group (eg: 233.2.178.9)– Rendezvous Point (remote or local …)– AS#, age, peer address

• Your router should have a cache of all sources for all multicast groups

Page 6: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

SA

• edge1.act#sh ip msdp sa-cache • MSDP Source-Active Cache - 2867 entries• (62.40.99.241, 224.0.1.32), RP 62.40.102.39,

MBGP/AS 20965, 06:13:11/00:05:23, Peer 202.0.98.13

• (62.40.103.30, 224.0.1.32), RP 62.40.102.9, MBGP/AS 20965, 06:12:47/00:05:23, Peer 202.0.98.13

• …

Page 7: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

RP (Rendezvous Point)

• A repository for multicast source information.– Local source information– Remote source information

• Acts as central “bootstrap” point for subscribing to a multicast source.

Page 8: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

RP

edge1.act#sh ip pim rp mapping

PIM Group-to-RP Mappings

Group(s): 224.0.0.0/4, Static

RP: 202.0.98.49 (loopback0.edge1.act.grangenet.net)

edge1.act#

Page 9: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Reverse Path Forwarding (RPF)

• Used to discard/ignore multicast packets that might be looping (ie: multicast packet claiming to come from a source must flow in the interface that the unicast routing table says you should take to get _to_ the source).

• Also used to discard MSDP SA packets

Page 10: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

RPF

edge1.act#sh ip rpf 192.94.63.10 RPF information for clix.aarnet.edu.au (192.94.63.10) RPF interface: Vlan23 RPF neighbor: vlan23.gig0-

0.aarnet1.yarralumla.aarnet.edu.au (202.0.98.82) RPF route/mask: 192.94.63.0/24 RPF type: mbgp RPF recursion count: 0 Doing longest-match lookups across tables Multicast Multipath enabled

Page 11: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Multicast ROUTE (mroute)

• When some multicast is flowing, there will be an “mroute” entry that tells the router which interface the SA is coming in on, and which interface(s) it is going out of.

Page 12: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

mroute

edge1.act#sh ip mroute active Active IP Multicast Sources - sending >= 4 kbps

Group: 233.29.147.222, (?) Source: 192.94.63.35 (arrowroot.aarnet.edu.au) Rate: 9 pps/7 kbps(1sec), 6 kbps(last 30 secs), 1

kbps(life avg) Source: 192.231.212.2

(lattice.broadway.aarnet.net.au) Rate: 9 pps/6 kbps(1sec), 6 kbps(last 30 secs), 1

kbps(life avg)

Page 13: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Multicast Source Discovery Protocol (MSDP)

• Is a unicast (TCP) protocol to pass SA information from one RP to another RP

• You should configure “MSDP sa-cache” to save SA entries (saves time compared to the alternative of querying peers)

Page 14: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

MSDP

edge1.act#sh ip msdp summary MSDP Peer Status SummaryPeer Address AS State Uptime/ Reset SA Peer Name Downtime Count Count202.0.98.1 18062 Up 3d01h 2 15

loopback0.edge1.qld.grangenet.net202.0.98.68 18062 Up 1w0d 4 0

loopback0.edge1.vic.grangenet.net202.0.98.102 64607 Up 2w6d 5846 0

g102.anu.edu.au202.0.98.118 65522 Down 4w6d 0 0

port2.extreme.apac.edu.au

Page 15: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Multiprotocol Border Gateway Protocol (MBGP)

• Used to feed reverse path routing information (can be used to enforce policy to route multicast separately from unicast routes)

• Also used for IPv6 unicast, IPv6 multicast (MBGP is an expansion on standard BGP to handle lots of things)

Page 16: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

MBGP

edge1.act#sh ip mbgp summary BGP …Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down

State/PfxRcd202.0.98.1 4 18062 50194 49994 465329 0 0 3d01h 21202.0.98.12 4 18062 50110 50213 465329 0 0 3w2d 11202.0.98.13 4 18062 336849 50255 465329 0 0 3w2d 4348

Page 17: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Internet Group Membership Protocol (IGMP)

• Protocol that a host uses to chat with a router to subscribe (and possibly unsubscribe) from a multicast source

• Several versions exist (usually want the latest, version 3, if you have any option)

• Switches can “snoop” IGMP so they can olptimise which ports do _not_ get some multicast source

Page 18: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

PIM sparse / dense

• PIM-sparse, PIM-dense, PIM-sparse-dense

• Sparse mode uses the RP and is network efficient

• Dense mode does not use the RP, flood-and-prune mechanism to inform every router, required for some protocols (eg: Novell).

Page 19: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Intro. to Multicast

• Protocol Independent Multicast (PIM)

• Peering between PIM clouds– MBGP– MSDP

Page 20: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Protocol Independent Multicast

• Operates with some arbitrary administrative domain (eg: your campus).

• Provides RPF (Reverse Path Forwarding) verification by using the unicast routing table (which can be populated by any protocol: OSPF, ISIS, static, etc) – hence the name.

Page 21: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Intro. to PIM

• Sources tell the nearest router about themselves, and the nearest router passes that information to the RP.

• Consumers ask the nearest router to “join” them to multicast source(s), and the router passes this request to the RP.

Page 22: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Intro. to PIM

• Need to specify an RP (Rendezvous Point) which doesn’t have to be inside your PIM cloud, but it is nice to have it inside (self-contained, more robust).

• Client subscribes to multicast via RP, but this quickly changes to a “native” subscription.

Page 23: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Intro. to PIM

• After the RP has set up the multicast join, the router nearest the consumer has enough information to “join” independently of the RP, so it does this, and the RP stops forwarding the multicast.

• The RP passes the multicast stream in an encapsulated unicast packet …

Page 24: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Intro. to PIM Peering

• Became politically impractical to run one PIM cloud for the entire Internet

• MSDP– My RP and your RP swap SA information

• MBGP– I can enforce policy on multicast routing– Remote site might need your MBGP info.

Page 25: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Good Design

• No tunnels – native multicast everywhere (easier debugging)

• Advertise your prefix(es) via MBGP(or have the RNO do so on your behalf)

• Keep unicast and multicast on the same link (debugging and problems are simpler) – avoid special policy for multicast where possible

Page 26: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Good Design

• Single RP to start with (easier debugging)– Use a dedicated loopback interface with

a /32 address– Later upgrade to “anycast RP” for

robustness

Page 27: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Good Design

• Monitor packets blocked by firewalls and access lists

• PIM-sparse mode unless you need dense (ie: Novell), then PIM-sparse-dense

Page 28: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Caveats

• IGMP snooping– If you have enough switch CPU, use it

• Ghost– Uses multicast … block it at your border …– You may not have multicast officially

enabled, but might need IGMP snooping to help when running ghost

• Access lists & firewalls

Page 29: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Caveats

• Reverse path forwarding (reverse path verification) – and a lack of error messages

• Wireless

• 10Mbps half duplex …

• hubs

Page 30: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

The Doco. you should use

The following is an Internet2 debugging guide:

• http://www.aarnet.edu.au/engineering/trouble/multicast/troubleshoot-multicast.pdf

Page 31: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

Brief Walkthrough

• Router-by-router process between source and destination.

• Need to have a source trying to transmit and a consumer trying to receive (even if this isn’t working !)– A good way to achieve this is with the multicast

beacon service• If you are an access-grid site, subscribe to the access-

grid beacon• Otherwise (maybe as well) subscribe to the AARNet

beacon server

Page 32: Debugging Multicast John Barlow. Status Multicast enabled on all GrangeNet routers. Multicast enabled in all AARNet RNOs except for NT RNO. Multicast.

References

• General multicast notes:http://www.aarnet.edu.au/network/design/multicast/

• IPTV software download:http://videolab.uoregon.edu/download.html

• Troubleshooting guides:http://www.aarnet.edu.au/engineering/trouble/multicast/in particular, check the NANOG 2003 tutorial link !

• http://beaconserver.accessgrid.org:9999/