(Sorry guys, this page is in italian -- it contains some
possible topics for degree thesis. And, as all non-commercial
web pages, it is probably outdated!)
Argomenti di tesi disponibili
(Aggiornato 6 ottobre 2003 -- gli argomenti non sono
in ordine di importanza).
Reimplementazione delle tabelle di routing in FreeBSD
(2003.10.06)
Le tabelle di routing in FreeBSD contengono una varieta` di
informazioni che non sempre sono utilizzate (tra cui tipo di route,
informazioni per il protocollo ARP, etc.). Questo comporta un enorme
spreco di memoria, oltre a potenziali inefficienze nelle interrogazioni
e manipolazioni delle tabelle stesse.
Scopo della tesi e` reimplementare le tabelle stesse separando le
informazioni appartenenti a livelli diversi, e rendendosi indipendenti
dall'algoritmo utilizzato per memorizzare i componenti della tabella
stessa, in modo da poter adattare tale algoritmo al contesto (es.
IPv4, IPv6, ARP, ecc.)
Supporto per TCP ad alta velocita`
(2003.10.06)
Il protocollo TCP ha bisogno, nel funzionamento ad alta velocita`,
di utilizzare finestre di grosse dimensioni, e di implementare una
funzionalita` (Selective Acknowledgements) che permette di recuperare
velocemente perdite di pacchetti fuori ordine. Le strutture dati
attualmente utilizzate per gestire i buffer all'interno del TCP
sono liste lineari, e tali strutture comportano una complessita`
O(N) per le operazioni di ricezione e trasmissione.
Scopo della tesi e` sostituire queste strutture dati con altre piu`
adatte (tipicamente alberi bilanciati) che permettono di operare
in tempo O(log N). In aggiunta, tali strutture dati permettono di
gestire in modo efficiente le opzioni SACK.
Opzione SACK per TCP
(2003.10.06)
Il protocollo TCP prevede una opzione, Selective Acknowledgement
(SACK) che permette di recuperare velocemente perdite di pacchetti
fuori ordine.
Scopo della tesi e` l'implementazione dell'opzione SACK e delle
relative modifiche alle procedure di controllo di congestione, e
la validazione della implementazione nelle modalita` di funzionamento
normale e con SACK.
Estensione multiprocessor della modalita` polling
(2003.10.06)
Al fine di costruire sistemi resistenti ai sovraccarichi, la gestione
delle interfacce di rete si puo` realizzare sostituendo il meccanismo
di interruzione con un meccanismo detto 'polling' che prevede di
interrogare periodicamente le interfacce. In questo modo si riesce
a schedulare la CPU tra l'esecuzione di processi utente e l'esecuzione
di processi di sistema.
Scopo della tesi e` di studiare l'estensione di questo
meccanismo al caso multiprocessor, e di valutarne l'efficacia.
Supporto NAT per il firewall ipfw2
(2003.10.06)
Il firewall ipfw2 e` un sistema di selezione dei pacchetti basato
su microistruzioni, ciascuna delle quali verifica condizioni su
determiniati campi o attributi del pacchetto sotto analisi.
Scopo della tesi e` l'estensione del firewall per supportare
il "Network Address Translation" (NAT) ovvero la gestione di
traffico con indirizzi privati. Oltre al meccanismo (relativamente
semplice e gia` presente in parte) per implementare la selezione
dei pacchetti, il grosso della complessita` risiede nella scrittura
del codice che manipola i campi dei vari protocolli applicativi
che sfruttano la conoscenza degli indirizzi IP.
Refactoring del codice IP in FreeBSD (TESINA)
(2003.10.06)
Il codice che implementa il protocollo TCP/IP comprende alcune
funzioni (ip_input(), ip_output(), tcp_input(), tcp_output()..)
il cui corpo e` cresciuto oltre misura fino a superare il
migliaio di linee ciascuna. Cio` rende il codice di
difficile lettura e manutenzione, senza reali benefici in termini
di efficienza.
Scopo della tesi e` ripulire il codice analizzando queste funzioni,
identificandone le parti che si possono estrarre, e scomponendole
in blocchi piu` piccoli.
Estensione IPv6 del firewall ipfw2 (TESINA)
(2003.10.06)
Il firewall ipfw2 e` un sistema di selezione dei pacchetti basato
su microistruzioni, ciascuna delle quali verifica condizioni su
determiniati campi o attributi del pacchetto sotto analisi.
Scopo della tesi e` l'estensione del firewall con istruzioni in
grado di operare sui campi dell'header IPv6.
Sistema di scripting per configurazione di firewall FreeBSD (TESINA)
(2003.10.06)
Lo scopo di questa tesi e` di sviluppare una serie di script shell
che facilitino il compito di produrre una configurazione complessa
per un firewall, ed eventualmente anche un front-end basato su
web che permetta la manipolazione di tale configurazione.
Estensione del programma magicpoint (TESINA)
(2003.10.06)
Scopo della tesi e` l'aggiornamento del programma magicpoint con
alcune semplici istruzioni di gestione del mouse, in modo da
permettere di effettuare annotazioni su una presentazione esistente;
e di implementare un front-end al programma stesso che permetta di
utilizzare "stili" annidati in modo piu` flessibile di quello attualmente
esistente.
Estensioni per supporto di tavolette grafiche USB
(2003.10.06)
La gestione di dispositivi di input grafico tipo mouse e tavolette
grafiche viene realizzato tramite un modulo del sistema operativo
che si adatta all'interfaccia fisica del dispositivo (seriale,
USB o altro) e un modulo del server X11 che interpreta i dati generati
dal modulo di sistema.
Scopo della tesi e` di estendere il supporto del sistema operativo
e/o dei moduli XWindows in modo estendere il supporto di tavolette
grafiche, sia seriali che USB. La documentazione necessaria e`
disponibile nel codice che implementa i driver Linux.
Studio e implementazione dello standard Video4Linux
(2003.10.06)
Linux definisce uno standard, Video4Linux, per l'interfacciamento
con periferiche di acquisizione video.
Scopo della tesi e` l'implementazione di una libreria che permetta
alle applicazioni di usare questo standard, e l'adattamento di almeno
uno dei dispositivi di acquisizione video supportati da FreeBSD
a questo standard.
Supporto di periferiche di acquisizione video USB
(2003.10.06)
Scopo della tesi e` di estendere il supporto USB presente nel sistema
operativo per supportare telecamere USB e farle comunicare mediante
lo standard Video4Linux.
Implementazione dell'algoritmo Spanning Tree in bridges Ethernet
(2003.10.06)
Nella interconnessione di reti ethernet mediante bridge/switch e`
necessario evitare la realizzazione di loop che porterebbero ad
avere pacchetti che girano in rete all'infinito. E` peraltro
utile che tra due punti esistano piu` cammini alternativi in modo
da ottenere maggiore affidabilita` in caso di guasti di alcuni
link. Per soddisfare queste due esigenze, si utilizza un algoritmo
distribuito chiamato spanning tree che permette di individuare
quali segmenti sono da utilizzare per distribuire traffico.
Obiettivo di questa tesi e` di implementare in C l'algoritmo
di spanning tree.
Luigi Rizzo
Dipartimento di Ingegneria dell'Informazione -- Univ. di Pisa
via Diotisalvi 2 -- 56126 PISA
tel. +39-050-568533 Fax +39-50-0568522
email:
l.rizzo@iet.unipi.it