How it works:
- Source app sends UDP multicast traffic to group destination address.
- Interested receivers join group address by signaling to routers on local area network.
- Routers communicate to build loop free path (tree) from sender to receivers.
- Portion of network without receivers will not receive that traffic for the group.
- Saving resources – Advantage of multicast.
Use cases:
- IPTV
- Videoconferencing
- VoIP On hold music.
- Large scale data center replication.
- Real time applications like stock tickers.
Group Addressing:
– Layer 3 and Layer 2 addressing
Control Plane:
– IGMP
– PIM
– MSDP
– MBGP
Data Plane
– Reverse Path Forwarding (RPF)
– Multicast Routing Table (MRIB/MFIB)
Multicast Group:
- Address agreed upon by sender and receiver.
- Source sends to destination address (group address)
- Receivers are listening for traffic heading to that group.
- Traffic always sent to a group, not group to sender.
- Groups use layer 2 and layer 3 addressing.
IPv4 Addressing:
- 224.0.0.0/4
- Link Local
- 224.0.0.0/24
- Source Specific Multicast
- 232.0.0.0/8
- Administratively Scoped
- 239.0.0.0/8
Layer 2 Addressing:
- IPv4 address maps to MAC address which is forwarded for LAN.
- Allows L2 switches forwarding in intelligent way.
Control Plane:
- Who is sending traffic and to where?
- Who is receiving traffic and for what groups?
- How traffic should be forwarded
- Tree
- Built with combo of IGMP and PIM/MSDP
IGMP:
- Used for host to signal to routers over L2/LAN.
- Tells router that host is part of specific group.
- Version 1
- Message Type:
- Host membership query
- Host membership report
- Report used to join group
- Query used by router to see if members of the group still exist.
- Replaced by version 2
- Message Type:
- Version 2
- Adds
- Querier election
- If multiple routers on LAN segment that are running Multicast
- Timers
- Adds timers that speed up timeouts.
- Group specific queries
- Query sent to group address instead of all multicast hosts on segment.
- Explicit Leave
- Speeds up convergence when no hosts are part of group any longer.
- Querier election
- Backwards compatible.
- Adds
- Version 3
- Supports Source Specific Multicast
- v1 and v2
- (*,G)
- v3
- (S,G)
- Receiver already knows the source sending multicast traffic.
- v1 and v2
- Supports Source Specific Multicast
Multicast Routing:
- PIM
- Router to router communication.
- Builds loop free tree.
- Versions 1 and 2
- Sparse mode and Dense mode
- Dense Mode
- Implicit join
- All traffic unless you say you don’t want it.
- Uses Flood and Prune behavior.
- Sparse Mode
- Considered explicit join.
- No traffic unless ask for it.
- Uses Rendezvous Point to process join requests.
Multicast Data Plane:
- Traffic begins to flow once tree is built.
- Data Plane check prior to traffic flow
- Reverse Path Forwarding (RPF)
- Was traffic received on correct interface?
- Multicast Routing Table (MRIB/MFIB)
- What interface shuld I forward the packets out?
- Reverse Path Forwarding (RPF)
RPF Check:
- PIM does not exchange topology info with routers.
- Multicast traffic comes in, router looks at source IP address and incoming interface.
- Normal Unicast CEF is checked for reverse path back to source.
- Logic:
- If incoming multicast interface == outgoing unicast interface, check has passed.
- If incoming multicast interface DOES NOT == outgoing unicast interface, then packet is dropped because RPF failed.
- Basically PIM uses the normal unicast topology/FIB/routing information to figure out there’s a loop free path/multicast tree.
- Opposite of each other.