11) Cos’è il Port Mapper?

In realtà, la tabella in cui si registrano i servizi si basa su una registrazione fisica in una tabella detta port map. Si usano:

una tripla {numero_progr, numero_vers, protocollo_di_trasporto}

un numero di porta

manca invece il numero di procedura dato che tutti i servizi RPC condividono lo stesso gestore di trasporto.

la tabella è strutturata come insieme di elementi:

struct mapping {

unsigned long prog;

unsigned long vers;

/* uso delle costanti IPPROTO_UDP ed IPPROTO_TCP */

unsigned int prot;

unsigned int port;};

/* implementazione a lista dinamica della tabella */

struct *pmaplist { mapping map; pmaplist next;}

La gestione della tabella di port_map si basa su un processo unico per ogni nodo RPC detto port mapper, lanciato come demone

Il port mapper abilita due gestori di trasporto propri

con due socket legate allo stesso numero di porta (111), al fine di limitare il numero di porte riservate.

Il port mapper identifica il numero di porta associato ad un qualsiasi programma, realizzando così un’allocazione dinamica dei servizi sui nodi.

Il port mapper registra i servizi sul nodo e offre procedure per ottenere informazioni:

servizi locali (effetto sulla port map locale)

 

servizi remoti (tra i parametri, l’indirizzo Internet remoto)

Prima fase dell’RPC: riconoscimento del numero di porta del servizio.

 


Back
Index
Next