Network Stack Isolation for Multi-Plane Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication network architectures face complexity and architectural disadvantages when implementing multiple forwarding planes within a single network stack, leading to dependencies and undesired interactions between concurrently executing planes.
Innovation Solution
The method involves instantiating multiple network stacks in separate memory spaces, allowing each stack to execute independently and be configured separately, using virtual local area networks to isolate traffic and reduce dependencies between forwarding planes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If multiple forwarding planes are implemented within a single network stack memory space, then the device complexity is reduced, but the reliability deteriorates due to dependencies and undesired interactions between concurrently executing planes
Solution Approach 1:
The patent divides the single network stack into multiple separate network stacks, each running in its own address space. This segmentation isolates forwarding planes (management plane, control plane, data plane) into independent units, preventing interactions and dependencies between them while maintaining individual reliability. Each network stack instance manages its own forwarding tables and execution context separately.
Solution Approach 2:
The patent introduces a network stack manager as an intermediary component that coordinates between multiple independent network stacks. This manager handles packet routing decisions, selects appropriate forwarding tables, and manages the interaction between isolated planes without requiring the planes to directly communicate, thus maintaining independence while enabling coordinated operation.
2Adaptability or versatility
If customized changes are made to forwarding code to support multiple forwarding planes, then the adaptability improves, but the device complexity increases due to complex implementation and maintenance requirements
Solution Approach 1:
The patent creates a universal network stack architecture where a single network stack implementation can serve multiple forwarding planes through instantiation. Instead of customizing forwarding code for each plane, the system uses a standardized network stack that can be instantiated multiple times with different configurations (management plane, control plane, data plane), each with its own forwarding tables but sharing the same core network stack logic.
Solution Approach 2:
The patent enables different forwarding planes to be configured by changing parameters such as address space identifiers, forwarding table selections, and packet classification rules, rather than modifying the underlying forwarding code. Each network stack instance uses parameter differentiation (e.g., different VLAN tags, different forwarding table indexes) to handle different plane requirements, maintaining code simplicity while achieving versatility.
3Productivity
If multiple forwarding planes execute concurrently in a single memory space, then the productivity is improved through parallel processing, but the reliability deteriorates due to architectural disadvantages and interactions
Solution Approach 1:
The patent segments the memory space into multiple independent address spaces, with each network stack instance operating in its own isolated memory region. This allows concurrent execution of multiple forwarding planes in parallel while preventing memory access conflicts and unwanted interactions, as each plane can only access its designated memory space and forwarding tables.
Solution Approach 2:
The patent creates separate copies of the network stack implementation for each forwarding plane, with each copy having its own instance variables, forwarding tables, and execution context. This copying approach enables true parallel execution of multiple planes while maintaining complete isolation, as each copied instance operates independently without sharing critical data structures with other planes.
Data Source
AI summary
Separating and isolating multiple network stacks in a network element may enable a network element to simultaneously operate within multiple forwarding planes respectively corresponding to the multiple network stacks. In addition to the network stack, other protocols and routing tools may also be instantiated for each desired forwarding plane. The different instantiations of the network stacks may be executed in parallel in respective memory spaces that are distinct and separate. In this manner, each forwarding plane may operate independently on the network element from other forwarding planes.


