Cała prawda o filtrowaniu pakietów

Filtrowanie ruchu jest powszechnie stosowane w ruterach dostępowych dostawców internetowych i wielu innych firm. Jaki jest wpływ tego mechanizmu na wydajność rutowania?

Filtrowanie ruchu jest powszechnie stosowane w ruterach dostępowych dostawców internetowych i wielu innych firm. Jaki jest wpływ tego mechanizmu na wydajność rutowania?

Aby odpowiedzieć na pytanie, jak współczesne rutery radzą sobie z mechanizmami bezpieczeństwa pod dużym obciążeniem, zespół testujący amerykańskiego tygodnika Network World (IDG) przetestował sześć ruterów dostępowych pięciu producentów: Cisco Systems, ImageStream, Lucent Technologies, Riverstone Networks i Tasman Networks.

Test obejmował kilka scenariuszy, w których stopniowo obciążano urządzenia, dodając kolejne reguły filtra pakietów i trasy. Rutery firm ImageStream, Lucent, Riverstone i Tasman nie wykazały ani śladu przeciążenia, pracując praktycznie z taką samą wydajnością zarówno przy skonfigurowanych setkach reguł filtrujących i długich tablicach trasowania, jak i przy minimalnej konfiguracji, określającej tylko statyczne rutowanie do jednej bramki domyślnej.

Na przeciwległym krańcu w rankingu znalazł się ruter Cisco 2651. W podstawowej konfiguracji wykazuje się bardzo przyzwoitymi osiągami, ale po włączeniu filtra pakietów wydajność gwałtownie spada. Nie jest to zaskoczeniem, zważywszy że model 2651 zawiera jeden procesor i zaledwie 64 MB pamięci. Mimo że na potrzeby testu rozbudowano pamięć do maksymalnej obsługiwanej przez ten ruter wielkości 128 MB, to jego nieco przestarzała architektura sprawia, że model 2651 nie dorównuje pozostałym testowanym urządzeniom.

Firma Cisco odmówiła formalnego udziału w teście, tłumacząc, że użytkownicy stawiają na pierwszym miejscu inne cechy funkcjonalne niż wydajność. Biorąc pod uwagę dominującą pozycję produktów Cisco na rynku, zespół testujący uznał, że nie można ich pominąć i do celów testu zakupiono dwa rutery 2651. Firma Cisco została zapoznana z metodyką testów. Aby rutery 2651 mogły na równych prawach konkurować z pozostałymi testowanymi urządzeniami, rozbudowano ich pamięć do maksymalnej obsługiwanej wielkości. Podobnie jak pozostali producenci biorący udział w teście, firma Cisco została przed publikacją poinformowana o wynikach, jakie osiągnęły jej produkty.

Filtrowanie pakietów w ruterach jest przydatne z wielu względów. Mechanizm ten pozwala m.in. odrzucać połączenia nieupoważnionych użytkowników, blokować niepożądane aplikacje, połączenia do określonych adresów hostów lub sieci, a nawet prowadzić statystyki ruchu generowanego na otwartych portach (patrz ramka "Filtrowanie pakietów w praktyce").

Jak testowano

Aby zmierzyć wpływ filtrowania ruchu i dynamicznego trasowania na wydajność rutera, posłużono się trzema zmiennymi - przepustowością, opóźnieniem średnim i opóźnieniem maksymalnym. By oszacować odporność testowanych ruterów na nieprzewidziane awarie, zmierzono także czas restartu urządzeń, wymuszając pięciosekundowe odcięcie zasilania podczas pracy przy pełnym obciążeniu.

Konfiguracja testowa składała się z pary identycznych modeli ruterów, połączonych dwoma interfejsami T-1 za pośrednictwem skrosowanego kabla. Konfiguracja tego typu, obejmująca dwa łącza T-1 i dwa interfejsy Ethernet, jest bardzo często spotykana w praktyce w sieciach firmowych i korporacyjnych.

Aby ocenić wpływ filtra pakietów na wydajność, dokonano najpierw pomiaru przepustowości w najprostszej konfiguracji podstawowej z wyłączonym filtrem. Następnie stopniowo dodawano kolejne reguły filtra i trasy w tablicach rutowania.

W czasie testów z aktywnym filtrem pakietów rutery były skonfigurowane z filtrowaniem ze względu na źródłowy i docelowy adres IP, numer protokołu i numer portu TCP lub UDP. Lista reguł filtrowania dla każdego urządzenia była zdefiniowana w taki sposób, aby przy odrzucaniu lub akceptacji pakietu system musiał przejrzeć wszystkie reguły filtra. Aby dokładnie kontrolować, ile pakietów faktycznie wyłowiły reguły filtra (ile zostało rozpoznanych jako niedopuszczalne i odrzuconych), dodatkowo włączono logowanie filtracji. Testy wykonano przy aktywnych 16, 64 i 256 różnych, unikalnych regułach filtra.

Podczas testów rutowania były aktywne zarówno filtry pakietów, jak i dwa protokoły rutujące: zewnętrzny protokół BGP (Border Gateway Protocol) i wewnętrzny OSPF (Open Shortest Path First). Filtry o różnej liczbie reguł były uaktywniane w dwóch scenariuszach testowych - z niewielkimi i rozbudowanymi tablicami trasowania. W wariancie z małą tablicą trasowania rutery miały za zadanie rozgłaszać informacje o trasowaniu dla 64 sieci zarówno poprzez protokół BGP, jak i OSPF. Wybrano taką wielkość tabeli, ponieważ odpowiada ona warunkom pracy typowego rutera w małej lub średniej firmie.

W drugim przypadku użyto długich tablic rutowania, zawierających 125 000 tras dla protokołu BGP i 4096 dla OSPF. Pierwsza wielkość odpowiada pełnej tablicy rutowania, obejmującej informacje o trasowaniu dla wszystkich sieci widocznych w globalnym Internecie. Druga stanowi ok. 10% typowego rozmiaru sieci szkieletowej (w terminologii OSPF "obszaru 0") dostawcy internetowego pierwszego poziomu w hierarchii systemów autonomicznych. W OSPF obszary wymieniają pomiędzy sobą informacje o trasowaniu za pośrednictwem ruterów granicznych, a szkielet to wyróżniona strefa w obrębie systemu autonomicznego, która łączy wszystkie pozostałe obszary. Każdy obszar w obrębie systemu autonomicznego musi być połączony ze szkieletem.

Mogłoby się wydawać, że przechowywanie w pamięci pełnej tablicy trasowania dla całego Internetu to jak na ruter dostępowy wygórowane wymaganie. Jednak dziś nawet niewielkie firmy często korzystają z kilku połączeń do Internetu za pośrednictwem łączy kilku dostawców internetowych. Jeśli usługodawcy ci należą do innych grup BGP - co jest wskazane, gdy dodatkowe połączenia mają zapewniać redundancję ścieżek w razie awarii - faktyczne tabele trasowania, na których operuje ruter w takiej konfiguracji, mogą być ponaddwukrotnie większe od użytych w naszej symulacji. BGP jest też wydajniejszym i oszczędniejszym protokołem niż OSPF, ponieważ odmiennie niż ten ostatni nie jest ograniczony koniecznością wytyczania najkrótszych tras. OSPF do wyznaczenia trasowania korzysta z zaawansowanych algorytmów operujących na bazie danych o sąsiedztwie ruterów i grafach skierowanych, podczas gdy BGP wymienia proste informacje o ścieżkach między domenami. Toteż taki dobór wielkości tabel dodatkowo zrównoważył obciążenie ruterów przez oba protokoły.


TOP 200