Difference between revisions of "Cisco Multicast"
Helikopter (talk | contribs) |
Helikopter (talk | contribs) m |
||
Line 7: | Line 7: | ||
==Multicast Addressing== | ==Multicast Addressing== | ||
− | Multicast har egna address spaces, för IPv4 används 224.0.0.0/4 (class D) och för IPv6 FF00::/8. GLOP (RFC 2770) innebär att varje 16-bitars AS har en egen unik multicast-range på internet, 233.<ASN>.0/24. Administratively scoped (RFC 2365) är motsvarigheten till unicasts RFC 1918. | + | Multicast har egna address spaces, för IPv4 används 224.0.0.0/4 (class D) och för IPv6 FF00::/8. I dessa finns det olika ranges, GLOP (RFC 2770) innebär att varje 16-bitars AS har en egen unik multicast-range på internet, 233.<ASN>.0/24. Administratively scoped (RFC 2365) är motsvarigheten till unicasts RFC 1918. |
* Local-link (TTL 1): 224.0.0.0/24 | * Local-link (TTL 1): 224.0.0.0/24 | ||
Line 18: | Line 18: | ||
===Distribution Trees=== | ===Distribution Trees=== | ||
− | Multicastroutrar skapar distributions-träd för att styra vilken väg multicasttrafiken tar genom nätverket. Det finns två typer av trädtopologier, source trees och shared trees. Source trees kallas också shortest-path tree och det skapas ett spanning tree från root/source till alla leaves. Ett source tree | + | Multicastroutrar skapar distributions-träd för att styra vilken väg multicasttrafiken tar genom nätverket. Det finns två typer av trädtopologier, source trees och shared trees. Source trees kallas också shortest-path tree och det skapas ett spanning tree från root/source till alla leaves. Ett source tree består av source och destination och betecknas S,G, t.ex. (172.20.0.40, 225.0.10.10). Till skillnad från source trees har shared trees en gemensam rot oavsett source, denna punkt kallas rendezvous point. Ett shared tree betecknas *,G vilket betyder any source. Trafik tunnlas från routern närmast källan till RP för att sedan distribueras ut i det delade trädet. |
===Source Specific Multicast=== | ===Source Specific Multicast=== | ||
Line 27: | Line 27: | ||
ip mroute 10.0.0.0 255.255.255.0 gi2 | ip mroute 10.0.0.0 255.255.255.0 gi2 | ||
+ | ipv6 route 1000::/64 gi2 multicast | ||
Verify | Verify | ||
show ip rpf <mcast-source> | show ip rpf <mcast-source> | ||
+ | show ipv6 rpf <mcast-source> | ||
==Troubleshooting== | ==Troubleshooting== |
Revision as of 12:08, 6 November 2016
IP Multicast är att skicka ett meddelande från en source till multipla destinationer i en ström över ett IP-nät, vilket kan spara väldigt mycket bandbredd. En multicast-IP är en destinationsadress och alla som ska ta del av trafiken måste gå med i samma multicastgrupp, dvs lyssna på den IPn och meddela det till intermediate systems. End systems och routrar pratar IGMP med varandra för att ta reda på vem som är med i vilken multicastgrupp. För att routrar ska kunna veta vilka nät som har intressenter av multicastströmmar används något routing eller signaleringsprotokoll (control plane), DVMRP, MOSPF eller PIM. För loop prevention används RPF, inga paket forwarderas utan att klara denna check. IP Multicast fungerar för protokoll som är connectionless.
För konfiguration se Cisco PIM och Cisco IGMP
Contents
Multicast Addressing
Multicast har egna address spaces, för IPv4 används 224.0.0.0/4 (class D) och för IPv6 FF00::/8. I dessa finns det olika ranges, GLOP (RFC 2770) innebär att varje 16-bitars AS har en egen unik multicast-range på internet, 233.<ASN>.0/24. Administratively scoped (RFC 2365) är motsvarigheten till unicasts RFC 1918.
- Local-link (TTL 1): 224.0.0.0/24
- Globally scoped: 224.0.1.0 - 238.255.255.255
- GLOP addresses: 233.0.0.0/8
- Administratively scoped: 239.0.0.0/8
Complete IANA list: IPv4, IPv6
Utifrån IP-adress räknas multicast mac-adress fram så att enheterna vet vad de ska skicka till och ta emot frames för utöver BIA och broadcast. En multicast-adress för IPv4 mappas till MAC address 01:00:5E:<low-order 23 bits> och IPv6 mappas till MAC 33:33:<low-order 32 bits>.
Distribution Trees
Multicastroutrar skapar distributions-träd för att styra vilken väg multicasttrafiken tar genom nätverket. Det finns två typer av trädtopologier, source trees och shared trees. Source trees kallas också shortest-path tree och det skapas ett spanning tree från root/source till alla leaves. Ett source tree består av source och destination och betecknas S,G, t.ex. (172.20.0.40, 225.0.10.10). Till skillnad från source trees har shared trees en gemensam rot oavsett source, denna punkt kallas rendezvous point. Ett shared tree betecknas *,G vilket betyder any source. Trafik tunnlas från routern närmast källan till RP för att sedan distribueras ut i det delade trädet.
Source Specific Multicast
Med SSM kan hostarna själva välja source för trafikströmmen ifall det finns flera. Det kan även skydda mot dos-attacker eftersom mottagare berättar för nätverket vilka källor de vill få trafik ifrån och inte vem som helst. Det ger också fördelar med att överlappande grupp-adresser kommer att fungera eftersom olika källor gör strömmarna unika. Det finns inga shared trees med SSM utan allt hanteras som source trees. SSM har 232.0.0.0/8 IANA-reserverat. Se SSM-konfiguration.
Multicast Routes
Static mroutes kan användas i situationer när man behöver konstruera multicast-strömmar att gå över en länk som inte kör IGP, t.ex. tunnlar, eller fixa RPF failures som man får när multicast routing inte körs på alla länkar. Genom att lägga till en static mroute så kommer RPF att titta på den i första hand eftersom den har en bättre administrative distance (AD = 0) än det som finns i unicast RIB:en. Finns det flera equal cost paths till sender kommer endast interface med aktiva PIM-grannskap att användas. Och efter det kommer den med högst PIM neighbor IP att vinna, detta gör att RPF är deterministiskt. I nyare versioner av IOS används alltid longest match av RPF vilket inte var fallet förr.
ip mroute 10.0.0.0 255.255.255.0 gi2 ipv6 route 1000::/64 gi2 multicast
Verify
show ip rpf <mcast-source> show ipv6 rpf <mcast-source>
Troubleshooting
mtrace
Show the multicast path from the source to the receiver.
mtrace 10.0.0.10 20.0.0.20 224.1.4.4
mstat
Show the multicast path, användbart för att upptäcka congestion.
mstat 10.0.0.10 20.0.0.20 224.1.4.4
mrinfo
Show multicast neighbor router information.
mrinfo
Packet Debugging
interface gi2 no ip mfib cef input no ip mfib cef output debug ip mfib pak 239.1.1.10
Multicast Helper
Syftet med denna funktion är att tillåta broadcasts över ett multicast capable network. Det fungerar precis som det mer vanliga ip helper-address men då konverteras broadcast till unicast. IP multicast helper-map konverterar broadcast till en utvald multicast-adress. Man måste ha ett fungerande multicast-nät för kunna nyttja detta.
Ingress router
interface gi2 ip forward-protocol udp <port-number> ip multicast helper-map broadcast <mcast-address>
Egress router
interface gi2 ip forward-protocol udp <port-number> ip multicast helper-map <mcast-group> <directed-broadcast-IP>
Default så skickas broadcasten ut till 255.255.255.255 oavsett vad man satt directed-broadcast-IP till.
BGP
Man kan skicka information om multicast-strömmar mellan domäner med hjälp av MP-BGP extensions. När man lär sig ett prefix med multicast BGP så kommer RPF att kollas mot den IP som står som next-hop i uppdateringen. Man måste köra PIM mellan domänerna för att shared och shortest-path trees ska kunna signaleras. Man måste även utbyta unicast routes för multicast-källorna för att alla multicast routrarna ska kunna använda RPF. Se även Cisco MP-BGP.
router bgp 100 address-family ipv4 multicast neighbor 10.0.0.20 activate
Verify
show bgp ipv4 multicast summary