Implementacija sistema za verifikaciju neutralnosti računarskih mreža (1. deo) – Uvod
Autor: Miloš Budimir
Uvod
Nemoguće je danas zamisliti svakodnevnicu bez konstantnog i neograničenog pristupa internetu. Intenzitet korišćenja i potreba za pristupom mreži veći su nego ikad, a uz povećane brzine i sve veći broj uređaja u godinama koje dolaze, nastaviće se tendencija rasta internet saobraćaja. Sa sve učestalijim i masovnijim korišćenjem interneta i tehnologija koje ga prate, nije iznenađujuća pojava raznih pokušaja kontrolisanja virtuelnog prostora od strane vlada i gigantskih korporacija. Od zalaganja za slobodan i otvoren hardver i softver, stiglo se do sve zvučnije borbe za očuvanje slobodnog, decentralizovanog i neutralnog interneta dostupnog svima. Te osobine jesu ono što je učinilo internet onime što danas i jeste.
Kada se govori o internet neutralnosti (eng. Net Neutrality) ne može se govoriti o preciznoj definiciji pojma, te kada se kaže da je zabeleženo kršenje internet neutralnosti, podrazumeva se više različitih mehanizama ugrožavanja nezavisnosti i decentralizovanosti interneta: usporavanje određenog internet saobraćaja radi efektivnog postizanja cenzure ili manipulacije konkurentskim servisima, zatim tzv. brze staze kojima se određenim servisima za određenu naknadu nudi veći protok i brzine, ili recimo popularna nulta tarifa koja je svima poznata kao besplatno korišćenje određenih društvenih mreža u postpejd paketima mobilne telefonije, čime se faktički umanjuje mogućnost konkurentskih aplikacija da dođu do korisnika.
S obzirom da ne postoji precizno i sistematizovano definisano na koji način se meri da li je mreža neutralna, jer tema je relativno nova i nema jasnih procedura i preporuka, ovaj serijal tekstova bavi se jednostavnom analizom mreže i predstavlja predlog kako se može meriti internet neutralnost, tj. jeste pokušaj doprinosa daljem definisanju i razvijanju pojma internet neutralnosti, u cilju očuvanja interneta kakav slobodan svet poznaje. Ideja ovog serijala jeste da se napravi sistem koji bi verifikovao da li neki provajder (ISP – Internet Service Provider) uspostavlja politike kojima favorizuje neke servise ili lokacije, a ka drugima kvari uslugu odnosno tada – nije net neutralan.
Jedan od primećenih slučajeva jeste usporavanje video streaming servisa određene kompanije, kako bi sličan servis samog internet provajdera dobio poverenje većeg broja korisnika. Upravo takvo ponašanje analizira alat Vehe (eng. Wehe) preko kog korisnik koristeći neki servis, npr. Jutjub ili Netfliks (eng. Netflix), dobijene podatke šalje ka Vehe serveru, a potom se sa Vehe servera ti isti podaci vraćaju korisniku samo sa slučajnim bajtovima kao sadržajem. Tada se porede brzina odziva, gubitak paketa itd, sa idejom da će se na taj način pokazati da li ISP na neki način usporava ili blokira pakete određenog sadržaja. Više o tome na sledećem linku.
Još jedan postojeći alat OONI koristi se prevashodno za proveru cenzure interneta, tako što gleda da li su određeni sajtovi blokirani na nekoj teritoriji. Tako su i birani sajtovi za testiranje: oni za koje bi, usled nedostatka slobode govore i povećane cenzure, bilo razloga da budu zabranjeni globalno ili lokalno u nekoj državi.
BEREC (Body of European Regulators for Electronic Communications) je 2017. godine u jednom od svojih izveštaja dao inicijalni predlog jednog kompleksnog softverskog sistema za praćenje različitih metrika, s ciljem otkrivanja kršenja neutralnosti interneta. Taj softver je i napravljen krajem 2019. godine od strane dve nemačke i austrijske firme međutim još uvek nije našao svoju primenu, a BEREC preporučuje nacionalnim telima (kao srpski RATEL – Regulatorna agencija za elektronske komunikacije i poštanske usluge) korišćenje ovog ili nekog sličnog softvera radi analize mreže i prepoznavanja eventualnih kršenja njene neutralnosti.
Svaki od ovih alata ima svoje prednosti i mane, ali još uvek ne postoji niti jasan standard niti rasprostranjenost jednog konkretnog softvera ili metodologije među zajednicom. Iz tog razloga, u ovom radu koristiće se jednostavne metode analize mreže, a s ciljem da se uz diskusiju pokuša izvući zaključak tj. definiše kako bi se na taj način mogla meriti neutralnost mreže. U BEREC-ovom izveštaju „Net Neutrality Regulatory Assessment Methodology“, kao relevantni parametri za merenje i analizu pominju se merenje protoka, kašnjenja, gubitka paketa… U ovom radu fokus je stavljen na pravljenje sistema za merenje odziva pri DNS i HTTP zahtevima ka određenim internet stranicama, i za to merenje biće korišćen postojeći alat otvorenog koda perfSONAR (eng. perfSONAR).
Arhitektura sistema
Kada je reč o arhitekturi jednog ovakvog sistema izdvajaju se dve moguće opcije za realizaciju. Prva bi bila da korisnik može prema sopstvenom nahođenju da odabere određene veb stranice i poredi vremena odziva nad njima na osnovu pojedinačnog merenja (korisnika lično interesuje da li njemu/njoj provajder uvodi neku restrikciju), a druga da se zaključak dobije na osnovu statističke analize velikog broja merenja koja su skupljena od različitih provajdera na nekoj teritoriji, prateći u dužem vremenskom intervalu isti predefinisani skup sajtova (ako se govori o veb saobraćaju).
U BEREC uputstvu za izradu alata za merenje neutralnosti interneta data je šema preporučene arhitekture sistema za lokalna regulativna tela (slika 2.1).
Međutim, za potrebe izrade ovog serijala arhitektura sistema izgledaće nešto jednostavnije. Ona je prikazana na slici 2.2. Measurement Agent jeste uređaj (računar) koji koristi perfSONAR alat za HTTP i DNS testove, i to perfSONAR – testpoint toolkit. Taj klijent ujedno je i kontroler i kolektor sa gornje slike i testovi se jednostavno mogu pokretati iz komandne linije, no o tome više u narednom delu ovog serijala. Repozitorijum sa rezultatima i portal za prikazivanje tih podataka u uprošćenoj šemi kombinovani su u jedan server na koji se podaci šalju. Na tom mestu oni se čuvaju, ali i istovremeno grafički prikazuju. Za bazu će biti korišćena InfluksDB (eng. InfluxDB) – baza podataka vremenskih serija (Time Series Database – TDB) slobodnog softvera, a za grafički prikaz podataka softver otvorenog koda Grafana (eng. Grafana), koji se glatko uvezuje sa InfluksDB-om.