Koncentrator PPPOE
Point-to-Point Protocol over Ethernet jest szeroko wykorzystywany w sieciach dostępowych. Dostawcy Internetowi wdrażają protokół w celu łatwiejszej administracji rozrastających się sieci LAN. Protokół ten stosuje enkapsulację ramek PPP w ramki Ethernet. Dodatkowo sesja użytkownika autoryzowana jest za pomocą loginu i hasła, a ruch sieciowy może być szyfrowany. Dostawcy lokalni, którzy korzystają z rozwiązań opensource niekiedy dochodzą do kresu możliwości posiadanego sprzętu i stoją przed dylematem czy inwestować w rozwiązania producentów sprzętu sieciowego tj. Redback, Cisco, Juniper. W artykule przedstawiono informację na temat możliwości prostej architektury sprzętowej w oparciu o opensource, która został przetestowana i działa w środowisku produkcyjnym. Na rysunku została zaprezentowana architektura rozwiązania HA w oparciu o podstawowe komponenty.
W serwerowni dostawcy znajduje się centralny koncentrator. Dodatkowo funkcję jakie przyjmuje na siebie serwer to firewall oraz QOS.
Aby lepiej zrozumieć możliwości takiego rozwiązania przedstawię specyfikację sprzętową:
- Procesor Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
- Pamięć 4GB DDR2 FB
- LSI RAID 2×512 Mirror
- 2x Intel Corporation 82571EB
- Grafika ATI Technologies Inc ES1000
Serwer w takiej konfiguracji jest wystarczający aby osiągnąć 3000-5000 jednoczesnych połączeń sesji pppoe, a ruch sieciowy do sieci WAN 600-700Mbit/s. W dalszej części przedstawię na co należy zwrócić od strony sprzętowej i programowej.
Sprzęt. Istotnym czynnikiem w działaniu jest procesor, przedstawiony powyżej zalicza się do grupy end-of-live. Obecnie na rynku występują dużo szybsze procesory serii Nahalem. Pamięć ma znaczenie ponieważ sesję, kolejki i inne komponenty sieciowe potrafią ją wysycić. Do 4000 sesji powinno wystarczyć 4GB. Karty sieciowe tylko PCI-E np. takie jak w specyfikacji. Do optymalizacji sprzętowej zaliczyłbym wyłączenie niepotrzebnych rejestrów procesora z drugiej strony uruchomienie rejestrów procesora funkcjonalności Intel’s I/OAT w biosie serwera.
Software. W tej sekcji pozostaje więcej do konfiguracji. Tak naprawdę poprawne skonfigurowanie oprogramowanie to klucz do wydajnego koncentratora. W projekcie wykorzystano następujące wersję oprogramowania:
Kernel: linux-image-2.6.37.6-netkod_01_i386.deb linux-headers-2.6.37.6-netkod_01_i386.deb
Iptables: iptables_1.4.10-1_i386.deb xtables-addons-1.35.tar.gz ipset4 ipt_netflow-1.7.1 ulogd-1.24
Wyżej wymieniona wersja kernela zawiera obecnie najnowsze sterowniki do kart sieciowych tg3-3.115, e1000e-1.2.7-k2, imq (numqueues). Stworzony firewall powinien posiadać funkcjonalność ipset aby nie tworzyć drzewa niepotrzebnych wpisów które zmniejszają wydajność. Najbardziej zachłaną funkcjonalnością na zasoby w przypadku wyżej przedstawionego serwera pppoe jest QOS. Optymalizacją shaping’u polega na stworzeniu filter hashing. Droga pakietu do kolejki w przypadku 4000 filtrów może zmaleć do ok. kilku dopasowań. W ten sposób zyskujemy kilkadziesiąt procent na wydajności. Logowanie ruchu powinno odbywać się za pomocą rozwiązania ulog. Jeśli potrzebujemy bardziej wyrafinowane narzędzie do logowania, które pozwoli w czasie rzeczywistym przeglądać informację o pakietach to polecam ipt_netflow, które od strony serwer niewiele obciąża. Po stronie aplikacji do obsługi na nfsen należy zadbać o odpowiednią przestrzeń dyskową 1G/200Mbit ruchu/24h.
Narzędzia. Monitorowanie systemu może odbywać się z poziomu konsoli do przydatnych narzędzi można zaliczyć nmon for Linux, ethstats, vmstat, iostat, sar. Do przeglądania historycznych danych polecam zabbix-1.8, nfsen + plugin.
Artykuł przedstawia ogólne zasady konfiguracyjne systemu dostępowego, który obsługuje protokół pppoe. Jak widać rozwiązania opensourcowe nie odbiegają od funkcjonalności rozwiązań sprzętowych, które wykorzystują architektura ASIC/NPU. Jeśli chodzi o wydajność to granica coraz bardziej zaciera się.






