Sei sulla pagina 1di 7

1-8-2018 CONTROL DE FLUJO

Y ERROR

 ALUMNO:
Martínez Exebio Christiam Alexander
 Curso:
Sistema de Comunicación de Datos
 Docente
Ing. RODRIGUEZ CHIRINOS, FRANK
1. Control de Flujo

En comunicaciones, el control de flujo es el proceso de gestionar la tasa de transmisión


de datos entre dos nodos, para prevenir que un transmisor rápido exceda a un receptor
lento.

Provee un mecanismo para que el receptor controle la velocidad de trasmisión, para que
el nodo receptor no se sature de datos que llegan del nodo emisor.

El control de flujo debe distinguirse del control de congestión, que es usado para
controlar el flujo de datos cuando la congestión ya está ocurriendo.
El protocolo TCP proporciona el servicio de Control de Flujo a sus aplicaciones para
eliminar la posibilidad de que el emisor desborde el buffer del receptor.

Tipos de control de flujo


 Congestión de red: un mecanismo de prevención que provee control sobre la
cantidad de datos transmitidos que entra a un dispositivo.

 Windowing Flow control: mecanismo empleado con TCP.

 Buffer de datos: un mecanismo de prevención que provee almacenamiento


para contener datos, compensando la variación en las velocidades de
transmisión de datos.

a. Paradas y espera

También llamado Stop-and-wait. En este método, el receptor indica su disposición a


recibir los datos para cada trama, el mensaje se divide en múltiples marcos. El emisor
espera para un ACK (reconocimiento) después de cada cuadro por el tiempo
especificado (llamado tiempo de espera). Se envía a asegurar que el receptor ha recibido
la trama correctamente. A continuación, enviar el siguiente fotograma sólo después de
que se haya recibido el ACK. Operaciones

1. Remitente: Transmite un solo cuadro a la vez.


2. Receptor: Transmite acuse de recibo (ACK), ya que recibe una trama.
3. Remitente recibe ACK dentro de tiempo de espera.
Si se pierde un marco o ACK durante la transmisión, entonces tiene que ser transmitidos
de nuevo por el remitente. Este proceso se conoce como retransmisión ARQ (petición de
repetición automática). El problema con Stop-and espera es que sólo un fotograma se
puede transmitir a la vez, y que a menudo conduce a la transmisión ineficiente, ya que
hasta el remitente recibe el ACK no puede transmitir cualquier nuevo paquete. Durante
este tiempo tanto el emisor y el canal son no utilizado.

b. Ventana Deslizante
La Ventana deslizante es un mecanismo dirigido al control de flujo de datos que existe
entre un emisor y un receptor pertenecientes a una red informática.
El Protocolo de Ventana Deslizante es un protocolo de transmisión de
datos bidireccional de la capa del nivel de enlace (modelo OSI).
La ventana deslizante es un dispositivo de control de flujo de tipo software, es decir, el
control del flujo se lleva a cabo mediante el intercambio específico
de caracteres o tramas de control, con los que el receptor indica al emisor cuál es su
estado de disponibilidad para recibir datos.
Este dispositivo es necesario para no inundar al receptor con envíos de tramas de datos.
El receptor al recibir datos debe procesarlo, si no lo realiza a la misma velocidad que el
transmisor los envía se verá saturado de datos, y parte de ellos se pueden perder. Para
evitar tal situación la ventana deslizante controla este ritmo de envíos del emisor al
receptor.

Con este dispositivo se resuelven dos grandes problemas: el control de flujo de datos y
la eficiencia en la transmisión.
Le Ventana Deslizante está compuesta por dos "Ventanas", la primera es la Ventana de
recepción, ubicada en el receptor, valga la redundancia, y que indica cuantos bytes caben
aún en el buffer que se utilice en el receptor. La segunda "ventana" es la Ventana de
envío, la que indica Qué bytes del buffer de envío se pueden envíar sin tener que esperar
una confirmación. Como observación podemos decir que la Ventana de envío NO, puede
ser mayor que la ventana de recepción.

 Funcionamiento de la Ventana de Transmisión:

