Forwarding Loop Detection Using Routing Digests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for detecting forwarding loops in communication networks, such as those using the SIP protocol, face challenges in balancing loop detection efficiency with resource consumption, particularly due to the limitations of the 'max-forwards' header field which can either restrict service or consume excessive network resources.
Innovation Solution
A method that determines if a received message was previously received by a network element, calculates a current routing digest, and inserts it into the message header if not present, allowing for efficient detection of forwarding loops by postponing digest calculations until a loop is detected, thereby reducing unnecessary processing and resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the 'max-forwards' header field value is set to limit forwarding attempts, then forwarding loops can be detected, but valid service provisioning is overly restricted
Solution Approach 1:
The patent applies preliminary action by pre-calculating and inserting the routing digest into the message header before forwarding. This allows the network element to quickly compare the routing digest with previous values to detect loops without having to perform complex calculations during message forwarding, thus enabling reliable loop detection while maintaining service provisioning flexibility.
Solution Approach 2:
The routing digest acts as an intermediary mechanism that carries routing information through the message header. Instead of directly tracking message forwarding paths, the patent uses the routing digest as a mediator that encapsulates routing state, enabling indirect but efficient loop detection that doesn't restrict service provisioning.
2Adaptability or versatility
If the 'max-forwards' header field value is set high to allow more forwarding, then service provisioning is maintained, but significant network resources are consumed
Solution Approach 1:
The routing digest is calculated and inserted into the message header in advance, before the message traverses the network. This preliminary calculation eliminates the need for repeated digest calculations at each network element, significantly reducing CPU processing costs and network resource consumption while allowing messages to be forwarded multiple times for service provisioning.
Solution Approach 2:
Instead of performing complex routing calculations at each network element, the patent creates a simplified copy of the routing state (the routing digest) and inserts it into the message header. This copy can be quickly compared at each hop to detect loops without consuming significant network resources.
3Reliability
If forwarding loop error messages are forwarded along the traversed path, then loop detection is achieved, but additional network resources are consumed
Solution Approach 1:
The patent extracts the routing detection functionality from the message forwarding process itself. By inserting the routing digest into the message header and comparing it at each hop, the system can detect loops without needing to forward separate error messages along the traversed path, thereby eliminating the additional network resource consumption associated with error message forwarding.
Data Source
AI summary
The invention includes a method and apparatus for detecting a forwarding loop at a network element. The method includes determining whether a received message was previously received by the first network element, and, if the received message was previously received, calculating a current routing digest and determining whether a header of the received message includes a previous routing digest. If the header of the received message includes the previous routing digest, a determination is made as to whether a forwarding loop exists. If the header of the received message does not include the previous routing digest, the current routing digest is inserted into the header of the received message and the message is forwarded toward the second network element. If the received message was not previously received, forwarding the received message toward a second network element.


