Вы находитесь на странице: 1из 10

Jess Labarta Mancho requerimientos menos estrictos sobre la red

que en los dos tipos anteriores, a los esfuerzos


de integracin en un sistema nico de
INTRODUCCION transmisin de datos, voz, imgenes, etc.,
aplicacin global de necesidades muy variadas.
Dentro del campo general de las redes de En todo momento hemos intentado optar
computadores ha adquirido gran por las soluciones que dieran ms
importancia el tema de las redes locales [1 , generalidad al diseo, llegando a una red
2]. Estas redes se adaptan a necesidades utilizable tanto en un sistema de
cada vez ms extendidas de comunicar comparticin de recursos, como de soporte
ordenadores de muy variada potencia y de comunicacin para un sistema
situados prximos entre s para construir un multimicrocomputador distribuido. Exista
csistema capaz de grandes prestaciones y sin embargo una primera aplicacin que
utilidad a un costo muy reducido. pudo en algunos momentos inclinar 'as
En este captulo se describe un trabajo decisiones hacia un sistema de comparticin
realizado como proyecto final de carrera en de recursos. Este consista en dos discos
el Laboratorio de Ordenadores de la E.T.S.I.T. flexibles residentes en uno de los nodos y
de Barcelona con el ttulo: Desarro//o de/ controlados por un sistema de gestin de
sistema de comunicacin entre los nodos de ficheros cuyo diseo formaba parte de otro
una red de microcomputadores con proyecto fin de carrera. Mediante la red se
topologa multipunto [3]. pretenda que varios usuarios en redes
El objetivo era disear y construir una red separadas pudieran acceder
local que permitiera enlazar una serie de concurrentemente a distintos ficheros para
pequeos sistemas microcomputador realizar sobre ellos ciertas funciones, frente
basados en el 1-8080 existentes en el al nico sistema de guardar y recuperar
Laboratorio. Habra de realizarse una informacin del que disponan hasta el
interconexin hardware entre el canal y el momento, consistente en una cinta de
bus MUBUS [9] del que estn dotados los papel.
sistemas, as como el software de control del Como compromiso ms importante a lograr en el
mismo para completar los servicios de un diseo se presentaba la relacin sencillez-potencia. Se
subsistema de comunicacin. Una limitacin ha buscado en todo momento un sistema que ofrezca
importante en el diseo era la propia un buen servicio siendo su realizacin econmica en
sencillez de los sistemas a conectar y la no el aspecto hardware y que el software cargue poco los
justificacin de un gasto elevado. Nos vimos nodos, ya que ha de compartirlos con los programas
por ello obligados a utilizar como de usuarios.
componente central de la interface la USART La distribucin del captulo es la siguiente: se hacen
8251 de Intel con los consiguientes unos comentarios sobre la topologa de la red,
inconvenientes de velocidad y adaptacin pasando a una descripcin de los niveles utilizados y
lgica del controlador a los protocolos de estructura general de la realizacin. Posteriormente,
comunicacin utilizados en redes locales. se tratan en detalle los niveles centrales del proyecto
En general, pueden distinguirse tres tipos que son transporte y enlace de datos. Finalmente se
de redes locales segn su aplicacin que son: establecen las conclusiones a nuestro juicio ms
compartir recursos, sistema distribuido importantes del trabajo.
multicomputador y comunicacin. As, el
compartir un recurso costoso entre varios
computadores suele implicar que su utilizacin TOPOLOGIA
constar de una serie posiblemente larga de
preguntas u rdenes y respuestas, pudiendo El primer problema que se plantea al querer
ser necesaria la transferencia de grandes establecer una comunicacin entre un conjunto de
cantidades de informacin. Aunque el tiempo elementos es ver cmo van a estar enlazados. Se
de servicio no suele ser crtico, interesa al entiende por topologa de una red el esquema de
menos en este ltimo caso que no resulte interconexin entre los nudos que la forman En
tampoco muy elevador lo que aconseja que la general, suele determinarse en funcin de
transmisin se haga a alta velocidad. En un requerimientos de trfico, tiempo de trnsito o costo.
sistema distribuido existen programas de En el caso de redes localest donde el medio de
aplicacin residentes en computadores comunicacin es de alta velocidad y econmico, se
distintos que intercambian informacin a travs buscan topologas que faciliten la realizacin del
de la red (por ejemplo, aplicaciones de control subsistema de comunicacin, siendo importantes
en tiempo real, tales como trenes de laminado, criterios de modularidadt flexibilidad y fiabilidad.
cajas registradoras de grandes almacenes, Tambin deber minimizar la complejidad lgica o
etc.). El tamao de los paquetes suele ser conjunto de decisiones que deben hacerse durante la
pequeo, pero el nmero y frecuencia de las comunicacin para control y encaminamiento de los
demandas de transmisin elevados, siendo mensajes.
necesario realizar sta en el menor tiempo Limitadas por estas caractersticas, se han
posible. En el tercer tipo de redes para considerad 0 clsicamente tres topologas propias
comunicacin entre usuarios entraran de redes locales Son: estrella, anillo y bus. Esta
aplicaciones desde el correo electrnico con ltima, tambin denominada multipunto (figura 1
1
), es la ms utilizada hasta el momento Y por la La comunicacin a travs de la red se
que optamos desde el principio. En ella existe un realizar entre entidades de un mismo nivel
nic o canal al que estn conectados todos los intercambiando segn unas determinadas
nodos. Cuando uno de ellos emite un mensaje, secuencias y limitaciones temporales informacin
ste se propaga a lo largo de la lnea en las dos con una sintaxis y significados predefinidos. Este
direcciones pasando por delante de todo s los conjunto de reglas se denominan protocolos,
dems nodos, que debern ver si el mensaje va debiendo 3 incluir funciones de identificacin,
dirigido a ellos, y en caso afirmativo, recibirlo. control de flujo y sincronizacin entre las
El problema que plantea la comparticin de un nico entidades que se comunican, as 3 como
cana l correccin de errores.
Figura 1 . Topologa multipunto- Los niveles considerados en el proyecto
fueron: enlace fsico, enlace de datos,
transporte y aplicacin o usuario. Al
con transmisin en banda base es la de arbitrar nivel enlace fsico que debera especificar las
su utilizacin de modo que slo transmita un caractersticas mecnicas y elctricas de los
nodo en cada momento e intentando medios de transmisin, hemos dedicado poca
aprovechar al mximo la capacidad del canal. El atencin, limitndonos a considerar el canal como un
tiempo de trnsito es muy pequeo, estando el par bifilar para transmisin en banda base y salidas
tiempo de respuesta limitado por la congestin en colector abierto. En el cuarto nivel se incluiran los
en la utilizacin del canal y el tiempo de programas de usuario que quisieran comunicarse
transmisin- Es de gran sencillez y economa en entre varios nodos y aplicaciones como el sistema de
cuanto al medio de transmisin, presentando gestin de ficheros para acceso distribuido. Tampoco
una gran flexibilidad y modularidad. h a mos desarro llado este nivel, si bien se ha pensado
Presenta una muy buena fiabilidad en cuanto en sus posibles necesidades para especificar los
a fallo de un nodo, siendo mala respecto al bus. servicios de los niveles inferiores.
Aunque errores permamentes en ste puedan El proyecto se ha centrado en la estructuracin
dejar bloqueada la red, consideramos que la general de la red y especificacin y diseo de los
solucin de duplicar el bus es econmicamente niveles enlace de datos y transporte. Para el
viable, siendo adems fcil la localizacin y primero, y partiendo de la limitacin de
correccin del fallo. posibilidades de funcionamiento del controla dor
Por las caractersticas expuestas y impuesto, se define un protocolo sencillo
considerarlo apropiado para nuestra aplicacin, orientado a carcter que permita fa transmisin
se construy un sistema centrado en torno a un individual de paquetes de un nodo a otro con
bus, utilizando un par bifilar de hilos trenzados. deteccin de posibles errores. Para el segundo se
ha especificado un formato que permite la
transmisin de paquetes individuales apropiado a
aplicaciones de sistemas multimicrocomputador,
NIVELES Y ESTRUCTURACION DE LA o el establecimiento de canales virtuales ms
REALIZACION apropiados a compartcin de recursos.
Ca forma de realizarse los distintos niveles
La subdivisin de los subsistemas de influye claramente en el rendimiento de la red.
comunicacin en niveles es un enfoque ya As por ejemplo, una opcin consistente en un
clsico en la construccin de redes de conjunto de subrutinas que llamadas por el
computadores por las grandes ventajas que usuario controlan secuencialmente la
implica sobre un diseo monoltico como son comunicacin sera una solucin pobre que no
la estructuracin y separacin de funciones y aprovechara las posibilidades dei canal y de cada
responsabilidades, flexibilidad en cuanto a microcomputador. El tiempo de respuesta sera
construccin, facilitar la heterogeneidad de largo y se limitara la flexibilidad y nmero de
comunicaciones simultneas posibles por nodo, y
elementos en la redr etc. consiguientemente la potencia de la red,
Otro punto ms difcil de alcanzar es la especialmente en aplicaciones como
uniformidad o normalizacin en la multicomputador.
descomposicin en niveles. Si bien fos esfuerzos Frente a esta opcin nos pareci interesante
en este sentido son grandes [5] tardan bastante disear cada nodo como un sistema
en introducirse- No es hasta estos ltimos aos rnultiprogramado en el que un conjunto de tareas
que este trabajo se est llevando al campo de evolucionan concurrentemente. Puede
las redes locales Siendo el proyecto anterior, se considerarse que hay dos aspectos que hacen
opt por la descomposicin ms comnmente deseable este tipo de sistemas en la realizacin
aceptada por entonces, derivacin de ta de protocolos de comunicacin:
normativa existente para grandes redes
adaptada a las peculiaridades de una red local. 1 ) La propia jerarquizacin en niveles de stos,
Para especificar la arquitectura de una red es que parece sugerir una descomposicin en
necesario definir los niveles, indicando para cada tareas de forma que se solapen las ejecuciones
uno de ellos el servicio que ofrece a los de cada nivel, aprovechando los tiempos de
superiores y los protocolos que se siguen en la servicio de los niveles inferiores.
comunicacin. Las realizaciones de un nivel 2) Una descomposicin horizontal que permita el
pueden ser muy variadas y con diferentes avance simultneo de varias comunicaciones
formas de acceso a sus servicios, siendo independientes dentro de cada nodo. En ellos
necesario concretar localmente en cada nodo la podran coexistir tambin protocolos de tipos
interface entre el usuario y la red, as como distintos a un mismo nivel con adaptacin a
entre niveles. aplicaciones diversas compartiendo los
servicios del nivel inferior.
2
Se desarroll por ello un ejecutivo en tiempo descomposicin de un problema en tareas,
real que controlando cada nodo permite la definiendo unas interfaces sencillas y uniformes
evolucin concurrente de las tareas que llevan a entre ellas a la vez que eficientes.
cabo tanto el subsistema de comunicacin como En este sentido se opt por que cada tarea
los programas de usuario. Una caracterstica de las que intervienen en la comunicacin
importante que se hubo de introducir en l, fue la tuvieran un nico punto de acceso
de dar prioridad absoluta a las interrupciones consistente en una sola a la que todas las
frente a cdigo de tareas (incluso si se trata de dems pueden enviar bloques de orden o
llamadas al ejecutivo por parte de stas), con un contestacin. Cada una de ellas es pues un
tiempo de respuesta del orden del de ejecucin autmata que toma un bloque, lo analiza,
de una instruccin. ejecuta las acciones pertinentes y pasa al
El ejecutivo est basado en cuatro primitivas siguiente.
(subrutinas a disposicin de las tareas). Dos de Los bloques citados -son de 16 bytes con
ellas (SIGNAL y WAIT) ejecutan la sincronizacin una estructura (figura 2) que en algunos
clsica entre tareas mediante semforos. Las campos es general para todas las tareas, lo
otras dos (METER y SACAR) permiten establecer que facilita su manejo, intercambio y gestin
una sincronizacin y comunicacin mediante de memoria. Los dos primeros bytes se
mensajes, estructuras de datos que pueden ser reservan para utilizacin por el ejecutivo en la
enviadas a una cola, y gestin de las colas. Los bytes tercero y
tarea. penca d solicitadas
La
de ella por otra
operacin de
cuarto los utiliza la tarea que enva una orden
para indicar a qu cola debe enviarse la
SACAR, en caso contestacin. El quinto permite codificar
de que pcont no haya mensaje globalmente la orden o resultado.
para recibir, bloquea En la figura 3 se representa la estructura
a la coest tarea que la ejecuta general del software de comunicacin.
hasta que otra tarea enve Aparece una tarea de aplicacin que utilizel
uno. subsistema de comunicacin. El nivel
La gestin del transporte se ha descompuesto en tres tareas
procesador se cuyo funcionamiento se tratar ms
realiza mediante detalladamente en el punto siguiente. Puede
verse cmo cada tarea lleva asociada su cola
prioridades de rdenes pudiendo ella transmitir tambin
ll bytes cuya informacin y rdenes a otras tareas.
interpretacion El software del nivel enlace de datos est
depende de constituido por dos rutinas de interrupcin
que ejecutan un autmata. El paso de rdenes
coest a

