viernes, 8 de abril de 2011

8.-Redes conmutadas

Introducción

Cuando los datos hay que enviarlos a largas distancias (e incluso a no tan largas), generalmente deben pasar por varios nodos intermedios. Estos nodos son los encargados de encauzar los datos para que lleguen a su destino.

En conmutación de circuitos, los nodos intermedios no tratan los datos de ninguna forma, sólo se encargan de encaminarlos a su destino. En redes de comunicación conmutadas, los datos que entren en la red, provenientes de alguna de las estaciones, son conmutados de nodo en nodo hasta que lleguen a su destino. Hay nodos sólo conectados a otros nodos y su única misión es conmutar los datos internamente a la red. También hay nodos conectados a estaciones y a otros nodos, por lo que deben de añadir a su función como nodo, la aceptación y emisión de datos de las estaciones que se conectan.

Los enlaces entre nodos están multiplexados en el tiempo o por división de frecuencias. Generalmente hay más de un camino entre dos estaciones, para así poder desviar los datos por el camino menos colapsado. Para redes de área amplia, generalmente se utilizan otras técnicas de conmutación: conmutación de circuitos y conmutación de paquetes.

1.-Conmutacion de circuitos (Lineas)

Para cada conexión entre dos estaciones, los nodos intermedios dedican un canal lógico a dicha conexión. Para establecer el contacto y el paso de la información de estación a estación a través de los nodos intermedios, se requieren estos pasos:

1. Establecimiento del circuito: el emisor solicita a un cierto nodo el establecimiento de conexión hacia una estación receptora. Este nodo es el encargado de dedicar uno de sus canales lógicos a la estación emisora (suele existir de antemano). Este nodo es el encargado de encontrar los nodos intermedios para llegar a la estación receptora, y para ello tiene en cuenta ciertos criterios de encaminamiento, coste, etc.

2. Transferencia de datos: una vez establecido el circuito exclusivo para esta transmisión (cada nodo reserva un canal para esta transmisión), la estación se transmite desde el emisor hasta el receptor conmutando sin demoras de nodo en nodo (ya que estos nodos tienen reservado un canal lógico para ella).

3. Desconexión del circuito: una vez terminada la transferencia, el emisor o el receptor indican a su nodo más inmediato que ha finalizado la conexión, y este nodo informa al siguiente de este hecho y luego libera el canal dedicado, así de nodo en nodo hasta que todos han liberado este canal dedicado.

Debido a que cada nodo conmutador debe saber organizar el tráfico y las conmutaciones, éstos deben tener la suficiente "inteligencia" como para realizar su labor eficientemente. La conmutación de circuitos suele ser bastante ineficiente ya que los canales están reservados aunque no circulen datos a través de ellos. Para tráfico de voz, en que suelen circular datos (voz) continuamente, puede ser un método bastante eficaz ya que el único retardo es el establecimiento de la conexión, y luego no hay retardos de nodo en nodo (al estar ya establecido el canal y no tener que procesar ningún nodo ninguna información).

La red pública de telefonía utiliza conmutación de circuitos. Su arquitectura es la siguiente:
- Abonados: son las estaciones de la red.
- Bucle local: es la conexión del abonado a la red. Esta conexión, como es de corta distancia, se suele hacer con un par trenzado.
- Centrales: son aquellos nodos a los que se conectan los abonados (centrales finales) o nodos intermedios entre nodo y nodo (centrales intermedias).
- Líneas principales: son las líneas que conectan nodo a nodo. Suelen usar multiplexación por división en frecuencias o por división en el tiempo.

La conmutación de circuitos, a pesar de sus deficiencias es el sistema más utilizado para conectar sistemas informáticos entre sí a largas distancias debido a la profusión e
interconexión que existe (debido al auge del teléfono) y a que una vez establecido el circuito, la red se comporta como si fuera una conexión directa entre las dos estaciones, ahorrando bastante lógica de control.

2.-Conmutación de mensajes

El mensaje es una unidad lógica de datos de usuario, de datos de control o de ambos que el terminal emisor envía al receptor. El mensaje consta de los siguientes elementos llamados campos:
• Datos del usuario. Depositados por el interesado.
• Caracteres SYN. (Caracteres de Sincronía).
• Campos de dirección. Indican el destinatario de la información.
• Caracteres de control de comunicación.
• Caracteres de control de errores.

 Además de los campos citados, el mensaje puede contener una cabecera que ayuda a la identificación de sus parámetros (dirección de destino, enviante, canal a usar, etc.). La conmutación de mensajes se basa en el envío de mensaje que el terminal emisor desea transmitir al terminal receptor aun nodo o centro de conmutación en el que el mensaje es almacenado y posteriormente enviado al terminal receptor o a otro nodo de conmutación intermedio, si es necesario.

