Port Allocation for Encapsulated Packet Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core and multi-cluster network systems, incoming packets often end up being directed to the wrong packet processing engines or cores due to packet encapsulation or protocol layering, leading to significant processing overhead from unnecessary packet steering.
Innovation Solution
Implementing intelligent port allocation methods where a packet engine determines the correct source port number based on inner headers and modifies the inner headers of packets to ensure they are routed to the intended packet processing engine or core, using a database or hash table for mapping tuples to source port numbers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If packet distributor directs packets to packet processing engines based on outer header tuples, then packet distribution is simplified, but packets may be directed to the wrong engine due to encapsulation protocols
Solution Approach 1:
The patent applies nested doll by examining multiple header layers (outer header and inner header) of encapsulated packets. The packet distributor first processes the outer header tuple, then nests by processing the inner header tuple to determine the final packet processing engine, ensuring accurate routing through layered inspection
Solution Approach 2:
The patent introduces an intermediary mechanism (the inner header tuple processing) between the outer header routing decision and the final packet engine delivery. This intermediary layer acts as a mediator that corrects or refines the routing decision to ensure packets reach the intended engine
2Reliability
If packet steering is performed to correct misdirected packets, then routing accuracy improves, but processing overhead increases significantly
Solution Approach 1:
The patent applies preliminary action by determining the correct packet processing engine through inner header tuple examination before the packet is actually delivered. This advance determination prevents misrouting from occurring in the first place, eliminating the need for corrective packet steering operations and reducing processing overhead
3Productivity
If port allocation is optimized for specific packet engines, then packet processing efficiency improves, but system complexity increases due to port mapping requirements
Solution Approach 1:
The patent applies universality by creating a port allocation system that works across multiple packet processing engines through a unified tuple-based approach. The same port allocation mechanism using inner header tuples serves all engines, providing a universal solution that maintains efficiency without requiring engine-specific complex configurations
Data Source
AI summary
Systems and methods of the present disclosure relate to allocating ports for packets distributed via a computer network. A packet engine on a core of a multicore device intermediary between a client and a server receives a first packet from the client. The first packet includes an outer header of an encapsulation protocol encapsulating a payload with an inner header. The first packet is directed by a packet distributor of the device to the first core selected based on a first tuple of the outer header. A port allocator of the packet engine determines a source port number to cause the packet distributor to identify the first core based on a second tuple of the inner header. The packet engine modifies the inner header of the payload to include the determined source port number. The device forwards the first packet including the modified inner header to the server.