Router szeroko otwarty

Projekt XORP ma na celu stworzenie w ramach środowiska open source łatwego do rozbudowy routera programowego.

Projekt XORP ma na celu stworzenie w ramach środowiska łatwego do rozbudowy a programowego.

Projekt XORP (Extensible Open Router Platform) jest prowadzony przez grupę badawczą działającą przy International Computer Science Institute - niezależnej instytucji badawczej działającej na Uniwersytecie w Berkeley. Prace nad XORP są finansowane z grantu rządu USA, a częściowo także przez Intela. Celem prac nad XORP jest stworzenie platformy, która ułatwi naukowcom opracowywanie i testowanie nowych protokołów i modułów funkcjonalnych w warunkach sieci produkcyjnych. To także próba odejścia od przeważających na rynku architektur monolitycznych.

Rozmowy między warstwami

Router XORP składa się z dwóch warstw logicznych. Na pierwszym poziomie (analogicznym do przestrzeni użytkownika w systemach unixopodobnych) implementowane są protokoły routingu, tabele routingu oraz procesy wspomagające. Z myślą o skalowalności przyjęto zasadę, że każdy protokół będzie implementowany jako oddzielny proces systemowy. Jeśli jeden z nich zawiedzie, nie wpływa to na inne. Oddzielne procesy odpowiadają także za zarządzanie, konfigurację.

Poniżej warstwy użytkownika będzie działać warstwa odpowiedzialna za wydajne wysyłanie pakietów.

Inicjatorzy projektu zakładają, że przynajmniej na razie warstwa ta będzie realizowana jako część składowa jądra. Ten niższy poziom będzie także udostępniać interfejsy API, za pomocą których wyższe warstwy będą mogły dokonywać operacji na pakietach.

W XORP zaimplementowano nowatorski mechanizm komunikacji między procesami - XORP Resource Locators (XRLs). Przypomina on bardzo znaną z WWW koncepcję ścieżek URL. Zdaniem twórców XORP taka konstrukcja ułatwia odwoływanie się do warstw abstrakcji konkretnych usług i realizujących je obiektów. Ułatwia także wykorzystanie języków skryptowych.

Adres XRL określa w zrozumiałej dla człowieka formie typ pożądanego transportu (protokołu), nazwę obiektu, z którym należy się skomunikować, metodę oraz listę wywoływanych argumentów. W odróżnieniu od URL, XRL może również określać rodzaj oczekiwanej odpowiedzi.

XORP brakuje wielu funkcji, które są stałym elementem routerów komercyjnych, takich jak filtry pakietów i inne zabezpieczenia, mechanizmy QoS czy zaawansowane narzędzia do zarządzania. Jeżeli do projektu zgłosi się więcej osób, funkcjonalności powinno przybyć. W przyszłości XORP ma obsługiwać np. farmy urządzeń działających tak jak jeden fizyczny router.

Wydajność za darmo

Wstępna specyfikacja XORP (wersja 1.0) ma zostać opublikowana w maju br. Na razie jest dostępna wersja 0.5 (alfa). Jak przyznają twórcy platformy XORP, nie nadaje się ona jeszcze do wykorzystania w normalnej sieci, niemniej stanowi dobrą podstawę do dalszych prac w ramach open source.

Oprogramowanie XORP jest dostępne na zasadach podobnych jak systemy BSD. Kod jest publicznie dostępny - można go wykorzystywać, rozwijać i komercjalizować. Na standardowym PC XORP ma obsługiwać do 700 tys. 64-bajtowych pakietów Ethernet na sekundę. To bardzo dobry rezultat, ale tylko w porównaniu z programowymi technologiami routingu.

Nie pierwsza próba

XORP to nie pierwsza próba stworzenia routera open source. Większość dystrybucji systemu Linux zawiera proste oprogramowanie do routingu. Nawet system Windows może pełnić rolę routera w niewielkiej sieci lokalnej. Projekty mające na celu budowę bardziej zaawansowanych systemów routingu trwają także poza Berkeley. Silnik odpowiedzialny za wysyłanie pakietów XORP został oparty na modularnym routerze Click rozwijanym na MIT (http://www.pdos.lcs.mit.edu/click ).


TOP 200