Este tipo de conmutación siempre conlleva el almacenamiento y posterior envío del mensaje lo que origina que sea imposible transmitir el mensaje al nodo siguiente hasta la completa recepción del mismo en el nodo precedente. El tipo de funcionamiento hace necesaria las existencias de memorias de masas intermedias en los nodos de conmutación para almacenar la información hasta que ésta sea transferida al siguiente nodo. Así mismo se incorpora los medios necesarios para la detección de mensajes erróneos y para solicitar la repetición de los mismos al nodo precedente. A los mensajes se les une en origen una cabecera que indica el destino de, los mismos para que puedan ser correctamente entregados. Los nodos son computadoras encargadas del almacenamiento y posterior retransmisión de los mensajes hacia su destino, con lo que esta técnica resulta atractiva en determinadas condiciones. La conmutación de mensajes presenta como ventaja relevante la posibilidad de poder transmitir un mismo mensaje a todos los nodos de la red, lo que resulta muy beneficioso en ciertas condiciones.

3.-Conmutación de paquetes

Debido al auge de las transmisiones de datos, la conmutación de circuitos es un sistema muy ineficiente ya que mantiene las líneas ocupadas por mucho tiempo aun cuando no hay información circulando por ellas. Además, la conmutación de circuitos requiere que los dos sistemas conectados trabajen a la misma velocidad, cosa que no suele ocurrir hoy en día debido a la gran variedad de sistemas que se comunican.
En conmutación de paquetes, los datos se transmiten en paquetes cortos. Para transmitir grupos de datos más grandes, el emisor trocea estos grupos en paquetes más pequeños y les adiciona una serie de bits de control. En cada nodo, el paquete se recibe, se almacena durante un cierto tiempo y se transmite hacia el emisor o hacia un nodo intermedio.

Referencias:
http://www.mailxmail.com/curso-redes-transmicion-datos-1/redes-conmutadas
http://www.mitecnologico.com/Main/ConmutacionMensajes
http://www.mailxmail.com/curso-redes-transmicion-datos-1/conmutacion-paquetes-principios-tecnicas

jueves, 7 de abril de 2011

7.- Compresión de datos

1.- Fundamentos de compresión

La compresión de datos es la reducción del volumen de datos tratables para representar una determinada información empleando una menor cantidad de espacio. Al acto de compresión de datos se denomina compresión, y al contrario descompresión.

El espacio que ocupa una información codificada (datos, señal digital, etc.) sin compresión es el cociente entre la frecuencia de muestreo y la resolución. Por tanto, cuantos más bits se empleen mayor será el tamaño del archivo. No obstante, la resolución viene impuesta por el sistema digital con que se trabaja y no se puede alterar el número de bits a voluntad; por ello, se utiliza la compresión, para transmitir la misma cantidad de información que ocuparía una gran resolución en un número inferior de bits.

La compresión es un caso particular de la codificación, cuya característica principal es que el código resultante tiene menor tamaño que el original.

La compresión de datos se basa fundamentalmente en buscar repeticiones en series de datos para después almacenar solo el dato junto al número de veces que se repite. Así, por ejemplo, si en un fichero aparece una secuencia como "AAAAAA", ocupando 6 bytes se podría almacenar simplemente "6A" que ocupa solo 2 bytes, en algoritmo RLE.


2.- Algoritmos de compresión
2.1Compresión con pérdida de información 

Se denomina algoritmo de compresión con pérdida a cualquier procedimiento de codificación que tenga como objetivo representar cierta cantidad de información utilizando una menor cantidad de la misma, siendo imposible una reconstrucción exacta de los datos originales.
La compresión con pérdida sólo es útil cuando la reconstrucción exacta no es indispensable para que la información tenga sentido. La información reconstruida es solo una aproximación de la información original. Suele restringirse a información analógica que ha sido digitalizada (imágenes, audio, video, etc.), donde la información puede ser "parecida" y, al mismo tiempo, ser subjetivamente la misma. Su mayor ventaja reside en las altas razones de compresión que ofrece en contraposición a un algoritmo de compresión sin pérdida.
Existen dos técnicas comunes de compresión con pérdida:
  • Por códecs de transformación: los datos originales son transformados de tal forma que se simplifican (sin posibilidad de regreso a los datos originales). Creando un nuevo conjunto de datos proclives a altas razones de compresión sin pérdida.
  • Por códecs predictivos: los datos originales son analizados para predecir el comportamiento de los mismos. Después se compara esta predicción con la realidad, codificando el error y la información necesaria para la reconstrucción. Nuevamente, el error es proclive a altas razones de compresión sin pérdida.
