Desenvolupament d’una eina basada en eBPF/XDP per al monitorage del rendiment d’una xarxa

Vila Martínez, Gerard
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 ​
Aquest document està subjecte a una llicència Creative Commons:Reconeixement - No comercial - Sense obra derivada (by-nc-nd) Creative Commons by-nc-nd4.0