By: Yaron Levy Supervisors: Dr. Shlomo Greenberg Mr. Hagai David
1. Project Goal 2. What is a Packet classifier 3. The algorithm that was developed 4. Results Road Map
The project objective is to investigate and develop a classifier algorithm and to compare it with other algorithms in the manner of memory consumption, preprocessing complexity and maximum number of cycles required to find a matching rule. Project Goal
1. Project Goal 2. What is a Packet classifier 3. The algorithm that was developed 4. Results Road Map
What is a Packet Classifier o The process of categorizing packets into “flows” in an Internet router is called packet classification. All packets belonging to the same flow obey a pre- defined rule and are processed in a similar manner by the router. o Packet classification is needed for none “best-effort” services, such as firewalls and quality of service services that require the capability to distinguish and isolate traffic in different flows for suitable processing.
Action ---- rulesAction Classifier (policy database) Packet Classification Forwarding Engine Incoming Packet HEADERHEADER What is a Packet Classifier
Examples of a classifier: ISP 1 ISP 3 E 1 ISP 2 Y X Z 1.Packet Filtering: Router X – deny all traffic from ISP 2 to E1 to E1 Packet Router X look at the header fields and search for the rule the packet fulfills Decides to throw the Packet ISP 3
What is a Packet Classifier Examples of a classifier: ISP 1 ISP 4 E 1 ISP 2 Y X Z 1.Packet Filtering: Router X – deny all traffic from ISP 2 to E1 2. Accounting and Billing: Router X – Treat all video traffic to E1 as highest priority and perform accounting for the traffic sent this way. ISP 3 Video to E1 Router X look at the header fields and search for the rule the packet fulfills Decides put the packet in the highest priority queue. And charge ISP3
What is a Packet Classifier Examples of a classifier: ISP 1 ISP 4 E 1 ISP 2 Y X Z 1.Packet Filtering: Router X – deny all traffic from ISP 2 to E1 2. Accounting and Billing: Router X – Treat all video traffic to E1 as highest priority and perform accounting for the traffic sent this way. ISP 3 3. Traffic Rate Limiting: Router X – Ensure the ISP2 does not inject more than 60Mbps of total traffic on interface X.. 4. Policy Routing: Router Y – Send all VOIP traffic arriving from E1 and destined to ISP4 via a separate ATM network.
1. Project Goal 2. What is a Packet classifier 3. The algorithm that was developed 4. Results Road Map
The algorithm that was developed The algorithm should be: 1.Fast – Be fast enough to operate at linerate (not be the bottleneck of the router). 2. Flexible – Allow matching on arbitrary fields and support general classification rules prefixes, wildcards 3. Simple – Be suitable for implementation in both software and hardware 4. Cheap – Not have expensive memory requirements
The algorithm that was developed o The algorithm that was developed is called B-tree algorithm. o The main idea of the algorithm is that in each round it makes a "smart search" in order to minimize the rules that fit to the packet that arrived. o The algorithm base on a set of smart trees that holds all the information of the table. o When a packet arrives to the classifier, it should run on the trees in a specific way that will return the rule that packet fulfills. o The algorithm can be implemente on hardware.
1. Project Goal 2. What is a Packet classifier 3. The algorithm that was developed 4. Results Road Map
Results Number of rules Memory consumption (bytes)Worse Case - max cycles B-TreeRFCBVB-TreeRFCBV
Results
17