Professional Documents
Culture Documents
DE DATOS
Redes de Comunicaciones I
Ing. Mario Urrutia Espinoza
Diseño y procedimientos para
proporcionar comunicación
entre dos nodos adyacentes
Cómo compartir el
enlace
MUE 2
Separa un mensaje en
bloques, añadiendo la
dirección del emisor y del
destino
MUE 3
No hay necesidad de definir las
fronteras de las tramas; el
tamaño en sí mismo se usa como
delimitador. Por ejemplo ATM
MUE 4
MUE 5
Las tramas de tamaño fijo se conocen como celdas. En una red de celdas,
todos los datos se cargan en celdas idénticas que pueden ser transmitidas
en forma uniforme y predecible. Debido a que cada celda es del mismo
tamaño y éste es pequeño, se eliminan los problemas asociados con la
multiplexación de paquetes de tamaño diferente
La tecnología ATM (modo de
transferencia asíncrona) utiliza
celdas. Fue diseñado para redes
que deben manejar el tráfico
tradicional de datos de alto
rendimiento (por ejemplo,
transferencias de archivos) y
contenido de baja latencia en
tiempo real, como voz y video.
MUE 6
Trama
Trama
MUE 8
Define un conjunto de procedimientos usados
para restringir la cantidad de datos que el emisor
puede enviar antes de esperar una confirmación
MUE 9
El control de flujo
• Es una técnica utilizada para asegurar que una entidad de
transmisión no sobrecargue a la entidad receptora con una
excesiva cantidad de datos.
• Generalmente, el receptor reserva una zona de memoria
temporal para la transferencia. Cuando se reciben los datos, el
receptor debe realizar cierta cantidad de procesamiento antes de
pasar los datos a las capas superiores.
• En ausencia de procedimientos para el control de flujo, la
memoria temporal del receptor se podría llenar y desbordarse
mientras éste se encuentra procesando datos previos
MUE 10
Modelo de transmisión de tramas
MUE 11
• Se define el tiempo de transmisión como el tiempo empleado por
una estación para emitir todos los bits de una trama sobre el
medio; este tiempo es proporcional a la longitud de la trama.
• Se define el tiempo de propagación como el tiempo empleado por
un bit en atravesar el medio de transmisión desde el origen hasta el
destino.
• En una situación ideal, todas las tramas que se transmiten se
reciben con éxito; ninguna trama se pierde y ninguna llega con
errores; es más, las tramas llegan en el mismo orden en que fueron
transmitidas.
• No obstante, cada trama transmitida sufrirá un retardo arbitrario y
variable antes de ser recibida
MUE 12
El control de flujo
Control de flujo mediante parada y espera
• Una entidad origen transmite una trama.
Tras la recepción, la entidad destino indica
su deseo de aceptar otra trama mediante
el envío de una confirmación de la trama
que acaba de recibir.
• El origen debe esperar a recibir la
confirmación antes de proceder a la
transmisión de la trama siguiente.
• De este modo, el destino puede parar el
flujo de los datos sin más que retener las
confirmaciones.
MUE 13
Impide un uso eficiente de los enlaces, p. ej. Línea punto a punto de A a B de 64 Kbps de 4000 Km de
longitud, tramas de 640 bits:
0 ms: A empieza el envío de trama T1
10 ms: A termina envío de T1 y espera
20 ms: B empieza recepción de T1
30 ms: B termina recepción de T1; envía ACK de T1
50 ms: A recibe ACK de T1; empieza envío de T2
MUE 14
El control de flujo
Control de flujo por ventana deslizante
Soluciona el problema de una única trama en tránsito:
• el emisor asigna a las tramas un número de secuencia
• el receptor trabaja con una memoria temporal que le permite almacenar n tramas
• el receptor envía un mensaje enviando el siguiente número de trama que espera recibir:
− confirma n tramas
− indica que está preparado para recibir n tramas
Este sistema implica el uso de dos ventanas (transmisión simplex):
• ventana emisor: lista de números de secuencia que se le permite transmitir
• ventana receptor: lista de números de secuencia que está esperando recibir
Para una transmisión Half-Duplex o Full-Duplex, el sistema necesita 4 ventanas:
emisión y recepción en cada terminal
MUE 15
MUE 16
• Implementa un pipeline para evitar los
tiempos muertos en la línea:
• 0 ms: A envía la trama T1
• 10 ms: A envía T2;
• 20 ms: A envía T3; B empieza a recibir T1
• 30 ms: A envía T4; B envía ACK(T1)
• 40 ms: A envía T5
• 50 ms: A recibe ACK(T1) y envía T6
• Ventana mínima para 100% de ocupación: 5
• Resuelve problema de eficiencia a cambio de
mayor complejidad y espacio en buffers
0 cambiado por 1
Enviado Recibido
MUE 19
Detección vs Corrección
En la detección de errores solo se mira si ha ocurrido un error, la
respuesta es simple: si o no. No interesa el número de errores
En la corrección de errores, se necesita saber el número de bits que se
han dañado y su posición.
La corrección es más difícil que la detección
MUE 20
CODIFICACIÓN DE BLOQUES
MUE 21
En la codificación de bloques, se divide el mensaje en bloques de k bits,
denominados palabras de datos.
Se añaden r bits redundantes a cada bloque hasta conseguir una
longitud de n = k + r.
Los bloques resultantes se denominan palabras código
MUE 22
Ejemplo
La codificación de bloques
4B/5B es un ejemplo de
codificación.
MUE 25
Corrección de errores
En la corrección de errores, el receptor necesita encontrar o adivinar el
código original enviado.
Es necesario añadir más bits redundantes para la corrección que para la
detección
MUE 27
Distancia Hamming
La distancia Hamming entre dos palabras (del mismo tamaño) es el número de
diferencias entre los bits correspondientes. Se calcula con la operación XOR sobre las
dos palabras y luego se cuenta el número de “1” resultantes
La distancia Hamming entre dos palabras x e y se indica como d(x,y). Por ejemplo, si el
código enviado es 00000 y se recibe 01101, hay 3 bits con errores y la distancia
Hamming entre las dos palabras sería: d(00000, 01101) = 3
Distancia Hamming de un código
Es la distancia mínima entre las palabras que componen un código. Conocido también
como mínima distancia de Hamming.
Sea el código {100, 111, 011}. La mínima distancia de Hamming para el código sería:
dmin = mín { d(100, 111), d(100, 011), d(111, 011)} =
dmin = mín {2, 3, 1}
dmin = 1.
MUE 28
Propiedades para la detección de Propiedades para la corrección de
errores errores
Para detectar d errores de un bit entre Para corregir d errores de un bit
dos palabras, es necesario un código con entre dos palabras es necesario un
una distancia de Hamming de al menos código con una distancia de
d+1. Dicho de otra forma, con una Hamming de al menos 2d+1. Dicho
distancia de Hamming d se pueden de otra forma, con una distancia
detectar d-1 errores mínima de Hamming d se pueden
Ejemplo: C = {001, 010, 100}, d = 2 corregir (d-1)/2 errores
– Un error aislado se detecta: Ejemplo: Código C = {0000000000,
Un error en 001, esto es: 101, 011, 000, es 0000011111, 1111100000,
detectable
– Dos errores aislados no se detectan: 1111111111}. dmin = 5
– Se pueden detectar d-1 = 5-1 = 4 errores
Dos errores en 001, esto es: 111, 010, 100, no
– Se pueden corregir (d-1)/2 = 4/2 = 2 errores
es detectable.
MUE 29
CÓDIGOS DE BLOQUES LINEALES
MUE 30
Mínima distancia para códigos de bloques lineales
• En el código de la primer tabla, los “1” en las palabras código son 2, 2, y 2. Por
ello, dmin = 2.
• En el código de la segunda tabla, los “1” en las palabras código son 3, 4, y 3. Por
ello, dmin = 3.
MUE 31
Códigos de paridad
MUE 32
Codificador y decodificador para el código de paridad
Código de paridad C(5,4)
El codificador utiliza un generador que
toma una copia de los 4 bits de la
palabra de datos (a0, a1, a2, a3) y
genera un bit de paridad r0.
Los bits de la palabra de datos y el bit
de paridad crean un código de 5 bits.
El bit de paridad añadido hace que el
número de “1” en el código sea par.
Esto se hace sumando (modulo 2) los
4 bits de la palabra de datos.
MUE 33
Paridad en dos dimensiones
Un mejor enfoque es la comprobación de paridad en dos dimensiones, lo que permite
detectar hasta tres errores que puedan ocurrir en cualquier posición de la tabla.
La palabra de datos se organiza en una tabla (filas y columnas)
MUE 35
Por ejemplo, si r=3, entonces n=7 y k=4.
El código que se muestra en la tabla es un
código Hamming C(7,4) con dmin = 3
Palabras de datos Palabras código
0000 0000000
0001 0001101
0010 0010111
0011 0011010
0100 0100011
0101 0101110
0110 0110100
0111 0111001
1000 1000110
1001 1001011
1010 1010001
1011 1011100
1100 1100101
1101 1101000
Estructura del codificador y del decodificador
1110 1110010
para un Código Hamming
1111 1111111
MUE 36
Procedimiento para generar la palabra de código
Bits de redundancia:
Para calcular el número de bits de redundancia (r) necesarios para corregir
un número de bits de datos (k) se usa la relación:
2r ≥ k + r + 1
Ejemplo: para enviar un código ASCII de siete bits se necesitaría cuando menos de:
24 ≥ 7 + 4 + 1
r = 4 bits de redundancia
Estos 4 bits se ubican en las posiciones 1, 2, 4 y 8 (potencias de 2) dejando el resto
para los datos:
11 10 9 8 7 6 5 4 3 2 1
d d d r d d d r d r r
MUE 37
Posición del bit de
8 4 2 1 r1 r2 r4 r8
Cada bit r es el comprobador de datos
paridad para una combinación 1 0 0 0 1 1 0 0 0
de datos: 2 0 0 1 0 0 1 0 0
r1= bits 1, 3, 5, 7, 9, 11.
3 0 0 1 1 1 1 0 0
r2= bits 2, 3, 6, 7, 10, 11.
r4= bits 4, 5, 6, 7. 4 0 1 0 0 0 0 1 0
r8= bits 8, 9, 10, 11. 5 0 1 0 1 1 0 1 0
Esto es, cada bit r comprueba la
6 0 1 1 0 0 1 1 0
paridad de los bits de las
posiciones de los datos que 7 0 1 1 1 1 1 1 0
contengan al bit r en su 8 1 0 0 0 0 0 0 1
representación binaria, de
9 1 0 0 1 1 0 0 1
acuerdo a la siguiente tabla:
10 1 0 1 0 0 1 0 1
11 1 0 1 1 1 1 0 1
MUE 38
Ejemplo: Creación del código Hamming para transmitir el dato: 1 0 0 1 1 0 1
Dato a transmitir: 1 0 0 1 1 0 1 11 10 9 8 7 6 5 4 3 2 1
Para r1: 11 10 9 8 7 6 5 4 3 2 1
Se asigna un bit 1 haciendo cumplir la
paridad junto a los bits 3, 5, 7, 9 y 11 1 0 0 1 1 0 1 1
Para r2: 11 10 9 8 7 6 5 4 3 2 1
Se asigna un bit 0 haciendo cumplir la
paridad junto a los bits 3, 6, 7, 10 y 11
1 0 0 1 1 0 1 0 1
Para r4: 11 10 9 8 7 6 5 4 3 2 1
Se asigna un bit 0 haciendo cumplir la
paridad junto a los bits 5, 6 y 7. 1 0 0 1 1 0 0 1 0 1
Para r8: 11 10 9 8 7 6 5 4 3 2 1
Se asigna un bit 1 haciendo cumplir la
paridad junto a los bits 9, 10 y 11. 1 0 0 1 1 1 0 0 1 0 1
1 0 0 1 1 1 0 0 1 0 1
Luego: r8 r4 r2 r1
0 0 0 0
Conclusión: No hay error
MUE 40
Pero que pasa si hay error en el dato recibido, por ejemplo:
10010100101
Ubicación del dato:
11 10 9 8 7 6 5 4 3 2 1
1 0 0 1 0 1 0 0 1 0 1
Luego: r8 r4 r2 r1
0 1 1 1
MUE 41
Palabras de datos Palabras código
Códigos cíclicos 0000 0000000
0001 0001011
0010 0010110
Los códigos cíclicos son códigos de bloques 0011 0011101
lineales especiales con una propiedad extra. 0100 0100111
MUE 42
Comprobación de Redundancia Cíclica (CRC)
EN EL EMISOR:
En el codificador, la palabra de datos tiene k
bits (4) y la palabra código tiene n bits (7)
La palabra de datos se incrementa añadiendo
n – k = 3 ceros a su derecha. El resultado de n
bits se introduce en el generador.
El generador usa un divisor predefinido y
acordado de tamaño n – k + 1 = 4 bits. El
generador divide la nueva palabra de datos
por el divisor (división en módulo 2).
El cociente se descarta y el residuo se añade a
la palabra de datos original para crear el
código
EN EL RECEPTOR:
El decodificador recibe el código enviado
Una copia de los n bits se introduce en el comprobador.
El residuo producido por el comprobador es un síndrome de n - k = 3 bits que se introducen en la lógica de división
Si todos los bits son “0”, los 4 bits de la izquierda son aceptados como palabra de datos (ausencia de error), caso
contrario, se descartan.
MUE 43
Ejemplo: Generación de la palabra código Palabra de datos
División
Cociente
Dividendo
(palabra
Divisor
de datos
aumentada
Bit de la izquierda 0:
Usa el divisor 0000
Bit de la izquierda 0:
Usa el divisor 0000
Resto
Palabra código
Palabra de datos Resto
MUE 44
Decodificación de CASO 1: CASO 2:
la palabra código
para dos casos: Palabra código Palabra código
División División
Palabra Palabra
código código
45
Síndrome Síndrome
MUE
Polinomios
Una forma de entender los códigos cíclicos y cómo analizarlos es representarlos como polinomios.
Un patrón de “0” y “1” pueden representarse como un polinomio con coeficientes con valor 0 y 1
La potencia de cada término muestra la posición del bit, el coeficiente muestra el valor del bit
Un polinomio para
representar una
palabra binaria
En la figura se muestra un beneficio inmediato: un patrón de 7 bits se puede reemplazar por 3 términos.
El beneficio puede ser mayor. Por ejemplo el polinomio x21 + x3 +1 representa un patrón de 24 bits que se
representa por un polinomio de 3 términos.
MUE 46
Palabra de datos
MUE 47
Códigos Convolucionales Codificación
Existen varios métodos de codificación
Son códigos lineales al igual que los aunque una de la más usuales es la basada
códigos bloque y, por tanto, se utilizan en registros de desplazamiento conectados
para proteger la información con sumadores base 2 en los que se realiza
añadiendo redundancia a la misma, de la codificación. Por cada bit que entre en el
manera que las palabras del código codificador se obtienen n bits.
tengan la distancia mínima necesaria.
Sin embargo, a diferencia de los Decodificación
códigos bloque, las palabras de un Consiste en escoger la secuencia más
código convolucional se generan no probable entre todas las posibles. Existen
sólo a partir de los dígitos de diversos algoritmos que permiten la
información actuales sino también con decodificación de este tipo de códigos y la
la información anterior en el tiempo. decodificación óptima se consigue
mediante el algoritmo de Viterbi..
MUE 48
Los códigos convolucionales se describen a partir de ciertos elementos
como son la tasa del código, la longitud del código y la memoria del
codificador.
• k: número de bits que entran al codificador.
• n: número de bits que salen del codificador.
• R: tasa del código k/n.
• K: longitud del código
• m: memoria del codificador (# de flip- flops del codificador).
La longitud del código, K, denota en cuántos ciclos de codificación tiene
influencia un bit que tengamos a la entrada del mismo a partir de un
instante dado, ya que este bit que tenemos a la entrada del codificador
en un instante dado irá recorriendo la cadena de flip-flops que forman
el registro de desplazamiento
MUE 49
En la figura se muestra un codificador básico con 3 registros, de los cuales R1 es un registro
de transito, y R2 y R3 son registros de memoria. Después de procesado el bit, este se
mueve hasta el registro siguiente
Según la configuración de
este diagrama, el circuito
está configurado con k=1
entradas, restricción de
palabras K=3 (número de
registros), y salidas n=3 con
m=2 memorias.
MUE 54
Suponga que el siguiente bloque de 16 Si en el receptor se recibe el mismo patrón:
bits quiere enviarse usando suma de 10101001 00111001 00011101
comprobación de 8 bits: Se suman las tres secciones:
10101001 00111001
10101001
Se suman los números: 00111001
10101001 00011101
00111001
==========
========
11111111
11100010
Su complemento sería: 00000000
Se complementa: 00011101
Significa que el patrón es correcto
El patrón enviado es:
10101001 00111001 00011101
MUE 55
El complemento a uno
El método anterior presenta una desventaja: todos los datos se
pueden escribir con una palabra de 16 bits excepto la suma de
comprobación.
La solución es emplear el método de “complemento a 1”, donde,
en resumen, el dígito a “eliminar” se le suma a los dígitos base.
Ejemplo: Representar el número 21 en complemento a 1 usando sólo 4 bits.
Solución:
21 = 10101 → (5 bits)
Para expresarlo en 4 bits se toma el bit de la izquierda y se le suma a los
cuatro bits restantes:
0101 + 1 = 0110
MUE 56
Suma de comprobación en TCP/IP
TCP/IP ha usado SC de 16 bits:
En el emisor:
El mensaje se divide en palabras de 16 bits
El valor de la SC se pone a 0
Todas las palabras se suman usando complemento a 1
La suma se complementa y se convierte en la nueva SC.
La nueva SC se envía con los datos
En el receptor:
El mensaje, incluyendo la SC se divide en palabras de 16 bits
Se suman todas las palabras usando complemento a 1
Se complementa la suma y se convierte en la nueva SC
Si la nueva SC = 0 se acepta el mensaje, caso contrario, se rechaza.
MUE 57
Ejemplo
Se desea enviar el siguiente mensaje: 466F 726F 757A 616E
Muestre el proceso tanto para el emisor como para el receptor usando SC
Solución
En el emisor: 1 0 1 3 Acarreo
4 6 6 F Palabra 1
7 2 6 F Palabra 2
7 5 7 A Palabra 3
6 1 6 E Palabra 4
0 0 0 0 SC inicial
8 F C 6 Suma Parcial
1
8 F C 7 Suma total
7 0 3 8 Complemento (SC a enviar)
MUE 58
En el receptor:
1 0 1 3 Acarreo
4 6 6 F Palabra 1
7 2 6 F Palabra 2
7 5 7 A Palabra 3
6 1 6 E Palabra 4
7 0 3 8 SC recibida
F F F E Suma Parcial
1
F F F F Suma Total
0 0 0 0 Complemento (SC Final)
MUE 59
TAREA 2:
• Presentar en forma bipersonal y manuscrita para la
próxima sesión, 10 ejercicios (entre el 11 y el 29) del
capítulo 10 del libro de Transmisión de Datos y Redes de
Comunicaciones, Forouzan, 4ta Ed.
• Presentar en la carátula la relación de dichos ejercicios
La creación de tramas y el control de flujo y errores se ponen
en práctica con la creación de protocolos los cuales se
definen para canales sin ruido (ideales) y con ruido (reales)
MUE 61
MUE 62
Es el más sencillo e ideal. No tiene control de flujo ni control de
errores y además es unidireccional
MUE 63
Simplest
El receptor puede gestionar
inmediatamente cualquier trama que
reciba con un tiempo de
procesamiento despreciable
MUE 64
Si las tramas llegan al receptor más rápido de lo que pueden ser
procesadas deben ser almacenadas hasta que se usen
MUE 65
Parada y Espera
El emisor envía una trama cada vez y hasta que no recibe confirmación (ACK) no envía la siguiente. El proceso
continúa hasta enviar el fin de transmisión
Si el receptor no envía la trama de confirmación (ACK) en un tiempo preestablecido, el emisor procede a
reenviar dicha trama
Es bastante ineficaz:
• Si la longitud del enlace (número de bits presentes en el enlace) es mayor que la longitud de la trama
• En sistemas con alta velocidad de transmisión sobre grandes distancias
Es el protocolo fiable orientado a conexión más sencillo.
El tráfico es bidireccional
En cualquier momento hay tramas de
datos en el canal directo o una trama
ACK en el inverso
Se necesita un enlace semiduplex
MUE 66
Aunque el protocolo con parada y espera nos da una idea de
cómo añadir control de flujo a su predecesor, los canales sin
ruido no existen.
Se puede ignorar el error (como se hace a veces) o puede ser
necesario añadir control de errores al protocolo.
MUE 67
Para detectar y corregir tramas corruptas se añaden bits de
redundancia a las tramas de datos. Si la trama es corrupta se
descarta en silencio (es la forma de detectarlas).
Se enumeran las tramas a fin de detectar las tramas perdidas o
duplicadas
MUE 68
El emisor mantiene una copia de la
última trama transmitida hasta que
recibe una confirmación de esa trama
Una trama de datos usa un número de
secuencia (seqNo).
Una trama de confirmación usa un
número de confirmación (ackNo).
Convención de números de
confirmación: estos números están en
módulo 2 (0 o 1) y siempre indican el
número de secuencia de la trama
siguiente esperada por el receptor.
Por ejemplo, si la trama 0 ha llegado
bien, el receptor envía una trama ACK
con número de secuencia 1 (significa
que espera luego la trama 1). Si la
trama 1 llega bien, el receptor envia
una trama ACK con número 0 (indica
que espera la trama 0)
MUE 69
Ejemplo
• Se envía la trama 0 y se recibe
confirmación.
• La trama uno se envía y se pierde
y se reenvía después del
temporizador.
• La trama uno reenviada se
confirma y se para el
temporizador.
• La trama 0 se envía y es
confirmada, pero se pierde la
confirmación.
• El emisor no tiene idea de si se ha
perdido la trama con la
confirmación, por ello después del
temporizador reenvía la trama 0,
que es confirmada.
MUE 70
Este protocolo es:
• Pesado: canal tiene gran ancho de banda
• Largo: mucho tiempo de ida y vuelta
El producto de estos factores se denomina producto
ancho de banda-retardo
• Piense en el canal como una tubería
• El producto B-R es el volumen de la tubería
• La tubería siempre esta ahí, si no se usa, somos poco eficientes
El producto B-R es una medida del número de bits que se
puede enviar mientras se espera noticias del receptor.
MUE 71
Ejemplo:
Sea un sistema ARQ con parada y espera, donde el ancho de banda de la línea es 1 Mbps
y que un bit necesita 20 ms para ida y vuelta. ¿Cuál es el producto ancho de banda-
retraso?. Si las tramas de datos del sistema tienen una longitud de 1000 bits ¿cuál es el
porcentaje de utilización del enlace?
Solución
El producto ancho de banda-retraso es:
Ello quiere decir que el sistema puede enviar 20 000 bits durante el tiempo que cuesta a los
datos ir del emisor al receptor y volver de nuevo.
Sin embargo, el sistema envía sólo 1000 bits. Se puede decir que el uso del enlace es:
1000/20 000 = 5%.
Por esa razón, para un enlace con un gran ancho de banda o un retardo muy grande, el
protocolo ARQ con parada y espera desperdicia la capacidad del enlace.
MUE 72
Ejemplo:
¿Cuál es el porcentaje de utilización del enlace del ejemplo anterior si tenemos un
protocolo que pueda enviar hasta 15 tramas antes de parar y preguntar por las
confirmaciones?
Solución
• El producto ancho de banda-retardo sigue siendo 20 000 bits.
• El sistema puede enviar hasta 15 tramas, o 15 000 bits, durante un viaje de idea y
vuelta.
• Esto significa que la utilización es :
15 000 / 20 000 = 75%.
• Por supuesto, si hay tramas dañadas el porcentaje de utilización es mucho menor
porque es necesario reenviar tramas.
MUE 73
En el ARQ con parada y espera es necesario esperar a que una trama alcance
el destino y luego sea confirmada antes de enviar la siguiente.
Lo que se busca ahora es empezar una tarea antes de terminar la anterior
Ventana deslizante:
Es un concepto abstracto que define el rango
de números de secuencia que usan el emisor
y el receptor
El rango que afecta al emisor se denomina
Ventana deslizante del emisor y similarmente
hay una Ventana deslizante en el receptor
MUE 75
Puede haber múltiples
tramas en tránsito en
dirección al destino y
múltiples
confirmaciones en
dirección inversa.
La idea es similar a ARQ
con parada y espera, la
diferencia es que la
ventana de envío
permite muchas
tramas en tránsito
mientras haya entradas
en la ventana de envío
MUE 76
Ventana de envío
La ventana de envío
define una caja
imaginaria que divide
los números de
secuencia posible en
4 regiones.
La ventana de envío
puede deslizarse una
o más entradas
cuando llega una
confirmación válida
MUE 77
Ventana de recepción El receptor envía una confirmación si la trama ha
llegado bien y en orden.
Es un concepto abstracto que asegura que se han Si la trama está dañada o fuera de orden, el
recibido las tramas correctas y que se han receptor mantiene silencio y descarta las tramas
enviado las confirmaciones apropiadas siguientes hasta que recibe la que espera.
Esta ventana define una caja imaginaria de En el emisor, si expira el temporizador, el emisor
tamaño 1 con una única variable Rn. reenvía todas las tramas pendientes de
La ventana desliza cuando llega una trama confirmación.
correcta; el desplazamiento sólo se produce en
una entrada cada vez.
Ventana de recepción, siguiente trama esperada
a. Ventana de recepción
MUE 79
MUE 80
Ventana de envío
La ventana de envío es más pequeña que el caso anterior
Por ejemplo, si m=4, los números de secuencia van de 0 a 15, pero el tamaño de la
ventana es 8
Al ser más pequeña la ventana se compensa la menos eficiencia al rellenar la ventana
con la posibilidad de reenvío de tramas
Se usa las mismas variables que el caso anterior
MUE 81
Ventanas de
recepción, siguiente
trama que se espera
Ventana de recepción
La ventana de recepción es diferente ya que es del mismo tamaño que la de envío
Este protocolo permite que lleguen fuera de orden tantas tramas como el tamaño de la
ventana de recepción y que se almacenen hasta que haya un conjunto de tramas fuera
de orden listas para enviar al nivel de red
MUE 82
MUE
Piggybacking
83
• Los tres protocolos vistos son unidireccionales, esto es, las tramas de
datos fluyen en una dirección aunque las tramas de control (ACK y
NACK) están viajando en la otra.
• En la práctica, las tramas de datos y por ende las de control deben
fluir en ambas direcciones
• El piggybacking es una técnica que permite mejorar la eficiencia de
los protocolos bidireccionales
• Cuando una trama lleva datos de A a B, también puede llevar
información de control sobre las tramas recibidas o perdidas
generadas en la comunicación desde B a A y viceversa.
MUE 84
ARQ con vuelta atrás usando piggybacking
HDLC y LLC
Comparación
MUE 86