Hash Table Packet Classification Using Optimal CRC Polynomials

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-defined networking (SDN) controllers face challenges in managing multiple flows across network nodes due to the limited capacity of Ternary Content Addressable Memory (TCAM) in packet classification, which restricts the ability to handle increasing network traffic and packet matching requests.

Innovation Solution

The implementation of an optimal cyclic redundancy check (CRC) polynomial and hash function generation to extend packet classification capabilities beyond TCAM limitations, using hash tables and weak Adelson-Velskii and Landis (WAVL) trees for efficient matching and classification, allowing for up to 64 times the matching capability of TCAM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If packet classification is enabled on network nodes to manage multiple flows, then the controller can analyze network traffic, but the limited capacity of TCAM restricts the ability to handle increasing network traffic and packet matching requests

Engineering Contradiction:
Improvepacket classification capacityVSAvoidTCAM matching capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the packet classification functionality into two parts: TCAM for exact matching of known flows, and a hash table for matching unknown or less frequent flows. This segmentation allows the system to handle a much larger number of flows by distributing the matching burden across two different data structures, each optimized for different types of traffic patterns

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hash table as an intermediary data structure between the packet classification engine and the TCAM. This hash table acts as a mediator that handles the majority of flow matching requests, allowing the TCAM to focus only on exact matches and reducing the pressure on TCAM capacity while maintaining high-speed classification

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If hash tables are used to extend matching capability beyond TCAM limits, then packet classification capacity increases, but search complexity and processing time may increase

Engineering Contradiction:
Improvematching capabilityVSAvoidpacket forwarding delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing hash values for all flow entries and organizing them in a hash table structure before packet arrival. This pre-organization allows for O(1) average-case lookup time, ensuring that extending matching capability to 64 times TCAM capacity does not introduce significant processing delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the search parameter from exact bit-pattern matching in TCAM to hash-based indexing, which transforms the search complexity from exponential in the number of TCAM entries to constant time on average. This parameter change enables the system to handle vastly more flows without proportionally increasing processing time

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9407735B2Flow matching optimization in scaled environments
Publication Date: 2016.08.02 CISCO TECHNOLOGY INC
  • US9407735B2 patent drawing
  • US9407735B2 patent drawing
  • US9407735B2 patent drawing

AI summary

In one embodiment, a method includes identifying at a network device, a number of items for matching at a hash table, the number of items exceeding matching available with ternary content addressable memory (TCAM) at the network device, defining at the network device, an optimal cyclic redundancy check (CRC) polynomial based on the number of items for matching at the hash table, and generating at the network device, an optimal hash function based on the optimal CRC polynomial to extend packet classification capability at the network device. An apparatus is also disclosed herein.