MSDP Mesh Group Loop Avoidance via SA State Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multicast Source Discovery Protocol (MSDP) experiences Source Active (SA) message loops in overlapping mesh groups, leading to CPU spikes and memory consumption due to redundant message processing.

Innovation Solution

Implementing a modified mesh group semantic where MSDP speakers track SA state information to determine whether to forward SA messages based on active SA state and peer-RPF checks, preventing loops by only forwarding messages to non-group peers when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If MSDP speakers forward SA messages to all peers in overlapping mesh groups, then complete source information propagation is achieved, but SA message loops occur causing CPU spikes and memory consumption

Engineering Contradiction:
Improvesource information propagation completenessVSAvoidnetwork operation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by checking whether an MSDP speaker already has active SA state for a multicast source before forwarding SA messages. This pre-check prevents redundant message forwarding that would create loops in overlapping mesh groups, thereby maintaining source information propagation while avoiding CPU spikes and memory consumption from redundant processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by using the active SA state as a condition for message forwarding. The MSDP speaker monitors its own SA state and uses this feedback to determine whether to forward incoming SA messages. This feedback mechanism prevents infinite loops by ensuring that messages are only forwarded when the speaker does not already have active state for that source

Inventive Principle:
Principle #23Feedback

2Productivity

If MSDP speakers organize into mesh groups to reduce SA flooding, then message propagation efficiency is improved, but overlapping mesh groups create loops when speakers are members of multiple groups

Engineering Contradiction:
Improvemessage propagation efficiencyVSAvoidloop-free operation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by checking mesh group membership and active SA state before forwarding messages. When an MSDP speaker receives an SA message, it first checks whether it has active SA state for that source. This preliminary check prevents the message from being forwarded to other mesh group members, thereby breaking potential loops while maintaining efficient propagation within non-overlapping groups

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by making the forwarding behavior dependent on the local SA state of each MSDP speaker. Each speaker independently determines whether to forward based on its own active SA state for the specific multicast source. This localized decision-making allows mesh groups to maintain efficient local propagation while avoiding global loops through the state-based filtering

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11582054B2Multicast source discovery protocol (MSDP) loop avoidance
Publication Date: 2023.02.14 JUNIPER NETWORKS INC
  • US11582054B2 patent drawing
  • US11582054B2 patent drawing
  • US11582054B2 patent drawing

AI summary

The disclosure describes techniques for enhancements to the Multicast Source Discovery Protocol (MSDP) to reduce Source Active (SA) message loops in one or more multicast domains having overlapping MSDP mesh groups. In some examples, a method includes receiving, by a first MSDP speaker, from a second MSDP speaker, a SA message. The method also includes, when the second MSDP speaker is in a mesh group with the first MSDP speaker, determining whether the first MSDP speaker includes an active SA state corresponding to the SA message. Additionally, the method includes, when the first MSDP speaker does not include the active SA state corresponding to the SA message, accepting the SA message and forwarding the SA message to a third MSDP speaker that is not in the mesh group with the first MSDP speaker and the second MSDP speaker.