Czy należy się bać routingu BGP ?
niedziela, lipiec 16th, 2006 by Paweł RutkowskiKrótka odpowiedź - nie
BGP jest protokołem routingu. Pozwala on na podłączenie kilku różnych łączy i kierowanie przez nie ruchu w zależności od naszych potrzeb. Podstawowe zastosowania:
- Kilka łączy (np. backupowe)
- Łącza asymetryczne (np.: jedno ma przepustowość X, drugie zaś X/4)
- Łącza do różnych providerów (np.: chcemy aby ruch do sieci GTS szedł przez jedno łącze, a ruch do Futuro przez drugie)
Ostatnio sam stanąłem przed potrzebą uruchomienia BGP, obejżałem kilka dostępnych rozwiązań software’owych. Na pierwszy ogień poszedł pakiet Quagga (swego czasu zwanym Zebra). Jest to dość stary pakiet, ale odziwo nie odbija się to dobrze na jego stabilności. Potrafi on czasem zrobić bardzo duże problemy (np.: process zginie samoistnie czyszcząc całą tablicę routingu). Może to spowodować całkowite odłączenie maszyn pracujących w sieci. Dodatkowo jest bardzo ma bardzo duże zapotrzebowanie na pamięć (co może świadczyć o błędach wycieku pamięci ).
Ponieważ nie moge sobie pozwolić na niestabilne działanie systemów, musiałem poszukać alternatywy. Zainteresowałem się OpenBGPd. Jest to dość młody projekt ze stajni OpenBSD. Wersja której użyłem jest oznaczona numerkiem 3.9. Odrazu widać przewage nad Quagga - process jest mały i w porównaniu z nią zapotrzebowanie pamięci jest małe. Dodatkowo działa stabilnie, zaś konfiguracja jest prosta i przyjemna (w zależności od konfiguracji ISP - może się ograniczać tylko do pisania ok 20 krótkich linijek tekstu).
Co do samego mechanizmu BGP - jeżeli nie ma się łącza na nim opartego, wydaje się on bardzo abstrakcyjny. Natomiast jeżeli już się z nim zacznie pracować to okazuje się że wszystko jest proste i oczywiste. Zatem jeżeli masz możliwość rozpoczęcia przygody z BGP, bardzo mocno zachęcam (o ile użyjesz OpenBGPd). Oprócz tego że jest to ciekawa zabawa, to daje potężne możliwości zarządzania ruchem.