(12) United States Patent ao) Patent No.: us 6,600,744 Bi
Carr et al. (45) Date of Patent: Jul. 29,2003
(54) METHOD AND APPARATUS FOR PACKET CLASSIFICATION IN A DATA COMMUNICATION SYSTEM
(75) Inventors: David W. Carr, Nepean (CA); Paul Nadj, Ottawa (CA)
(73) Assignee: Alcatel Canada Inc., Kanata (CA)
( * ) Notice: Subject to any disclaimer, the term ol this patent is extended or adjusted under 35 U.S.C. 154(b) by 0 days.
(21) Appl. No.: 09/274,720
(22) Filed: Mar. 23, 1999
(65) Prior Publication Data
(51) Int. CI.7 H04L 12/28
(52) U.S. CI 370/392; 370/412; 709/240
(58) Field of Search 370/389, 392,
370/412, 428, 465, 466, 218; 709/230, 238, 228, 240
(56) References Cited
U.S. PATENT DOCUMENTS
6,104,696 A * 8/2000 Kadambi et al 370/218
6,157,955 A * 12/2000 Narad et al 709/228
6,167,047 A * 12/2000 Welfeld 370/389
6,167,445 A * 12/2000 Gai et al 709/223
6,341,130 Bl * 1/2002 Lakshman et al 370/389
6,430,184 Bl * 8/2002 Robins et al 370/392
"High-Speed Policy-based Packet Forwarding Using Efficient Multi-dimensional Range Matching," Laskhman, et al; Comput. Commun. Rev.; vol. 28, No. 4, pp. 203-214, Oct. 1998.
"Fast and Scalable Layer Four Switching," Srinivasan, et al; Comput. Commun. Rev.; vol. 28, No. 4, pp. 191-202, Oct. 1998.
* cited by examiner
Primary Examiner—Hassan Kizou
Assistant Examiner—-John Pezzlo
A method and apparatus for packet classification stores rules or parameters for classilying the packets in a memory structure. The memory structure receives a set ol rule selection signals, where the memory provides a selected set ol rules in response to the rule selection signals. A comparison block operably coupled to the memory receives a key, which is also prelerably derived from the header information for the packet. The key includes the relevant information for classilying the packet according to the rules stored in the memory. The comparison block compares the key with each ol the rules in the selected set ol rules, and when a lavorable comparison is determined, the comparison block provides an indication ol the lavorable comparison. A prioritization block operably coupled to the comparison block prioritizes the rules that resulted in a lavorable comparison to determine a prelerred rule, where the prelerred rule includes the resulting classification information for the packet.
31 Claims, 5 Drawing Sheets