Neubot e la neutralità della rete, riflessioni e prospettive · 66° mercoledì di Nexa Neubot e...

Post on 20-Sep-2020

0 views 0 download

Transcript of Neubot e la neutralità della rete, riflessioni e prospettive · 66° mercoledì di Nexa Neubot e...

66° mercoledì di Nexa

Neubot e la neutralità della rete, riflessioni

e prospettive

Simone BassoCentro Nexa su Internet & Società

Politecnico di Torino (DAUIN)

Torino, 9 Luglio 2014

2014-07-09 http://nexa.polito.it/neubot 2

Struttura della presentazione

I. Neutralità della rete

II. Neubot

III. Progetti correlati

IV. Futuro di Neubot

2014-07-09 http://nexa.polito.it/neubot 3

I. Neutralità della rete

- Definizione di neutralità della rete- Posizioni pro e contro- La Internet delle origini- Cause della non neutralità:- Struttura del mercato- Classificazione del traffico- Peering

- Conclusioni

2014-07-09 http://nexa.polito.it/neubot 4

Definizione di neutralità della rete

- Internet: due classi di computer: gli end host (stanno ai bordi) e i router (dentro la rete)

- Informazioni divise in pacchetti che viaggiano indipendentemente

- Neutralità della rete significa che i pacchetti vengono instradati dai router secondo l'ordine di arrivo

2014-07-09 http://nexa.polito.it/neubot 5

La Internet delle origini

- comportamento neutrale (i router erano poco potenti)

- separazione radicale tra la rete e i suoi bordi (principio end-to-end)

- c'era poca banda tra i diversi siti (principalmente univ. Americane)

- allora, come oggi, c'era la latenza

2014-07-09 http://nexa.polito.it/neubot 6

Struttura del mercato

- all'epoca dei modem 56k, uno poteva telefonare a vari ISP

- quindi uno poteva davvero “votare con i piedi” (ciao, Neelie!)

- adesso no, perché AFAIK si può avere un unico provider ADSL per linea telefonica

2014-07-09 http://nexa.polito.it/neubot 7

Classificazione del traffico

- deep packet inspection: leggo il contenuto dei pacchetti per capire il protocollo

- tecniche statistiche: guardo, per esempio, l'intervallo tra i pacchetti, per “beccare” applicazioni cifrate (e.g., Skype)

- è il male nel mondo? No!!! (botnet, spam...)

- come posso “attaccare” i pacchetti che non mi piacciono? Posso scartarli, accodarli o redirigerli su percorsi più lenti (banda), lunghi (latenza) e trafficati (perdite)

2014-07-09 http://nexa.polito.it/neubot 8

Accordi di paid peering

- molti ISP e fornitori di contenuti si scambiano gratuitamente volumi di traffico equivalenti (in IXP o in luoghi privati)

- la decisione di interconnettersi tra ISP e fornitori di contenuti è politica (diff. rispetto a Internet originale)

- canale dedicato: maggiore qualità (minore latenza, minori perdite)

- possibili usi strategici: Comcast vs. Level3

2014-07-09 http://nexa.polito.it/neubot 9

Posizioni pro e contro

- pro: abilita le persone a produrre contenuti (audio, video, software), permette di innovare senza chiedere il permesso

- contro: ostacola innovazione da parte degli ISP, ostacola innovazione dell'architettura “core” di Internet, impedisce agli ISP di estrarre valore per finanziare le reti in fibra

- aspetti importanti: chi gestisce la rete sociale (telco oppure OTT), velocità dei processi disruptive (cfr. Polanyi)

2014-07-09 http://nexa.polito.it/neubot 10

Conclusioni

- Il dibattito è estremamente articolato e complesso (un aspetto non trascurabile è rispondere alla domanda: “come funzionava la Internet delle origini”?)

- In realtà nella mia tesi mi sono occupato, comunque, prevalentemente di misure di rete (il che ci porta al prossimo argomento: Neubot)

2014-07-09 http://nexa.polito.it/neubot 11

II. Neubot

