Modelos y Dispositivos de Comunicación
Introducción
Para
el humano es importante la creación e implementación de tecnologías que ayuden
a la calidad de vida. Durante los años 60 y 70 se crearon muchas tecnologías
de redes, cada
una basada en un diseño específico
de hardware los cuales con el tiempo se han ido mejorando aplicando
protocolos y estándares para su correcto uso y funcionamiento.
Los programas de
aplicación realizan la comunicación y la interfaz hombre-máquina
que permite al humano utilizar la red. Esto
supone un gran avance debido a que crea una mejor organización de
espacio-tiempo en el manejo de datos o información.
El
modelo OSI está basado en una propuesta desarrollada por la ISO (Organización
Internacional de Estándares) como un primer paso hacia la estandarización
internacional de protocolos utilizados en varias capas (Day y Zimmermann,
1983). El modelo se llama OSI (Interconexión de sistemas abiertos) de ISO porque
tiene que ver con la conexión de sistemas abiertos, es decir, sistemas que
están abiertos a la comunicación con otros sistemas. Esto supone, por ejemplo,
que dos softwares de comunicación distintos puedan utilizar el mismo medio
físico de comunicación.
Un protocolo
de comunicaciones es un conjunto
de reglas y normas que permiten que dos o más entidades de
un sistema de comunicación se comuniquen entre ellos
para transmitir información por medio de cualquier tipo de variación
de una magnitud física
Los
estándares en materia de telecomunicaciones se hace referencia a garantizar la
interoperabilidad entre diversos fabricantes, cosa esencial si se quieren hacer
redes abiertas, es decir si no se quiere ser cautivo de un fabricante en
particular
Las
redes de computadores deben ser capaces de transmitir datos de un dispositivo a
otro con cierto nivel de precisión. Para muchas aplicaciones, el sistema debe
garantizar que los datos recibidos son iguales a los trasmitidos.
5.1
Introducción al modelo de referencia OSI
Durante
los años 60 y 70 se crearon muchas tecnologías de redes, cada
una basada en un diseño específico
de hardware.
Estos sistemas eran
construidos de una sola pieza, una arquitectura monolítica.
Esto significa que los diseñadores debían ocuparse de todos los elementos
involucrados en el proceso,
estos elementos forman una cadena de transmisión que tiene diversas partes: Los
dispositivos físicos de conexión, los protocolos software y
hardware usados en la
comunicación.
Los programas de
aplicación realizan la comunicación y la interfaz hombre-máquina
que permite al humano utilizar la red.
Este modelo, que considera la cadena como un todo monolítico, es poco práctico,
pues el más pequeño cambio puede
implicar alterar todos sus elementos.
El
diseño original de Internet del Departamento de Defensa Americano disponía un
esquema de cuatro capas, aunque data de los 70 es similar al que se continúa
utilizando:
·
Capa Física o de Acceso de Red: Es
la responsable del envío de la información sobre
el sistema hardware
utilizado en cada caso, se utiliza un protocolo distinto según el tipo de
red física.
·
Capa de Red o Capa Internet: Es
la encargada de enviar los datos a
través de las distintas redes físicas que pueden conectar una máquina origen
con la de destino de la información. Los protocolos de transmisión, como
el IP están íntimamente asociados a esta capa.
·
Capa de Transporte: Controla
el establecimiento y fin de la conexión, control de
flujo de datos, retransmisión de datos perdidos y otros detalles de la
transmisión entre dos sistemas. Los protocolos más importantes a este
nivel son TCP y UDP (mutuamente excluyentes).
·
Capa de Aplicación: Conformada
por los protocolos que sirven directamente a los programas de usuario,
navegador, e-mail, FTP, TELNET, etc.
Respondiendo
a la teoría general
imperante el mundo de la computación, de
diseñar el hardware por módulos y el software por capas, en 1978 la organización ISO (International
Standards Organization), propuso un modelo de comunicaciones para
redes al que titularon "The reference model of Open Systems
Interconnection", generalmente conocido como MODELO OSI.
Su filosofía se
basa en descomponer la funcionalidad de la cadena de transmisión en diversos
módulos, cuya interfaz con los adyacentes esté estandarizada. Esta
filosofía de diseño presenta una doble ventaja: El cambio de un módulo no
afecta necesariamente a la totalidad de la cadena, además, puede existir una
cierta inter-La operabilidad entre diversos productos y
fabricantes hardware/software, dado que los límites y
las interfaces están perfectamente definidas.
Esto supone,
por ejemplo, que dos softwares de comunicación distintos puedan utilizar el
mismo medio físico de comunicación.
El modelo OSI tiene dos
componentes principales:
- ØUn
modelo de red, denominado modelo básico de referencia o capa de servicio.
- Ø Una
serie de protocolos concretos.
El
modelo de red, está basado en un modelo de siete capas. Actualmente todos los
desarrollos se basan en este modelo de 7 niveles que son los siguientes:
- Físico;
- Enlace;
- Red;
- Transporte;
- Sesión;
- Presentación
- Aplicación.
Cada
nivel realiza una función concreta,
y está separado de los adyacentes por interfaces conocidas, sin que le incumba
ningún otro aspecto del total de la comunicación.
Generalmente
los dispositivos utilizados en las redes circunscriben su operación a uno o
varios de estos niveles. Por ejemplo, un hub (concentrador)
que amplifica y retransmite la señal a través de todos sus puertos está
operando exclusivamente en la capa 1, mientras que un conmutador (switch)
opera en las capas 1 y 2; un router opera
en las capas 1, 2 y 3. Finalmente una estación de trabajo de usuario
generalmente maneja las capas 5, 6 y 7.
En lo
que respecta al software, hay que señalar que cada capa utiliza un protocolo
específico para comunicarse con las capas adyacentes, y que añade a la cabecera
del paquete cierta información adicional.
Capas del modelo OSI
1. Capa física
Es la
encargada de transmitir los bits de información por la línea o medio utilizado
para la transmisión. Se ocupa de las propiedades físicas y características
eléctricas de los diversos componentes, de la velocidad de
transmisión, si esta es unidireccional o bidireccional (simplex, dúplex o
flull-duplex).
También
de aspectos mecánicos de las conexiones y terminales, incluyendo la interpretación de
las señales eléctricas.
Como
resumen de los cometidos de esta capa, podemos decir que se encarga de
transformar un paquete de información binaria en una sucesión de impulsos
adecuados al medio físico utilizado en la transmisión. Estos impulsos
pueden ser eléctricos (transmisión por cable), electromagnéticos
(transmisión Wireless) o
luminosos (transmisión óptica). Cuando
actúa en modo recepción el
trabajo es inverso, se encarga de transformar estos impulsos
en paquetes de datos binarios que serán entregados a la capa de enlace.
2. Capa de enlace
Puede decirse que esta capa traslada los
mensajes hacia y desde la capa física a la capa de red. Especifica como se
organizan los datos cuando se transmiten en un medio particular. Esta capa
define como son los cuadros, las direcciones y las sumas de control de los
paquetes Ethernet.
Además del direccionamiento local, se
ocupa de la detección y control de errores ocurridos en la capa física, del
control del acceso a dicha capa y de la integridad de los datos y fiabilidad de
la transmisión. Para esto agrupa la información a transmitir en bloques, e
incluye a cada uno una suma de control que permitirá al receptor comprobar su
integridad. Los datagramas recibidos son comprobados por el
receptor. Si algún datagrama se ha corrompido se envía un mensaje de
control al remitente solicitando su reenvío.
La
capa de enlace puede considerarse dividida en dos subcapas:
·
Control
lógico de enlace LLC: define la forma en que los datos son transferidos
sobre el medio físico, proporcionando servicio a las capas superiores.
·
Control
de acceso al medio MAC: Esta subcapa actúa como controladora del hardware
subyacente (el adaptador de red). De hecho el controlador de la tarjeta
de red es denominado a veces "MAC driver", y la dirección física contenida en el hardware de
la tarjeta es conocida como dirección. Su principal consiste en arbitrar la
utilización del medio físico para facilitar que varios equipos puedan competir
simultáneamente por la utilización de un mismo medio de transporte. El
mecanismo CSMA/CD ("Carrier Sense Multiple Access with Collision Detection") utilizado en Ethernet
es un típico ejemplo de esta subcapa.
3. Capa de Red
Esta capa se ocupa de la transmisión de
los datagramas (paquetes) y de encaminar cada uno en la dirección adecuada
tarea esta que puede ser complicada en redes grandes como Internet, pero no se
ocupa para nada de los errores o pérdidas de paquetes. Define la estructura de direcciones y rutas de
Internet. A este nivel se utilizan dos tipos de paquetes: paquetes de
datos y paquetes de actualización de ruta. Como consecuencia esta capa
puede considerarse subdividida en dos:
Transporte: Encargada de encapsular
los datos a transmitir (de usuario). Utiliza los paquetes de datos.
En esta categoría se encuentra el protocolo IP.
Conmutación: Esta parte es la
encargada de intercambiar información de conectividad específica de la
red. Los routers son dispositivos que trabajan en este nivel y se
benefician de estos paquetes de actualización de ruta. En esta categoría
se encuentra el protocolo ICMP responsable de generar mensajes cuando
ocurren errores en la transmisión y de un modo especial de eco que puede
comprobarse mediante ping.
Los
protocolos más frecuentemente utilizados en esta capa son dos: X.25 e IP.
4. Capa de Transporte
Esta capa se ocupa de garantizar la
fiabilidad del servicio, describe la calidad y naturaleza del envío de datos. Esta capa
define cuando y como debe utilizarse la retransmisión para asegurar su
llegada. Para ello divide el mensaje recibido de la capa de sesión en
trozos (datagramas), los numera correlativamente y los entrega a la capa de red
para su envío.
Durante la recepción, si la capa de Red
utiliza el protocolo IP, la capa de Transporte es responsable de reordenar
los paquetes recibidos fuera de secuencia. También puede funcionar en
sentido inverso multiplexando una conexión de transporte entre diversas
conexiones de datos. Este permite que los datos provenientes de diversas
aplicaciones compartan el mismo flujo hacia la capa de red.
Un ejemplo de protocolo usado en esta
capa es TCP, que con su homólogo IP de la capa de Red,
configuran la suite TCP/IP utilizada en Internet, aunque existen
otros como UDP, que es una capa de transporte utilizada también en
Internet por algunos programas de aplicación.
5. Capa de Sesión
Es una extensión de la capa de
transporte que ofrece control de diálogo y sincronización, aunque en
realidad son pocas las aplicaciones que hacen uso de ella.
6. Capa de Presentación
Esta capa se ocupa de garantizar la
fiabilidad del servicio, describe la calidad y naturaleza del envío de datos.
Esta capa define cuando y como debe utilizarse la retransmisión para asegurar
su llegada. Para ello divide el mensaje recibido de la capa de sesión en
trozos (datagramas), los numera correlativamente y los entrega a la capa de red
para su envío.
Durante la recepción, si la capa de Red
utiliza el protocolo IP, la capa de Transporte es responsable de reordenar los
paquetes recibidos fuera de secuencia. También puede funcionar en sentido
inverso multiplexando una conexión de transporte entre diversas conexiones de
datos. Este permite que los datos provenientes de diversas aplicaciones
compartan el mismo flujo hacia la capa de red.
Esta capa se ocupa de los aspectos
semánticos de la comunicación, estableciendo los arreglos necesarios para que
puedan comunicar máquinas que utilicen diversa
representación interna para los datos. Describe como pueden transferirse
números de coma flotante entre equipos que utilizan distintos formatos matemáticos.
En teoría esta capa presenta los datos a
la capa de aplicación tomando los datos recibidos y transformándolos en
formatos como texto imágenes y sonido. En realidad, esta capa puede estar ausente, ya que
son pocas las aplicaciones que hacen uso de ella.
7. Capa de Aplicación
Esta capa describe como hacen su trabajo
los programas de aplicación (navegadores, clientes de correo, terminales remotos,
transferencia de ficheros etc.). Esta capa implementa la operación con
ficheros del sistema. Por un lado interactúan con la capa de presentación
y por otro representan la interfaz con el usuario, entregándole la información
y recibiendo los comandos que dirigen la comunicación.
5.2 Protocolos y estándares
Un protocolo
de comunicaciones es un conjunto
de reglas y normas que permiten que dos o más entidades de
un sistema de comunicación se comuniquen entre ellos
para transmitir información por medio de cualquier tipo de variación
de una magnitud física. Se trata de las reglas o el estándar que define
la sintaxis, semántica y sincronización de la
comunicación.
Los
servicios de comunicaciones proporcionados por una red de transmisión De dato
siguen unos protocolos bien establecidos y estandarizados. Protocolo. Es un
conjunto de instrucciones predefinido que asegura la correcta secuencia e
integridad de los datos transmitidos. Es un conjunto de reglas que definen la
intersección entre dos máquinas o procesos iguales o que realizan funciones
similares. Protocolo define Normas:
- Ø Transmitir
información
- Ø Velocidad
de transmisión
- Ø Tipo
de información
- Ø Formato
de los mensajes
- Ø Clasificaciones
Según
la topología de la red: directos. No pasan por agentes intermedios, como en una
red dedicada. La conexión es directa, al igual que con las redes de difusión.
indirectos. Pasan por agentes intermedios, como en las redes de conmutación o
en dos redes interconectadas según la forma de afrontar el problema:
monolíticos. Se pretende resolver el problema de la comunicación de una vez.
estructurado. Se divide el problema en capas o niveles que se desarrollan como
protocolos independientes. Los niveles más bajos los realizan unos protocolos,
sobre los que se apoyan otros que resuelven problemas de nivel más alto. Se
crea una jerarquía de protocolos. según el tipo de terminales: simétricos.
Ambos extremos son de idéntico comportamiento. asimétricos. Comportamientos
distintos, con relaciones del tipo cliente-servidor.
Estándares
Los
estándares en materia de telecomunicaciones se hace referencia a garantizar la
interoperabilidad entre diversos fabricantes, cosa esencial si se quieren hacer
redes abiertas, es decir si no se quiere ser cautivo de un fabricante en
particular.
Categorías.
- Ø Estándares
de Facto. viene de la palabra que en latín significa de HECHO. A
este grupo pertenecen los estándares que simplemente aparecieron y se
impusieron en El mercado por su extensa utilización.
- Ø Estándares
de Iure. Viene del latín que significa por LEY, son estándares
formales y legales acordados por algún organismo internacional de
estandarización autorizado. Estos organismos son de dos tipos: Tratados entre
varios países Organizaciones voluntarias
Organizaciones de
estandarización.
- ITU
(Unión Internacional de Telecomunicaciones)
- ISO (Organización
Internacional de Normalización)
- ANSI
(Instituto Americano de Normas Nacionales)
- IEEE
(Instituto de Ingenieros Eléctricos y Electrónicos)
- IAB (Consejo de Arquitectura de Internet)
5.3 Características funcionales de los
dispositivos
Los dispositivos
de comunicación son los que envían y reciben archivos de una computadora a
otra. Módem Interfaces Una interfaz es el puerto (circuito físico) a través del
que se envían o reciben señales desde un sistema o subsistemas hacia otros.
Tarjeta de Red: El medio de transmisión físico por el que se transporta la
información de un lugar a otro. Protocolos y Estándares Es un conjunto de
instrucciones predefinido que asegura la correcta secuencia e integridad de los
datos transmitidos. Protocolo Estándares Normas que permiten la compatibilidad
entre equipos de diversos fabricantes. Mecanismos de detección y corrección de
errores Los sistemas de comunicación deben tener mecanismos para detectar y
corregir errores que alteren los datos recibidos debido a múltiples factores de
la transmisión. Error de bit Tipos de errores: Error de ráfaga. Significa que
dos o más bits de la unidad de datos han cambiado. Un error de bit altera el
significado del dato.
El
ruido tiene que tener una duración muy breve. La redundancia Tipos de
corrección de errores: Corrección de errores de un único bit Un error de un bit
supone que un bit ha cambiado de un 0 a un 1 o de un 1 a un 0.
El
receptor sólo tiene que invertir el valor del bit alterado. Corrección de
errores de ráfaga. El código Hamming se puede aplicar a unidades de datos de
cualquier longitud y usa la relación de bits de datos y de redundancia.
Permiten conectar a la computadora con otras computadoras a través de una red.
NIC (Tarjeta de Red) Dispositivo Básico de comunicación en Toda Red Envía y
Recibe paquetes a la red HUB (Concentrador) Prácticamente no es usado ahora,
pero Aun se usan por su capacidad de “copiar” su tráfico y reenviarlo. Router
Firewall Filtra por Diversas características de los paquetes por:
- Origen
del Paquete
- Destino
del Paquete
- Tamaño
del Paquete
- Aplicación
que genero el paquete
- Usuario
que genero el paquete
5.4 Estándares de interfaces
En telecomunicaciones y hardware, una interfaz es el puerto (circuito físico) a través del que se envían o reciben señales desde un sistema o subsistemas hacia otros. No existe una interfaz universal, sino que existen diferentes estándares (Interfaz USB, interfaz SCSI, etc.) que establecen especificaciones técnicas concretas (características comunes), con lo que la interconexión sólo es posible utilizando la misma interfaz en origen y destino. Así también, una interfaz puede ser definida como un intérprete de condiciones externas al sistema, a través de transductores y otros dispositivos, que permite una comunicación con actores externos, como personas u otros sistemas, a través de un protocolo común a ambos. Una interfaz es una Conexión física y funcional entre dos aparatos o sistemas independientes.
La
interfaz de E/S es requerida cuando los dispositivos son ejecutados por el
procesador. La interfaz debe ser necesariamente lógica para interpretar la
dirección de los dispositivos generados por el procesador. El Handshaking
deberá ser implementado por la interfaz usando los comandos adecuados (BUSY,
READY, WAIT…), y el procesador puede comunicarse con el dispositivo de E/S a
través de la interfaz. Si se intercambian diferentes formatos de datos, la
interfaz debe ser capaz de convertir datos en serie a paralelo y viceversa. Los
dispositivos de E/S se comunican por interrupciones con el procesador, si una
interrupción es recibida, el procesador la atenderá con la rutina de
interrupción correspondiente a dicha interrupción.
Un
ordenador que usa E/S mapeados en memoria por lectura y escritura accede al
hardware a través de la posición de memoria específica, usando el mismo
lenguaje ensamblador que el procesador usa para el acceso a memoria.
Los
sistemas operativos y lenguajes de programación de alto nivel facilitan el uso
separado de más conceptos y primitivas abstractas de E/S. Por Ejemplo: la
mayoría de sistemas operativos proporcionan aplicaciones con el concepto de
fichero. Los lenguajes de programación C y C++, y los sistemas operativos de la
familia UNIX, tradicionalmente abstraen ficheros y dispositivos como streams,
los cuales pueden ser leídos o escritos, o ambas cosas. La librería estándar de
C proporciona funciones para la manipulación de streams para E/S.
Aplicaciones De La Interfaz
(Controlador de periférico)
Actualmente
se usan multitud de interfaces o controladores para las conexiones entre el
procesador y los distintos periféricos (cada uno de estos últimos suele tener
su propio controlador). En ocasiones se puede interconectar los periféricos con
la memoria principal directamente sin pasar por el procesador para lo cual se
utilizan dispositivos más avanzados como los DMA que son procesadores dedicados
a dichas transferencias.
5.5 Mecanismos de detección y corrección de
errores
Las
redes de computadores deben ser capaces de transmitir datos de un dispositivo a
otro con cierto nivel de precisión. Para muchas aplicaciones, el sistema debe
garantizar que los datos recibidos son iguales a los trasmitidos. Sin embargo,
siempre que una señal electromagnética fluye de un punto a otro, está sujeta a
interferencias impredecibles debido al calor, el magnetismo y diversas formas
de electricidad. Esta interferencia puede cambiar la forma o la temporización
de la señal. Si la señal transporta datos binarios codificados, tales cambios
pueden alterar su significado.
Las
aplicaciones requieren entonces un mecanismo que permita detectar y corregir
los posibles errores ocurridos durante la transmisión. Algunas aplicaciones
tienen cierta tolerancia de errores (ej. transmisión de audio/video), mientras
que para otras aplicaciones se espera un alto nivel de precisión (ej.
transmisión de archivos).
En
este documento se discuten algunos conceptos relacionados con la detección y
corrección de errores en la transmisión de datos, así como algunas técnicas que
llevan a cabo estas tareas.
Tipos
de Errores
Antes de
estudiar los mecanismos que permiten la detección y/o corrección de errores, es
importante entender cuáles son esos posibles errores.
Error
de Bit
Este
término significa que únicamente un bit de una unidad de datos determinada
(byte, carácter, paquete, etc.) cambia de 0 a 1 o de 1 a 0 [1][2]. Para
comprender el impacto de este cambio, podemos imaginar que cada grupo de 8 bits
es un carácter ASCII con un 0 añadido a la izquierda. Un error de bit podría
alterar completamente el carácter ASCII enviado (ej. ‘A’: ASCII 65) y en el
receptor se obtendría un carácter completamente diferente (ej. ‘I’: ASCII 73).
Error
de Ráfaga
Significa
que dos o más bits de la unidad de datos han sido alterados. Es importante
notar que los errores de ráfaga no implican que se afecten bits consecutivos.
La longitud de la ráfaga se mide desde el primer hasta el último bit incorrecto
Detección.
Se
conocen el tipo de errores que pueden existir, el problema es ser capaz de
reconocerlos, dado que no se puede comparar el dato recibido con el original,
sólo se podría saber que ha habido un error cuando se descodifique todo el
mensaje y se vea que no tiene sentido. Sin embargo, existen determinadas
técnicas sencillas y objetivas para detectar los errores producidos en la
transmisión:
Redundancia
Una
vez que se conocen los tipos de errores que pueden existir, es necesario
identificarlos. En un entorno de comunicación de datos no se tendrá una copia
de los datos originales que permita comparar los datos recibidos para detectar
si hubo errores en la transmisión. En este caso, no habrá forma de detectar si
ocurrió un error hasta que se haya decodificado la transmisión y se vea que no tienen
sentido los datos recibidos. Si los computadores comprobaran errores de esta
forma, sería un proceso muy lento y costoso. Es necesario un mecanismo que sea
sencillo y completamente efectivo.
En las comunicaciones de datos
se usan cuatro tipos de comprobación de redundancia:
§ Verificación
de redundancia vertical (VRC, Vertical Redundancy Check) conocida como
verificación de paridad,
§ Verificación
de redundancia longitudinal (LRC longitudinal Redundancy Check),
§ Verificación
de redundancia cíclica (CRC Cyclic Redundandy Check)
§ Suma
de comprobación (Checksum).
Las tres primeras se
implementan habitualmente en el nivel físico para que pueda usarlo en nivel de
enlace de datos, mientras que la suma de comprobación se usa en los niveles más
altos.
Verificación
de redundancia vertical VRC
Es el
mecanismo más frecuente y barato, la VRC se denomina a menudo verificación de
paridad, y se basa en añadir un bit de redundancia, denominado bit de paridad,
al final de cada unidad de datos, de forma que el número total de unos en la
unidad (incluyendo el bit de paridad) sea par, o impar en el caso de la
verificación de paridad impar.
Esta
técnica permite reconocer un error de un único bit, y también de ráfaga siempre
que el número total de bits cambiados sea impar. La función de paridad (par o
impar) suma el dato y devuelve la cantidad de unos que tiene el dato,
comparando la paridad real (par o impar) con la esperada (par o impar)
Verificación
de redundancia longitudinal LRC
En
esta técnica, los bloques de bits se organizan en forma de tabla (filas y
columnas), a continuación se calcula un bit de paridad para cada columna y se
crea una nueva fila de bits, que serán los bits de paridad de todo el bloque, a
continuación se añaden los bits de paridad al dato y se envían al receptor.
Típicamente los datos se agrupa en unidades de múltiplos de 8 -1 byte- (8, 16,24,32 bits) la función coloca los octetos uno debajo de otro y calcula la paridad de los bits primeros, de los segundos, etc., generando otro octeto cuyo primer bit es el de paridad de todos los primeros bits, etc.
Típicamente los datos se agrupa en unidades de múltiplos de 8 -1 byte- (8, 16,24,32 bits) la función coloca los octetos uno debajo de otro y calcula la paridad de los bits primeros, de los segundos, etc., generando otro octeto cuyo primer bit es el de paridad de todos los primeros bits, etc.
Esta
técnica incrementa la probabilidad de detectar errores de ráfaga, ya que una
LRC de n bits (n bits de paridad) puede detectar una ráfaga de más de n bits,
sin embargo, un patrón de ráfaga que dañe algunos bits de una unidad de datos y
otros bits de otra unidad exactamente en la misma posición, el comprobador de
LRC no detectará un error.
Verificación
de redundancia cíclica CRC
A
diferencia de las técnicas VRC y LRC, que se basan en la suma (para calcular la
paridad), la técnica CRC se basa en la división binaria. En esta técnica, se
añaden bits redundantes en la unidad de datos de forma que los todo el conjunto
sea divisible exactamente por un número binario determinado, en el destino los
datos recibidos son divididos por ese mismo número, si en ese caso no hay resto
de la operación, el dato es aceptado, si apareciera un resto de la división, el
dato se entendería que se ha corrompido y se rechazará.
La
técnica añade unos bits de CRC, de la siguiente manera en tres pasos básicos:
en primer lugar se añade una tira de n ceros, siendo n el número inmediatamente
menor al número de bits del divisor predefinido (que tiene n+1 bits), el
segundo paso es dividir la nueva unidad de datos por el divisor predefinido
usando un proceso de división binaria, el resto que quedara sería los bits de
CRC a añadir, el tercer paso es sustituir los n bits añadidos en el paso
primero por los n bits del resto de la operación del segundo paso, el dato
final será divisible exactamente por el divisor predefinido. La imagen muestra
el esquema del proceso.
Sumas
de comprobación.
Es el
método de detección usado por los protocolos de alto nivel, se basa en el
concepto de redundancia.
Generador
de suma de comprobación.
En el
emisor, el generador subdivide la unidad de datos en segmentos iguales de n
bits (habitualmente n=16), estos segmentos se suman usando una aritmética de
complemento a uno, de forma que la suma sea también n bits, a continuación, se
complementa la suma y ese dato complementado se añade al final de la unidad de
datos original como bits de redundancia, la unidad extendida se transmite por
la red.
Comprobador
de suma de comprobación.
El
receptor subdivide las unidades de datos en los mismos n bits, suma todos los segmentos
(incluidos los bits de redundancia) y luego complementa el resultado, si la
unidad de datos está intacta, el valor final que se obtiene es nulo (n bits 0),
si en resultado no es cero, el paquete contiene un error y es rechazado.
Corrección
de errores
Los
mecanismos explicados detectan errores, pero no los corrigen. La corrección del
error se puede conseguir de dos formas, en la primera, cuando de descubre un
error el receptor puede pedir al emisor que retransmita toda la unidad de
datos, con la segunda, el receptor puede usar un código de corrección de
errores que corrija automáticamente determinados errores. En teoría es posible
corregir automáticamente cualquier error en un código binario, sin embargo, los
códigos de corrección son más sofisticados que los de detección y necesitan más
bits de redundancia, el número de bits necesarios es tan alto que su uso no es
eficiente, por esa razón la mayoría de la corrección se limita a errores de
tres bits o menos.
Corrección
de errores de un único bit
El concepto
de la corrección de errores se puede comprender con el caso más sencillo: el
error de un único bit. Un error de un bit supone que un bit ha cambiado de un 0
a un 1 o de un 1 a un 0, para corregir el error, el receptor sólo tiene que
invertir el valor del bit alterado, sin embargo, para hacer eso, el receptor
debe saber en qué bit está el error, por lo que el secreto de la corrección de
errores es localizar el bit o bits inválidos. La cuestión es el uso de los bits
de redundancia para la corrección. Ahora bien ¿cuántos bits de redundancia
usar?
Para
calcular el número de bits de redundancia r necesarios para corregir un número
de bits de datos m, es necesario encontrar una relación entre m y r.
Si a m
de datos bits se le añaden r bits de redundancia, la unidad transmitida es m+r,
los bits de redundancia r deben ser capaces de indicar todas las posibilidades
de error de 1 bit posibles, incluyendo el no error, que en m+r bits es de m+r+1
posibilidades (no error, error en bit0, error en bit 1, etc.), por ello r debe
ser capaz de indicar todas esos estados. Dado que los r bits pueden representar
2r estados, entonces r debe ser tal que 2r ≥ m + r + 1.

