Mètodes
42 (XI): NetPractice, xarxes sense servidor
Un simulador per configurar xarxes: màscares, routing i el que passa quan la IP està mal posada.

42 (XI): NetPractice, xarxes sense servidor
A la recta final del tronc comú, 42 em va canviar el terç: el projecte no es compila. NetPractice és un simulador web amb deu nivells on tens una topologia de xarxa —routers, switches i màquines—, uns quants camps de configuració, alguns buits, i un objectiu sec: que dos equips es facin ping. O funciona, o no funciona. Aquí no val ni el valgrind.
El problema
El meu bagatge amb xarxes era el d’un usuari avançat: obrir un port al router, posar una IP fixa a casa, muntar una VPN. Sabia que una màscara té quatre números i que la passarel·la és important, però mai no m’havia calcat el perquè. El primer nivell ja et corrigeix la pretensió: un dels camps ve malament de fàbrica i has d’entendre què fa cada valor abans de tocar res. I quan arriben les topologies amb mitja dotzena d’equips, endevinar deixa de ser opció: les combinacions possible són un oceà.
Com ho vaig abordar
Em vaig fer el meu propi auxiliar: un script en Python amb el mòdul ipaddress que calcula adreça de xarxa, adreça de broadcast i rang útil a partir de la IP i la màscara, i ho imprimeix en columnes per comparar hosts d’un cop d’ull. El tenia lligat a un àlias de la terminal, així que treballava amb el simulador en una finestra i el càlcul a l’altra. Amb això, cada nivell es reduïa al mateix mètode: identificar quines subxarxes hi ha, quina adreça lliure pot tenir cada interfície dins la seva, i quina ruta li falta a cada router per arribar a la destinació. Els nivells finals afegeixen la part delicada: la sortida a Internet amb la seva adreça per defecte, i fer que les rutes coincideixin en els dos sentits.
Què n’he après
Tres coses. La màscara no és un tràmit: és la frontera, i segons com la posis el teu equip decideix si la destinació és “al costat” o “més enllà”. El ping té dues direccions: l’error clàssic és configurar l’anada i oblidar la tornada. I el routing és una llista de decisions per ordre d’especificitat, no una mena de màgia. Des de llavors, quan una xarxa no va, ja no reinicio a cegues: baixo capa a capa fins que trobo el nivell on es trenca.