Sistema de comunicación de datos
Comunicación de datos
El propósito fundamental de las comunicaciones de datos es el de intercambiar información entre dos sistemas (fuente y destino).
En la siguiente imagen se muestra un modelo sistémico de comunicación:
Este se puede describir y mostrar de la siguiente manera:
- La información es introducida mediante un dispositivo de entrada a un Sistema Fuente y que mediante un transmisor es convertida en una señal que depende de las características del medio de transmisión.
- En el otro extremo en el Sistema Destino, el receptor recibe la señal transmitida y es aproximadamente igual a la señal de entrada (información).
- Finalmente, el dispositivo de salida entrega el mensaje (información transmitida).
Tareas de un sistema de comunicación de datos
Como otro enfoque adicional se muestra a continuación en la lista, las tareas claves que desarrolla un sistema de comunicación de datos, siendo las tareas arbitrarias, pueden ser mezclados, agregados o pueden ser realizados en diferentes niveles del sistema.
- Utilización del sistema transmisión
- Interface
- Generación de señales
- Sincronización
- Administración de intercambios
- Detección y corrección de errores
- Control de flujo
- Direccionamiento y enrutamiento
- Recuperación
- Formato del mensaje
- Protección
- Administración del sistema
Utilización del sistema transmisión
Necesidad de hacer un uso eficiente de las facilidades de transmisión
que son típicamente compartidas entre varios dispositivos de
comunicación. Se usan varias técnicas como:
Interface
Para comunicarse, un dispositivo debe tener una Interface con el
sistema de transmisión. Mediante el uso de señales electromagnéticas
que se propagan sobre un medio de transmisión.
Generación de señales
Se requiere la generación de señales para la comunicación. La
propiedad de estas señales, tanto en forma como en intensidad, debe
ser capaz de propagarse a través del medio de transmisión y de ser
interpretables como datos en el receptor
Sincronización
Tiene que haber alguna forma de sincronización entre el transmisor y
receptor. El receptor debe ser capaz de determinar cuando una señal
empieza a llegar y cuando termina, así como la duración de cada
elemento de señal.
Administración de intercambios
Si los datos deben ser intercambiados en ambas direcciones por un
periodo de tiempo, las dos partes deben cooperar. Teniendo en cuenta
las convenciones tales como:
- Si ambos dispositivos podrían transmitir simultáneamente o deben hacerlo por turnos.
- La cantidad de datos que debe ser enviado cada vez.
- El formato de los datos.
- Que hacer si se presentan ciertas contingencias como errores.
Detección y corrección de errores
Para circunstancias donde los errores no pueden ser tolerados, se
requiere detección y corrección de errores, como el caso de los
sistemas de procesamiento de datos.
Control de flujo
Se requiere un control de flujo para que la fuente no sobrecargue el
medio ni el destino al enviar datos más rápido de lo que estos puedan
ser procesados y absorbidos.
Direccionamiento y enrutamiento
Cuando más de dos dispositivos comparten un medio de transmisión
el sistema debe ser informado por la fuente de la identidad de la
estación destinataria. El sistema debe asegurar que la estación de
destino y sola esa estación, reciba los datos.
Recuperación
Un concepto distinto al de corrección de errores es el recuperación.
Esta técnica es necesaria cuando un intercambio de información, tal
como una transacción con una base de datos, es interrumpido por una
falla en alguna parte del sistema. El objetivo de esta técnica es que el
sistema pueda reasumir la actividad en el punto de la interrupción o al menos que restaure el estado de los sistemas involucrados, a la
condición previa al inicio del intercambio de información.
Formato del mensaje
Involucra un acuerdo entre ambas partes, la forma de los datos que
van intercambiarse. Ambas partes deben usar el mismo código
binario de caracteres.
Protección
Es importante proporcionar algún grado de protección al sistema de
comunicación de datos. El remitente de los datos desearía tener la
seguridad de que solo el destinatario recibirá sus datos y viceversa.
Administración del sistema
Un sistema de comunicación de datos es tan complejo que no puede
funcionar por si mismo. Requiere capacidades de administración del
sistema para configurarlo, supervisar su estado, reaccionar ante fallas,
sobrecargas y planear inteligentemente su crecimiento futuro.
Conmutación de circuitos, de mensajes y de paquetes
Conmutar, es el procesamiento que realiza un nodo que recibe
información de una línea por una determinada interfaz y la reenvía por
otra interfaz, con el objetivo de que llegue a un destinatario final
(direccionamiento).
La comunicación entre un origen y un destino habitualmente pasa por
nodos intermedios que se encargan de encauzar el tráfico. Por
ejemplo, en las llamadas telefónicas los nodos intermedios son las
centralitas telefónicas y en las conexiones a Internet, los routers o
encaminadores. Dependiendo de la utilización de estos nodos
intermedios, se distingue entre conmutación de circuitos, de mensajes
y de paquetes.
- En la conmutación de circuitos se establece un camino físico entre el origen y el destino durante el tiempo que dure la transmisión de datos. Este camino es exclusivo para los dos extremos de la comunicación: no se comparte con otros usuarios (ancho de banda fijo). Si no se transmiten datos o se transmiten pocos se estará infrautilizando el canal. Las comunicaciones a través de líneas telefónicas analógicas (RTB) o digitales (RDSI) funcionan mediante conmutación de circuitos.
- Un mensaje que se transmite por conmutación de mensajes va pasando desde un nodo al siguiente, liberando el tramo anterior en cada paso para que otros puedan utilizarlo y esperando a que el siguiente tramo esté libre para transmitirlo. Esto implica que el camino origen-destino es utilizado de forma simultánea por distintos mensajes. Sin embargo, éste método no es muy útil en la práctica ya que los nodos intermedios necesitarían una elevada memoria temporal para almacenar los mensajes completos. En la vida real podemos compararlo con el correo postal.
- Finalmente, la conmutación de paquetes es la que realmente se utiliza cuando hablamos de redes. Los mensajes se fragmentan en paquetes y cada uno de ellos se envía de forma independiente desde el origen al destino. De esta manera, los nodos (routers) no necesitan una gran memoria temporal y el tráfico por la red es más fluido. Nos encontramos aquí con una serie de problemas añadidos: la pérdida de un paquete provocará que se descarte el mensaje completo; además, como los paquetes pueden seguir rutas distintas puede darse el caso de que lleguen desordenados al destino. Esta es la forma de transmisión que se utiliza en Internet: los fragmentos de un mensaje van pasando a través de distintas redes hasta llegar al destino.
Comunicación simplex, half-duplex y full-duplex
- En una comunicación simplex existe un solo canal unidireccional, el origen puede transmitir al destino pero el destino no puede comunicarse con el origen. Por ejemplo, la radio y la televisión.
- En una comunicación half-duplex existe un solo canal que puede transmitir en los dos sentidos pero no simultáneamente, las estaciones se tienen que turnar. Esto es lo que ocurre con las emisoras de radioaficionados.
- Por último, en una comunicación full-duplex existen dos canales, uno para cada sentido, ambas estaciones pueden transmitir y recibir a la vez. Por ejemplo, el teléfono.
Mecanismos de detección de errores
¿Cómo puede saber el receptor que ha recibido el mismo mensaje que
envió el emisor? ¿Cómo puede saber que no se ha producido ningún
error que haya alterado los datos durante la transmisión?
Se necesitan mecanismos de detección de errores para garantizar
transmisiones libres de errores. Si el receptor detecta algún error,
puede actuar de diversas maneras según los protocolos que esté
utilizando. La solución más sencilla es enviarle un mensaje al emisor
pidiéndole que le reenvíe de nuevo la información que llegó
defectuosa.
Los mecanismos de detección se basan en añadir a las transmisiones
una serie de bits adicionales, denominados bits de redundancia. La
redundancia es aquella parte del mensaje que sería innecesaria en
ausencia de errores (es decir, no aporta información nueva, sólo
permite detectar errores). Algunos métodos incorporan una
redundancia capaz de corregir errores. Estos son los mecanismos de
detección y corrección de errores.
Paridad
Las transmisiones se dividen en palabras de cierto número de bits (por
ejemplo, 8 bits) y se envían secuencialmente. A cada una de estas
palabras se le añade un único bit de redundancia (bit de paridad) de tal forma que la suma de todos los bits de la palabra sea siempre un
número par (paridad par) o impar (paridad impar).
El emisor envía las palabras añadiendo los correspondientes bits de
paridad. El receptor comprobará a su llegada que la suma de los bits
de la palabra incluyendo la redundancia es un número par (si la
codificación convenida entre emisor-receptor es de paridad par) o un
número impar (paridad impar). Si el receptor encuentra alguna palabra
que no se ajuste a la codificación establecida, le solicitará al emisor
que le reenvíe de nuevo la información.
La paridad únicamente permite detectar errores simples, esto es, que
varíe un único bit en cada palabra. Si varían 2 bits, este mecanismo no
es capaz de detectar el error.
Veamos un ejemplo de paridad par:
El receptor realizará la suma de bits a la llegada del mensaje. Si
alguna palabra no suma un número par, significará que se ha
producido un error durante la transmisión.
CRC (Código de Redundancia Cíclica)
Los códigos de paridad tienen el inconveniente de que se requiere
demasiada redundancia para detectar únicamente errores simples. En
el ejemplo que hemos visto, sólo 8 de 9 bits de información
transmitida contenían datos, el resto era redundancia.
Los códigos de redundancia cíclica (CRC) son muy utilizados en la
práctica para la detección de errores en largas secuencias de datos. Se
basan en representar las cadenas de datos como polinomios. El emisor
realiza ciertas operaciones matemáticas antes de enviar los datos. El
receptor realizará, a la llegada de la transmisión, una división entre un
polinomio convenido (polinomio generador). Si el resto es cero, la
transmisión ha sido correcta. Si el resto es distinto significará que se
han producido errores y solicitará la retransmisión al emisor.
Control de flujo
El control de flujo determina cómo enviar la información entre el
emisor y el receptor de forma que se vaya recibiendo correctamente
sin saturar al receptor. Nótese que puede darse el caso de un emisor
rápido y un receptor lento (o un receptor rápido pero que esté
realizando otras muchas tareas).
El mecanismo más sencillo de control de flujo se basa en devolver una
confirmación o acuse de recibo (ACK) cada vez que el receptor reciba
algún dato correcto o una señal de error (NACK) si el dato ha llegado dañado. Cuando el emisor recibe un ACK pasa a enviar el siguiente
dato. Si, en cambio, recibe un NACK reenviará el mismo dato.
El procedimiento anterior tiene el gran inconveniente de que el canal
se encuentra infrautilizado, hasta que el emisor no reciba un ACK no
enviará ningún dato más, estando el canal desaprovechado todo ese
tiempo. Una mejora de este método es el envío de una serie de datos
numerados, de tal forma que en un sentido siempre se estén enviando
datos (dato1, dato2, dato3...) y en el otro sentido se vayan recibiendo
las confirmaciones (ACK1, ACK2, ACK3...). La cantidad de datos
pendientes de ACK o NACK se establecerá según la memoria
temporal del emisor.
Fuente: pag 13-22 documento














Comentarios
Publicar un comentario