- Ruolo della trasparenza- Design di Neubot- Info su Neubot- Speedtest, BitTorrent e Neuviz- Esperimento 'raw'- Esperimento DASH- Conclusioni

2014-07-09 http://nexa.polito.it/neubot 12

Ruolo della trasparenza

- la separazione tra bordi della rete e rete assumeva che la rete non guardasse il contenuto dei pacchetti e non discriminasse

- adesso che la rete può farlo, tale separazione diventa un ostacolo per capire, dai bordi, cosa succede dentro la rete

- servono quindi esperimenti per fare “reverse engineering” di quello che succede in rete

- generando traffico sintetico (misure attive) o utilizzando il traffico utente (passive)

2014-07-09 http://nexa.polito.it/neubot 13

Design di Neubot

- solo misure attive

- emulazione di protocolli

- misure periodiche (demone)

- possibilità di fare test p2p (non impl.)

- misura network performance

- flessibilità e adattabilità (test come plugin, aggiornamenti automatici)

- open source e open data

2014-07-09 http://nexa.polito.it/neubot 14

Info su Neubot

- Piattaforma di successo per fare misure di rete dai bordi; in media:

- 1000 utenti/giorno

- 20000 test/giorno

- 300 MB dati/giorno

- 32000 righe di Python; 3000 di JavaScript; 600 di HTML

- 20 release pubbliche in 3 anni

2014-07-09 http://nexa.polito.it/neubot 15

streaming.polito.it/neubot

2014-07-09 http://nexa.polito.it/neubot 16

streaming.polito.it/neubot

2014-07-09 http://nexa.polito.it/neubot 17

Speedtest, BitTorrent e Neuviz

- primo esperimento eseguito su Neubot: emuliamo HTTP, BitTorrent; misuriamo, raccogliamo i dati; poi studiamo i dati e vediamo cosa viene fuori

- problema: non è facile analizzare i dati, così abbiamo iniziato a lavorare a Neuviz, un servizio web che permette di navigare i dati

- abbiamo scoperto alcune anomalie che adesso andrebbero investigate con test più approfonditi (tipo: catturando pacchetti)

2014-07-09 http://nexa.polito.it/neubot 18

Esperimento 'raw'

- Esperimento più di successo eseguito da Neubot (articolo a rivista)

- Abbiamo raccolto in breve tempo abbastanza dati per studiare su larga scala due modelli di stima del numero di pacchetti persi che si basano solo su quello che vede una applicazione

- Rilevante perché gli ISP possono discriminare buttando via i pacchetti

2014-07-09 http://nexa.polito.it/neubot 19

Esperimento DASH

- Qua volevamo raccogliere dati utili a simulare diversi algoritmi per ottimizzare lo streaming DASH (streaming adattativo usando HTTP)

- DASH è lo standard di streaming usato, tra gli altri, da YouTube e NetFlix

- Rilevante perché lo streaming è l'applicazione Internet più diffusa (Cisco)

- Anche in questo caso, siamo riusciti a raccogliere molti dati in breve tempo

- Esempio di collaborazione con altri (Antonio Servetti) per usare Neubot per fare misure

2014-07-09 http://nexa.polito.it/neubot 20

Conclusioni

- Raccogliere dati su un lungo periodo senza sapere cosa stai cercando ha un alto valore scientifico (ci torneremo tra poco) ma è difficile analizzare i dati

- Neubot è stato molto efficiente ed efficace negli esperimenti in cui avevamo obiettivi più a breve termine e meglio definiti

- Interessante modello quello di fare una partnership con qualcuno per utilizzare Neubot per raccogliere dati (da replicare!)

2014-07-09 http://nexa.polito.it/neubot 21

- M-La b, G la sno s t, N DT, M o b iPerf

- DASU e Fathom

- OONI

- A ltr i p ro g etti co r re lati

- C o nclu sio n i

III. Progetti correlati

2014-07-09 http://nexa.polito.it/neubot 22

M-Lab, Glasnost, NDT, MobiPerf- M-Lab è un consorzio (OTI, Google, GATech, PlanetLab, altri) che offre server per tool open source per misurare Internet (tra cui Neubot)

