Projecte llegit
Títol: Herramienta para la medida de prestaciones en redes LAN y redes IP
Estudiants que han llegit aquest projecte:
MACHADO TABOAS, MATIAS (data lectura: 15-09-2026)- Cerca aquest projecte a Bibliotècnica
MACHADO TABOAS, MATIAS (data lectura: 15-09-2026)Director/a: CASALS IBÁÑEZ, LLUÍS
Departament: ENTEL
Títol: Herramienta para la medida de prestaciones en redes LAN y redes IP
Data inici oferta: 08-01-2026 Data finalització oferta: 01-07-2026
Estudis d'assignació del projecte:
GR ENG SIS TELECOMUN
GR ENG TELEMÀTICA
| Tipus: Individual | |
| Lloc de realització: EETAC | |
| Paraules clau: | |
| IP, TCP, UDP, Ethernet, medida de prestaciones, Python | |
| Descripció del contingut i pla d'activitats: | |
| Es vol desenvolupar una eina software que permeti mesurar prestacions en xarxes LAN i
xarxes IP, com per exemple, el throughtput, retard, taxa d'erros, etc. Les mesures s'hauran de fer a nivell MAC, IP i a nivell de transport (TCP, UDP). Opcionalment, també es proposaran mesures de paràmetres a nivell d'aplicació (HTTP, etc.). Es farà una especial atenció a les mesures a nivell IP i TCP per poder fer un seguiment del comportament d'aquests protocols en diferents situacions de condicions de traball. |
|
| Overview (resum en anglès): | |
| This Bachelor's Thesis presents the design, implementation and validation of NetPerfLab, an open-source tool for measuring network performance in LAN and IP environments. The tool addresses a recurring limitation of existing utilities such as iPerf3, Netperf, Wireshark or Ostinato: each of them covers only one part of the measurement workflow (traffic generation, packet capture or metric analysis), and none of them operates at the same time on the transport level (UDP and TCP) and on the link level (Ethernet frames). NetPerfLab integrates traffic generation, per-packet metric computation, access to the internal TCP state of the Linux kernel and automatic report generation in a single application written exclusively with the Python standard library, with no external dependencies.
The tool follows a sender-receiver model. The sender builds each packet with an application header of 18 bytes (length, sequence number and creation timestamp) and injects it through UDP, TCP or raw AF_PACKET sockets with an experimental EtherType, applying a user-space rate control based on an absolute clock that eliminates the cumulative drift of the operating system sleep function. The receiver reconstructs messages in the TCP byte stream, computes one-way delay, clock-offset-compensated delay using the minimum method, jitter, throughput at MAC level, goodput, header overhead, packet loss and reordering, and stores every sample in CSV files through a producer-consumer scheme with independent processes. In TCP tests the sender additionally samples the kernel TCP_INFO structure (RTT, congestion window, slow-start threshold, timers, congestion state and retransmissions) and transfers its own CSV to the receiver over the same connection when the test ends, so that both perspectives can be merged. A self-contained HTML dashboard with interactive charts summarises each test without requiring a web server or an Internet connection. The tool was validated on a VirtualBox testbed with two Ubuntu virtual machines, using NetEm to emulate adverse network conditions (fixed delay, Gaussian jitter, random loss, reordering, duplication and combined scenarios). The measured values match the theoretical expectations: the rate control reproduces the requested offered load with an error below 0.2 percent, the header overhead of 28, 40 and 0 bytes for UDP, TCP and Ethernet is correctly separated in the reported metrics, and the compensated delay and jitter reflect the emulated conditions. The results confirm that NetPerfLab is a reliable and pedagogically useful instrument for network laboratories, and the thesis closes with a sustainability analysis and proposals for future work such as high-precision busy-wait pacing, kernel-level rate control and clock synchronisation between hosts. |
|