Multicast: Difference between revisions

 
(5 intermediate revisions by the same user not shown)
Line 8:
 
 
* Multicast control plane work differently than unicast routing ,it needs to know who is sender of mutlicastmulticast and to which group ,also the recieverreceiver of multicast.
 
* Multicast Data plane - do RPF check ( was traffic received on correct interface and bulidbuild multicast routing table ).
 
* Multicast is source based routing .
 
= IGMP =
IGMP -Host on LAN singanl the router to join the mutlicast group .
 
IGMP* -Host on LAN singanlsignal the router to join the mutlicastmulticast group .
Two kind of request - (*,G)-Any source who is genrating the mutlicast stream for that group -Supported by IGMP V1 and V2
(S,G)-want to join particular source sending the mutlicast group .-IGMP version 3 support both (s,g and (*,G)
 
* Two kind of request
IGMP get enabled when the IP PIM [ Dense mode,sparse mode,SParse-DENSE-mode) is enabled .
Two kind of request - (*,G) - Any source who is genratinggenerating the mutlicastmulticast stream for that group - Supported by IGMP V1 and V2
(S,G) - want to join particular source sending the mutlicastmulticast group .- IGMP version 3 support both (sS,g G and (*,G)
 
* IGMP get enabled when the IP PIM [ Dense mode,sparse Sparse mode,SParse Sparse-DENSE-mode)] is enabled .
BY default IGMP version 2 is enabled .
 
BY* By default IGMP version 2 is enabled .
IP IGMP join group address can be used for testing on routers to see weather muticast traffic is recieved on router for particular group.
 
ip* igmpIP staticIGMP join group commandaddress can be used tofor mannuallytesting puton therouters requestto forsee particularweather mutlicastmulticast grouptraffic insteaedis of relingreceived on IGMP queriy messsagerouter for particular group.
 
* Command used to manually put the request for particular multicast group instead of relying on IGMP query message for particular group:
PIM- used to siganl routers to bulid muticast tree ,tree could be sender to receiver or sender to rendevpoint--- receiver.
ip igmp static group
 
= PIM =
PIM version 1 or 2 ,By default its PIM version 2 , RP information is already encoded in PIM packet in version 2. PIM version 2 has field for BSR.
 
PIM-* usedUsed to siganlsignal routers to bulidbuild muticastmulticast tree ,tree could be sender to receiver or sender to rendevpoint --- receiver.
DENSE mode - Implicit join ,mutilcast traffic is send across entire network unless if some one report for not joing the particular stream.Flood and prune behiviour.
Nighbor discovery on multiicast address 224.0.0.13 same for sparse mode as well .
 
* PIM version 1 or 2 ,By default its PIM version 2 , RP information is already encoded in PIM packet in version 2. PIM version 2 has field for BSR.
Note if we have (*,G) entery then we know about reciver and if we have (S,G) entry then we know about sender as well .
 
== DENSE mode ==
Two ways to genrate mutlicast traffic either through pinging mutlicast address or through IP SLA.
DENSE mode -* Implicit join ,mutilcast multicast traffic is send across entire network unless if some one report for not joingjoining the particular stream. Flood and prune behiviourbehavior.
IN PIM dense -through RPF nei information is used to send unicast packet back to source ,message could pim prune or graft message .when the multicast source flood the traffic for particular multicast groups each multicast enable router will install (S,G entry) and (*,G) entries even if they are not intersted .
Nighbor* Neighbor discovery on multiicastmulticast address 224.0.0.13 same for sparse mode as well .
 
So* inNote denseif everywe router needle to installhave (*,G ) and (S,G) entry asthen we canotknow haveabout (S,G)receiver untilland if we have (*S,G) entries.soentry ifthen thewe sourceknow isabout activesender every router need to maintain the state table foras mutlicastingwell .
 
* Two ways to genrategenerate mutlicastmulticast traffic either through pinging mutlicastmulticast address or through IP SLA.
Graft message for (S,G) entry is to unprune the mutlicast traffic as earlier it was set to prune .
* IN PIM dense - through RPF nei information is used to send unicast packet back to source, message could pim prune or graft message.
IN PIM dense -through RPF nei information is used to send unicast packet back to source ,message could pim prune or graft message* .whenWhen the multicast source flood the traffic for particular multicast groups each multicast enable router will install (S,G entry) and (*,G) entries even if they are not intersted interested.
 
* So in dense every router needle to install (*,G ) and (S,G) entry as we cannot have (S,G) until we have (*,G) entries.so if the source is active every router need to maintain the state table for multicasting.
State refresh to keep the link prune as its original state .
 
* Graft message for (S,G) entry is to unprune the mutlicastmulticast traffic as earlier it was set to prune .
SParse mode -uses explict join unless it is asked by someone to join mutlicast traffic uses RP as reference point.In case we are using source specific mutlicast we don't need RP.for Group specfic joins we need RP.Traffic is not send anywhere unless it is requested .Sparse mode uses both source based trees and shortest path trees
RP needs to know the recievers and senders . DR on lan segment send (S,G) register mess age to and RP in turns reply regiester stop process and recievers on lan sengment send IGMP join and which will be converted to pim join(*,G) message to RP to form RPT tree.So pim join will traverse from receiver till RP every device will have (*,G) entry and from source till RP every device will have (S,G) entry.once RP knows about sender and reciver it will send (S,G) join request back to source and source would start sending the mutlicast traffic to RP then to receiver.then its up to the last hop reouter on reciever side for the optimation process weather it want to join directly to source using SPT bypassing RP.
 
* State refresh to keep the link prune as its original state .
Note -When we do debug only process switchd traffic is debug if we want to debug the data plane traffic then we need to disable cef (no ip route cache),if we change the unicast routing it will also change the mutlicasting routing,To change the unicast routing we can also use Ip mroute command .
 
== Sparse mode ==
 
* Uses explicit join unless it is asked by someone to join multicast traffic uses RP as reference point.
Source based tree- tree is bulid based on shortest path from reciver till sender.
* In case we are using source specific multicast we don't need RP.for Group specific joins we need RP.
shared tree -tree from sender to RP and then RP till receiver.
* Traffic is not send anywhere unless it is requested.
* Sparse mode uses both source based trees and shortest path trees
* RP needs to know the receivers and senders.
* DR on lan segment send (S,G) register mess age to and RP in turns reply register stop process and receivers on LAN segment send IGMP join and which will be converted to pim join(*,G) message to RP to form RPT tree.
* So pim join will traverse from receiver till RP every device will have (*,G) entry and from source till RP every device will have (S,G) entry.
* Once RP knows about sender and receiver it will send (S,G) join request back to source and source would start sending the multicast traffic to RP then to receiver.
* Then its up to the last hop router on receiver side for the optimation process weather it want to join directly to source using SPT bypassing RP.
 
* Note - When we do debug only process switchdswitched traffic is debug if we want to debug the data plane traffic then we need to disable cef (no ip route cache),if we change the unicast routing it will also change the mutlicastingmulticasting routing, To change the unicast routing we can also use Ip mroute command .
To check RP configured on each transient router -sh ip pim rp mapping
RP can be assigned staticaly (ip pim rp address ) or dynamically ( auto RP and BSR)
 
* Source based tree - tree is bulidbuild based on shortest path from reciverreceiver till sender.
Auto RP -uses two data plane mutlicast address (224.0.1.39) advertised by routers willing to become RP to mapping agents ,
shared* Shared tree - tree from sender to RP and then RP till receiver.
224.0.1.40- chooses the RP and advertised to rest of routers for RP information.
 
* To check RP configured on each transient router -sh ip pim rp mapping :
To stay on shared tree rather than SPT ( ip pm spt-threshold infinity)
sh ip pim rp mapping
* RP can be assigned staticalystatically (ip pim rp address ) or dynamically ( auto RP and BSR)
 
* Auto RP - uses two data plane mutlicastmulticast address (224.0.1.39) advertised by routers willing to become RP to mapping agents ,.
* 224.0.1.40 - chooses the RP and advertised to rest of routers for RP information.
 
* To stay on shared tree rather than SPT ( ip pm spt-threshold infinity)
Sparse-dense-mode -ANY group for which we have RP assigned used sparse mode for other uses dense mode.
ip pm spt-threshold infinity
 
== Sparse-dense-mode ==
RPF check is used for loop free path in mutlicast data plane ,AS per RPF check if the mutlicast packet is received on incoming interface router will check the unicast routing for source and that matches the incoming interface RPF check Passes else fail .
 
Sparse-dense-mode* -ANY group for which we have RP assigned used sparse mode for other uses dense mode.
Once the mutlicast routing table is populated router always prefer (S,G) over (*,G) and in muticast routing table we have incoming interfaces and OIL for outgoing intefrcae list if the RPF check passes mutilcast traffic is send across all interfaces in OIL.
* RPF check is used for loop free path in mutlicastmulticast data plane , AS per RPF check if the mutlicastmulticast packet is received on incoming interface router will check the unicast routing for source and that matches the incoming interface RPF check Passes else fail .
 
* Once the mutlicastmulticast routing table is populated router always prefer (S,G) over (*,G) and in muticastmulticast routing table we have incoming interfaces and OIL for outgoing intefrcaeinterface list if the RPF check passes mutilcastmulticast traffic is send across all interfaces in OIL.
 
* On multicast router -shbelow ip igmp group --command shows which multicast group is active on ethernet and which receiver has joined the group :
sh ip igmp group
 
* To determine which router is IGMP querierqueried router - sh ip igmp interface EO:
sh ip igmp interface EO
 
* We can manaulymanually tune the query interval and query max response time - :
On multicast router -sh ip igmp group -- shows which multicast group is active on ethernet and which receiver has joined the group
query interval - ip igmp query interval 120 (default 60 sec) -> query interval
respose time - ip igmp query-max-response-time 20 (default 10 sec) -> response time
 
* IOS command to supportspecify which version of IGMP is -to Ip igmp versionbe 1/2enabled:
To determine which router is IGMP querier router - sh ip igmp interface EO
ip igmp version 1/2
 
We can manauly tune the query interval and query max response time -
query interval - ip igmp query interval 120 (default 60 sec)
respose time - ip igmp query-max-response-time 20 (default 10 sec)
 
IOS command to support which version of IGMP is - Ip igmp version 1/2
 
* Test commands for IGMP
Line 86 ⟶ 104:
ip igmp static group
 
for* For sparse mode we need to assgnassign RP - ip pim rp address x.x.x.x:
ip pim rp address x.x.x.x
 
inorder* In order to check if there are any rp mapping - sh ip pim rp mappings:
sh ip pim rp mappings
 
Inoder* In order to check for mutlicatingmulticasting packet conuters- sh ip mroute counters:
sh ip mroute counters
 
* In sparse mode there is SPT switch over shorted path tree
 
for* For the SPT threshold we can set the threshold on DR muticastmulticast router that is receiving the IGMP join request in gloablglobal config mode ip pim spt threshold (vlaue)- Value is volume of multicast feed :
ip pim spt threshold <value> --> Value is volume of multicast feed
 
if*If the Rpf check is failing we can still have interface to forward multicasemulticast by static mrouter ( ip mroute server mask next hop address ):
ip mroute server mask next hop address