Systemy autonomiczne
Tematykę systemów autonomicznych poruszamy w celu zrozumienia zasady funkcjonowania zależności pomiędzy AS’ami i późniejszego przeanalizowania korelacji występujących w analizowanym zbiorze danych. System autonomiczny określamy jako sieć (lub jej fragment), która jest zarządzana przez jednego operatora i posiadająca 16-bitowy identyfikator (ASn) wraz z własną polityką routingu. Operatorem może być ISP (ang. Internet Service Provider, dostawca Internetu, w skrócie ISP), duża uczelnia lub jakiś inny podmiot obsługujący fragment sieci. W Polsce obecnie możemy wyróżnić ok. 60 systemów autonomicznych.Obecnie można wyróżnić następujące sposoby propagacji informacji o trasach:
- IGP – (ang. Interior Gateway Protocol) – protokół typu wewnętrznego, odpowiedzialny za ogłaszanie tras wewnątrz pojedynczego systemu autonomicznego (można wyróżnić RIP czy OSPF)
- EGP - (ang. Exterior Gateway Protocol) – protokół typu zewnętrznego, zajmujący się wymianą informacji o trasach pomiędzy systemami autonomicznymi. Obecnie obowiązującym EGP jest protokół BGP (ang. Border Gateway Protocol ). Protokół ten opisany jest dokładnie w dokumentacji RFC1771 oraz RFC 1772.

Protokoły w systemach autonomicznych
Routery (oznaczone na rysunku R_BGP1 i R_BGP2), które łączą między sobą systemy autonomiczne (oznaczone na rysunku AS1 i AS2), wykorzystujące protokół BGP, są nazywane routerami brzegowymi (ang. border router) lub routerami BGP.
Klasyczna definicja systemu autonomicznego [RFC1930] określa AS jako zbiór routerów administrowanych w oparciu o protokół wewnętrzny (IGP) w celu przekazywania pakietów wewnątrz ASa, oraz wykorzystując protokół zewnętrzny do przekazywania pakietów do innych ASów. Reasumując: system autonomiczny jest połączonym zbiorem jednego lub grupy IP-prefixów zarządzanej przez jednego lub grupę operatorów sieciowych z odrębną polityką ruotingu (ang. routing policy). Routng policy określa w jaki sposób podejmowane są decyzje o routingu w Internecie. Przeanalizujemy teraz przykład [RFC1930] z dwoma systemami autonomicznymi (AS1, AS2) , gdzie AS1 wie jak dotrzeć do prefixu sieci NET1 jak na rysunku poniżej.

Przykład połączenia pomiędzy systemami autonomicznymi
W opisywanej sytuacji nie ma znaczenia czy NET1 należy do AS1 czy do jakiegoś innego AS, który wymienia informacje o routingu pośrednio lub bezpośrednio z AS1; zakładamy, że wie jak dostarczyć pakiety do NET1. Analogiczna sytuacja jest z systemem AS2 i prefixem NET2. Dla ruchu z NET2 do NET1 przepływającego pomiędzy AS1 i AS2, AS1 musi ogłosić NET1 dla AS2 wykorzystując zewnętrzny protokół routingu: oznacza to akceptację ruchu skierowanego do NET1 z AS2. Aby ruch mógł się odbywać AS2 musi zaakceptować politykę routingu i jej użyć. AS2 może, ale nie musi akceptować polityki i informacji wysyłanych z AS1 odnośnie dostępu do NET1. Może ją odrzucić w przypadku, gdy nie chce w ogóle kierować ruchu do NET1 lub rozważa wykorzystanie innej drogi dostępu do NET1. W celu przepływu ruchu w kierunku NET1 pomiędzy AS1 i AS2, AS1 musi ogłosić drogę do AS2 i AS2 musi ją zaakceptować.

Systemy autonomiczne – przykład
Idealną sytuacją, choć rzadką w praktyce jest symetryczne ogłoszenie i akceptacja polityk routingu pomiędzy systemami AS1 i AS2. W celu przepływu ruchu w kierunku NET2, ogłoszenie i akceptacja musi mieć miejsce, ponieważ dla większości aplikacji połączenie tylko w jednym kierunku jest zupełnie nieużyteczne.
Dla bardziej zaawansowanych topologii sieciowych niż ta zaprezentowana powyżej ruch sieciowy z NET1 do NET2 nie musi się odbywać tą samą drogą co z NET2 do NET1. Taką sytuację określa się mianem routingu asymetrycznego. Routing symetryczny nie jest sytuacja złą, ale może powodować problemy z wydajnością dla protokołów wyższego poziomu jak np. TCP, dlatego należy używać go tylko w wyjątkowych sytuacjach. Są jednak sytuacje, w których routing asymetryczny jest wskazany np. dla hostów przenośnych lub we właściwych sytuacjach asymetrycznych jak pobieranie danych z satelity czy połączenia modemowe.
Polityki routingu nie są konfigurowane oddzielnie dla prefixu sieci a dla ich grup, którymi są właśnie systemy autonomiczne.
Systemy autonomiczne mają nadany globalny unikalny numer (ang. autonomous system number, w skrócie ASN). Numeracja systemów autonomicznych wykorzystywana jest do ich identyfikacji oraz do wymiany zewnętrznej informacji o routingu. Analogicznie do numeracji sieci IP w numeracji systemów autonomicznych wyróżnia się podział na ASy:
- publiczne o zakresie numeracji od 1 do 64511
- prywatne o zakresie numeracji od 64512 do 65535
- Multihomed AS – (AS1) systemy, które łączą z resztą sieci Internet co najmniej 2 systemy autonomiczne, dzięki temu w razie awarii jakiegoś ISP system autonomiczny nadal zostaje połączony z resztą sieci Internet
- Singlehomed AS – (AS2) systemy, które są połączone z resztą sieci Internet tylko poprzez jeden AS (ISP)
- Transit AS – (AS3, AS4) systemy, które przenoszą ruch sieciowy pomiędzy innymi systemami

Rodzaje systemów autonomicznych