Optymalizacja WAN narzędziami open source

0

Implementacja rozwiązań do optymalizacji WAN wiąże się z kosztownym i złożonym wdrożeniem, choć często jest to konieczne. Nawet jeśli Twoja firma nie ma oddziału na drugim końcu świata, potrzeba optymalizacji i akceleracji łączy WAN może pojawić się nawet w przypadku blisko położonych lokalizacji. Problemem są jednak koszty rozwiązań. Dlatego warto przyjrzeć się możliwościom rozwiązania problemu z wykorzystaniem narzędzi open source i prostego sprzętu komputerowego.

Niestety nie wszystko da się wykonać narzędziami open source. Riverbed i inni producenci implementują tzw. WAFS (Wide Area File Services), funkcję, która służy do zapisywania w cache’u danych CIFS i NFS. Jeśli wiele osób korzysta z tego samego pliku lub jeśli dany plik jest otwierany i zamykany wiele razy, te dane nie muszą być za każdym razem przesyłanego do zdalnego serwera plików. Co więcej, długoterminowe przechowywanie plików w pamięci podręcznej sprawia, że otwieranie dokumentów Worda, co wymaga komunikacji dwukierunkowej, również jest dużo szybsze. Ogólnie, WAFS implementuje bezpieczny mechanizm przechowywania danych, gdy ich przesyłanie przez łącze WAN staje się nadmiarowe. Serwery proxy nie są zoptymalizowane pod kątem współdzielonych danych i z reguły będę przesyłać cały plik, podczas gdy WAFS jest dużo inteligentniejszy.

Niestety nie ma żadnego narzędzia open source będącego odpowiednikiem WAFS. Ale WAFS to tylko jeden z mechanizmów optymalizacji WAN. Wiele firm może osiągnąć znaczącą poprawę wydajności, wykorzystując mechanizmy QoS, serwery proxy oraz kompresję, co jest możliwe do osiągnięcia wyłącznie przy pomocy narzędzi open source. Wdrażanie od razu komercyjnych rozwiązań do optymalizacji WAN nie jest zalecane, ponieważ ceny są bardzo wysokie, a firma nie zawsze musi potrzebować funkcji WAFS.

QoS oraz kolejkowanie w FreeBSD i Linuksie

Ważnym czynnikiem wpływającym na wydajne działanie łączy WAN jest nadanie odpowiednich priorytetów różnym rodzajom transmisji. Szczególnie, jeśli łącza WAN są wykorzystywane do transmisji głosu. Systemy Linux i FreeBSD umożliwiają wdrożenie efektywnych mechanizmów QoS i kolejkowania ruchu sieciowego. Aspekt nadawania priorytetów pojawia się, gdy system decyduje, który rodzaj transmisji przepuścić od razu, a który umieścić w kolejce.

Jednak sprawy szybko się komplikują, gdy przystępuje się do konfiguracji QoS. Są różne metody klasyfikowania i kolejkowania ruchu, jak również determinowania, jak zatrzymać nieuprzywilejowany ruch. Ostatecznie, jest możliwe wdrożenie zapory sieciowej z funkcjami kształtowania ruchu sieciowego, które zapewnią zawsze płynne przesyłanie głosu, a próby dostępu do wewnętrznych aplikacji otrzymają wyższy priorytet niż przeglądanie stron internetowych. Ponadto innym, ważnym rodzajom komunikacji również zapewni wymagane warunki transmisji. Zrozumienie, jak sklasyfikować pakiet, jest konieczne nawet do skonfigurowania prostych routerów klasy SOHO, dlatego warto przystąpić do tego zadania z wykorzystaniem systemów Linux i FreeBSD, które oferują pełen zestaw funkcji.

Serwer proxy z funkcją cache
Ruch WWW, nawet do wewnętrznych serwerów, może zostać bardzo ograniczony dzięki wykorzystaniu serwerów HTTP proxy. Grafika i duże obiekty mogą być przechowywane lokalnie, z wykorzystaniem standardowego oprogramowania proxy, np. Squid lub Varnish. Zamiast wykorzystywać łącza WAN do pobierania obrazów z serwerów WWW i z serwerów aplikacji za każdym razem, gdy użytkownik kliknie, można te treści udostępniać z lokalnej pamięci podręcznej. Cały ruch HTTP może być w sposób przezroczysty przepuszczony przez serwer proxy bez konieczności zmiany konfiguracji po stronie klienta. Przez serwer proxy można również przepuszczać ruch HTTPS, jednak w tym przypadku będzie już wymagana konfiguracja przeglądarki internetowej użytkownika.

