Está en la página 1de 29

Capitulo2 ComunicacinEntre NodosdelSistema

Simplementedebemosentender comocomunicamoslosdiferentes procesosdeestamacrored

SolopodemosUsarMensajes!

ExistenDosGrandesModelos

Sockets LlamadodeProcedimiento Remoto(RPC/RMI)


Sockets Asocketisoneendofatwoway communicationslink betweentwoprocess runningonthenetwork.

Sockets
SocketServidor

Cliente

Mensaje
Servidor

SocketCliente

Ocultagranpartedelacomplejidaddellevardatosde unnodoaotro..

Sockets
Cliente Proceso

Mensaje
Proceso PuertoX Cualquiera

Proceso

1.02465.000

Sockets

Mensaje
Proceso

PuertoY Definido 065.000

Proceso

Sockets

UnejemploenLinux...

Sockets
Ydondeestnlospuertos?
http://www.iana.org/assignments/portnumbers encualquierUnix:/etc/services

TiposdeSockets
Sockets

Sockets Cliente Realizaunaconexi nauna DireccionyPuertoEspecifico

Socket Servidor Esperaunaconexi nen unPuertoEspecifico

Timeout? Puerto? Complejidad?


TiposdeSockets
Sockets

Orientadosa conexi n TCP TransmissionControlProtocol

NOorientados aconexi n UDP UserDatagramProtocol

SocketsTCP
EnvodeMensaje

Cliente

Servidor

Confirmaci ndeMensaje

ParaqueAplicacionesesmasAdecuado?? Ventajas???Desventajas???

SocketsUDP
EnvodeMensaje

Cliente

Servidor

ParaqueAplicacionesesmasAdecuado?? Ventajas???Desventajas???

Sockets
Lamayoradeloslenguajessoporta sockets(estructura) paranosotrosestudiaremosdos AnsiC(socket.h) Java1.2+(java.net)

RPC/RMI RemoteProcedureCall (LenguajesEstructurados) o RemoteModeInvocation (LenguajesOrientadosaObjetos)

RPC/RMI
TenemosqueAgregardosConceptos queExtienden.. i)EspaciodeEjecuci ndelProceso ii)LlamadoRemoto

RPC/RMI
EspaciodeEjecuci n
voidmain() { intx=determinante(m); fopen(hola.txt); } intdeterminante(Matrixm) { }

Archivo Hola.txt

RPC/RMI
LlamadoRemoto

EspaciodeEjecuci n EspaciodeEjecuci n

RPC/RMI

RPC!!!

EspaciodeEjecuci n EspaciodeEjecuci n

RPC/RMI
PrincipalesCaractersticas OcultatodolaComplejidaddela comunicaci nenlaRed AislalaComunicaci nenelSistema DistribuidodelaAplicaci n

RPC/RMI DaloMismo
voidmain() { intx=determinante(m); fopen(hola.txt); } intdeterminante(Matrixm) { } voidmain() { intx=determinante(m); fopen(hola.txt); }

intdeterminante(Matrixm) { }

RPC/RMI Ejemplo(1)
voidmain() { File*F=Hola.txt intx=MD5(a) }

MD5(File*f)

Archivo Hola.txt

UnaFuncinMuyCompleja (RequiereGranPoderdeCalculo)

RPC/RMI Ejemplo(2)
PC1 Servidor PC2 intLogin(Stringlog, Stringpass)

PC3

UnaFuncinMuyCritica (QuieroAsegurarsuFuncionamiento)

RPC/RMI Implementaciones NOExisteunanormaUniversal DependedelFabricante MicrosoftDCOM SunONCRPC LinuxDCERPC


RPC/RMI yrealmenteseusa???

EnMicrosoft.... PrcticamenteTODO
ServiceswebMicro

RPC/RMI yrealmenteseusa???

En*Nix (unixLinuxSolaris) NFSRPCRMI


RPC/RMI
Problemas? Seguridad ConfiabilidaddelNodoServidor ConfiabilidaddelaReddeDatos

RPC/RMI
TieneCiertasComplicaciones
RMI Registry

RMI Cliente RMI Servidor

LocalizadordeMtodosRemotos

RPC/RMI
LaIdeaesque...
RMI Cliente RMI Cliente RMI Servidor2

RMI Registry

RMI Servidor1

RMI Servidor3

También podría gustarte