CBL - Campus del Baix Llobregat

Projecte llegit

Títol: Herramienta para la medida de prestaciones en redes LAN y redes IP


Estudiants que han llegit aquest projecte:


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.


© CBLTIC Campus del Baix Llobregat - UPC