rdenes de stos y se encarga de cumplirlas


optimizando la utilizacin del canal Se ha
centrado el trabajo en torno a la especificacin de
unas rdenes y funcionamiento adecuados al
establecimiento dinmico y mantenimiento de
circuitos virtuales entre tareas de nivel usuario.
En segundo lugar interesara tambin un
Figura 2. Estructura general de los bloques de orden a Io largo de stos se realiza a travs de posiciones fijas y
todo el subsistema de comunicacin. mecanismos de sincronizacin de muy bajo
nivel, todo ello con vistas a minimizar
tiempos.
fijas para cada tarea, estando en ejecucin en cada
momento la ms prioritaria de las no bloqueadas.
Al introducir la multiprogramacin a un NIVEL TRANSPORTE
sistema microcomputador aadimos a su
pequea potencia la sobrecarga debida a las El nivel transporte tiene como misin
funciones de gestin de recursos (procesador, proporcionar a los superiores una
tacas, memoria, etc.) que debe realizar el comunicacin fiable y eficiente. Admite
ejecutivo. Se considera por ello necesario mximo de 1 5 circuitos virtuales simultneos
estructurar de una manera global la en cada uno. Al crear un circuito se asocia en
cada nodo un nmero de canal local (no tiene
3
por que ser el mismo en los dos) y se inicializa Figura 3. Estructura general del software de comunicacin.
tambin en ellos una informacin denominada a diferenciarse en dos grupos: uno dedicado al
contexto que permitir al nivel transporte establecimiento, mantenimiento y cierre del
controlar la comunicacin. Una vez circuito y otro de rdenes propias de
establecida sta, todas las referencias al transmisin. En el primer grupo estaran las de
circuito virtual se harn en cada nodo por el abrir, aceptar abrir o no (contestacin a una
nmero de canal local. demanda de abrir) y cerrar, as como una de
2) Para simplificar y aumentar la velocidad del resincronizar que tiene como Ir objeto forzar
nivel transporte se ha decidido dejar la la congruencia entre los contextos o visin
gestin de memoria a los niveles superiores, local que tienen los dos nodos del circuito
cuando se produce algn error no
Este nivel dispone solamente del subsanable por el propio nivel transporte. En
el segundo se encuentran las de transmitir y
espacio de memoria suficiente para aceptar recibir.
paquetes de control, realizndose todas las Estas rdenes se realizan mediante
transferencias de informacin entre zonas de intercambio de paquetes con formato a
memoria de usuario. Ello implica que para admitir
paquetes con informacin deber haberse dado este nivel
una orden de recepcin.
3) Si los mensajes que desea enviar el nivel superior < pnt> : < cd> < sec> <resp>
son demasiado grandes, el nivel transporte debe <informacin>
descompo nerlos en paquetes de 1 27 bytes.
4) Los paquetes que llevan informacin del nivel donde
superior se numeran, no aceptndose los <cd> es un byte de control en el cual se
recibidos fuera de orden. codifican las caractersticas del paquete y
5) El paso de rdenes al nivel enlace de datos se qu acciones debe realizar el nodo destinatario al
hace a travs de posiciones fijas de memoria, recibirlo.
forzando por tanto a tener en cada momento un <sec> es un byte que se utiliza para numerar los
mximo de una demanda de transmisin y/o paquetes que transportan informacin del nivel
recepcin por canal. Esto permite una superior. En algunos paquetes no secuenciados (de
implantacin ms rpida del nivel enlace de control) puede utilizarse para indicar el nodo de
datos. procedencia (ejemplo: orden abrir).
6) Cuando una tarea del nivel transporte de una < resp> permite indicar al destinatario
orden al inferior no debe quedar bloqueada. el nmero de su ltimo paquete bien
Cuando finalice su procesado volver a solicitar recibido.
una orden o bloque de su cola de entrada. Si no < informacin > campo de longitud
hay ninguna, es entonces cuando quedar variable entre O y 1 27
bloqueada. Cuando el nivel inferior haya
realizado la orden enviar el bloque con bytes que puede contener informacin
informacin del resultado a esta cola, de donde del nivel superior, propia del nivel
podr retirarlo la tarea. transporte o mixta (por ejemplo: cola a
7) Para establecer una comunicacin, la tarea que la que debe enviarse la peticin de abrir y
solicita debe saber la situacin fsica de la parmetros que pasa la tarea que solicita
destinataria y el punto de acceso a ella. Esto abrir a la destinataria).
implica que la distribucin de tareas es esttica o Adicionalmente, en su comunicacin
ha de gestionarse a niveles superiores de una con el nivel enlace de datos local debe
forma difcil de controlar. pasarse informacin sobre nodo destino,
canal en l al que va destinado, y
Se han fijado una serie de rdenes y respuestas longitud del campo informacin, as como
mediante los cuales el nivel transporte ofrece su resultado de las operaciones.
servicio. Podran Se describe ahora la
descomposicin en tareas por la que
se opt y que puede verse en la figura 3. En
cada nodo se reserva un canal adicional (el
canal O) a funciones de gestin de la
conexin y que puede utilizarse tambin para
transmitir mensajes sueltos a colas remotas.
Dedicaremos una tarea gestora de canales
(TGC) a estas funciones. TGC dispone de
varios bloques de rdenes (1 6 bytes),
encargndose de que en todo momento haya
orden de recibir por el canal cero. Para que se
puedan recibir mensajes destinados a

