Passa al contenuto principale

8. Monitoraggio della rete (Network Monitoring)

Il suddetto protocollo di risoluzione degli indirizzi consente a una macchina di ottenere informazioni sull'attività dei protocolli di livello superiore (come CHAOS, Internet, PUP, DECnet) sul cavo Ethernet. Può determinare quali campi di tipo di protocollo Ethernet sono in uso (per valore) e gli indirizzi di protocollo all'interno di ciascun tipo di protocollo. In effetti, il monitor non deve supportare alcuno dei protocolli di livello superiore coinvolti. Il modo in cui ciò avviene è il seguente:

Quando il monitor riceve un pacchetto di risoluzione degli indirizzi, inserisce sempre nella tabella la tripletta <tipo di protocollo, indirizzo di protocollo del mittente, indirizzo hardware del mittente>. Può determinare la lunghezza degli indirizzi hardware e di protocollo dai campi ar$hln e ar$pln del pacchetto. Se il codice operativo è REPLY, il monitor può scartare il pacchetto. Se il codice operativo è REQUEST e l'indirizzo di protocollo di destinazione corrisponde a quello del monitor, il monitor invia un REPLY come di consueto. In questo modo il monitor ottiene una sola mappatura, poiché il REPLY a una REQUEST viene inviato direttamente all'host richiedente. Il monitor potrebbe tentare di inviare una propria REQUEST, ma ciò potrebbe causare due monitor intrappolati in un ciclo di invio di REQUEST, e occorre procedere con cautela.

Poiché il protocollo e il codice operativo non sono fusi in un unico campo, il monitor non deve conoscere quale codice operativo di richiesta di un dato protocollo di livello superiore corrisponde a quale codice operativo di risposta. Anche i campi di lunghezza dovrebbero fornire informazioni sufficienti a "analizzare" l'indirizzo di protocollo, sebbene il monitor non ne comprenda il significato.

Un'implementazione disponibile del protocollo di risoluzione degli indirizzi può anche essere utilizzata per il debug di implementazioni non disponibili. Il driver hardware riuscirà generalmente a trasmettere in broadcast pacchetti con il campo di tipo Ethernet ether_type$ADDRESS_RESOLUTION. Il formato del pacchetto potrebbe non essere del tutto corretto, poiché le implementazioni iniziali possono contenere errori e la gestione della tabella può essere leggermente complessa. Poiché la richiesta è in broadcast, il monitor la riceverà e potrà visualizzarla a scopo di debug come necessario.