Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
environnement mono-machine
subdivision de l’application en plusieurs modules qui
procA() procB()
Client Serveur
Procédure
Application
RPC
Retour Exécuter
1 Appel
Procédure stub client
Retour
Procédure 14 8 Procédure stub serveur Procédure 7
Noyau 11
4 Réseau
L'interface RPC
Client Serveur
Application Interface RPC
L'hétérogénéité concerne :
la taille des objets typés : un entier peut être codé sur
2 octets ou 4 octets…
l'ordre des octets : big endian ou little indian
la représentation proprement dite d'un objet typé :
combien de bits pour la mantisse et l'exposant
représentant un nombre flottant, représentation d'un
entier négatif…
Inconvénient du protocole XDR :
l'encodage est effectué même si les machines source
et destination utilisent déjà la même représentation
--> perte de performance
La représentation XDR
XDR va par exemple spécifier qu'un entier occupe
32 bits qui seront transférés dans l'ordre "big
endian" sur le réseau
si l'émetteur ou le récepteur n'est pas "big endian",
XDR fera la conversion de l'entier
Le problème se posait déjà pour les transmissions
par socket des adresses IP et numéros de port
fonctions de conversion :
htons() et htonl() : représentation locale
int i;
...
i=260;
xdr_in /* encode l’entier i et le place à la fin de buffer */
t(xdrs,
/* Le programme receveur devra décoder les données :
&i);
xdr_mem_create ( ... , XDR_DECODE) */
La représentation XDR
client stub
pour B2 server stub server stub
pour B1 pour B2