Se
pueden utilizar los bits de redundancia para corregir errores, pero ¿cómo se manipulan
esos bits para descubrir en qué posición se ha producido el error? R. W.
Hamming desarrolló una técnica que proporciona una solución práctica. El código
Hamming se puede aplicar a unidades de datos de cualquier longitud y usa la
relación de bits de datos y de redundancia. En el código cada bit r es el bit
de VRC (redundancia vertical) para una combinación de bits de datos. Por
ejemplo, un dato de 7 bits necesita 4 bits de redundancia, los colocaremos en
las posiciones 1, 2, 4 y 8, con lo que la secuencia transmitida es la que
indica la figura.
Detección vs. Corrección
La
corrección de errores es más difícil que la detección. En la detección sólo se
quiere determinar si ha ocurrido un error, existiendo dos posibles respuestas:
sí o no. La corrección como tal es sencilla, consiste tan solo en invertir los
valores de los bits erróneos; sin embargo, es necesario previamente determinar
la cantidad de bits erróneos, y aún más importante la ubicación de los mismos
dentro de la unidad de datos.
La
corrección de errores se puede conseguir de dos formas. En la primera, cuando
se descubre un error, el receptor puede pedir al emisor que retransmita toda la
unidad de datos (BEC, Backwards Error Correction). Con la segunda, el receptor
puede usar un código corrector de errores, que corrija automáticamente
determinados errores (FEC, Forward Error Correction).
En
teoría, es posible corregir cualquier error automáticamente en un código
binario. Sin embargo, los códigos correctores son más sofisticados que los
códigos detectores y necesitan más bits de redundancia. El número de bits
necesarios para corregir un error de ráfaga es tan alto que en la mayoría de
los casos su uso no resulta eficiente.
FEC
(Forward Error Correction) vs. Retransmisión
Como
se mencionó previamente, existen dos mecanismos para la corrección de errores:
1. FEC: Forward Error Correction.
2. BEC: Backwards Error Correction.
FEC es
el proceso en el que, una vez detectado el error, el receptor trata de
determinar el mensaje original, usando los bits de redundancia. Para esto es
necesario incluir una mayor cantidad de bits de redundancia en la unidad de
datos. BEC o retransmisión es la técnica en la que el receptor detecta la
ocurrencia del error y solicita al emisor que reenvíe el mensaje. Se repite la
retransmisión del mensaje hasta que el receptor compruebe que el mensaje ha
llegado sin error (es posible que un error no sea detectado y el mensaje sea
interpretado como correcto)
Cada
una de estas técnicas ocupa su nicho diferente. En enlaces altamente confiables
es más económico usar técnicas BEC, retransmitiendo los mensajes defectuosos
que surjan eventualmente, sin necesidad de agregar una gran cantidad de bits de
redundancia, lo que acarrearía una disminución de las prestaciones. Sin
embargo, en enlaces poco confiables como los inalámbricos, puede resultar
beneficioso agregar la redundancia suficiente a cada mensaje para que el
receptor pueda reconstruir el mensaje original. Existen dos razones
primordiales que sustentan el uso de las técnicas FEC:
1. La tasa de errores por bit en un enlace poco
confiable puede ser muy grande, lo que resultará en un gran número de
retransmisiones.
2. En algunos casos, el tiempo de propagación
es muy elevado en comparación con el tiempo de transmisión. Por este motivo la
retransmisión del mensaje resultaría muy costosa.
Códigos de bloque
Para
entender la manera en que pueden manejarse los errores, es necesario estudiar
de cerca cómo se codifican los datos. Por lo general, una unidad de datos
(generalmente llamada en este ambiente trama) consiste de m bits de datos y r
bits redundantes usados para la verificación, siendo la longitud total de una
trama n (n = m + r). A la unidad de n bits que contiene datos y bits de
redundancia se le conoce como palabra codificada. La cantidad de bits de
redundancia y la robusteewz del proceso son factores importantes del esquema de
codificación
Corrección de errores con códigos de
bloque
En el
caso discutido previamente (detección de errores), el receptor sólo necesita
saber que la palabra codificada es inválida para detectar un error. En la
corrección de errores, el receptor deberá descubrir la palabra codificada
originalmente enviada. La idea principal
es la misma que la empleada en la detección de errores, pero el verificador es
mucho más complejo.
Corrección de errores de ráfaga.
Se
puede diseñar un código Hamming para corregir errores de ráfaga de una cierta
longitud, sin embargo, el número de bits de redundancia necesarios es muy
elevado, porque los errores pueden ser de tantos bits, pero pueden estar en
cualquiera de los bits de la cadena transmitida.
Conclusión
El
modelo OSI tiene dos componentes principales: Un modelo de red, denominado
modelo básico de referencia o capa de servicio. Una
serie de protocolos concretos.
El
modelo de red, está basado en un modelo de siete capas. Actualmente todos los
desarrollos se basan en este modelo de 7 niveles que son los siguientes:
Físico; Enlace;
Red; Transporte; Sesión; Presentación Aplicación.
Cada
nivel realiza una función concreta,
y está separado de los adyacentes por interfaces conocidas, sin que le incumba
ningún otro aspecto del total de la comunicación.
Para
los protocolos y estándares se establece que son un conjunto de reglas que
definen la intersección entre dos máquinas o procesos iguales o que realizan
funciones similares. Es importante que los estándares se cumplan para no estar
sujeto a un solo fabricante y poder tener una operabilidad mas amplia.
Se
discutió y analizo algunos conceptos relacionados con la detección y corrección
de errores en la transmisión de datos, así como algunas técnicas que llevan a
cabo estas tareas. Siendo importante esto debido a que, nos ayuda desarrollar
el conocimiento necesario para posteriormente poder identificar y resolver de
la manera correcta cualquier tipo de estos errores.
No hay comentarios:
Publicar un comentario