Buduję serwer, który ma działać jako router graniczny BGP dla mojego łącza wysyłającego 100 Mb / s w ISP.
Potrzebuję tych funkcji:
1) Peering / routing BGP z dwoma stosami (co najmniej 100 Mb / s, może więcej). 2) Potencjalny pełny internetowy kanał BGP. 3) Niektóre podstawowe funkcje ACL.
Sprzęt to RAM L3426 / 8G. NIC będzie na pokładzie podwójnego portu Broadcom 5716.
Wcześniej intensywnie pracowałem z Linuksem i wydaje się, że jest on w stanie obsłużyć 100 Mb / s, ale słyszałem, że FreeBSD działa szybciej w sieci. Którego powinienem użyć? Czy mamy tam jakieś wyniki testów wydajności?
Twoje zdrowie.
linux
networking
performance
bgp
petrus
źródło
źródło
Odpowiedzi:
Zrobiliśmy to dokładnie w przypadku infrastruktury krytycznej od wielu lat. Bierzemy trzy pełne kanały BGP w górę strumienia przez Quagga
bgpd
i używa aż 658 MB pamięci RAM do uruchomienia całego systemu. W tym celu Debian jest o wiele bardziej solidny niż inne systemy operacyjne z naszego doświadczenia (a także wymaga mniej aktualizacji zabezpieczeń przy minimalnym zużyciu instalacji, powodując znacznie mniej restartów niż dwa inne systemy operacyjne, które wypróbowaliśmy). Używamy Ksplice, więc uruchamiamy się tylko w przypadku krytycznych aktualizacji pakietów. Nie martw się wcale o kompatybilność z innymi dostawcami u twojego dostawcy usług internetowych ... RIPE the RIR use Quagga!Zaskakujące jest to, że sprzęt nie jest aż tak ważny, chodzi tylko o karty sieciowe. Szybkie procesory po prostu oznaczają, że prefiksy ładują się szybciej, jeśli odświeżasz sesje (zakładając, że masz GB pamięci RAM i ładują się one do pamięci), więc czterordzeniowy procesor podstawowy jest znacznie zawyżony. Spędziliśmy dużo czasu próbując różnych kart sieciowych i według naszego doświadczenia najlepsze są karty Intel, które korzystają ze
igb
sterownika (za około 100 funtów / kartę sieciową używamy: 82576, ET Dual Port Server Adapter) ze1000
na drugim miejscu. Istnieje kilka uwag, takich jak sposób wejścia i wyjścia karty NIC z płytą główną, ale w przypadku przepustowości poniżej 250 Mb / s prawdopodobnie nie zauważysz, jeśli korzystasz z tych kart. Odepchnęliśmy zaawansowany atak UDP DDoS za pomocą tej architektury (wykorzystano najmniejsze pakiety UDP, z którymi radzą sobie routery). Pamiętaj, że największym problemem może być przetworzenie największej liczby pakietów, a niekoniecznie przepływność mierzona w Mb / s. Za bardzo małe pieniądze wybraliśmy gigabitowy router wieloadresowy, który może obsługiwać pakiety o standardowym rozmiarze internetowym, tj. Normalne działanie, do 850 Mb / s!Zacząłem od Cisco (
bgpd
konfiguracja jest prawie identyczna, więc jeśli masz doświadczenie z zestawem Cisco, jest to naprawdę szybkie przejście), ale ponieważ Linux jest bardzo plastyczny (np. Jest w stanie dodać kilka skryptów o niskim poziomie zasobów do twoich routerów aby pomóc w raportowaniu i administrowaniu) IMHO sprawia, że jest niezwykle wydajny (i niedoceniany) dla tego typu konfiguracji. Nie możesz popełnić błędu, czytając niektóre archiwa listy mailingowej Nanog, jeśli nadal masz wątpliwości lub potrzebujesz dalszej pomocy.To powinno sprawić, że zaczniesz dość szybko w Debian: Easy Quagga Tutorial
źródło
tc
po początkowej krzywej uczenia tc. Ostrzegam jednak, że uruchomienie IPtables na skrzynce przesyłania znacznie zmniejsza wydajność jądra podczas ataków z tego, co widzieliśmy.Obie są zdolnymi platformami. Uruchom coś solidnego, takiego jak Debian lub Centos, na dobrym sprzęcie klasy serwerowej. Upewnij się, że określiłeś serwery z kartami sieciowymi Intel Server, ponieważ są one znacznie lepsze niż Broadcomm pod względem stabilności.
Jeśli chodzi o BSD vs. Linux, to jest łatwe. Wybierz, w którym jesteś najbardziej kompetentny.
źródło
Widziałem stare Celerony obsługujące 80-90 Mb / s normalnego ruchu w konfiguracji Debian / Quagga z 3 pełnymi kanałami, nawet nie pociąc się. Jednak kwalifikatorem jest „normalny” ruch, głównie HTTP / SMTP i DNS. Te same maszyny upadły płasko na twarz w sytuacjach DDOS, w których liczba pakietów na sekundę poszła do absurdalnej liczby, głównie pakietów UDP.
Zwykle nie jest to przepustowość, o którą zwykle musisz się martwić, ale PPS, którym będziesz się zajmować.
Niestety, nie mogę ci pomóc w Linuksie VS BSD w części dotyczącej wydajności routingu, ale nie powinno to mieć żadnego wpływu na obecny sprzęt na kilka połączeń 100 Mb.
źródło
Quagga (Zebra) działa zarówno na systemie Linux, jak i BSD. Wydajność sieci Linuksa nie jest gorsza niż BSD. Tak więc możesz rozważyć dodatkowe kryteria wyboru platformy.
źródło
Punkt danych:
Korzystam z pary serwerów Dell R200 na Fedorze, z których jeden widział szczyt 500 Mbps z NAT, iptables, LVS, quagga, bgpd przez łącze 1GigE. Przy prędkości 100 Mb / s każdy nowoczesny sprzęt powinien działać dobrze. Aby obsłużyć pełne tabele, powinieneś być w stanie sprawdzić odpowiednie wymagania dotyczące pamięci RAM od Cisco lub Juniper i przejść od tego momentu. 1 GB pamięci RAM powinno wystarczyć nawet bez filtrowania. Moje routery działają ze skonfigurowanymi 2 GB, ale wybieram tylko trasy domyślne.
źródło