En algunos casos se utilizan ambas, aplicando la transformación al resultado de la codificación predictiva.


2.2 Compresión sin pérdida de información

Se denomina algoritmo de compresión sin pérdida a cualquier procedimiento de codificación que tenga como objetivo representar cierta cantidad de información utilizando una menor cantidad de la misma, siendo posible una reconstrucción exacta de los datos originales.

La compresión sin perdidas es una técnica que consiste en la garantía de generar un duplicado exacto del flujo de datos de entrada después de un ciclo de compresión / expansión . Es generalmente implementada usando uno o dos diferentes tipos de modelos: estático o basado en diccionario.

El modelo estático lee y codifica mientras utiliza la probabilidad de aparición de un caracter. Su forma más simple usa una tabla estática de probabilidades, en el inicio generar un árbol de Huffman tenía costos significantes por tanto no siempre era generado, en su lugar se analizaban bloques representativos de datos, dando una tabla de frecuencia característica. Entonces los árboles de Huffman se generaban y los programas tenían acceso a este modelo estático. Pero utilizar un modelo estático tiene sus limitaciones. Si un flujo de entrada no concuerda bien con la previamente estadística acumulada, la relación de compresión se degradaría, posiblemente hasta el punto de que el flujo de datos saliente fuese tan largo como el entrante. Por tanto la siguiente mejora obvia fue construir una tabla estática a cada flujo de entrada único.

El modelo basado en diccionario usa un código simple para reemplazar cadenas de símbolos, los modelos estáticos generalmente codifican un símbolo a la vez. El esquema de compresión basada en diccionario utiliza un concepto diferente. Lee una entrada de datos y observa por grupos de simbolos que aparecen en el diccionario. Si una cadena concuerda, un indicador o índice en el diccionario puede salir en lugar del código del símbolo
Algunos algoritmos de compresión sin perdidas son los algoritmos Lempel-Ziv que incluyen: LZ77 LZ78 LZ-W.

