CAM Table Buffer Allocation for Network Switch Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Business networks face network congestion and DHCP starvation attacks due to MAC attacks and CAM table overflow, where a single user can flood the Content Addressable Memory (CAM) table in a network switch, leading to traffic flooding on all ports and exhaustion of DHCP address spaces.
Innovation Solution
A method and system for equitable buffer sharing in a network switch, where a subset of buffers forms a shared pool and the remaining buffers form a dedicated pool, with a buffer allocation tool that manages buffer allocation and prevents users from exceeding allocated limits, allowing borrowing from the shared pool when dedicated buffers are exhausted, and returns buffers to the shared pool upon expiration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single user floods the CAM table with random MAC addresses, then the CAM table becomes full and traffic is flooded out on all ports, but this causes network congestion on all segments and exhausts DHCP address spaces
Solution Approach 1:
The patent divides the CAM table into multiple segments or groups, each managed independently with separate buffer allocations. This segmentation prevents a single user from flooding the entire CAM table by limiting the impact to specific segments only, thereby maintaining network stability while preventing CAM table overflow attacks
Solution Approach 2:
The patent implements preliminary buffer allocation and reservation mechanisms that pre-allocate buffer space for different users or VLANs before attacks occur. By establishing these limits in advance, the system prevents any single user from exhausting the entire CAM table buffer, thus preventing CAM flooding and DHCP starvation attacks before they can compromise network stability
2Productivity
If buffers are shared equally among all users, then resource utilization is maximized, but a single user can still exhaust the entire buffer space causing network congestion
Solution Approach 1:
The patent applies different buffer allocation qualities to different users or VLANs based on their specific needs and priorities. Instead of uniform allocation, each user receives buffers according to their actual requirements, ensuring that critical users have adequate buffer space while preventing any single user from monopolizing the entire buffer resource
Solution Approach 2:
The patent dynamically changes buffer allocation parameters based on user behavior, network conditions, and security requirements. The system adjusts buffer limits, allocation rates, and reservation levels in real-time to maintain optimal utilization while preventing buffer exhaustion attacks, thus resolving the contradiction between productivity and security
3Quantity of substance
If the CAM table buffer size is increased to handle more MAC addresses, then more users can be supported, but the buffer becomes more vulnerable to flooding attacks and DHCP starvation
Solution Approach 1:
The patent segments the enlarged CAM table buffer into multiple isolated sections, each with its own buffer limits and management policies. This segmentation allows the system to support more users by increasing total capacity while preventing DHCP starvation attacks by limiting the impact to individual segments only
Solution Approach 2:
The patent introduces buffer management intermediaries or controllers that mediate between the enlarged CAM table buffer and user requests. These intermediaries enforce allocation policies, monitor usage patterns, and prevent any single user from exhausting buffer space, thus enabling increased capacity while maintaining security against flooding and DHCP starvation attacks
Data Source
AI summary
A method, system and program product for equitable sharing of a CAM (Content Addressable Memory) table among multiple users of a switch. The method includes reserving buffers in the table to be shared, the remaining buffers being allocated to each user. The method further includes establishing whether or not an address contained in a packet from a user is listed in a buffer in the table, if the address is listed, updating a time-to-live value for the buffer for forwarding the packet and, if the address is not listed, determining whether or not the user has exceeded its allocated buffers and whether or not the reserved buffers have been exhausted, such that, if the user has exceeded its allocated buffers and the reserved buffers have been exhausted, the address is not added to the table and the user is precluded from using any additional buffers in the network switch.


