Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.arcetri.astro.it/irlab/doc/library/linux/AppLinux/al111.htm
Äàòà èçìåíåíèÿ: Tue Sep 21 18:08:42 1999 Äàòà èíäåêñèðîâàíèÿ: Sat Dec 22 13:23:18 2007 Êîäèðîâêà: Ïîèñêîâûå ñëîâà: ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï ï |
RPC, acronimo di Remote Procedure Call, Õ un meccanismo generale per la gestione di applicazioni client/server. Il sistema si basa su un demone, il portmapper, e un file che elenca i servizi disponibili associati al demone relativo. Il portmapper Õ un classico esempio di un programma che gestisce un servizio di rete in modo autonomo, cioÕ senza essere controllato da inetd
Semplificando in modo estremo il funzionamento delle RPC, si puÐ dire che si tratti di un meccanismo attraverso cui si possono eseguire delle elaborazioni remote.
Dal lato server si trova il portmapper in ascolto sulla porta 111, dal lato client ci sono una serie di programmi che, per un qualunque servizio RPC, devono prima interpellare il portmapper remoto il quale fornisce loro le informazioni necessarie a stabilire una connessione con il demone competente.
Per questo motivo, le chiamate RPC contengono l'indicazione di un numero di programma, attraverso il quale, il portmapper remoto Õ in grado di rispondere informando il client sul numero di porta da utilizzare per quel programma.
I servizi RPC possono essere interrogati attraverso il programma rpcinfo
. Per esempio, per chiedere al portmapper dell'elaboratore weizen.mehl.dg
quali servizi siano disponibili e conoscere le loro caratteristiche si puÐ agire come nell'esempio seguente:
$
rpcinfo
[Invio]-
p weizen.mehl.dg
program vers proto port 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100005 1 udp 844 mountd 100005 1 tcp 846 mountd 100003 2 udp 2049 nfs 100003 2 tcp 2049 nfs 100004 2 udp 880 ypserv 100004 1 udp 880 ypserv 100004 2 tcp 883 ypserv 100009 1 udp 889 yppasswdd |
Una cosa da osservare Õ che alcuni dei programmi elencati tra i servizi RPC, non appaiono necessariamente anche nell'elenco del file /etc/services
.
portmap [<opzioni>] |
õ il demone che si occupa di attivare i servizi RPC. Potrebbe anche chiamarsi rpc.portmap
. Viene avviato di norma durante la procedura di inizializzazione del sistema, in modo indipendente dal controllo di inetd
.
/etc/rpc
Õ il file contenente l'elenco dei servizi RPC disponibili, abbinati al numero di programma usato come riferimento standard. Il suo scopo Õ quindi quello di tradurre i nomi in numeri di programma e viceversa.
# # rpc 88/08/01 4.0 RPCSRC; from 1.12 88/02/07 SMI # portmapper 100000 portmap sunrpc rstatd 100001 rstat rstat_svc rup perfmeter rusersd 100002 rusers nfs 100003 nfsprog ypserv 100004 ypprog mountd 100005 mount showmount ypbind 100007 walld 100008 rwall shutdown yppasswdd 100009 yppasswd etherstatd 100010 etherstat rquotad 100011 rquotaprog quota rquota sprayd 100012 spray 3270_mapper 100013 rje_mapper 100014 selection_svc 100015 selnsvc database_svc 100016 rexd 100017 rex alis 100018 sched 100019 llockmgr 100020 nlockmgr 100021 x25.inr 100022 statmon 100023 status 100024 bootparam 100026 ypupdated 100028 ypupdate keyserv 100029 keyserver tfsd 100037 nsed 100038 nsemntd 100039 pcnfsd 150001 bwnfsd 545580417 |
rpcinfo
|
rpcinfo [ |
rpcinfo { |
rpcinfo
permette di interrogare un portmapper. L'utilitÞ di questo programma sta quindi nella possibilitÞ di conoscere quali servizi RPC sono disponibili all'interno di un certo nodo, e nella possibilitÞ di verificare che questi siano effettivamente in funzione.
|
Interroga il portmapper nell'elaboratore indicato, oppure in quello locale, ed elenca tutti i programmi RPC registrati presso lo stesso.
|
Utilizza il protocollo UDP per eseguire una chiamata RPC alla procedura 0 (NULLPROC
) del programma nel nodo specificato. Il risultato viene emesso attraverso lo standard output.
|
Utilizza il protocollo TCP per eseguire una chiamata RPC alla procedura 0 (NULLPROC
) del programma nel nodo specificato. Il risultato viene emesso attraverso lo standard output.
|
Permette di specificare una porta diversa rispetto a quella che viene indicata dal portmapper, per eseguire una chiamata RPC attraverso le opzioni
e -
u
.
-
t
|
Permette di eseguire una chiamata RPC circolare (broadcast) a tutti i nodi in grado di riceverla, utilizzando il protocollo UDP, per l'esecuzione della procedura 0 (NULLPROC
) del programma e della versione specificati. Il risultato viene emesso attraverso lo standard output.
|
L'utente root
puÐ utilizzare questa opzione per eliminare la registrazione del servizio RPC del programma e versione specificati.
$
rpcinfo
-
p
Elenca tutti i servizi RPC registrati nell'elaboratore locale.
program vers proto port 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100005 1 udp 844 mountd 100005 1 tcp 846 mountd 100003 2 udp 2049 nfs 100003 2 tcp 2049 nfs 100004 2 udp 880 ypserv 100004 1 udp 880 ypserv 100004 2 tcp 883 ypserv 100009 1 udp 889 yppasswdd |
---------
$
rpcinfo
-
p weizen.mehl.dg
Elenca tutti i servizi RPC registrati nell'elaboratore weizen.mehl.dg
.
$
rpcinfo
-
b mountd 1
Elenca tutti i nodi in grado di fornire il servizio mountd
.
127.0.0.1 localhost.localdomain 192.168.1.1 dinkel.brot.dg 192.168.1.2 roggen.brot.dg |
---------------------------
Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini -- daniele @ pluto.linux.it