domingo, 24 de noviembre de 2019

UNIDAD V: Modelos y Dispositivos de Comunicación


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, FTPTELNET, 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: 
  1. Físico; 
  2. Enlace; 
  3. Red;
  4. Transporte;
  5. Sesión;
  6. Presentación 
  7. 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

La descripción de las diversas capas que componen este modelo es la siguiente:

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 (navegadoresclientes 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.
                                         



 Implementación de interfaces a alto nivel
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.



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.
 *      Código Hamming

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