El protocolo de ventana deslizante permite al emisor transmitir múltiples


segmentos de información antes de comenzar la espera para que el receptor le
confirme la recepción de los segmentos, tal confirmación se llama validación, y
consiste en el envío de mensajes denominados ACK del receptor al emisor. La
validación se realiza desde el receptor al emisor y contiene el número de la
siguiente trama que espera recibir el receptor, o el de la última trama recibida
con éxito, ACK n (siendo n el número de la trama indicada). Con esta indicación
el emisor es capaz de distinguir el número de los envíos realizados con éxito,
los envíos perdidos y envíos que se esperan recibir.
Los segmentos se denominaran Unacknowledge si han sido enviados pero no
han sido validados
Si el protocolo esperase una validación por cada trama enviada, no se enviarían
más segmentos hasta recibir el reconocimiento del último paquete enviado. El
concepto de ventana deslizante hace que exista una continua transmisión
de información, mejorando el desempeño de la red.
El transmisor deberá guardar en un buffer todas aquellas tramas enviadas y no
validadas (Unacknowledge packets), por si necesitase retransmitirlas. Sólo
puede borrarlas del buffer al recibir su validación procedente del receptor, y
deslizar así la ventana una unidad más. El número más pequeño de la ventana
deslizante corresponde al primer paquete de la secuencia que no ha sido
validado. El tamaño del buffer debe ser igual o mayor al tamaño de la ventana.
El número máximo de tramas enviadas sin validar es igual al ancho de la
ventana. De esta forma el buffer podrá almacenar temporalmente todas las
tramas enviadas sin validar.
A cada uno de los segmentos pertenecientes al buffer (aquellos enviados y no
validados), se les asigna un temporizador. El temporizador es el límite de tiempo
de espera para recibir la validación de un determinado paquete. Si el paquete se
pierde en el envío, el emisor nunca recibiría validación. El paquete nunca
llegaría al receptor, este continuaría a la espera de recibir el paquete perdido. De
esta manera el temporizador expiraría, tomando la decisión de reenviar la trama
asignada al temporizador consumido. A este proceso se le conoce como "Stop
and Wait".
 Funcionamiento de la Ventana de Recepción
El receptor posee una ventana de recepción, similar a la de transmisión, pero
con una finalidad totalmente distinta. Su funcionalidad permite al receptor
recibir un conjunto de tramas que le llegan desordenadas. La ventana de
recepción es la lista que tiene el receptor con los números de la secuencia
consecutivos de las tramas que puede aceptar. Almacena las tramas
temporalmente en un buffer hasta el momento que posea todas las tramas
esperadas, la secuencia de tramas esperada al completo, y así ordenarlas. El
receptor debe disponer de un buffer de igual tamaño que su ventana de recepción
para almacenar temporalmente las tramas hasta ordenarlas.
Existen 2 modos de trabajo en función del tamaño de su ventana:

 Tamaño ventana recepción=1. con lo cual la ventana de recepción


dispone de un buffer. Sólo puede almacenar la trama que le llega en cada
instante, es decir, debe recibir las tramas en la secuencia correcta, ya que
no dispone de recursos para ordenarlas después. Impone al emisor la
condición de transmitir siempre las tramas en secuencia.

 Tamaño ventana recepción>1. La ventana de recepción dispone de N


buffers (N=tamaño ventana de recepción) que le permiten recibir hasta N
tramas desordenadas, almacenarlas y proceder a su ordenamiento posterior.
Le permite al emisor transmitir tramas desordenadas, tantas como quepan
en los buffers del receptor.

c. Técnica de Aloha

ALOHA net (o simplemente ALOHA) fue un sistema de redes de


computadoras pionero desarrollado en la Universidad de Hawái. Fue desplegado
por primera vez en 1970, y aunque la propia red ya no se usa, uno de los conceptos
esenciales de esta red es la base para la casi universal Ethernet.

Antes de ALOHA net, la mayoría de las comunicaciones entre computadoras


