Sie sind auf Seite 1von 8

Captulo 2.

Comunicacin
En este reporte se complementan los temas de las notas del captulo 2 que contiene
los siguientes puntos:
1) Mecanismos para referenciar los componentes que se ofrecen en un sistema
distribuido:
- La denominacin
- Servicio de nombres
2) Modelos concretos de comunicacin entre los procesos que componen el
sistema distribuido:
- RPCs Llamadas a procedimientos remotos, de Sun.
- RMI Invocacin a mtodos remotos, de Java.
- El modelo de CORBA.
Adicional a lo anterior hablaremos sobre el modelo ATM y parte de RPCs.
La diferencia ms importante entre un sistema distribuido y un sistema multiusuario
convencional es la comunicacin de procesos. En un sistema convencional, la mayora
de los mecanismos desarrollados de alguna manera asumen la existencia de una
memoria que comparten todos los procesos. Un ejemplo tpico es el del productorconsumidor, donde la comunicacin se realiza mediante un buffer almacenado en
memoria comn. En un sistema distribuido, sin embargo, no existe en absoluto la
memoria compartida, de modo que los mecanismos de comunicacin de procesos
deben ser rediseados desde el principio.

Redes ATM
El modelo de referencia OSI fue discutido y consensuado por empresas pblicas y
privadas de telecomunicaciones en los aos setenta y fue implementado en parte en
los ochenta. Los aos noventa han alumbrado nuevos desarrollos tecnolgicos en los
niveles inferiores de la pila de protocolos OSI. Uno de ellos es ATM o modo de
transferencia asncrono
Qu es modo de transferencia asncrono?
A finales de los aos ochenta las compaas de telecomunicaciones de todo el mundo
comenzaron a darse cuenta de que las telecomunicaciones eran algo ms que
transmitir la voz humana en una banda de cuatro Khz. Entonces ya haca tiempo que
existan las redes de datos, como X.25, pero eran an inmaduras y operaban a un
mximo de 56 Kb/s o 64 Kb/s. Sistemas como la red Internet no pasaban de ser
curiosidades acadmicas.

Viernes 8 de Febrero de 2013

Cuando estas compaas decidieron construir redes para el siglo 21, se encontraron
con un dilema. Por una parte, la voz requiere un ancho de banda muy bajo, pero
constante. Por la otra, los datos de los computadores no aparecen en las lneas de
comunicacin de una forma predecible y con una tasa constante. Al contrario, son de
naturaleza explosiva. Repentinamente surge una corriente a la que es preciso asignar
un canal del mayor ancho de banda posible. Cuando la comunicacin acaba, el ancho
de banda que se precisa es nulo. En conclusin, ni la red telefnica de conmutacin de
circuitos es apropiada para transmitir datos ni las redes de datos de conmutacin de
paquetes son apropiadas para trasmitir la voz.
El compromiso ms razonable para atender ambos tipos de trfico es el modelo
hbrido ATM. ATM requiere que sea establecido un circuito virtual antes de establecer
la comunicacin entre el emisor y el receptor o los receptores de la comunicacin.
Durante el establecimiento de la conexin, la informacin del encaminamiento se
almacena en los nodos de conmutacin ATM que definen la misma. Los paquetes de
los protocolos de nivel superior -TCP/IP, FILP, ...- son enviados a la tarjeta o adaptador
ATM de la mquina donde corre el proceso de usuario, que los trocea en unidades
pequeas de tamao fijo denominadas celdas. Las celdas de una conexin siguen la
secuencia de nodos que se estableci al crearla. Cuando esta termina, la informacin
relativa a la conexin es eliminada de los nodos de conmutacin.
Las ventajas de este mtodo son evidentes. La principal es que ahora una nica red es
capaz de transportar voz, datos, radio, televisin por cable, vdeo, etc, reemplazando a
la red de antenas y repetidores de radio y televisin, la maraa de cabes de la red
telefnica, el nuevo cableado de la televisin por cable, el cableado de las redes de
datos, etc. Adems, permite la aparicin de nuevos servicios como las
videoconferencias, que sern accesibles desde todos los hogares con un nico cable.
En todos los casos, los nodos intermedios de la conexin ven slo celdas, el contenido
poco importa excepto al extremo final.