servicio que permitiera


enviar mensajes cortos a colas residentes en
otros nodos, ampliando en cierta medida los
servicios del ejecutivo.
Una serie de caractersticas que se imponen
por considerarlas interesantes, o necesarias para
un diseo eficiente son:
4
1 ) En la arquitectura se permiten hasta 256
nodos con un
una cola o peticiones de abrir con la utilizacin del medio, tanto en capacidad como en
parmetros, debe dar tambin un buffer- tiempo de servicio.
Este Io obtiene, si es posible, del gestor Se utiliza una tcnica de acceso aleatorio del tipo
de memoria a travs de la tarea T OB. En caso CSMACD. Se necesita un mecanismo de escucha de
de no existir momentneamente buffer la lnea que permita detectar su estado. La
libres, es TOB la que se queda transmisin no puede comenzar hasta que aqulla
bloqueada, mientras TGC es capaz de quede libre (lleve un tiempo mayor de transmisin
admitir todava con sus bloques de de diez bits sin producirse ningn flanco). En este
control demandas de abrir simples (sin instante, en cada nodo que tenga un paquete a
parmetros). En caso de disponer de buffer, si lo que transmitir, se hace una pequea temporizacin
se recibe es una demanda de meter en una cola, se proporcional al nmero de orden del primer canal
enva el tampn a ella y se comunica al origen que ya local con orden. Si al finalizar sta el bus est ya
se ha hecho. Si se trata de abrir un canal, se ocupado, se esperar nuevamente a que quede
pasa la peticin a la tarea destinataria; si libre. Este mecanismo establece prioridades por
acepta, hay que asignar un nmero de canal nmero de canal, siendo la mayor la del cero.
local, indicar al que solicit abrir el resultado Ante la posibilidad de que dos o ms nodos
positivo de la operacin, e inicializar el contexto. comiencen a transmitir simultneamente, es
A partir de entonces ser la tarea de transporte necesario disponer en cada nodo de un mecanismo
de informacin (TTI), la que controlar el circuito que permita detectar si su emisin se ha
virtual. estropeado, en cuyo caso la bloquea
inmediatamente. Por tratarse de un canal en colector
abierto, la transmisin de un O estropea la de un
1 si se superponen, pero no a la inversa. Esta
NIVEL ENLACE DE DATOS tcnica permite asegurar [8] (debe cumplirse para
ello que la longitud de la lnea sea inferior en nuestro
La misin reservada a este nivel es la de caso a 1 .200 m) que uno y slo uno de los paquetes
llevar de nodo fuente a destino los paquetes que que colisionan se quedarn con la lnea y sin resultar
el nivel transporte le prepara. Al hacerlo se daado, lo que permitir su correcta recepcin.
encarga de dos funciones de gran importancia: Posteriormente deber intentarse de nuevo la
arbitrar el bus y detectar los posibles errores en transmisin de los paquetes que han sufrido la
la transmisin. colisin.
El modo de transmisin sncrono de la USART
8251 no realiza la tcnica de inversin de bit que
sera necesaria para arbitrar correctamente el canal, Formato del paquete
pues se utiliza transmisin en banda base con
codificacin de lnea NRZ. Se clecidi por tanto Para realizar las funciones de encaminamiento del
utilizar ei modo de transmisin asncrono con la paquete, recepcin y deteccin de errores se ha
consiguiente prdida de eficiencia. La velocidad de especificado el siguiente formato:
transmiSin impuesta por el controlador es de 57,6
kbits/s. La capacidad del canal es pues baja, pero dirdest> <idcan> < [ong > < pnt> <
consideramos que suficiente para gran nmero de checksum
aplicaciones. Lsto permite por otro lado realizar el
control directo de la transferencia por interrupciones,
sin necesidad de controlador de acceso directo a siendo:
memoria y hardware complicado para realizar : byte que identifica el nodo
funciones de este nivel. destino.
Para facilitar la realizacin en el subsistema : byte cuyos 4 bits altos identifican
de comunicacin de varios circuitos virtuales, el nmero del canal local al que va destinado
se decidi disponer ya a este nivel de 1 6 el paquete- Los cuatro bajos contienen el del
canales lgicos controlables canal por el que se emite.
independientemente. Se admite en cada < long> : byte que determina la longitud del
instante una nica orden de transmisin y otra campo < pnt> menos tres, es decir la
de recepcin por cada canal. Esta medida longitud del campo de informacin.
permite controlar la velocidad de admisin de
demandas de transmisin en funcin de la < pnt> : es el paquete del nivel transporte
capacidad del nivel de servirlas. tal como se ha visto.
< checksum> : un byte que contiene el
Acceso ag canal complemento del valor calculado en el emisor
sumando mdulo 256 todos los caracteres
Un tema de gran importancia en una red transmitidos.
multipunto es el protocolo de acceso al bus. Por < : intervalo desde que termina el
existir un nico canal a compartir por todos los anterior hasta que la lnea queda libre.
nodos, es necesario arbitrar su utilizacin
determinando quin puede transmitir en cada Para realizar el encaminamiento se utilizan
momento. La tcnica que se utilice debe tender a los dos primeros bytes. Todos los nodos
aprovechar al mximo la capacidad del canal monitorizan constantemente la lnea en busca
ofreciendo un trato por igual a todos los nodos. del principio de un paquete, analizando
Podra resultar tambin interesante establecer entonces el primer byte y comprobando si va
prioridades segn el tipo de paquete a transmitir. En dirigido a ellos. Si no es as, se pasa a esperar
este proyecto se ha utilizado un mtodo basado en el principio del siguiente. El nodo destinatario
la propuesta de [8] en el que se pretende optimizar analiza el segundo byte determinando para qu
canal va destinado, comprobando si hay o no
5
orden de recibir por l. Tambin se comprobar, calcula esta misma suma incluyendo tambin el
si la orden de recepcin io especifica, el CHECKSUM. Si el resultado es todo unos, se
nmero de canal emisor del paquete como considerar que no se ha producido error.
medida para evitar ingerencias extraas. Por las caractersticas de la red es posible utilizar
Puede el lector considerar cmo no es un mecanismo sencillo y eficiente para indicar al
necesario incluir tambin la direccin del nodo nodo emisor la recepcin correcta del paquete a este
emisor, pues el nmero de canal nivl por el destinatario. Cuando ste compruebe
destino identifica totamente a nivel que no ha habido error en la transmisin provoca
transporte (mediante la informacin una colisin al emisor antes de que la lnea quede
contenida en el contexto) las tareas libre. Si sta no se produce, ser interpretado por el
implicadas en la comunicacin. Respecto a los emisor como indicativo de que el paquete no ha sido
paquetes que establecen el circuito virtual se correctamente recibido. Este mecanismo permite dar
ha visto al describir el nivel transporte que un reconocimiento individual a cada paquete a costa
llevan a este nivel (campo < sec>) la del tiempo que se tarda en comprobar el CHECKSUM
informacin de nodo origen, lo que va a y provocar la colisin, que ser siempre pequeo.
permitir al destinatario inicializar Es interesante recalcar cmo la interpretacin de la
correctamente el contexto y enviar
posteriormente todos los paquetes al nodo
apropiado.
Tambin relacionado con los campos de
identificacin del destinatario puede verse que
garantizan la colisin en los dos primeros bytes de
los paquetes de circuitos virtuales que se comiencen
a emitir a la vez. En los paquetes de apertura del
enlace virtual o de envo de mensaje a una cola no
local, esta colisin podra retrasarse como mucho
hasta la emisin del campo < sec> que como se ha
dicho lleva el nmero de nodo emisor.
La informacin del campo < long > se utiliza
para determinar si se dispone de espacio
suficiente y en caso afirmativo cuando finaliza
la recepcin.
Respecto al control de errores se decidi, para
facilitar la realizacin, que este nivel slo realice
funciones de deteccin y no de correccin. En
cualquier momento que el receptor detecte errores
lgicos en la recepcin (como ausencia de orden de
recibir) provoca una colisin al emisor, con Io cual se
libera el canal antes de finalizar la transmisin del
paquete, logrndose as una mayor utilizacin del
canai.
Para la deteccin de errores de transmisin se
aade al paquete un byte de CHECKSUM al final de
ste igual al complemento a uno de la suma mdulo
256 de todos los bytes transmitidos. En recepcin se

Figura de bloques interface.


Incluye auese implant
un temporizador en la misma
placa.
colisin por el transmisor difiere1 ) Registros de E/S orden de la USAR T: se utiliza para
dependiendo del instante en que se produce. programar el modo de funcionamiento de sta y
As, si es durante el primero o segundo byte, darle las rdenes de transmitir, recibir o provocar
se debe a colisin en el acceso al canal, si io colisin. Tambin se puede a travs de este registro
es desde el tercero al CHECKSUM se debe a poner a cero la circuitera de deteccin de colisin.
algn error detectado por el receptor. Si se Se puede hacer lo mismo con la de deteccin de
produce despus de la transmisin del CHECKSUM, principin de paquete mediante otro registro.
indica recepcin correcta del paquete. 2) Registro de la USAR T: su lectura da informacin
sobre el estado de ta recepcin o transmisin de
Descripcin del circuito un carcter, as como si se ha producido colisin.
3) Registro de enviar un carcter para que la USART
En la actualidad hay una gran tendencia a lo transmita y otro de donde retirar fos recibidos.
ejecutar en hardware y con controladores 4) Registro de estado de la lnea que permite
potentes la mayor parte de las funciones del comprobar si est libre u ocupada y si se ha
nivel enlace de datos. Por las limitaciones detectado el principio de un paquete.
tecnolgicas y econmicas de nuestro caso,
hemos diseado y construido un interface 5) Para control de las interrupciones se dispone
entre el microcomputador y el canal que realiza adems de las rdenes a la USAR T, de registro
solamente las funciones ms importantes. para permitir o no la interrupcin de lnea libre y
Puede dividirse el circuito para su otra para poder inhibir todas las de la placa.
descripcin (figuras 4, 5) en tres secciones: La circuitera de interrupciones se encarga de ia
adaptacin al bus del computador (MUBUS), sincronizacin con el procesador cuando existe
controlador y adaptacin al canal. El atguna dernanda.
controlador es, como se ha dicho, la USART
8251 de Intel. El interface con el bus consta
principalmente de una parte de direccio nado y
otra de control de interrupciones.
La circuitera de direccionado decodifica
eh bus de direcciones y control dando
acceso al microcomputador a
una serie de registros de EIS (ports) para control de
la placa y lectura de su estado. Son los siguientes:

