MULTICAST:
MAC Address: MCAST MAC address first 25 bits are 01-00-5E and last 23 bits are the last 23 bits of multicast IP address. IGMP: Protocol to communicate between HOST and ROUTER. IGMP Protocol number is 2. TTL of IGMP IP packet is always set to 1. Three version of IGMP: IGMPv1 (do not have leave message); IGMPv2 and IGMPv3 (used for SSM). IGMPv2: Three types of message in IGMPv3: 1. Membership report (Join) 2. v1 membership join report 3. Leave Group message. Membership report (Join) messages sent when host wants to join multicast group or in response to membership query from locally connected router. Host sends join messages at every 10 sec (RFC2236). Local router send query message at every 10 seconds. Local router always sends a query message upon receiving the leave group message from the host to check for any other multicast receiver for the same multicast group. IGMPv2 on Routers: IGMPv1 doesn't have capability of becoming or electing querier router. Router does two types of query:
By default query interval is 60 seconds and can be configured using “ip igmp query-interval <0 to 65535>”. Up on receiving query, host has to reply within Max Response time of 10 seconds with Membership report (join) mesg; to configure query max response time “ip igmp query-max-response-time <0 to 255>”.
If we have multiple multicast enable routers on LAN network then router with lowest IP address becomes a querier. Upon receiving General Query from other router; local router will check for the source address in General Query packet and based on lowest IP address router will figure out whether it self is a querier or the other router is querier. If nonquerier router does not hear queries from the querier with in certain amount of time called Other Querier Present interval; it will assume the querier is no longer available and it will take over the role of querier router. By default time for that is 120seconds. We can change it using “ip igmp query-timeout.” IGMPv2 vs IGMPv1: V1 do not have leave message as well as Group-Specific Query. If host running IGMPv2 receive V1 query from router running IGMPv2, HOST will send V1 Membership Join message to IGMPv1 router. To configure IGMP version use “ip igmp version {1|2}” PIM Assert mechanism and Forwarder: This process take place on LAN only. When router receive the duplicate copy of mulicast packet on LAN interface from where actual source is not reachable or not in out going interface list then Routers on that LAN will elect the Forwarder in order to avoid the transmission of duplicate packet. Router with the lowest or best metric to the multicast source will become forwarder. If in case, metric is same then router with the highest IP address will win the election. This election mechanism is called assert mechanism. PIM Graft messages: This messages it to over ride the prune message sent to router in-order to continuously receive multicast traffic. PIM messages are multicast messages and travel hope by hope with destination address of ALLPIMRouters 239.0.0.13. Only PIM Register and Register Stop messages in PIM-SM is unicast messages. MSDP: RP should be MSDP router. As
soon as RP receive the source registration message it will construct
the SA message; RP will forward that message to its MSDP peer. MSDP uses TCP port 639. SA message consist of: 1. Source address 2. Group address 3. IP address of RP Peer RPF: MSDP SA message can be received from multiple MSDP peer but Peer who has entry in Multicast RPF Routing Information base from that peer only SA message will be accepted. MSDP compare the RP address carried in SA message against the MSDP peer from which the message was received. MSDP cache SA messages to allow pacing of MSDP messages as well as reducing join latency for new receivers. MSDP Timers: 1. SA-advertisement: every 60 second router will send SA messages for active groups. 2. SA cache Entry timer 3. Peer Hold Timer 4. Keepalive timer 5. ConnectRetry timer: every 30 second MSDP will try to initialize MSDP connection.
1. ASM: PIM-SM and PIM Bidir are ASM protocol, need RP kind of stuff, Support Shared and source trees RP: It introduces the multicast source to receiver, critical point for failure consideration because its single point of failure. ASM can support shared to source tree switch over, here there are chances to drop the packets. It has dense mode fallback problem
2. SSM: Well suited for one -to -many applications like IPTV. Here receiver can ask multicast data from specific source Receivers need IGMPv3 to work with SSM. Receiver use (S,G) instead of (*,G) for join. Static Source Mapping: Router maps IGMPv2 join in SSM range to well known source via DNS or static configuration (IGMPv2 for SSM, bind Join to unicast source and then create (S,G) entry. 3. PIM BiDir: Use for highly mesh network, reduce the (*,G) and (S,G) entry on routers. DF: take care of loop in Mcast network, compromise the RPF rule. It does allow receiving the mcast traffic from the interface from where the source is not reachable (Ideally trying to control the RPF rule, RPF is used to prevent the loops in mcast network, but here DF will take care of loop)
Which one is good? 1. SSM: One -to- many application, Eliminated RP engineering, Simplify Network, Data and control planes are decoupled. 2. Bidir: Many to many, reduce total number of (S,G) entry, Application example: stock market, MVPN Data MDT. 3. ASM: For all general purpose application (Mostly deployed).
Configuration Steps: 1. Mutlicast on every Router 2. Enable Multicast on every interface 3. Configure RP 1. Auto-RP 2. BSR 3. Anycast RP (Need MSDP) 4. Static RP RP: 1. Static RP: Need to configure on all routers. All routers must have same RP address. Default range:224.0.0.0/24. If you have preference to use static RP then used OVERRIDES to avoid AUTO-RP take over. 2. Auto-RP: Need PIM-DENSE-SPARSE mode enabled in network as AUTO-RP will flood RP-ANNOUNCEMENT as well as DISCOVERY messages. a. Use MAPPING AGENT send the RP discovery message on 224.0.1.40 at every 60 seconds b. Candidate RP will send the RP announcement (RP announce the RP address as well as the multicast group it does support) to the MAPPING agent 224.0.1.39 c. RP ANNOUNCEMENT and DISCOVER will need to have to have DESNMODE in network to flood. d. If mapping agent has more than two RP for the same group then Mapping Agent will elect the RP with Highest IP. e. If you have only PIM-SM in network then you have to configure IP PIM AUTO-LISTENER in the network.
3. BSR: It is also called as PIMv2; BSR messages are flooded HOP BY HOP using multicast address (224.0.0.13), so no need to have SPARSE and DENSE Mode running in network. a. If you have multiple BSR in network the host router might receive the multiple BSR message so receiving routers will elect the BSR router with the higher priority. b. RP router will send its registration message to BSR in unicast mode. c. If multiple RP is there then BSR will flood information of all RP to the network and each router in network will elect the appropriate RP. AS BSR use the same algorithm on all router so they will come up with same RP election. (It is unlike Auto-RP, where Mapping agent selects the RP as per the highest IP and then sends that announcement to the other routers)
4. Anycast RP: Depends on MSDP, Multiple IP share the same IP address, receiver router will select the closest RP. You can have high level of viability. Dense Mode Fallback: Sometime if RP lost, network will fall back to work on Dense mode if you have SPARSE-DENSE mode in network. Fall back occur when 1. C-RP fails or 2. Auto-RP/BSR fails How to avoid it: 1. Use multiple RP or BSR or use ANYCAST RP in network. 2. Configure network with PIM-SP and use IP PIM AUTORP LISTENER, if you are using AUTO-RP in network. 3. RP-of-last-resort: Assign local loopback as RP-of-last-resort on each router. (In short configure each and every router as RP)
ip pim rp-address <loopback> 10 access-list 10 deny 224.0.1.39 access-list 10 deny 224.0.1.40 access-list 10 permit any 4. "no ip pim dm-fallback" command on all routers
RP Recommendations:
Anycast RP: Provide fast failover, Need MSDP, need more configurations. Auto RP: Simple way to enable only used in Cisco environment, increase RP failover times, take care to avoid DM fallback, BSR: used in multivendor environment, Increased RP failover times, doesn’t support administrative scoping, take care to avoid DM fall back. Best design: used Auto-RP with Anycast-RP.
Multicast QOS: Use same rule as VOIP as Multicast is also UDP, best option to use LLQ, WRED will not help as multicast is UDP traffic you only can use tail-dropping there.
Disabling Multicast Group: ip multicast-routing [group-range <acl>] on global mode, Router drops all control packets for denied group (Coming up in newer IOS). Controlling Sources: 1. In pim sparse-mode use "ip pim accept-register [list<acl>] | [route-map<map>], here you are telling RP to accept register message only from particular source permitted by ACL. 2. In SSM use ip pim ssm range 10, access-list 10 permit <list-of-groups>
RP failover: Bidir is having most HA as it use the phantom RP(virtual RP) Auto-RP you can tune for the faster advertisement of RP.
DR: DR in PIM Sparse mode does two jobs: 1. Forwards PIM joint to RP (not IGMP join) received from other router 2. Register the source to RP, when it received the first multicast packet from the source (Router on LAN send hello to detect the DR failure, you can tune it to milliseconds.)
MVPN: Its GRE between PEs with the destination address is the data or default mdt address configured under VRF. On P router if you will debug you will see the MVPN traffic is not MPLS label switched but its GRE traffic. To run MVPN you need to have to have MP-BGP between PEs. |