Squid potrafi także obsługiwać protokół FTP oraz każdy inny protokół, do którego obsługi zostanie skonfigurowany. To zaleta dla lokalizacji, w których wykorzystuje się niestandardowe aplikacje i protokoły komunikacyjne, które nie używają HTTP ani FTP. Jednak w większości przypadków potrzebna jest jedynie pamięć podręczna do obsługi ruchu HTTP, żeby osiągnąć znaczną redukcję ruchu na łączach WAN.

Zanim zaczniemy omawiać dwa rozwiązania, które implementują pamięć podręczną, kompresję i inne mechanizmy, zwróć uwagę, że jest jeszcze jedno, częściowe rozwiązanie problemu optymalizacji WAN. OpenVPN, oprócz zapewnienia bezpieczeństwa transmisji, ma również wbudowaną funkcję kompresji. Oprogramowanie to działa w przestrzeni użytkownika, więc wzrost opóźnień będzie niewielki.

WANProxy
WANProxy jest typowym serwerem TCP proxy. Można go wdrażać w przezroczysty sposób w celu kompresji ruchu TCP między dwoma lokalizacjami. WANProxy można używać do filtrowania ruchu przez Squida, zamiast standardowych metod przekazywania ruchu z wykorzystaniem reguł iptables w Linuksie. Zaletą filtrowania ruchu przez WANProxy jest również to, że dane można kompresować. Poza tym WANProxy ma również własny cache (w pamięci RAM), więc może przechowywać część danych, dzięki czemu zduplikowane informacje nie są przesyłane przez łącze WAN.

Dzięki kombinacji WANProxy i Squid, pliki ze zdalnej lokalizacji, np. dokumenty Worda, będą w postaci skompresowanej przesyłane przez łącze WAN w całości tylko za pierwszym razem. Za drugim razem zostaną udostępnione z lokalnej pamięci podręcznej, co przyspieszy czas reakcji i ograniczy wykorzystanie łączy WAN.

Traffic Squeezer
Traffic Squeezer oferuje wszystkie powyższe funkcje, a potrafi zrobić nawet więcej. Oprócz kompresji i mechanizmów QoS, oferuje również funkcje konsolidacji i akceleracji wybranych protokołów. Natomiast funkcjonalność pamięci cache można uzyskać w kombinacji z oprogramowaniem Squid.

Konsolidacja ruchu oznacza wysyłanie wielu pakietów jako jeden, co redukuje narzut wynikający z nagłówków protokołów i małych pakietów. Traffic Squeezer łączy każdy pakiet i korzyści z tego mechanizmu znacznie rosną. Na stronie domowej programu jest wykres ilustrujący, jak to działa.

Optymalizacja TCP i niektórych protokołów (np. HTTP) także usprawnia korzystanie z łączy WAN, charakteryzujących się dużymi opóźnieniami i niską przepustowością. Inne funkcje, które mają zostać zaimplementowane, to szyfrowanie oraz optymalizacja VoIP. Traffic Squeezer to bardzo interesujący projekt i warto obserwować jego rozwój.

Kupić czy zbudować?
Bez wątpienia domyślasz się, że połączenie optymalizacji WAN i zapory sieciowej jest bardzo złożone. To zawsze jest problem w świecie open source. Ale swoboda konstruowania dowolnego systemu spełniającego wymagania firmy musi mieć swoją cenę. Jeśli jakieś narzędzia są proste w użyciu, jest tak dlatego, ponieważ to ich autor zadecydował, jaki system jest najlepszy dla Twojej firmy.

Mając zatrudnionego doświadczonego administratora, można wycisnąć całkiem sporo z łącza WAN o przepustowości 128Kb/s tylko przy pomocy narzędzi open source. Jeśli system został poprawnie skonfigurowany, bieżąca konserwacja z reguły ogranicza się do sporadycznych czynności raz na kilka miesięcy. Wybór między zakupem gotowego rozwiązania, a budowaniem własnego zależy przede wszystkim od budżetu i ograniczeń czasowych. W pierwszym przypadku trzeba dysponować znaczącym budżetem, ale system niemal od razu będzie działał sprawnie. W drugim przypadku również można osiągnąć dobre rezultaty, ponieważ samemu dostosowuje się system do potrzeb firmy. To jednak wymaga więcej czasu.

PODZIEL SIĘ

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