NEVIDLJIVE INFRASTRUKTURE: Internet mapa Srbije

01-06-2015

iljadama godina mape su ljudima bile esencijalno sredstvo za definisanje, objašnjavanje i orijentisanje na putu kroz svet. Topologije mreža interneta su bitan alat u karakterizaciji infrastrukture, razumevanju svojstava, ponašanja i evolucije interneta.

U našem prethodnom istraživanju ispitivali smo pojedinačno internet provajdere, njihovu veličinu i strukturu. U ovom pokušavamo da razumemo njihovu međusobnu povezanost, istražujemo mrežu mreža, a možemo reći i interna svojstva interneta.

InternetMap

Šta vidimo?

Identifikujući i prateći putanje (tracerouting) 300.000 IP adresa i 30 ISP-eva u Srbiji, uspeli smo da stvorimo mapu od preko 4500 glavnih linkova i servera koji čine srž nacionalne internet infrastrukture. Ovom mapom mrežne topologije uspeli smo da identifikujemo: glavne aktere – kompanije (internet servis provajdere) koje drže i kontrolišu infrastrukturu, imaju mogućnost pristupa, zadržavanja, analize ili prodaje metapodataka korisnika, zatim njihove tačke međusobnog spajanja, nacionalne Internet izlazne tačke, i stepen centralizovanosti infrastrukture na državnom nivou, kao i na nivou pojedinačnog ISP-a.

Svaka tačka na mapi predstavlja jednu IP adresu (ruter ili neki drugi mrežni uređaj), dok su linije između tačaka veze, kablovi koji ih spajaju. Svaka boja predstavlja drugog internet provajdera. Naglasimo samo da je ovo mapa internet topologije, tj. da ovo nije fizička mapa i ne prikazuje precizne geografske lokacije.

Mreže, kojima rukovode različiti internet provajderi, povezane su na različitim fizičkim lokacijama gde su njihovi ruteri povezani kablovima. Ove tačke spajanja se zovu tačke razmene internet saobraćaja – IXP (Internet exchange points). To su mesta na kojima se različite mreže sastaju, spajajući se u jedan sistem, omogućavajući nam da se povežemo sa uređajima priključenim na druge mreže.

Interkonekcije su i suština Interneta i izraz poslovnog odnosa između internet provajdera1.

Većina provajdera nema uspostavljen direktan odnos (peering arrangements) sa svim ostalim provajderima na svetu. Stoga, uz izuzetak malog broja operatora veoma velikih multinacionalnih mreža, većini provajdera je potreban bar jedan tranzitni provajder da bi omogućili sebi (i svojim korisnicima) pristup celom intrenetu.2.

Bez obzira na snažnu teorijsku pozadinu i virtualnost same materije koja je bila predmet ovog istraživanja, krajnji rezultat je prilično konkretan.

Najznačajniji ishod je identifikacija mesta ukrštanja mreža. Upravo to su tačke moći i što se više provajdera sastaje na toj jednoj lokaciji, ruteru, serveru, to je značaj i moć te tačke veći.

Veoma je značajno znati ko ih drži i kontroliše jer taj entitet kontroliše internet u Srbiji.

U svakom slučaju, najznačajnije je to da materijal koji je proizašao iz ovog istraživanja može služiti kao polazna tačka za neka druga multidisciplinarna istraživanja u vezi sa infrastrukturom interneta u Srbiji, kao na primer merenje brzine interneta u Srbiji, stepen namernog usporavanja protoka, utvrđivanje najkorišćenijih ruta za pristup onlajn sadržaju itd.


Metodologija

Proces istraživanja je podeljen u četiri faze. S obzirom na to da svaka faza obezbeđuje ulazni materijal za narednu, svaka faza je podjednako bitna. Finalni izlazni rezultat celokupnog istraživanja takođe može poslužiti kao osnova za neku novu, napredniju analizu:

Utvrđivanje IP opsega

Svaki uređaj koji je povezan na internet ima jedan ili više interfejsa preko kojih komunicira sa ostalim uređajima na mreži. Svaki interfejs na mreži je definisan određenim skupom parametara od kojih je jedan IP adresa. IP adresa je logička internet protokol adresa koja omogućava podacima da putuju po Internetu od svog izvora do namenjenog odredišta.

 

Iako su IP-evi više logički nego fizički, koristeći IP adresu jednostavno je odrediti u kojoj se zemlji nalazi uređaj koji je koristi. Razlog tome je taj što se IP adrese dodeljuju korisniku od strane jedne uprave. IANA (Internet Assigned Numbers Authority) preko RIR-a (Regional Internet RegistriesRIPE NCC za Evropu i delove Azije) dodeljuje određen opseg IP adresa entitetima zainteresovanim da ih iznajme, ali oni drže bazu podataka o tome koji opseg je dodeljen kome i ostale podatke, uključujući i koji opseg je povezan sa kojom državom. To znači da su IP adrese donekle i fizičke adrese. Informacije su javno dostupne i postoje sajtovi koji prikazuju opsege IP adresa prema državama kao i njihove vlasnike.

Skeniranje mreže

