Applied Research Laborato Applied Research Laborato Edward W. Spitznage Edward W. Spitznage March 27, 2022 1 Packet Classification using Extended TCAMs Edward W. Spitznagel, Jonathan S. Turner, David E. Taylor Supported by NSF ANI-9813723, DARPA N660001-01-1- 8930
28
Embed
Applied Research Laboratory Edward W. Spitznagel 24 October 20151 Packet Classification using Extended TCAMs Edward W. Spitznagel, Jonathan S. Turner,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 1
Packet Classification usingExtended TCAMs
Edward W. Spitznagel, Jonathan S. Turner, David E. Taylor
Supported by NSF ANI-9813723, DARPA N660001-01-1-8930
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 2
Packet Classification Problem• Suppose you are a firewall, or QoS router, or network monitor ...
• You are given a list of rules (filters) to determine how to process incoming packets, based on the packet header fields– Some fields in the rules are specified with bit masks; others with ranges
• Goal: when a packet arrives, find the first rule that matches the packet’s header fields
SourceAddress
DestinationAddress
FilterSource
PortDestination
PortProtocol
11xx 01xxa 2-4 0-15 TCP
01xx 0010b 3-15 3-15 UDP
0101 xxxxc 3 * *
1101 101xd - - ICMP
Action
fwd 7
fwd 2
deny
fwd 5
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 3
Packet Classification Problem
• Example: packet arrives with header (0101, 0010, 3, 5, UDP)– classification result: filter b is matched
– filter c also matches, but, b occurs before c in the list
• Easy to do when we have only a few rules; very difficult when we have 100,000 rules and packets arrive at 40 Gb/s
SourceAddress
DestinationAddress
FilterSource
PortDestination
PortProtocol
11xx 01xxa 2-4 0-15 TCP
01xx 0010b 3-15 3-15 UDP
0101 xxxxc 3 * *
1101 101xd - - ICMP
Action
fwd 7
fwd 2
deny
fwd 5
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 4
Geometric Representation• Filters with K fields can
be represented geometrically in K dimensions
• Example:
2 640
2
6
4
0
Source Address
Sou
rce
Por
t
Source Address Source PortFilter
xxx 2-3a
010 0-7b
xx1 7c
a
b
c c c c
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 5
Related Work
• TCAM-based parallel classification– CoolCAMs (Narlikar, Basu, Zane) for IP lookup
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 20
Creating a set of partitions
• At most k filters per region (k = block size)• Regions within the same partition do not overlap• Total number of regions equals the index size
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 21
Range Matching
• Store a pair of values (lo , hi ) for each range match field
• Range check circuitry compares query values against lo and hi to determine if query is in range– Transistors per bit of range field is twice that of ordinary TCAM
– But, for typical IPv4 applications, this results in just a 22% increase in overall transistor count
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 22
Performance Metrics
• Power Fraction =
– a measure of power usage, relative to a standard TCAM
– smaller is better
• Storage Efficiency =
– higher is better; 1 is optimal
index size + (# of partitions)(block size)
number of filters
number of filters
index size + (# of blocks)(block size)
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 23
0
0.05
0.1
0.15
0.2
0.25
0.3
1000 10000 100000
Number of Filters
Po
wer
Fra
ctio
n
Different Block Sizes
Block size=256
Block size=64
Block size =32
Block size=16
Block size=128
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 26
Current/Future Work
• Computational complexity of filter grouping problem
• Filter updates (add/delete operations)
• Multi-level indices
• Different partitioning algorithms
• Application to SRAM/DRAM-based classification techniques
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel
April 20, 2023 27
Summary
• Packet Classification is important for many advanced network services
• TCAMs scale poorly due to power consumption and inefficient range match representations
• Extended TCAMs: solve these issues by using partitioned TCAM and hardware support for range matching– power consumption greatly reduced (typically to 5% or less of power used
by a standard TCAM)
– range match hardware: avoid inefficiency in representing ranges
Applied Research LaboratoryApplied Research LaboratoryEdward W. SpitznagelEdward W. Spitznagel