Skrót BGP oznacza Border Gateway Protocol. Jest to tak zwany protokół routingu wektora ścieżki, za pomocą którego różne autonomiczne systemy (AS) Internetu mogą być ze sobą połączone, a dane mogą być przesyłane przez granice AS.
Według doniesień aktualizacja oprogramowania BGP poszła nie tak i spowodowała awarię Facebooka.
Protokół Border Gateway może być używany w całym AS. W ramach AS często współpracuje z tak zwanymi protokołami bramy wewnętrznej (IGP), takimi jak Open Shortest Path First (OSPF) lub Intermediate System to Intermediate System (IS-IS).
Border Gateway Protocol (BGP) to standard sieciowy, który ustanawia logiczne ścieżki połączeń między systemami autonomicznymi, przez które przechodzą dane. Główne cechy BGP są opisane w RFC 1163. Obecnie używana wersja to BGPv4, która jest zdefiniowana m.in. w RFC 4271, 4760 i 4364.
Border Gateway Protocol nie ogranicza się do routingu IPv4 lub IPv6, ale może być również używany dla innych protokołów lub etykiet MPLS. BGP został zaprojektowany z myślą o skalowaniu i niezawodności. Jest to trudny do uruchomienia mechanizm routingu, a zbieżność ścieżek połączeń wymaga czasu.
Jak działa protokół Border Gateway?
Border Gateway Protocol działa w oparciu o wektor ścieżki. W celu przekazywania informacji o routingu routery nawiązują między sobą bezpieczne połączenia TCP. Wiadomości i informacje są wysyłane i odbierane za pośrednictwem tych sesji BGP. Używany do tego port to port TCP 179. Możliwe typy wiadomości to:
- OTWARTE: aby rozpocząć wymianę informacji w ramach sesji
- KEEPALIVE: potwierdzenie komunikatu OPEN i utrzymanie sesji. Sesje są utrzymywane przy życiu dzięki regularnym wiadomościom KEEPALIVE z podłączonych routerów
- AKTUALIZACJA: informowanie o zmianach ścieżki
- POWIADOMIENIE: do zerwania połączenia i usunięcia ścieżek, np. ponieważ wiadomości KEEPALIVE nie są już odbierane
Komunikaty UPDATE odgrywają centralną rolę w protokole Border Gateway. Routery wykorzystują te powiadomienia do odkrywania nowych tras lub do otrzymywania informacji o zniknięciu istniejących. Na podstawie otrzymanych danych router może utworzyć wykres przedstawiający sieć systemów autonomicznych. Procedura generowania wykresu pomija pętle i uwzględnia charakterystykę tych ścieżek, które zostały uwzględnione w aktualizacji. Możliwe atrybuty trasy to:
- AS_PATH: Informacja o tym, który AS jest możliwy do osiągnięcia. Systemy autonomiczne są reprezentowane przez numery AS
- Następny skok: adres IP następnego węzła pośredniego w drodze do prefiksu
- Miernik IGP: Informacje o kosztach przez własną sieć
- Multi-Exit Discriminator (MED): do priorytetyzacji połączeń równoległych
- Tagi routingu lub społeczności: 32-bitowe wartości, którymi można oznaczać prefiksy w celu filtrowania
- Preferencje lokalne: do wyboru ścieżki w AS
- Pochodzenie: źródło przedrostka. Możliwe wartości to wewnętrzne, zewnętrzne lub niekompletne
Rozróżnienie między EBGP a IBGP
Za pomocą Border Gateway Protocol można łączyć nie tylko różne systemy autonomiczne. Protokół routingu może być również używany do łączenia routerów w ramach AS. W zależności od zastosowania mówi się o zewnętrznym lub wewnętrznym BGP (EBGP lub IBGP).
Dane są kierowane przez autonomiczny system przez routery AS podłączonego do IBGP. W tym celu routery propagują trasy poznane przez EBGP w ramach własnego AS. Umożliwia to przesyłanie specyficznych dla BGP atrybutów prefiksów. Sesje BGP muszą być ustanowione między wszystkimi routerami, które używają do komunikacji protokołu Border Gateway.
Do rzeczywistego połączenia między routerami zwykle wymagany jest protokół IGP (Internal Gateway Protocol), taki jak OSPF (Open Shortest Path First) lub IS-IS. Reflektory tras są metodą stosowaną w celu uniknięcia trudności skalowania wynikających z pełnej siatki w dużych sieciach. Każdy router BGP potrzebuje tylko jednego połączenia do reflektora trasy, który śledzi wszystkie trasy otrzymane przez EBGP i rozsyła je do wszystkich routerów w AS za pośrednictwem IBGP.