Figura 5. Esquema completo del circuito.


Las posibles son: transmisor preparado (puede Software de enlace de datos
enviarse otro byte), receptor preparado (puede
retirarse el ya recibido), lnea libre, y principio de Vamos a describir el conjunto de programas
mensaje. Las dos primeras son enmascarables que controlan directamente el interface
individualmente a travs de la orden a la USAR T. hardware completando sus caractersticas
Tambin lo es, como se ha visto, la de lnea libre (pues para ofrecer el servicio de nivel enlace de
no interesa detectarla si no se quiere transmitir). datos.
Finalmente es posible enmascarar todas Las tcnicas de autmatas secuenciales se
conjuntamente. Las rutinas de interrupcin comienzan utilizan frecuentemente en la descripcin y
en la posicin 1 6 de memoria para la de principio de realizacin de protocolos. Adems de facilitar
mensaje y 24 para tas dems. su comprensin, resultan sencillas de
Las funciones que, por las caractersticas del programar utilizando determinadas
protocolo y limitaciones del controlador, ha estructuras de control. En nuestro caso se ha
sido necesario implantar para control del canal descompuesto el nivel enlace de datos en dos
son: autmatas (transmisin y recepcin),
realizados como rutinas de interrupcin. Cada
1 ) Sincronizacin del reloj en recepcin para interrupcin dispara una accin y transicin de
que la USART pueda detectar correctamente estado. Dado que los dos evolucionan
los bits a su entrada. Por ser la velocidad de independientemente, se necesita una variable
transmisin baja, y la generacin de reloj a de comunicacin entre ambos que les permita
partir de una frecuencia elevada mediante compartir el interface. Esta variable indica en
una cadena de divisores, se logra esta cada momento cmo est programada la
sincronizacin poniendo a cero los divisores USART de modo que cada uno de ellos pueda
cada vez que se,detecta un flanco de bajada. modificar slo la parte que le compete,
Esto se logra mediante una puerta NAND dejando intacta la otra. El acceso a esta
trigger de Schmidt a la que van la seal del variable est protegido ya que cada ejecucin
canal invertida por una entrada y ligeramente de cualquiera de los autmatas es
retardada mediante una red RC a la otra. ininterrumpible.
2) Adaptacin en transmisin: es necesario por El paso de rdenes al nivel enlace de datos se
un lado hacer la salida en colector abierto a realiza a travs de posiciones fijas de memoria.
la lnea y por otro introducir una puerta que
fuerce un I en la lnea si se ha detectado En transmisin se reservan tres bytes por
colisin. canal, indicando er primero la existencia o
3) Adaptacin en recepcin: la nica ausencia de orden y apuntando los dos
funcin que realiza es la de conformar siguientes al bloque de orden.
la seal antes de que entre a la USART En recepcin son cuatro, teniendo el primero y los
dos ltimos la misma misin que en el caso anterior.
4) Deteccin de colisin: la misin de este El segundo byte permite al nivel transporte dar
bloque es detectar cuando el paquete que orden de comparar o no el canal de origen y en caso
se intenta transmitir ha sido estropeado por afirmativo cual debe ser su valor.
la emisin de un cero por parte de otro El bloque de rdenes que se da a este nivel tiene
nodo. Para ello se compara lo que se desea la estructura de la figura 6. De ella se desprende
transmitir en cada momento con lo que hay que est pensada para minimizar el procesado
en la lnea. Si se detecta la colisin se pone necesario en su tratamiento. As, los parmetros
a uno un biestable, parando que pasa el nivel transporte y que han de formar
inmediatamente la transmisin, y pudiendo parte del paquete segn el formato establecido y los
ser ledo desde la USAR T. Conviene resaltar campos de control propios de nivel transporte, estn
adems, que fue necesario filtrar pequeos consecutivos tal como habrn de transmitirse. Como
pulsos de falsa colisin que surgan debido punto interesante puede verse que la zona de
al retraso de las puertas entre los puntos en informacin proceder directamente del espacio de
que se tomaban las seales a comparar. memoria de usuario apuntada por PBUFF,
Esto se hizo con una red RC y un trigger de evitndose as las transferencias entre buffer de
Schmidt. usuario y del subsistema de comunicacin.
5) Deteccin de lnea libre: esta funcin se
realiz con un descontador que en cada
flanco descendente de la lnea se carga a 1
0 y se decrementa en 1 en intervalos de
transmisin de 1 bit. Cuando llega a cero se
pone a uno un biestable indicando que la
lnea est libre. Vase que si est ocupada
nunca habr tanta separacin entre flancos
descendentes por el tipo de transmisin
utilizado.
6) Deteccin de principio de paquete: es
fcil ver que las transiciones de lnea
libre a ocupada indican que comienza la
transmisin de un paquete, por lo que
un solo biestable permite detectar esta
condicin.
El interface hardware realizado resulta
flexible y eficiente habindose utilizado en l 1
6 circuitos integrados-

