Router Session-Based Load Balancing for Service Chaining
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional routers struggle to implement service chaining for session-based routing because they cannot forward packets of the reverse packet flow to the same network service instance that applied services to the forward packet flow, especially when network service instances are not within the router's subnet.
Innovation Solution
A router performs session-based load-balancing by defining sessions for both forward and reverse packet flows and storing associations between these sessions and the MAC addresses of selected network service instances, allowing it to forward both forward and reverse packets to the same network service instance for consistent service application.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a conventional router forwards packets using per-packet load-balancing to multiple network service instances, then efficient use of network service instances is achieved, but packets of the same session may be sent to different network service instances, preventing consistent stateful service application
Solution Approach 1:
The patent segments the packet forwarding process by introducing session-based routing that divides traffic into distinct sessions. Each session is assigned to a specific network service instance, creating separate handling paths that ensure consistency within sessions while maintaining load distribution across multiple instances.
Solution Approach 2:
The router performs preliminary action by pre-assigning each session to a specific network service instance before packets are forwarded. This pre-assignment is stored in a session table, ensuring that all packets belonging to the same session are consistently routed to the same network service instance, thereby enabling reliable stateful service application.
2Reliability
If session-based routing is implemented to ensure consistent service application, then stateful services can be applied to all packets of a session, but the router cannot forward reverse packet flow to the same network service instance when it is not within the router's subnet
Solution Approach 1:
The patent introduces an intermediary mechanism where the router stores the MAC address of the selected network service instance in the session table. This MAC address acts as an intermediary identifier that enables the router to forward packets to the correct network service instance even when it is not within the router's subnet, thereby facilitating service chaining.
Solution Approach 2:
The patent adds another dimension to the routing decision by incorporating MAC address information into the session table. This additional dimension (MAC address layer) enables the router to perform precise packet forwarding to network service instances outside its subnet, extending the adaptability of session-based routing.
3Productivity
If per-packet load-balancing is used to distribute traffic across multiple network service instances, then resource utilization is improved, but overhead increases due to lack of session state tracking
Solution Approach 1:
The patent merges session state tracking with the load-balancing function by maintaining a session table that combines session identification information with network service instance assignment. This unified approach enables the router to perform both load distribution and session tracking simultaneously, improving resource utilization without proportionally increasing overhead.
Data Source
AI summary
Techniques are disclosed for session-based load-balancing of network traffic to network service instances. In one example, a network device receives a first packet of a forward packet flow from a network service instance of a plurality of network service instances after application of a network service. The first packet specifies a Media Access Control (MAC) address of the network service instance as a source MAC address. The network device defines a session comprising the forward packet flow and a reverse packet flow and stores an association between the session and the MAC address of the network service instance. The network device determines that a second packet received from a destination device is associated with the reverse packet flow of the session. The network device forwards the second packet to the same network service instance based on the association between the session and the MAC address of the network service instance.


