Border Gateway
Protocol
W poszukiwaniu najlepszej
trasy
Użytkownicy Sieci rzadko myślą o systemach i
urządzeniach infrastruktury, które umożliwiają właściwe
działanie Internetu. Szybki rozwój Sieci wymusił zmiany
w organizacji dostępu do poszczególnych komputerów.
Sposoby organizacji tego dostępu to właśnie protokoły
routingu.
Pierwsze
protokoły obsługiwały tylko pojedyncze podsieci i
wymagały ręcznej konfiguracji sprowadzającej się do
wpisania statycznej tabeli połączeń, a maksymalna liczba
przeskoków wynosiła 15. Kolejne wersje protokołów
powstawały, gdy poprzednie nie wystarczały do
efektywnego zarządzania ruchem w sieci. Różnorodne
urządzenia i przepływności połączonych sieci stawiały
coraz większe wymagania przed routerami i ich
oprogramowaniem, a szybkość przekazywania danych po
poszczególnych łączach zaczęła mieć znaczenie dla
sposobu nawiązywania połączenia. Wszystkie te czynniki
miały wpływ na ewolucję i specjalizację także w warstwie
protokołów, które dynamicznie budują trasy połączeń.
Obecnie
wyróżnia się dwie podstawowe grupy protokołów
wewnątrzdomenowe IGP (Interior Gateway Protocol) oraz
pozadomenowe EGP (Exterior Gateway Protocol). Można
powiedzieć, że protokoły te wyraźnie zmierzają w
kierunku stworzenia wielopoziomowej struktury
identyfikacji adresata informacji zbliżonej do
hierarchicznego systemu numeracji telefonicznej. Odbiega
to znacznie od pierwotnego pomysłu na całkowicie płaski
system adresacji w Internecie wielkość sieci
uniemożliwiła praktyczne stosowanie tej metody.
Protokoły
grupy IGP służą do wymiany informacji o topologii sieci
w obrębie jednolitego systemu autonomicznego, w jednej
domenie administracyjnej i posługują się dwiema metodami
badania sieci. Metoda wektora odległości pozwala
wyliczyć trasy, gdy wszystkie sąsiadujące routery w
sieci prześlą do siebie swoje tablice routowania. W
metodzie stanu łącza, po rozpowszechnieniu w sieci
informacji o lokalnych połączeniach innych routerów,
specjalny algorytm o nazwie Shortest Path First pozwala
wyliczyć odległości do wszystkich sieci i podsieci.
Protokoły
EGP służą do wymiany informacji pomiędzy dostawcami
usług internetowych i transportowych sieciowych. Można
obrazowo powiedzieć, że śledzą one główne trasy, a
identyfikację ostatecznego odbiorcy powierzają routerom
systemów autonomicznych wykorzystujących IGP.
Ze względu
na złożoność Internetu nie ma możliwości ręcznej
konfiguracji tras. Routery robią to same, a protokoły
muszą uwzględniać w przekazywanych informacjach dane,
które pozwolą optymalizować i upraszczać trasy. Muszą
także umieć wykryć awarie lub przeciążenia na części
łączy. Pożądane jest także, aby protokół uniemożliwiał
zapętlenie drogi przy automatycznej analizie tras oraz
żeby wymieniane informacje o trasach nie powodowały
zapchania łączy. Podstawą routowania są tablice, które w
jednym routerze mogą być tworzone za pomocą kilku
protokołów używanych na różnych łączach fizycznych
routera.
Nie ma
możliwości zaprojektowania algorytmu wyznaczania trasy
optymalnego dla każdego rodzaju fizycznej topologii
sieci. Należy więc pamiętać, że niektóre protokoły są
efektywniejsze w ściśle określonych strukturach sieci.
Analogicznie można stwierdzić, że nie ma najlepszego
protokołu każdy ma dobre i złe cechy, zależnie od
konkretnej sytuacji. Jeżeli dysponujemy jednym łączem,
to w zupełności wystarcza statyczny wpis do tablicy
routingu na naszym serwerze i dowolny protokół ani
najlepszy router niewiele w takiej sytuacji zmienia.
Wyjątkiem jest sytuacja dostawcy Internetu mającego
jedno łącze, przez które przepływa ruch w bardzo wielu
kierunkach. W tej sytuacji własny router BGP może nieco
usprawnić wysyłkę pakietów, ponieważ od razu je
precyzyjniej adresuje.
Border Gateway
Protocol
Przy
wyznaczaniu trasy niezbędna jest właściwa wymiana
informacji pomiędzy protokołami EGP i IGP. Obecnie
najbardziej zaawansowanym rozwiązaniem jest protokół BGP
4, który spełnia rolę protokołu uniwersalnego, który
można wykorzystać do budowy tablic routingu wewnętrznego
w systemie autonomicznym (IBGP) oraz ścieżek routingu
pomiędzy dostawcami (EBGP). Rozróżnienie to jest umowne,
stosowne do aktualnego obszaru działania protokołu.
Routery
BGP 4 definiują sesje sąsiedzkie, które wykorzystując
standardowy TCP, służą do wymiany informacji o trasach
sieciowych i ścieżkach w systemach autonomicznych.
Routery takie nazywamy równorzędnymi, a sesja TCP trwa
do chwili zerwania połączenia fizycznego. Po nawiązaniu
połączenia routery wymieniają między sobą całe tablice
routingu. W stosunku do dawniejszych IGP wprowadzono
mechanizmy numerowania wersji tablic, co umożliwia ich
aktualizację przez wymianę informacji różnicowych.
Dzięki temu wszystkie routery równorzędne synchronizują
się praktycznie natychmiast. Bardzo ważną cechą BGP jest
to, że ogłasza tylko trasę najlepszą, ale w osobnej
tablicy przechowuje trasy zapasowe. Protokół BGP
optymalizuje trasę na podstawie długości ścieżek do
systemu docelowego, ale umożliwia także arbitralny wybór
drogi.
Organizacja sieci z
BGP
Każdy
system autonomiczny musi mieć swój unikalny
identyfikator ASN (Autonomic System Number), nadawany
przez organizacje RIPE, APNIC lub ARIN. Numer ten jest
identyfikatorem wszystkich routerów BGP danego systemu.
Powielenie numeru na zewnątrz grozi wyłączeniem dużych
obszarów sieci ze względu na wewnętrzne zabezpieczenia
protokołu przed zapętleniem. Dla routerów BGP w sieciach
prywatnych, niepołączonych z Internetem, wykorzystuje
się numery z zakresu 32768- 64511. Elementem
usprawniania działania sieci jest możliwość filtracji
rozgłaszanych sieci, tak aby kierować połączenia na
różne interfejsy fizyczne do różnych routerów
fizycznych. Podobnie można wybrać i pogrupować
informacje o trasach, które są rozgłaszane do
poszczególnych routerów.
Tworzenie
tablic routingu przez różne protokoły
W
systemach autonomicznych routery BGP mogą tworzyć
konfederacje, które zmniejszają ruch wewnątrz systemu,
tworząc automatycznie subsystemy o strukturze
pierścieni. Inną metodą zmniejszania ruchu jest
hierarchiczna konfiguracja routerów w strukturze drzewa
nazywana klastrem, gdzie router nadrzędny pełni rolę
propagatora tras (Route Reflector), a routery gałęzi nie
prowadzą działalności rozgłoszeniowej.
BGP w
obszarze zewnętrznym (EBGP) i wewnętrznym (IBGP) systemu
autonomicznego
Bardzo
interesującą możliwością jest także przekazywanie ruchu
BGP poprzez autonomiczny system, który wewnątrz nie
obsługuje tego protokołu. W znacznym stopniu można
skorzystać z dobrodziejstw BGP, jeżeli firma mająca
więcej niż jedno połączenie z Internetem wymieni routery
brzegowe na takie, które obsługują BGP 4.
Dla kogo BGP
Routery
obsługujące BGP 4 są znacznie droższe niż ich
poprzednicy. Trzeba pamiętać, że wbudowana
funkcjonalność wymaga ogromnej mocy obliczeniowej oraz
pamięci do obsługi złożonych funkcji routowania. Bez
przesady można stwierdzić, że oprogramowanie routerów
jest jednym z najbardziej złożonych współczesnych
zagadnień programistycznych. Oprogramowanie to musi
podejmować decyzje w złożonej i dynamicznie zmieniającej
się topologii sieci.
Propagator
tras (Route Reflector) z routerami klienckimi i
równorzędnymi
Routing
BGP wymaga, aby inne routery sieci także umiały go
obsłużyć w miarę rozprzestrzeniania się technologii
można będzie z niej korzystać na coraz niższym szczeblu.
Konfederacja routerów BGP
W
sieciach, które funkcjonują od dawna proces wymiany
routerów musi potrwać, nie należy się więc dziwić, że
nie nastąpi to jednego dnia jest to bardzo kosztowne i
trudne organizacyjnie. Sieci dostawców wchodzących na
rynek nie mają tych ułomności zawsze są
najnowocześniejsze.
Czy BGP
można czymś zastąpić? Teoretycznie tak można stosować
stare protokoły, dodatkowe serwery nazw itp. Wymaga to
jedynie zwiększania mocy obliczeniowych i pasma na
informacje techniczne sieci, niezbędne dla jej
funkcjonowania. Rozwój ekstensywny rzadko kończy się
sukcesem, lepiej więc stosować rozwiązania
"inteligentniejsze", efektywniejsze w działaniu.