Forwarding Engine Meta-Field Packet Inspection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing forwarding engines in routers are slowed down by the need to inspect multiple headers within data packets, particularly when packets have been tunneled, which hinders efficient processing and routing decisions.
Innovation Solution
A method and forwarding engine that adds a default meta-field to the first header of a data packet, allowing for a single-pass evaluation and subsequent loop-back for inner header inspection if necessary, using a decision tree to apply inspection rules and modify the meta-field based on findings to ensure complete packet evaluation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the forwarding engine inspects multiple headers within a data packet to make routing decisions, then the completeness of packet evaluation is improved, but the processing speed deteriorates
Solution Approach 1:
The patent segments the header inspection process into distinct stages: first inspecting the outer header, then conditionally inspecting the inner header based on tunneling detection. This segmentation allows the forwarding engine to process non-tunneled packets quickly while still providing complete inspection for tunneled packets, thus resolving the contradiction between processing speed and completeness of evaluation.
Solution Approach 2:
The patent applies preliminary action by first inspecting the outer header and detecting tunneling indicators before proceeding to inner header inspection. This preliminary inspection allows the system to quickly identify and handle non-tunneled packets without the overhead of multiple header inspections, while ensuring that tunneled packets receive complete evaluation through subsequent inner header inspection.
2Measurement precision
If the forwarding engine inspects multiple headers within a data packet to make routing decisions, then the accuracy of routing decisions is improved, but the processing time increases
Solution Approach 1:
The patent segments the routing decision process into conditional stages: first making routing decisions based on outer header inspection, then conditionally refining decisions through inner header inspection when tunneling is detected. This segmentation ensures accurate routing decisions for all packet types while minimizing processing time for the majority of non-tunneled packets.
Solution Approach 2:
The patent performs preliminary routing decision-making based on outer header information before determining whether inner header inspection is necessary. This preliminary action allows most packets to receive accurate routing decisions quickly, while only tunneled packets incur the additional time cost of inner header inspection for refined decision accuracy.
3Adaptability or versatility
If the forwarding engine is designed to handle tunneled packets with multiple headers, then the versatility of the system is improved, but the device complexity increases
Solution Approach 1:
The patent segments the packet handling logic into modular components: outer header parsing, tunneling detection, conditional inner header inspection, and routing decision-making. This modular segmentation provides the versatility to handle both tunneled and non-tunneled packets while keeping each component relatively simple and maintainable.
Solution Approach 2:
The patent implements dynamic packet handling where the forwarding engine adapts its inspection depth based on tunneling detection. The system dynamically switches between single-header inspection for non-tunneled packets and multi-header inspection for tunneled packets, providing versatility without requiring the engine to always operate at maximum complexity.
Data Source
AI summary
A method applied in a routing node, and a forwarding engine implemented in a routing node, are provided for handling data packets received at the routing node. A N-tuple comprising N elements is extracted from a first header of a data packet. A default meta-field is added to the N elements, providing a N+1-tuple. The N+1-tuple is used to make a first lookup of inspection rules. The default meta-field makes the inspection rules apply to the first header. The data packet is handled according to a result of the first lookup, wherein a possible outcome is a finding of a second header within the data packet. If a second header is found, a new meta-field value is set and a second lookup is made. The second lookup of the inspection rules is made according to N elements from the second header and the new value of the meta-field.


