Algorithms and Data Structures for IP Lookup, Packet Classification And
Total Page:16
File Type:pdf, Size:1020Kb
Dissertation zur Erlangung des Doktorgrades der FakultÄatfÄurAngewandte Wissenschaften der Albert-Ludwigs-UniversitÄatFreiburg Algorithms and Data Structures for IP Lookup, Packet Classi¯cation and Conflict Detection Christine Maindorfer Betreuer: Prof. Dr. Thomas Ottmann Dekan der FakultÄatfÄurAngewandte Wissenschaften: Prof. Dr. Hans Zappe Betreuer: Prof. Dr. Thomas Ottmann Zweitgutachterin: Prof. Dr. Susanne Albers Tag der Disputation: 2.3.2009 Zusammenfassung Die Hauptaufgabe eines Internet-Routers besteht in der Weiterleitung von Paketen. Um den nÄachsten Router auf dem Weg zum Ziel zu bestimmen, wird der Header, welcher u.a. die Zieladresse enthÄalt,eines jeden Datenpaketes inspiziert und gegen eine Routertabelle abgeglichen. Im Falle, dass mehrere PrÄa¯xein der Routertabelle mit der Zieladresse Äubereinstimmen, wird in der Regel eine Strategie gewÄahlt,die als \Longest Pre¯x Matching" bekannt ist. Hierbei wird von allen mÄoglichen Aktio- nen diejenige ausgewÄahlt,die durch das lÄangstemit der Adresse Äubereinstimmende PrÄa¯xfestgelegt ist. Zur LÄosungdieses sogenannten IP-Lookup-Problems sind zahlreiche Algorithmen und Datenstrukturen vorgeschlagen worden. AnderungenÄ in der Netzwerktopologie aufgrund von physikalischen Verbindungsaus- fÄallen,der Hinzunahme von neuen Routern oder Verbindungen fÄuhrenzu Aktu- alisierungen in den Routertabellen. Da die Performanz der IP-Lookup-Einheit einen entscheidenden Einfluss auf die Gesamtperformanz des Internets hat, ist es entscheidend, dass IP-Lookup sowie Aktualisierungen so schnell wie mÄoglich durchgefÄuhrtwerden. Um diese Operationen zu beschleunigen, sollten Routerta- bellen so implementiert werden, dass Lookup und Aktualisierungen gleichzeitig ausgefÄuhrtwerden kÄonnen.Um zu sichern, dass auf SuchbÄaumenbasierte dynami- sche Routertabellen nicht durch Updates degenerieren, unterlegt man diese mit einer balancierten Suchbaumklasse. Relaxierte Balancierung ist ein gebrÄauchliches Konzept im Design von nebenlÄau¯gimplementierten SuchbÄaumen. Hierbei wer- den die Balanceoperationen ggf. auf Zeitpunkte verschoben, in denen keine Such- prozesse im gleichen Teil des Baumes durchgefÄuhrtwerden. Der erste Teil dieser Dissertation untersucht die Hypothese, dass ein relaxiert balanciertes Schema fÄurdynamische Routertabellen besser geeignet ist als ein Schema, welches strikte Balancierung verwendet. Dazu schlagen wir den relax- iert balancierten min-augmentierten Bereichssuchbaum vor und vergleichen diesen mit der strikt balancierten Variante im Rahmen eines Benchmarks, wobei echte IPv4 Routerdaten verwendet werden. Um eine PlausibilitÄatsbetrachtung anstellen zu kÄonnen,welche die Korrektheit der verschiedenen Lockingstrategien untermauert, wird darÄuberhinaus eine interaktive Visualisierung des relaxiert balancierten min-augmentierten Bereichssuchbaums prÄasentiert. Des Weiteren stellen IP-Router \Policy basierte" Routing-Mechanismen (PBR) zur VerfÄugung,welche das bestehende, auf Zieladressen basierende Routing, ergÄanzen. PBR bietet unter anderem die MÄoglichkeit, \Quality of Service" (QoS) sowie Netz- werksicherheitsbestimmungen, sogenannte Firewalls, zu unterstÄutzen. Um PBR zur VerfÄugungstellen zu kÄonnen,mÄussenRouter mehrere Paketfelder wie zum Beispiel die Quell- und Zieladresse, Port und Protokoll inspizieren, um Pakete in sogenannte \Flows" zu klassi¯zieren. Dies erfordert eine gegebene Menge von vorde¯nierten d-dimensionalen Filtern zu durchsuchen, wobei die Anzahl der zu in- spizierenden Paketfelder der Dimension d entspricht. Geometrisch gesprochen wer- den Filter durch d-dimensionale Hyperrechtecke und Pakete durch d-dimensionale Punkte reprÄasentiert. Paketklassi¯kation bedeutet nun, fÄurein weiterzuleiten- des Paket das am besten passende Hyperrechteck zu ¯nden, welches den Punkt enthÄalt. Der R-Baum ist eine mehrdimensionale Indexstruktur zur dynamischen Verwal- tung von rÄaumlichen Daten, welcher Punkt- und Enthaltenseinanfragen unterstÄutzt. Der R-Baum und dessen Varianten wurden bis dato noch nicht auf deren Eignung fÄurdas Paketklassi¯zierungsproblem hin untersucht. Im zweiten Teil werden wir eruieren, ob der weitverbreitete R*-Baum zur LÄosung dieses Problems geeignet ist. Dazu wird dieser mit zwei reprÄasentativen Klassi- ¯zierungsalgorithmen im Rahmen eines Benchmark-Tests verglichen. Die Simu- lationsumgebung ist statisch, d.h. es ¯nden keine Filteraktualisierungen statt. Die Mehrheit der vorgeschlagenen Klassi¯zierungsalgorithmen unterstÄutztinkre- mentelle Aktualisierungen nicht auf eine e±ziente Weise. Erweist sich der R*- Baum als geeignet, ist dieses Benchmark ein Sprungbrett fÄureine Untersuchung im dynamischen Fall. Falls mehrere Filter auf ein weiterzuleitendes Paket anwendbar sind, wird ein soge- nannter Tiebreaker verwendet, um den am besten passenden Filter zu bestimmen. UblicheÄ Tiebreaker sind (i) wÄahleden \ersten passenden" Filter, (ii) den Filter mit hÄochster PrioritÄatund (iii) den \spezi¯schsten" Filter. Es wurde festgestellt, dass nicht jede Policy durch die Vergabe von PrioritÄatendurchgesetzt werden kann und vorgeschlagen, in jenen FÄallenden \spezi¯schsten Filter" Tiebreaker anzuwenden. Jedoch ist dieser Tiebreaker nur realisierbar, wenn fÄurjedes Paket der spezi¯sch- ste Filter wohlde¯niert ist. Ist dies nicht der Fall, sagt man, die Filtermenge sei widersprÄuchlich. Im letzten Teil dieser Dissertation schlagen wir einen Algorithmus zur Konflikt- aufdeckung und Beseitigung fÄurden statischen eindimensionalen Fall vor, wobei jeder Filter durch ein beliebiges Intervall spezi¯ziert ist. Weiterhin zeigen wir, dass wenn zur LÄosungdieses Problems eine partiell persistente Datenstruktur verwendet wird, diese Struktur auch IP-Lookup unterstÄutzt. Abstract The major task of an Internet router is to forward packets towards their ¯nal destination. When a router receives a packet from an input link interface, it uses its destination address to look up a routing database. The result of the lookup provides the next hop address to which the packet is forwarded. Routers only need to determine the next best hop toward a destination, not the complete path to the destination. Changes in network topologies due to physical link failures, link repairs or the addition of new routers and links lead to updates in the routing database. Since the performance of the lookup device plays a crucial role in the overall performance of the Internet, it is important that lookup and route update operations are performed as fast as possible. To accelerate lookup and update operations, routing tables must be implemented in a way that they can be queried and modi¯ed concurrently by several processes. Relaxed balancing has become a commonly used concept in the design of concurrent search tree algorithms. The ¯rst part investigates the hypothesis that a relaxed balancing scheme is better suited for search-tree based dynamic IP router tables than a scheme that utilizes strict balancing. To this end we propose the relaxed balanced min-augmented range tree and benchmark it with the strictly balanced variant using real IPv4 routing data. Further, in order to carry out a plausibility consideration, which corroborates the correctness of the proposed locking schemes, we present an inter- active visualization of the relaxed balanced min-augmented range tree. Enhanced IP routers further provide policy-based routing (PBR) mechanisms, complementing the existing destination-based routing scheme. PBR provides a mechanism for implementing Quality of Service (QoS), i.e., certain kinds of tra±c receive di®erentiated, preferential service. For example, time-sensitive tra±c such as voice should receive higher QoS guarantees than less time-sensitive tra±c such as ¯le transfers or e-mail. Besides QoS, PBR further provides a mechanism to en- force network security policies. PBR requires network routers to examine multiple ¯elds of the packet header in order to classify them into “flows". Flow identi¯ca- tion entails searching a table of prede¯ned ¯lters to identify the appropriate flow based on criteria including source and destination IP address, ports, and proto- col type. Geometrically speaking, classifying an arriving packet is equivalent to ¯nding the best matching hyperrectangle among all hyperrectangles that contain the point representing the packet. The R-tree and its variants have not been experimentally evaluated and bench- marked for their eligibility for the packet classi¯cation problem. In the second part we investigate if the popular R*-tree is suited for packet classi- ¯cation. For this purpose we will benchmark the R*-tree with two representative classi¯cation algorithms in a static environment. Most of the proposed classi¯ca- tion algorithms do not support fast incremental updates. If the R*-tree shows to be suitable in a static classi¯cation scenario, then the benchmark is a stepping stone for benchmarking R*-trees in a dynamic classi¯cation environment, i.e., where classi¯cation is intermixed with ¯lter updates. If a packet matches multiple ¯lters, a tiebreaker is used in order to determine the best matching ¯lter among all matching ¯lters. Common tiebreakers are: (i) First matching ¯lter, (ii) highest priority ¯lter (HPF) and (iii) most speci¯c ¯lter (MSTB). However, not every policy can be enforced by assigning priorities. In these cases, MSTB should be used instead. Yet, the most speci¯c tiebreaker is only feasible if for each packet p the most speci¯c ¯lter that applies to p is well-de¯ned. If this is not the case, the ¯lter set is said to be conflicting. In the last