tendían a utilizar rasgos similares. Los datos que iban a ser enviados se convertían
en una señal analógica utilizando un mecanismo similar a un módem, que sería
enviada sobre un método de conexión conocido, como podría ser una línea
telefónica. La conexión era punto a punto, y normalmente se establecía de modo
manual.

Por el contrario, ALOHA net era una auténtica red. Todas las
computadoras conectadas a ALOHA net podían enviar datos en cualquier momento
sin necesidad de intervención por parte de un operador, y se podía ver envuelto
cualquier número de computadoras. Como la transmisión se realizaba por radio, no
había costes fijos, por lo que el canal se dejaba abierto y se podía utilizar en
cualquier momento.
Existe un último problema a considerar: si dos nodos intentan comenzar su
transmisión al mismo tiempo, tendrán los mismos problemas que tendrían en
cualquier otro sistema. En este caso, ALOHA net inventó una solución muy
inteligente. Después de enviar cualquier paquete, los nodos escuchaban el medio
para saber si su propio mensaje les había sido devuelto por un hub central. Si
recibían de vuelta su mensaje, podían avanzar al siguiente paquete.

ALOHA net se ejecutaba usando módems de 9.600 baudios de un extremo a otro


de Hawái. El sistema usaba dos canales (secciones de frecuencia) de 100 kHz: uno
conocido como canal de emisión a 413'475 MHz; y el otro, canal de acceso
aleatorio a 407'350 MHz. La red tenía una topología de estrella, con un único
computador central (un HP 2100) en la universidad que recibía todos los mensajes
en el canal de acceso aleatorio, y reenviándolos entonces a todos los nodos por el
canal de emisión.

d. Paso de Testigo

Es un método determinístico ya que se garantiza el acceso de cualquier estación a la


red en un tiempo máximo. Esta técnica de control distribuido se basa en una trama
especial o testigo que va pasando por todas las estaciones de la red.
Cuando una estación quiere transmitir datos coge el testigo y lo transforma en una
trama de información, esta trama circula por toda la red hasta que llega a la estación
destino que recogerá la información y enviará de vuelta el testigo a la estación origen,
así comprobará que han llegado los datos a su destino y pasará el testigo a la siguiente
estación. Este método se puede utilizar con topologías en anillo, en bus y en estrella
y con distintos tipos de redes como son: Token Bus, Token Ring, FDDI. Con esta
técnica no se puede dar una colisión por lo que es mejor para situaciones de mucho
tráfico y para obtener un rendimiento homogéneo de todas las estaciones.
Un ejemplo de este tipo de redes son las Token Ring que tiene su topología lógico
en forma de anillo.
Funcionamiento:
Su principio básico de funcionamiento en esta red se basa en que si un nodo de la
red tiene datos para enviar debe tomar un token libre, la cual se realiza modificando
un bit en el segundo byte del token. En el caso de que no tenga datos para enviar
debera pasar el token a la siguiente estación de la red.
Los nodos pueden apropiarse del token por un tiempo máximo y durante este tiempo
las otras estaciones permanecen inactivas.
Al terminar la Trasmisión el token queda libre y de ahí puede ser utilizado por
alguna otra estación de la Red, esto se realiza para poder evitar colisiones.
Ventajas:

 Existe igualdad entre todos los nodos que conforman la red.


 Es una red que en su mayoría evita colisiones.

Desventajas:

 Es una red en la cual es muy difícil ingresar otra estación y al implementarla


debería estar fuera de servicio.
 Tiene limitación de Velocidad
2. Control de Error

Proporciona detección y corrección de errores en el envío de tramas entre computadores, y


provee el control de la capa física. Sus funciones, en general, son:
 Identificar Trama de datos
 Códigos detectores y correctores de error
 Control de flujo
 Gestión y coordinación de la comunicación
Correctores de error:
Es opcional en esta capa, la encargada de realizar esta función es la capa de transporte, en una
WAN es muy probable que la verificación, la realiza la capa de enlace