El hecho de que las celdas sean de tamao fijo hace que la conmutacin sea mucho
ms rpida, sin necesidad de que sean almacenadas en disco duro como los paquetes
de la red Internet. El segundo factor que incrementa la velocidad es que los
conmutadores ATM no realizan control de flujo ni comprobacin de errores en las
celdas. A este mtodo se le denomina "cell relay". ATM opera estableciendo circuitos
virtuales, pero un circuito slo es establecido si estn disponibles los recursos
suficientes para garantizar la calidad del servicio solicitado.

ATM tiene su propia pila de protocolo como indica la figura 2.1. A continuacin vamos
a describir brevemente los tres niveles ATM.
Viernes 8 de Febrero de 2013

El nivel Fsico
Una tarjeta adaptadora ATM se encarga de poner en el cable, sea de cobre o fibra
ptica una corriente continua de celdas. Cuando no hay nada que transmitir, se envan
celdas vacas. A este modo de transmisin se le llama modo nativo ATM y logra
velocidades de transmisin superiores al Gigabit/s con fibra ptica.
Alternativamente, las celdas ATM pueden ser enviadas como datos convencionales en
los marcos de la red de servicios integrados de banda ancha, B-ISDN. Con este mtodo,
definido en el estndar CCITT I.150, se alcanza una velocidad de transmisin de 155
Mbits/s o 622 Mbits/s.
El nivel ATM
Este es el nivel que define el formato de las clulas y el protocolo orientado a conexin
que las transmite.
La figura 2.2 muestra el formato del cabecero de una celda ATM intercambiada entre
un host de usuario y un conmutador ATM. Desgraciadamente, el cabecero entre dos
conmutadores ATM es ligeramente distinto, lo que impone adaptadores distintos en
hosts y conmutadores. La parte de datos, no obstante, es de 48 bytes en ambos tipos
de celdas. Los campos VPI y VCI son los ms importantes. VCI significa identificador de
canal virtual. VPI es identificacin de ruta virtual (Virtual Path Identifier). En cada
conmutador, tal y como indica la figura 2.3, existe una tabla de encaminamiento que
se establece cuando se crea la conexin. Cuando una celda llega a un conmutador, se
examinan los campos VCI y VPI y la celda sale por el puerto correspondiente. Por lo
tanto, los campos VCI y VPI de una celda se modifican cada vez que esta atraviesa un
conmutador. El campo GFC significa control genrico de flujo. No se utiliza a falta de
un acuerdo sobre cmo emplearlo. El campo CLP significa prioridad en la prdida de
celdas y puede utilizarse para distinguir entre unas celdas ms importantes que otras
en funcin de su contenido. En caso de congestin en un conmutador, este puede
descartar las celdas menos importantes. El campo tipo de datos distingue entre celdas
Viernes 8 de Febrero de 2013

de datos y celdas de control y distingue entre varios tipos de celdas de control. El


campo CRC cdigo de redundancia cclica- es una comprobacin sobre la cabecera
completa (no los datos).

La figura 2.3 muestra cmo se realiza el encaminamiento de las celdas en un


conmutador en base a la tabla establecida en el establecimiento de la conexin. Los
nodos de una red ATM son de tres tipos:
1) Hosts, que envan y reciben mensajes.
2) Conmutadores de rutas virtuales, que mantienen las tablas de conmutacin de
rutas virtuales.
3) Conmutadores de canales y rutas virtuales, que mantienen tablas de
conmutacin de canales y rutas.

ATM proporciona un servicio de baja latencia. El retardo que introduce un conmutador


es de alrededor de 25 microsegundos. Una ruta transcontinental de 10 conmutadores
introduce un retraso de 250 microsegundos, un cuarto de milisegundo, en cada celda
Viernes 8 de Febrero de 2013