S obzirom na to da nisu svi uređaji direktno povezani jedni sa drugima (zapravo, veoma malo njih jeste, npr. čak i računari u istoj kancelariji koriste ruter da bi komunicirali), postoji neophodnost usmeravanja saobraćaja na internetu. To znači da ako jedan host hoće da komunicira sa drugim na internetu, mora da uspostavi rutu kojom će se povezati. Ta ruta je u suštini skup IP adresa različitih mrežnih uređaja koji omogućavaju da ta dva hosta komuniciraju.

 

Dakle, kako bi došli do adrese odredišta, podaci skaču od jednog hosta do drugog. Da bi se videlo kako su dva hosta povezana, koristi se ICMP (Internet Control Message Protocol), jedan od najznačajnijih protokola u skupu IP protokola. Postoji jednostavan alat zvan trejsrut (traceroute), najčešće korišćen u mrežnoj dijagnostici, i on čini skokove podataka u mreži vidljivim i sistematičnim, tj. upotrebljivim kroz slanje ICMP poruka i čekanje odgovora od hostova odredišta.

Za trejsrutovanje opsega IP adresa postoji poseban alat – Nmap, koji je veoma precizan i jednostavan za upotrebu, s tim što, naravno, što je veći opseg, to je veća eksploatacija računarskih resursa. U suštini, Nmap trejsrutuje putanje između hostova po kojim ide i svaku IP adresu iz opsega koji se skenira.

Beleška: Izlazni proizvod se zapravo sastoji iz ruta koje povezuju izvorne računare sa svim aktivnim hostovima iz opsega koji primaju ICMP poruke.

Obrada podataka

Skeniranjem smo dobili ono što zovemo ‘sirovim podacima’ u ovom slučaju. Oni sadrže prilično veliku količinu podataka koji nisu upotrebljivi, što je posledica toga što hostovi iz raznih razloga ne daju nikakav odgovor tokom skeniranja i stoga su irelevantni za internet infrastrukturu u trenutku skeniranja.

 

Podaci koji su zapravo upotrebljivi moraju biti ekstraktovani i formatirani na adekvatan način, kako bi se mogli upotrebiti kao ulazni materijal u softveru za vizualizaciju. Najbitnije je znati sa čim softver za vizualizaciju može da radi, a za ovo istraživanje to su bili CSV (Comma Separated Values) fajlovi, jednostavne strukture sa 3 polja – IP izvora, IP destinacije i oznaka.

 

Proizvod Nmap-a se može sačuvati u .xml fajlu. Oba ova fajla su u stvari verzije text fajla, što čini proces parsiranja podataka znatno lakšim. U suštini, potreban je softver koji će preuzeti tekst iz jednog fajla i prebaciti ga u drugi. Za ovo postoji dosta dostupnih opcija na internetu, uglavnom skripti i tako je u našem slučaju korišćena pajton skripta.

 

Skriprta uzima dve vrednosti – ulazni fajl i izlazni fajl – i ono što radi je da pretražuje tekstualne fajlove za određene reči (u ovom slučaju „trace” i „ipaddr”) i, kada dođe do tih unapred definisanih reči, uzme potrebne vrednosti. Na kraju generiše .csv fajl sa potrebnom strukturom (u ovom slučaju izostavljajući deo oznake jer nije potrebna).

Korišćena skripta je dostupna ovde.

Beleška: Oni koji preferiraju Perl u odnosu na Python mogu pogledati ovaj link.

Vizualizacija podataka

Kako bi se vizualizovali veliki skupovi podataka, u našem slučaju više od 300.000 različitih IP adresa i veza između njih, moramo prvo naći alat koji je sposoban da obradi, prikaže i transformiše mrežu u mapu. Mi smo koristili Gephi, interaktivnu platformu za vizualizaciju i istraživanje, namenjenu različitim tipovima mreža i kompleksnih sistema, dinamičkih i hijerarhijskih grafikona.

Naš glavni izazov je bilo pitanje kako predstaviti veliki broj čvorišta na najzgodniji način a istovremeno dobiti vizualizaciju upotrebljivu za dalja istraživanja. Većina algoritama za grafički prikaz integrisanih u Gephi softver tokom naših testova nisu uspešno prikazali velike setove podataka sa više od 100.000 čvorišta, osim delimično OpenOrd i ForceAtlas2 algoritama.

ForceAtlas2 algoritam koji smo koristili je kraj Continuous Graph Layout Algorithm (force-directed layout). Više o ovom algoritmu možete naći ovde.

Kako bismo što jasnije predstavili rezultate odlučili smo da eliminišemo krajnja čvorišta, prakticno rutere koji se nalaze na samim krajevima mreže. Ovo je smanjilo i pojednostavilo skup na 4067 glavnih čvorišta, IP adresa koje predstavljaju povezanu infrastrukturu glavnih rutera i servera kojim se služe krajnji korisnici u Srbiji.

Alati:

Nmap ( http://nmap.org/ )

Python skripta korišćena za parsiranje XML-a u CSV (script)

Naša skripta za trejsrutovanje

Gephi ( http://gephi.github.io/ )