- I server M-Lab includono il supporto Web100, inoltre M-Lab si occupa del salvataggio automatico dei dati (su Google Cloud Platform in CC0)

- Il team di M-Lab mantiene Glasnost e NDT, e contribuisce a sviluppare MobiPerf

- Riuso dati: Milton Mueller su deep packet inspection (dati Glasnost); Collin Anderson su uso politico del traffic shaping in Iran (dati NDT)

2014-07-09 http://nexa.polito.it/neubot 23

- DASU è un plugin di Azureus (client BitTorrent) che esegue sia misure attive sia misure passive (i dati non sono pubblici, però)

- Fathom permette di utilizzare Firefox come piattaforma di misura, usando JavaScript come linguaggio

DASU e Fathom

2014-07-09 http://nexa.polito.it/neubot 24

- Ne abbiamo parlato qua al Centro Nexa nel lunch seminar di Maggio- Piattaforma lato client per eseguire misure utili a valutare il grado di censura (bloccaggio e manipolazione del traffico Internet)- Architettura molto simile a Neubot anche se ha un obiettivo diverso

OONI

2014-07-09 http://nexa.polito.it/neubot 25

- Simili a Neubot: HoBBIT (UniNA), Grenouille (associazione francese)- Router: SamKnows, BISMark (GATech)- MisuraInternet.it, utilizzato per certificare la velocità delle ADSL [*]- ShaperProbe: tool e metodologia di misura per identificare shaping- su mobile: Portolan (UniPi)

[*] ricordati di parlare della diff. tra misurare l'ultimo miglio e la qualità in generale!

Altri progetti correlati

2014-07-09 http://nexa.polito.it/neubot 26

Conclusioni- Adesso che il dottorato è finito, sono libero di importare in Neubot metodologie di misura utilizzate da altri tool (e.g., Glasnost)

- Spazio per collaborare con M-Lab (Neubot per Android potrebbe essere ottenuto estendendo MobiPerf) e con OONI (Neubot e OONI sono simili ma hanno obiettivi diversi)

2014-07-09 http://nexa.polito.it/neubot 27

- Punto della situazione- Neubot come piattaforma?- Libight- User interface e promozione

IV. Futuro di Neubot

2014-07-09 http://nexa.polito.it/neubot 28

Punto della situazione

2014-07-09 http://nexa.polito.it/neubot 29

- Bisogna coinvolgere utenti e ricercatori

- Sostenibilità: - Idee per finanziare una piattaforma? - Può essere una nicchia?

- Coinvolgimento: - Rischio di essere percepiti come ostili - Importanza dell'essere proattivi

Neubot come piattaforma per abilitare ricerche di terze parti?

2014-07-09 http://nexa.polito.it/neubot 30

Libight

- Collaborazione con Arturo Filastò, sviluppatore del progetto OONI

- Sia Neubot sia OONI hanno bisogno di stare su mobile (Android, iOS, etc.)

- Lavoriamo assieme, quindi, a una libreria in C++ che permetta a entrambi i progetti di stare su piattaforme mobile

- Buon esempio di come collaborare senza essere percepiti come ostili?

2014-07-09 http://nexa.polito.it/neubot 31

User Interface e promozione

- per avere una buona interfaccia mobile, potremmo ad esempio forkare MobiPerf e stare in contatto con gli autori originali

- è importante promuovere Neubot per arrivare a 1 milione di utenti (cifra simbolica per dare un obiettivo) e avere così molte più misure

- per rendere Neubot più noto e più popolare, c'è bisogno di affiancare ai test di performance (BitTorrent e Speedtest) dei test con obiettivi più precisi (tipo Glasnost)

2014-07-09 http://nexa.polito.it/neubot 32

</presentazione>- Pagine dei progetti Neubot e MorFEO:

- http://nexa.polito.it/neubot

- http://nexa.polito.it/morfeo

- Sito di Neubot:

- http://www.neubot.org/

- Twitter:

- https://twitter.com/bassosimone

- https://twitter.com/neubot

- GitHub:

- https://github.com/neubot

- https://github.com/bassosimone/libight