que atraviesa los diez conmutadores. Esto significa que la comunicacin cliente
servidor tendra las mismas prestaciones que si se hiciese en un red de rea local en un
contexto de rea ancha ATM.
El nivel de adaptacin ATM
Una celda ATM tiene 53 bytes o 53x8=424 bits. A una velocidad de transmisin de 155
Mbps, 424 bits se transmiten en 424/(155x106 )=2.74 microsegundos. Pocas UCP
pueden soportar interrupciones de sus adaptadores de red a una tasa de 2.74 s, lo
que impone en el adaptador un mecanismo para ensamblar las celdas entrantes en
que se reparte el mensaje de usuario. Este mecanismo es el que trocea el mensaje en
las celdas que salen al cable. Estos procedimientos de ensamblado y desensamblado
constituyen el nivel de adaptacin ATM. Estn implementados en el adaptador de red
y provocan una interrupcin por paquete y no por celda.
Una propuesta del nivel de adaptacin es SEAL, que significa "Nivel de Adaptacin
Simple y Eficiente". Por su nombre, fcilmente puede adivinarse lo que pensaron sus
creadores de las propuestas anteriores. SEAL utiliza un bit del campo de tipo de datos
de la celda. Este bit es normalmente cero, pero es uno en la ltima celda de un
paquete.

Implicaciones de ATM en los sistemas distribuidos


La disponibilidad de lneas de comunicacin con anchos de banda de 155 Mbps, 622
Mbps y potencialmente hasta 2.5 Gbps tiene importantes implicaciones en el diseo
de sistemas distribuidos, sobre todo en aquellos que abarcan reas supranacionales,
con componentes en distintos pases o incluso continentes, los llamados sistemas
distribuidos de rea ancha.
Latencia
El problema fundamental en estos sistemas es el inevitable retraso que sufre un
impulso elctrico aplicado en el extremo de un conductor en llegar al otro extremo.
Este retraso se denomina latencia. La electricidad se transmite en un cable de cobre a
2/3 de la velocidad de la luz. La luz en fibra ptica se transmite tambin a una
velocidad que es 2/3 de la que alcanza en el vaco. Si disponemos de una lnea
transcontinental de 3000 Km, el retraso que experimenta una seal es de 3000/200000
= 15 ms. Supongamos que queremos enviar 1 Mb de datos por esa lnea a 64 Kb/s y
esperar la confirmacin. Solamente bombear a la lnea el Mb lleva 1000/64 = 15.6
segundos. El retraso de propagacin del impulso elctrico es de 0.015 * 2 = 0.03
segundos, que no es significativo frente a los 15.6, de modo que la distancia entre
mquinas no es un factor que influya en el diseo del sistema global.
Viernes 8 de Febrero de 2013

Consideremos ahora la instalacin de adaptadores ATM en ambas mquinas a una


velocidad de 622 Mbs. Ahora poner en la lnea 1 Mb supone 1/622 = 0.0016 s. Un
retardo de propagacin de 0.03 segundos, no slo s es significativo frente a 0.0016
segundos que se emplea en sacar el fichero a la lnea, sino que es 18 veces mayor. Se
tarda muchsimo ms en que el primer bit llegue al otro extremo que en poner en el
cable el megabit entero. Desde que comienza el envo hasta que vuelve la
confirmacin transcurren 0.0316 segundos, de los cuales la lnea est ocupada 0.0016s
y ociosa 0.03 segundos, es decir, el 95% del tiempo. Un aumento de la velocidad de
transmisin no provoca ms que un menor aprovechamiento de la lnea, que se
aproxima asintticamente al 100%. La conclusin es que en la construccin de
sistemas distribuidos de rea ancha, la latencia de las comunicaciones lleva a
reconsiderar las arquitecturas y los protocolos empleados.
Control de flujo
Dispositivos que se comunican a 622 Mbps tambin plantean el problema del control
de flujo de la comunicacin. Supongamos que una mquina enva a otra, a 3000 Km,
una cinta de video que ocupa 10 Gb. Seguramente la estacin receptora no va a tener
disponible un buffer de 10 Gb, de modo que, cuando el espacio se agota, enva una
celda a la estacin emisora con el mandato STOP. La celda STOP va a tardar un mnimo
de 0.015 segundos. En ese intervalo de tiempo, han llegado a la mquina receptora
0.015 s * 622 Mbps = 9.3 Mb, que deben ser descartados. Ser necesario introducir un
protocolo clsico de ventana deslizante que imponga a la estacin emisora el envo de
1 Mb y la espera de una celda de confirmacin antes de enviar el segundo Mb. Ahora
estamos en la situacin antes descrita, en que la ocupacin de la lnea no supera el 5%
de tiempo. La solucin a este problema pasa por aumentar el nmero de Mbits de
memoria RAM en los adaptadores de red, lo que supone un alto costo. Otra solucin
es la negociacin de la velocidad de transmisin en bits/s en la fase del
establecimiento del circuito virtual. De cualquier modo, el salto de 64Kbps a 622 Mbps
no va suponer que las prestaciones de un sistema distribuido se multipliquen por
10.000 y ser necesario investigar an para sacar el mayor partido posible a la
tecnologa ATM.

