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
  • 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.
    • Backwards compatible.
  • Version 3
    • Supports Source Specific Multicast
      • v1 and v2
        • (*,G)
      • v3
        • (S,G)
      • Receiver already knows the source sending multicast traffic.

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?

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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s