8
(checksum) dinmicamente en la rutina de
interrupcin al tiempo de procesado.
Finalmente, creemos interesante recalcar la
penc importancia de una codificacin de estado,
ad variables y rutinas de interrupcin enfocada a
minimizar el tiempo de ejecucin del autmata.
pcont Por su cercana al dispositivo fsico y gran
frecuencia de utilizacin, pequeas ganancias
coest en l permitirn disponer de bastante ms
tiempo para las dems tareas del sistema. El
Ion tiempo medio de procesado por interrupcin
est en torno a 140 gs ocupando 71 6 bytes el
pbuff cdigo de los autmatas que ejecutan este
nivel utilizando un espacio de 50 bytes para
wdest variables locales en una realizacin de cuatro
canales por nodo. Las rutinas que permiten al
idcan nivel transporte dar las rdenes ocupan 1 04
Id bytes.
cd
sec CONCLUSIONES
Se ha realizado en este proyecto la
resp estructura soporte de comunicacin para un
libre gran nmero de aplicaciones de naturaleza
distribuida basadas en microcomputadores de
libre pequea potencia y con unos medios
Figura 6. Estructura del bloque de orden a nivel enlace de datos. proporcionados a sta.
El campo es el nico no explicado en el texto y permite en Un objetivo interesante y en cierta medida
recepcin fijar el tamao del tampn, de modo que no se admita
la recepcin de paquetes cuyo campo </d> indica un tamao escondido a lo largo del trabajo ha sido demostrar
mayor. cmo a pesar de la sencillez de los procesadores
es eficiente ia multiprogramacin si se mantienen
ciertos criterios de los que nos parecen ms
La sincronizacin de las tareas de nivel transporte importantes:
con los autmatas de enlace de datos ha de llevarse 1 ) Reducir el ejecutivo a un mnimo suficiente para
a cabo con mecanismos de muy bajo nivel basados gestionar el procesador y permitir una
en el conocimiento del ejecutivo y estructuracin sincronizacin y comunicacin entre tareas.
del sistema de interrupcionesSe opt por implantar 2) Enfoque global de las aplicaciones esta %leciendo
una serie de rutinas que los realicen correctamente un orden de prioridad entre las tareas acorde a su
y ofrecerlas al nivel transporte como primitivas para urgencia y proximidad al medio fsico con el que
dar sus rdenes. Estas rutinas no bloquean a la trabajan.
tarea que las llama, y permiten dar _las siguientes 3) Utilizar estructuras de datos apropiados para una
rdenes: transmitir, recibir, abortar transmitir, comunicacin eficiente entre tareas.
abortar recibir, y fijar si se ha de compobar en
recepcin el nmero de canal emisor, y en caso 4) La programacin de rutinas y tareas prximas a
afirmativo, qu debe valer. los diSpositivos ha de hacerse intentando
optimizar tiempos.
La de dar orden de transmitir se encarga
adems de actualizar la estructura de control, 5) La asignacin de memoria debe ser esttica en
de permitir la interrupcin de lnea libre. los niveles bajos con estructuras de datos
Cuando sta se produzca, entrar en propios pequeas y utilizando directamente las
funcionamiento el autmata de transmisin. Si estructuras grandes de los niveles superiores. La
el paquete no puede transmitirse gestin dinmica de memoria debe hacerse pues
inmediatamente porque se lleva el bus otro en los niveles altos y por bloques grandes.
nodo, el nivel enlace de datos seguir
intentando transmitirIo. Una vez Io consiga,
devolver et bloque de orden al nivel BIBLIOGRAFIA
transporte con indicacin de si ha sido D.D. Clark, An Introduction to Local Area Networks. Proc.
correctamente recibido por el destinatario o IEEE Nov. 1978, pp. 1497-1517.
no. [2] C. Tropper, Local Computer Network Technologies.
El autmata de recepcin se inicializa con la Academic Press, New York, 1981 .
interrupcin de principio de mensaje que no es J. Labarta, Desarrollo del sistema de comunicacin entre los
enmascarabie ya que se ha de estar nodos de una red de microcomputadores con topologa
escuchando la lnea continuamente por si multipunto. P.EC. E.T.S.I.T. Barcelona, octubre 1981 ,
algn paquete va dirigido a ese nodo. Puede [4] G.A. Anderson y E.D. Jensen, Computer Interconnection
Structures: Taxonomy, Characteristics and examples.
verse como a los nodos no destinatarios no se Computing Surveys ACM Vol. 7, NP 4, diciembre 1975, pp.
les molesta ms que una vez al principio de 197-213.
cada paquete. El destinatario al inicializar el [5] H. Zimmermann, OSI Reference Model-The ISO Model of
autmata permite las interrupciones de Architecture for Open Systems Interconnection. IEEE
recepcin de forma que se producir una cada Trans. on Comm. Vol. COM
28, No. 4, abril 1980, pp. 425-432.
vez que tenga un byte dispnible.
[6] IEEE 802 Local Network Standard.
Por otro lado, y tanto en recepcin como en
transmisin, se calcula la suma de verificacin [7] L. Pouzin y H. Zimmermann, A Tutorial on Protocols. Proc.
IEEE, Vol. 66, No. 11, Nov, 1978, pp. 1346-1370.

9
[8] M. Valero, Contribucin al diseo de redes locales de [9] E. Herrada, M. Medina, M. Valero, Interconexin de
microcomputadores. Tesis Doctoral, E.TS.l.T. Barcelona, 1 perifricos a microprocesadores, Cap. 3, Marcombor 1979.
980.

10

Вам также может понравиться