Este sistema de compresión se usa en compresores de archivo (RAR, Gzip, Bzip, zip, 7z, ARJ, LHA) y de disco, también en imágenes (PNG, RLE) y en algún formato de audio (FLAC, Monkey's Audio), en video es menos común, pueden ser usados para su captura y edición, pero no comercializada para reproducción domestica.

2.3 RLE

La compresión RLE o Run-length encoding es una forma muy simple de compresión de datos en la que secuencias de datos con el mismo valor consecutivas son almacenadas como un único valor más su recuento. Esto es más útil en datos que contienen muchas de estas "secuencias"; por ejemplo, gráficos sencillos con áreas de color plano, como iconos y logotipos.
Por ejemplo, considera una pantalla que contiene texto en negro sobre un fondo blanco. Habría muchas secuencias de este tipo con píxeles blancos en los márgenes vacíos, y otras secuencias de píxeles negros en la zona del texto. Supongamos una única línea (o scanline), con N representando las zonas en negro y B las de blanco:
BBBBBBBBBBBBNBBBBBBBBBBBBNNNBBBBBBBBBBBBBBBBBBBBBBBBNBBBBBBBBBBBBBB

Si aplicamos la codificación run-length a está línea, obtendríamos lo siguiente:
12B1N12B3N24B1N14B

Interpretado esto como 12 bes, 1 ene, 12 bes, 3 enes, etc. El código run-length representa el original de 67 caracteres en tan sólo 16. Esta codificación traducida a binario, cuyo principio es el mismo, se utiliza para el almacenamiento de imágenes. Incluso ficheros de datos binarios pueden ser comprimidos utilizando este método. El primer byte contiene un número que representa el número de veces que el carácter está repetido. El segundo byte contiene al propio carácter. En otros casos se codifican en un solo byte: 1 bit (0 o 1) y 7 bits para especificar el número de caracteres consecutivos.

Sin embargo, sistemas de compresión más modernos a menudo usan el algoritmo de deflación u otros algoritmos basados en el LZ77, el cual tiene la ventaja de utilizar secuencias de cadenas de caracteres.
Algunos formatos que utilizan esta codificación incluyen Packbits, PCX e ILBM.
La codificación run-length realiza una compresión de datos sin pérdidas y es muy utilizado en imágenes de 8 bits indexadas (en un principio fue utilizado para imágenes en blanco y negro). No funciona tan bien en imágenes donde varía constantemente el color de los pixels como fotografías, aunque JPEG lo utiliza de forma efectiva en los coeficientes que quedan después de transformar y cuantificar bloques de imágenes. 


2.4 WBS

Es una estructura exhaustiva, jerárquica y descendente formada por los entregables a realizar en un proyecto. La EDT es una herramienta muy común y crítica en la gestión de proyectos.
El propósito de una EDT es documentar el alcance del proyecto. Su forma jerárquica permite una fácil identificación de los elementos finales. Siendo un elemento exhaustivo en cuanto al alcance del proyecto, la EDT sirve como la base para la planificación del proyecto. Todo trabajo a ser hecho en el proyecto debe poder rastrear su origen en una o más entradas de la EDT.

Referencias:
http://es.wikipedia.org/wiki/Algoritmo_de_compresi%C3%B3n_sin_p%C3%A9rdida
 http://es.wikipedia.org/wiki/Algoritmo_de_compresi%C3%B3n_con_p%C3%A9rdida
http://es.wikipedia.org/wiki/RLE
 http://es.wikipedia.org/wiki/Estructura_de_descomposici%C3%B3n_del_trabajo

6.- Multicanalización

1.- División de frecuencias (FDMA)

La multicanalización (o multiplexación) por división de frecuencia FDMA, es una técnica que consiste en transmitir varios mensajes al mismo tiempo a través de un canal de banda ancha modulando primero las señales de mensajes en varias subportadoras y formando una señal de bandabase compuesta que consiste en la suma de estas subportadoras moduladas. Esta señal compuesta luego se puede modular en la portadora principal como se muestra en la siguiente figura:

Se puede usar cualquier tipo de modulación tal como AM, DSB, SSB, PM, PAM, FM, etc. Es importante resaltar que el espectro de la señal compuesta se debe componer de señales moduladas sin espectros traslapados; de lo contrario, se presentará diafonía entre las señales de mensaje a la salida del receptor. La señal de banda base compuesta en seguida modula un transmisor principal para producir la señal FDM que se transmite a través del canal de banda ancha.

La señal FDM recibida primero se demodula para reproducir la señal de bandabase compuesta que se hace pasar a través de filtros para separar las subportadoras moduladas individualmente. Las subportadoras luego se demodulan para reproducir las señales de mensajes originales.




2.- División en el tiempo (TDMA)

La multicanalización por división de tiempo (TDM) es la intercalación cronológica de muestras provenientes de varias fuentes de modo que la información que proviene de dichas fuentes de pueda transmitir a través de un solo canal de comunicación.
En la figura, se ilustra el concepto de TDMA tal como se aplica a tres fuentes analógicas multicanalizadas en un sistema PCM. Por comodidad el muestreo natural se ilustra junto con la forma de onda TDM PAM accionada correspondiente. En la práctica se utiliza un interruptor electrónico para la conmutación (muestreador) donde fs denota la frecuencia de rotación del conmutador y satisface la velocidad de Nyquist de la fuente analógica con el ancho de banda más grande.




En el receptor, el deconmutador (muestreador) se tiene que sincronizar con la forma de onda de entrada de modo que las muestras PAM correspondiente a la fuente 1, por ejemplo, aparezcan en la salida del canal 1. Esto se llama sincronización de cuadros (tramas). Se utilizan filtros pasabajas para reconstruir las señales analógicas a partir de las muestras PAM.

3.-División por codificación (CDMA)

Asigna a cada usuario un código único para colocar diversos usuarios en el mismo ancho de banda al mismo tiempo. Los códigos, llamados secuencias de pseudoruido, son utilizados por la estación móvil y la estación base para distinguir las conversaciones. Todos los usuarios de CDMA pueden compartir el mismo canal de frecuencia debido a que se distinguen por código digital. Requiere una potencia mucho menor que las tecnologías FDMA y TDMA.

La ventaja de Soft Handoff en CDMA es que la entrega del cliente entre bases no es discernible por el usuario. Las desventajas son que el usuario debe recibir señales de toda base que pueda escuchar, lo que hace que el equipo sea más complejo; cada base debe dedicar un canal a todo usuario en su línea de vista, lo cual reduce la capacidad del sistema.

4.-División por longitud de onda (WDMD)

WDM

La multiplexación por división de longitud de onda (del inglés Wavelength Division Multiplexing) es una técnica que nos permite multiplexar n canales o señales sobre un solo medio óptico (fibra óptica), a cada una de estas señales se les asigna cierto ancho de banda, mediante portadoras ópticas de diferente longitud de onda, donde se utiliza como luz procedente un diodo LED o un rayo láser. Los primeros sistemas WDM aparecieron en torno a 1985 y combinaban tan sólo dos señales. Los sistemas modernos pueden soportar hasta 160 señales y expandir un sistema de fibra de 10 Gb/s hasta una capacidad teórica total de 1,6 Tbit/s sobre un solo par de fibra.

La multiplexación o multicanalización se lleva a cabo utilizando un multiplexador y la demultiplexación o demulticanalización con un demultiplexor, que suelen ser dispositivos distintos pero en algunas ocasiones, se cuenta con un dispositivo que realiza ambas tareas conocido como multiplexor óptico de inserción-extracción.

DWDM

DWDM es el acrónimo, en inglés, de Dense wavelength Division Multiplexing, que significa Multiplexación por división en longitudes de onda densas. DWDM es una técnica de transmisión de señales a través de fibra óptica.

El primer sistema WDM en combinar dos señales portadoras hizo su aparición alrededor de 1985. Hoy día, la tecnología permite combinar hasta 160 señales con un ancho de banda efectivo de unos 10 Gigabits por segundo.Ya las operadoras están probando los 400Gbits. No obstante la capacidad teórica de una sola fibra óptica se estima en 1.6 Terabits por segundo. De manera que es posible alcanzar mayores capacidades en el futuro, a medida que avance la tecnología.

DWDM es un método de multiplexación muy similar a la Multiplexación por división de frecuencia que se utiliza en medios de transmisión electromagnéticos. Varias señales portadoras (ópticas) se transmiten por una única fibra óptica utilizando distintas longitudes de onda de un haz láser cada una de ellas. De esta manera se puede multiplicar el ancho de banda efectivo de la fibra óptica, así como facilitar comunicaciones bidireccionales. Se trata de una técnica de transmisión muy atractiva para las operadoras de telecomunicacines ya que les permite aumentar su capacidad sin tender más cables ni abrir zanjas. Para transmitir mediante DWDM es necesario dos dispositivos complementarios: un multiplexador en lado transmisor y un demultiplexador en el lado receptor.

5.- Otros protocolos

Protocolo LAPB

LAPB (Link Access Procedure, Balanced) es un protocolo de nivel de enlace de datos dentro del conjunto de protocolos de la norma X.25. LAPB está orientado al bit y deriva de HDLC.
Es un subconjunto de HDLC, en modo de clase balanceada asíncrona (BAC). HDLC trabaja con 3 tipos de estaciones, en cambio LAP-B solo con una, la Balanceada. Por lo tanto usa una clase balanceada asincrona, los dos dispositivos pueden iniciar la transmisión, esa es una de las diferencias con HDLC.
Para entenderlo, básicamente hay que entender HDLC, porque comparten el mismo formato de marco, y sobre el terreno funciona como HDLC.

Protocolo LAPF

Link Access Procedure for Frame Relay (siglas LAPF) Es utilizado en Frame Relay para controlar el enlace de datos. Existen dos versiones definidas de LAPF: LAPF core y LAPF control. El protocolo LAPF core provee un conjunto mínimo de funciones de control de enlace de datos, y está incluido en todas las implementaciones Frame Relay. El protocolo LAPF control puede ser escogido por el usuario, para ser implementado exclusivamente en los sistemas finales y proveer control de errores y control de flujo.

 Protocolo LLC

Control de enlace lógico -en inglés Logical Link Control-, en informática, se refiere a la forma en que los datos son transferidos.

Protocolo PPP

Permite establecer una comunicación a nivel de enlace entre dos computadoras. Generalmente, se utiliza para establecer la conexión a Internet de un particular con su proveedor de acceso a través de un módem telefónico. Ocasionalmente también es utilizado sobre conexiones de banda ancha (como PPPoE o PPPoA). Además del simple transporte de datos, PPP facilita dos funciones importantes:
  • Autenticación. Generalmente mediante una clave de acceso.
  • Asignación dinámica de IP. Los proveedores de acceso cuentan con un número limitado de direcciones IP y cuentan con más clientes que direcciones. Naturalmente, no todos los clientes se conectan al mismo tiempo. Así, es posible asignar una dirección IP a cada cliente en el momento en que se conectan al proveedor. La dirección IP se conserva hasta que termina la conexión por PPP. Posteriormente, puede ser asignada a otro cliente.
PPP también tiene otros usos, por ejemplo, se utiliza para establecer la comunicación entre un módem ADSL y la pasarela ATM del operador de telecomunicaciones. También se ha venido utilizando para conectar a trabajadores desplazados (p. ej. ordenador portátil) con sus oficinas a través de un centro de acceso remoto de su empresa. Aunque está aplicación se está abandonando en favor de las redes privadas virtuales, más seguras.

4.- Control del enlace de datos de alto nivel (HDLC)

HDLC (High-Level Data Link Control, control de enlace síncrono de datos) es un protocolo de comunicaciones de propósito general punto a punto y multipunto, que opera a nivel de enlace de datos. Se basa en ISO 3309 e ISO 4335. Surge como una evolución del anterior SDLC. Proporciona recuperación de errores en caso de pérdida de paquetes de datos, fallos de secuencia y otros, por lo que ofrece una comunicación confiable entre el transmisor y el receptor.

HDLC define tres tipos de estaciones, tres configuraciones del enlace y tres modos de operación para la transferencia de los datos.
Los tres tipos de estaciones son:
  • Estación primaria: se caracteriza porque tiene la responsabilidad de controlar el funcionamiento del enlace. Las tramas generadas por la primaria se denominan órdenes.
  • Estación secundaria: funciona bajo el control de la estación primaria. Las tramas generadas por la estación secundaria se denominan respuestas. La primaria establece un enlace lógico independiente para cada una de las secundarias presentes en la línea.
  • Estación combinada: es una mezcla entre las características de las primarias y las secundarias. Una estación de este tipo puede generar tanto órdenes como respuestas.
Las tres posibles configuraciones del enlace son:
  • Configuración no balanceada: está formada por una estación primaria y una o más secundarias. Permite transmisión full-duplex y semi-duplex.
  • Configuración balanceada: consiste en dos estaciones combinadas. Permite igualmente transmisión full-duplex o semi-duplex.
  • Configuración simétrica: dos estaciones físicas, cada una con una estación lógica, de forma que se conectan una primaria de una estación física con la secundaria de la otra estación física.
Los tres modos de transferencia de datos son:
  • Modo de respuesta normal (NRM, Normal Response Mode): se utiliza en la configuración no balanceada. La estación primaria puede iniciar la transferencia de datos a la secundaria, pero la secundaria solo puede transmitir datos usando respuestas a las órdenes emitidas por la primaria.
  • Modo balanceado asíncrono (ABM, Asynchronous Balanced Mode): se utiliza en la configuración balanceada. En este modo cualquier estación combinada podrá iniciar la transmisión sin necesidad de recibir permiso por parte de la otra estación combinada.
  • Modo de respuesta asíncrono (ARM, Asynchronous Response Mode): se utiliza en la configuración no balanceada. La estación secundaria puede iniciar la transmisión sin tener permiso explicito por parte de la primaria. La estación primaria sigue teniendo la responsabilidad del funcionamiento de la línea, incluyendo la iniciación, la recuperación de errores, y la desconexión lógica.
El NRM suele usarse en líneas con múltiples conexiones y en enlaces punto a punto, mientras que el ABM es el más utilizado de los tres modos; debido a que en ABM no se necesitan hacer sondeos, la utilización de los enlaces punto a punto con full-duplex es más eficiente con este modo. ARM solo se usa en casos muy particulares.


Referencias:
http://es.wikipedia.org/wiki/High-Level_Data_Link_Control

3.- Control de errores

Introducción

Se trata en este caso de detectar y corregir errores aparecidos en las transmisiones. Puede haber dos tipos de errores:

- Tramas perdidas: cuando una trama enviada no llega a su destino.
- Tramas dañadas: cuando llega una trama con algunos bits erróneos.

Hay varias técnicas para corregir estos errores:

1. Detección de errores: discutida antes.
2. Confirmaciones positivas: el receptor devuelve una confirmación de cada trama recibida correctamente.
3. Retransmisión después de la expiración de un intervalo de tiempo: cuando ha pasado un cierto tiempo, si el emisor no recibe confirmación del receptor, reenvía otra vez la trama.
4. Confirmación negativa y retransmisión: el receptor sólo confirma las tramas recibidas erróneamente, y el emisor las reenvía. Todos estos métodos se llaman ARQ (solicitud de repetición automática).

1.-Control hacia atras

Se basa en los códigos detectores de error. El receptor solo debe tener la capacidad de detectar errores, y solicitar al transmisor que retransmita el o los datos erróneos, no siendo necesario el diálogo entre el transmisor y el receptor. En este tipo de corrección se define el concepto de trama, como un conjunto de bits de datos que se envían con una serie de bits obtenidos a través de códigos de paridad, redundancia cíclica u otro método. Según como se ordene el envío de las tramas y su comprobación, se distinguen dos estrategias: envío y espera o envío continuo.
Envío y espera: la estrategia consiste en que el transmisor envía la trama y espera hasta que el receptor verifique si existe algún error. El transmisor recibe un mensaje del receptor de que la trama llegó sin errores o con errores, en este último caso el transmisor procede a reenviarla.
Envío continuo: la estrategia se base en que el transmisor envía cada trama sin esperar que el receptor confirme si hubo o no errores. Cuando el receptor recibe un cierto número de tramas, envía la confirmación al transmisor. Si el receptor detecta algún error en una trama, informa al transmisor y este puede enviar exclusivamente esa trama, o bien enviar esa trama y todas las pendientes de confirmación.


2.- Control hacia adelante

La corrección de errores hacia adelante (en inglés, Forward Error Correction o FEC) es un tipo de mecanismo de corrección de errores que permite su corrección en el receptor sin retransmisión de la información original. Se utiliza en sistemas sin retorno o sistemas en tiempo real donde no se puede esperar a la retransmisión para mostrar los datos. Este mecanismo de corrección de errores se utiliza por ejemplo, en las comunicaciones vía satélite, en las grabadoras de DVD y CD o en las emisiones de TDT para terminales móviles (estándar DVB-H), concretamente en este último caso se trata de un tipo especial de FEC, el denominado MPE-FEC.


Referencia:
http://www.dav.sceu.frba.utn.edu.ar/homovidens/gomezgomez_paz/PROYECTIN/PAGINA/codifalgL.htm
http://www.mailxmail.com/curso-redes-transmicion-datos-1/transmision-datos-deteccion-control-errores
http://es.wikipedia.org/wiki/Correcci%C3%B3n_de_errores_hacia_adelante

2.- Detección de Errores

 Introducción

Cuanto mayor es la trama que se transmite, mayor es la probabilidad de que contenga algún error. Para detectar errores, se añade un código en función de los bits de la trama de forma que este código señale si se ha cambiado algún bit en el camino. Este código debe de ser conocido e interpretado tanto por el emisor como por el receptor.

1.- Comprobación de paridad
Se añade un bit de paridad al bloque de datos (por ejemplo, si hay un número par de bits 1, se le añade un bit 0 de paridad y si son impares, se le añade un bit 1 de paridad). Pero puede ocurrir que el propio bit de paridad sea cambiado por el ruido o incluso que más de un bit de datos sea cambiado, con lo que el sistema de detección fallará.

Paridad simple (paridad horizontal)

Consiste en añadir un bit de más a la cadena que queremos enviar, y que nos indicará si el número de unos (bits puestos a 1) es par o es impar. Si es par incluiremos este bit con el valor = 0, y si no es así, lo incluiremos con valor = 1.

El receptor ahora, repite la operación de contar la cantidad de “unos” que hay (menos el último bit) y si coincide, es que no ha habido error.

Problemas de este método:
Hay una alta probabilidad de que se cuelen casos en los que ha habido error, y que el error no sea detectado, como ocurre si se cambian dos números en la transmisión en vez de uno.

Paridad cruzada (paridad horizontal-vertical)

Para mejorar un poco el método anterior, se realiza una paridad que afecte tanto a los bits de cada cadena o palabra como a un conjunto de todos ellos. Siempre se utilizan cadenas relativamente cortas para evitar que se cuelen muchos errores.
Para ver más claro este método, se suelen agrupar los bits en una matriz de N filas por K columnas, luego se realizan todas las paridades horizontales por el método anterior, y por último, se hace las misma operación de calcular el número de unos, pero ahora de cada columna.
La probabilidad de encontrar un solo error es la misma, pero en cambio, la probabilidad de encontrar un número par errores ya no es cero, como en el caso anterior. Aun así, existen todavía una gran cantidad de errores no detectables.
 
2.- Comprobación de redundancia cíclica (CRC)
Dado un bloque de n bits a transmitir, el emisor le sumará los k bits necesarios para que n+k sea divisible (resto 0) por algún número conocido tanto por el emisor como por el receptor. Este proceso se puede hacer bien por software o bien por un circuito hardware (más rápido).

Intentando mejorar los códigos que sólo controlan la paridad de bit, aparecen los códigos cíclicos. Estos códigos utilizan la aritmética modular para detectar una mayor cantidad de errores, se usan operaciones en módulo 2 y las sumas y restas se realizan sin acarreo (convirtiéndose en operaciones de tipo Or-Exclusivo o XOR). Además, para facilitar los cálculos se trabaja, aunque sólo teóricamente, con polinomios.

La finalidad de este método es crear una parte de redundancia la cual se añade al final del código a transmitir (como en los métodos de paridad) que siendo la más pequeña posible, detecte el mayor número de errores que sea posible.

Pero además de esto, debe ser un método sistemático, es decir, que con un mismo código a transmitir (y un mismo polinomio generador) se genere siempre el mismo código final.

El polinomio generador: es un polinomio elegido previamente y que tiene como propiedad minimizar la redundancia. Suele tener una longitud de 16 bits, para mensajes de 128 bytes, lo que indica que la eficiencia es buena. Ya que sólo incrementa la longitud en un aproximado 1,6%:




Referencia:
http://www.mailxmail.com/curso-redes-transmicion-datos-1/transmision-datos-deteccion-control-errores
http://es.wikipedia.org/wiki/Detecci%C3%B3n_y_correcci%C3%B3n_de_errores

1.- Control del enlace de datos

1.-Control del flujo
 
Es una técnica para que el emisor no sobrecargue al receptor al enviarle más datos de los que pueda procesar. El receptor tiene un buffer de una cierta capacidad para ir guardando los datos recibidos y tras procesarlos, enviarlos a capas superiores. Vamos a suponer que todas las tramas recibidas llegan con un poco de retardo pero sin errores y sin adelantarse unas a otras.

2.-Control de flujo mediante parada y espera
 
Consiste en que el emisor envía una trama y al ser recibida por el receptor, éste (el receptor) confirma al emisor (enviándole un mensaje de confirmación) la recepción de la trama. Este mensaje recibido por el emisor es el que le indica que puede enviar otra trama al receptor. De esta forma, cuando el receptor esté colapsado (el buffer a punto de llenarse), no tiene más que dejar de confirmar una trama y entonces el emisor esperará hasta que el receptor decida enviarle el mensaje de confirmación (una vez que tenga espacio en el buffer).
Este sistema es el más eficaz para que no haya errores y es el más utilizado cuando se permiten tramas muy grandes, pero es normal que el emisor parta las tramas en más pequeñas para evitar que al ser una trama de larga duración, es más probable que se produzca algún error en la transmisión. También, en LAN's, no se suele permitir que un emisor acapare la línea durante mucho tiempo (para poder transmitir una trama grande). Otro problema adicional es que se infrautiliza la línea al estar parada mientras los mensajes del receptor llegan al emisor.

3.-Control del flujo mediante ventana deslizante

El problema de que sólo hay una trama cada vez en tránsito por la red se soluciona con este sistema de ventanas deslizantes.
En este sistema, el receptor y el emisor se ponen de acuerdo en el número de tramas que puede guardar el receptor sin procesar (depende del tamaño del buffer). También se ponen de acuerdo en el número de bits a utilizar para numerar cada trama (al menos hay que tener un número de bits suficientes para distinguir cada una de las tramas que quepan en el buffer del receptor), Por ejemplo, si en el buffer del receptor caben 7 tramas, habrá que utilizar una numeración con 3 bits (23 = 8 > 7).
El emisor transmite tramas por orden (cada trama va numerada módulo 2número de bits) hasta un máximo de el número máximo de tramas que quepan en el buffer del receptor (en el ejemplo, 7). El receptor irá procesando las tramas que le lleguen y confirmando que admite tramas a partir de una dada (hasta un máximo de 7 en el ejemplo). Por ejemplo, si ha procesado hasta la trama 5, confirmará el número 6 (es decir, que puede procesar las tramas 6, 7, 0, 1, 2, 3 y 4). Al recibir el emisor la confirmación de la trama 6, emitirá todas las que no haya transmitido desde la 6 hasta la 4 (6, 7, 0, 1, 2, 3 y 4). Por ejemplo, se ya había enviado la 6, 7, 0 y 1, sabe que puede enviar la 2, 3 y 4.
Existe la posibilidad de indicarle al emisor la confirmación de tramas recibidas y prohibirle el envío de más tramas (con el mensaje de Receptor No Preparado).
Cuando las dos estaciones son emisoras y receptoras, se pueden utilizar dos ventanas por estación, una para el envío y otra para la recepción. Se puede utilizar la misma trama para enviar datos y confirmaciones, mejorando así la utilización del canal.
Este sistema de transmisión es mucho más eficiente que el de parada y espera, ya que pueden haber más de una trama a la vez en las líneas de transmisión (en el de parada y espera sólo puede haber una trama a la vez).




 Referencia:
http://www.mailxmail.com/curso-redes-transmicion-datos-1/flujo-datos-control