Para la Identificación de tramas puede usar distintas técnicas como:


 Contador de caracteres
 Caracteres de inicio y final con caracteres de relleno
 Secuencia de bits indicadora de inicio y final, con bits de relleno

El control de flujo es necesario para no 'agobiar' al receptor. Se realiza normalmente en la


capa de transporte, también a veces en la capa de enlace. Utiliza mecanismos de
retroalimentación. Suele ir unido a la corrección de errores y no debe limitar la eficiencia del
canal.

Los métodos de control de errores son básicamente 2:

 FEC o corrección de errores por anticipado y no tiene control de flujo.


 ARQ: Posee control de flujo mediante parada y espera, o/y ventana deslizante.

Las posibles implementaciones son:

 Parada y espera simple: Emisor envía trama y espera una señal del receptor para
enviar la siguiente o la que acaba de enviar en caso de error.

 Envío continuo y rechazo simple: Emisor envía continuamente tramas y el receptor


las va validando. Si encuentra una errónea, elimina todas las posteriores y pide al
emisor que envíe a partir de la trama errónea.

 Envío continuo y rechazo selectivo: transmisión continua salvo que sólo


retransmite la trama defectuosa.

La detección de errores la realiza mediante diversos tipos de códigos del que hay que resaltar:

 Simple paridad
 Distancia de Hamming
 CRC (código de redundancia cíclica)
 Suma de verificación

a. Paridad:

Uno de los métodos más comúnmente empleados para detectar errores, cuando el
número de bits de información a transmitir es pequeño y la probabilidad de que ocurra
un error es baja, es el uso de un bit adicional de paridad por elemento transmitido.
Puede conseguirse una importante mejora añadiendo un segundo grupo de bits de
paridad. Para ello deben agruparse los datos en bloques y aplicar el control de paridad
a dos dimensiones (filas y columnas). Para cada carácter se añade un bit de paridad,
como en el caso anterior. Además, se genera un bit de paridad para cada posición de
bit a través de todos los caracteres. Es decir, se genera un carácter adicional en que
el i-ésimo bit del carácter es un bit de paridad para el i-ésimo bit de todos los
caracteres en el bloque.

b. Distancia de Hamming:

Si queremos detectar d bit erróneos en una palabra de n bits, podemos


añadir a cada palabra de n bits d+1 bits predeterminados al final, de forma
que quede una palabra de n+d+1 bits con una distancia mínima de
Hamming de d+1. De esta manera, si uno recibe una palabra de n+d+1 bits
que no encaja con ninguna palabra del código (con una distancia de
Hamming x <= d+1 la palabra no pertenece al código) detecta
correctamente si es una palabra errónea. Aún más, d o menos errores
nunca se convertirán en una palabra válida debido a que la distancia de
Hamming entre cada palabra válida es de al menos d+1, y tales errores
conducen solamente a las palabras inválidas que se detectan
correctamente. Dado un conjunto de m*n bits, podemos detectar x <= d bits
errores correctamente usando el mismo método en todas las palabras de n
bits. De hecho, podemos detectar un máximo de m*d errores si todas las
palabras de n bits son transmitidas con un máximo de d errores.
Ejemplo
Palabras a enviar:

 000001
 000001
 000010
Codificadas con distancia mínima de Hamming = 2[
000001 0000
000001 0011
000010 1100
Si las palabras recibidas tienen una distancia de Hamming < 2, son
palabras incorrectas.

c. Crc (Código de redundancia cíclica):

Los códigos de redundancia cíclica, también conocidos como códigos polinomiales


constituyen el método de detección de errores más empleado en comunicaciones. Se
utiliza con esquemas de transmisión orientados a tramas (o bloques). Permiten
sustanciales mejoras en fiabilidad respecto a los métodos anteriores, siendo a la vez
una técnica de fácil implementación. Imponiendo condiciones bastante simples sobre
los polinomios divisores es posible detectar un gran número de errores. Existen tres
polinomios G(x) que se han convertido en estándares internacionales.

Potrebbero piacerti anche