Viernes 8 de Febrero de 2013

Llamada a procedimiento remoto


Un modelo de interaccin entre los procesos de un sistema distribuido es el modelo
cliente-servidor. Para implementarlo, el sistema dispone de dos llamadas al sistema,
send y receive, que las aplicaciones utilizan de forma conveniente. Estas primitivas, a
pesar de constituir la base de la construccin de los sistemas distribuidos, pertenecen
a un nivel demasiado bajo como para programar de forma eficiente aplicaciones
distribuidas.
La operacin RPC bsica
La llamada a procedimiento remoto constituye un mecanismo que integra el concepto
cliente-servidor con la programacin convencional basada en llamadas a
procedimientos. La idea surgi en 1984 y consiste en que el cliente se comunica con el
servidor mediante una llamada ordinaria a un procedimiento. Esta llamada se
denomina a procedimiento remoto porque el procedimiento invocado se encuentra en
otro espacio de direccionamiento, en la misma o en distinta mquina que el cliente. La
informacin se transporta en los parmetros de la llamada y el resultado es devuelto
en el retorno de la llamada. El cliente no tiene que utilizar las primitivas send y
receive como en el modelo cliente-servidor puro, de modo que la programacin de
aplicaciones distribuidas se hace ms sencilla.

La figura 2.7 muestra un ejemplo del uso de RPC. El cliente necesita de un servicio que
es la suma de dos enteros. El servicio se invoca mediante a una llamada a funcin tal y
como se hace en un programa convencional escrito en C. La nica diferencia es que la
funcin se ejecuta en una mquina diferente de una forma completamente
transparente al usuario.

Viernes 8 de Febrero de 2013

Comunicacin de grupos

La caracterstica principal de un grupo de procesos es que cuando se enva un mensaje


al grupo, todos sus componentes lo reciben. Por otra parte, los grupos son dinmicos.
Los grupos nacen y mueren y en cada grupo terminan algunos procesos y se
incorporan otros. Por lo tanto es necesario un mecanismo de gestin de grupos. Un
proceso puede pertenecer a ms de un grupo y abandonar un grupo para unirse a
otro. Un grupo es una abstraccin cuyo propsito es evitar, en las llamadas de
comunicacin con grupos de procesos, parmetros molestos como el nmero de
elementos en el grupo o la localizacin de cada proceso del grupo y proporcionar
primitivas ms potentes y transparentes, como el ejemplo anterior de envo de un
mensaje a un conjunto de servidores de ficheros. El cliente no debera saber cuantos
servidores estn disponibles en cada momento ni en qu mquinas concretas han sido
arrancados.

La implementacin de grupos depende mucho del hardware de comunicacin


disponible. En algunas redes, como ethernet, existen unas direcciones especiales en las
que pueden escuchar ms de una mquina. Para ello es necesario configurar el
adaptador de red ethernet en cada mquina. Un nico marco o enviado a esta
direccin es ledo por todas las mquinas que escuchan en ella. Estas direcciones se
denominan multicasting. Si el nivel de enlace de la red soporta multicasting, como es el
caso de ethernet, la implementacin de grupos es sencilla. Basta asignar a cada grupo
una direccin multicasting diferente. Existen redes que si bien no admiten
multicasting, s admiten difusin.

Referencias
http://es.scribd.com/doc/17782810/02-Sistemas-Distribuidos-La-Comunicacion

Viernes 8 de Febrero de 2013

Das könnte Ihnen auch gefallen