Desenvolupament d’una eina basada en eBPF/XDP per al monitorage del rendiment d’una xarxa
Text Complet
Compartir
El monitoratge del rendiment d’una xarxa té cada vegada més importància en les
xarxes actuals. L’obtenció de paràmetres estadístics que mesuren l’ocupació dels
enllaços i el retard i pèrdues de paquets en un camí (retard mitjà, variació del retard,
i percentatge de paquets perduts), permet conèixer l’estat de la xarxa i la detecció de
mal funcionaments. A partir de l’anàlisi d’aquestes dades i de tècniques de predicció
(basades en machine learning) els sistemes de gestió poden prendre decisions per
aconseguir un ús eficient dels recursos de la xarxa.
Per altra banda, l’aparició de tecnologies com P4 (Programming Protocol-independent
Packet Processors) o eBPF/XDP (extended Berkeley Packet Filter/eXpress Data Path)
per a la programació de l’anomenat pla de dades (Programmable Data Plane o PDP),
és a dir, per a la programació del comportament de dispositius de xarxa (commuta dors, routers, tallafocs, NAT, etc.), permeten definir d’una manera més flexible com
aquests dispositius processen i reenvien els paquets, i alhora obren la possibilitat de
construir eines de monitoratge (i també en altres àmbits) més potents que les exis tents (observació de més variables, càlculs estadístics fets en el mateix dispositiu,
processament més ràpid, etc.). En concret, eBPF és un conjunt d’instruccions i un
entorn d’execució dins del kernel de Linux, que permet la programació del kernel
en temps d’execució. eBPF, a més, es pot utilitzar per programar l’XDP, una capa
de xarxa del kernel que processa els paquets ben a prop de la interfície de xarxa
aconseguint, per tant, un processament més ràpid dels paquets