polito.it
Politecnico di Torino (logo)

Sviluppo di un software per il monitoring di annunci BGP = Development of a software for monitoring BGP announces

Luca Orlando

Sviluppo di un software per il monitoring di annunci BGP = Development of a software for monitoring BGP announces.

Rel. Luca Ardito, Claudio Ettore Casetti. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2022

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (4MB) | Preview
Abstract:

BGP (Border Gateway Protocol) è il protocollo alla base del sistema globale di routing di internet, che gestisce come i pacchetti vengono instradati di rete in rete attraverso lo scambio di informazioni riguardo al routing e alla raggiungibilità tra i routers di frontiera. Questo protocollo dirige i pacchetti tra gli Autonomous Systems (AS), insiemi di reti gestite da una singola azienda o service provider e crea stabilità nella rete garantendo che i routers possano adattarsi ai guasti dei percorsi di rete: quando un certo percorso non risulta percorribile, ne viene trovato rapidamente un altro. Il BGP è stato descritto inizialmente nell’RFC 1105 del 1989 ed è in uso in internet dal 1994. L’attuale versione del protocollo BGP è la versione 4 (BGP4), che è stata annunciata nell’RFC 4271 nel 2006, usata dagli Internet service providers (ISPs) e dai transit carriers per stabilire il routing tra di loro. Oltre agli ISPs e ai Transit Carriers, gli ultimi anni hanno visto espandere la domanda per il multihoming da parte delle reti degli utenti finali (filiali di imprese e governi). Le routing tables, gestite da una certa implementazione del BGP, vengono modificate continuamente per riflettere i cambiamenti effettivi nella rete, come ad esempio quando i collegamenti vengono interrotti o quando i routers non risultano raggiungibili per un certo periodo di tempo. Nella rete nel suo insieme è normale che questi cambiamenti avvengano quasi continuamente, ma in un certo router o in un dato link, questi cambiamenti dovrebbero essere relativamente rari. I routers in cui gira il BGP, di default accettano rotte annunciate dagli altri routers BGP; questo consente un automatico e decentralizzato instradamento del traffico in internet, ma lascia anche internet potenzialmente vulnerabile ad accidentali o volute interruzioni del traffico di rete. Uno dei principali problemi riscontrati nel BGP e nell’infrastruttura internet nel suo insieme, è la crescita delle tabelle di routing e della loro complessità. Sebbene esistano diversi strumenti per esaminare il comportamento delle tabelle di routing BGP (ad esempio i Looking Glasses), i grandi Internet providers li hanno sviluppati per soddisfare le loro esigenze di gestione e non rispondono all’esigenza di una network multihomed per utenti finali, ovvero una rete che non è “di transito”, ma puo’ essere descritta come una “foglia”. L’obiettivo della tesi è implementare un software di monitoring per gli annunci BGP che risponda alle esigenze di una rete di utenti finali multihomed “a foglia”, che non solo mostri lo stato attuale, ma permetta anche di ispezionare gli eventi che riguardano la raggiungibilità avvenuti giorni o addirittura mesi diversi. Non banali da soddisfare sono state le esigenze progettuali di un’elevata efficienza del codice da inserire in un semplice dispositivo basato su chip ARM. Il primo tentativo di usare una Raspberry Pi non è stato fruttuoso, perciò il codice del progetto è stato spostato su una macchina Arm64 che non è molto meno potente di un Iphone attuale. Inoltre, non banale è stata la capacità di supportare il “data ingestion” delle informazioni relative al BGP, usando un applicativo simile a “firehose”, provenienti da router BGP di diverso tipo, ossia routers Cisco, Juniper o routers Linux aventi in esecuzione software che implementano BGP4

Relatori: Luca Ardito, Claudio Ettore Casetti
Anno accademico: 2022/23
Tipo di pubblicazione: Elettronica
Numero di pagine: 61
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: INRETE srl
URI: http://webthesis.biblio.polito.it/id/eprint/24505
Modifica (riservato agli operatori) Modifica (riservato agli operatori)