Está en la página 1de 32

Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 1

Grado Ing. Tec. Telecomunicación

Tema 3
Control de errores y de
flujo
Transmisión de datos y redes de Computadores
Grado en Ingeniería de Tecnologías Telecomunicación
Curso 2023/2024

Jesús Esteban Díaz-Verdejo


Departamento de Teoría de la Señal, Telemática y Comunicaciones
E.T.S. Ingenierías Informática y Telecomunicación – Universidad de Granada
C/ Periodista Daniel Saucedo Aranda, s/n - 18071 – Granada (Spain)
Phone: +34-958 242304 - Email: jedv@ugr.es

Esquema
1. Servicios y funciones de la capa de enlace
Delimitación de tramas
2.1 Longitud óptima de trama
2.2 Métodos de delimitación de tramas
2. Detección y corrección de errores
2.1 Detección vs. corrección de errores
Transmisión de datos y redes de computadores - Curso 23/24

2.2 Códigos de detección y corrección


2.3 Control de errores mediante ARQ
3. Control de flujo
2005-2023, Jesús E. Díaz Verdejo,

3.1 Señalización
3.2 Protocolo de parada y espera
3.3 Protocolo de ventana deslizante
4. Técnicas ARQ
4.1 Adelante atrás-N
4.2 Repetición selectiva
4.3 Análisis de prestaciones
5. Ejemplos de protocolos
5.1 HDLC
5.2 LLC

2 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 2
Grado Ing. Tec. Telecomunicación

Bibliografía

Básica
León-García, A.: Redes de
comunicación, McGraw-Hill, 2002
8448131975 (Tema 5)
P. García Teodoro y otros; Transmisión
Transmisión de datos y redes de computadores - Curso 23/24

de datos y redes de computadores, 2ª.


ed., Pearson, 2014. ISBN: 9788490354612
2005-2023, Jesús E. Díaz Verdejo,

(Tema 4)

Complementaria
Stallings, W.: Comunicaciones y redes de
computadores, Prentice-Hall, 7a. ed., 2004
ISBN: 84-205-4110-9
Tanenbaum, A.D.; Wetherall, D.J. ; “Computer
Networks”, 5ª ed., Prentice-Hall, 2011, ISBN:
9780132126953

3 3 - Control de errores y de flujo v1.73 - Sept. 2023

Servicios y funciones de la capa de enlace

1 Servicios y funciones de la capa de


enlace

Enlace de datos:
¿Cómo se asegura la transmisión en cada salto?
Capas
superiores Servicio de transferencia de datos seguro a
través del enlace físico (salto a salto).
 Unidad de información: la trama
Transmisión de datos y redes de computadores - Curso 23/24

Mensaje ►
2005-2023, Jesús E. Díaz Verdejo,

Red

Enlace ◄
MAC  Problemas a resolver:
 Control de errores
Físico
 ¿Cuándo hay error?
 Tramas duplicadas, deterioradas o perdidas
 Delimitación de tramas
 Control de flujo
4 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 3
Grado Ing. Tec. Telecomunicación

Servicios y funciones de la capa de enlace

1 Servicios y funciones de la capa de


enlace

Problema:
¿Cómo aseguramos la recepción correcta de los datos?
Usando el servicio de envío de tramas (capa MAC)
Entre equipos que intercambian información directamente
Transmisión de datos y redes de computadores - Curso 23/24

Preguntas (dimensiones del problema):


¿Qué puede evitar la recepción correcta de los datos?
2005-2023, Jesús E. Díaz Verdejo,

¿Cómo sabemos si hay errores?


¿Qué hacemos cuando hay errores?
¿Cómo conseguimos un servicio fiable y eficiente?
¿Cómo gestionamos el intercambio de datos?

5 3 - Control de errores y de flujo v1.73 - Sept. 2023

Servicios y funciones de la capa de enlace

1 Servicios y funciones de la capa de


enlace

Algoritmos para conseguir una comunicación eficiente y


fiable entre dos máquinas adyacentes a nivel de enlace
Transmisión de datos y redes de computadores - Curso 23/24

Máquinas adyacentes: salto a salto


Los bits son enviados en orden (mecanismo simple)
2005-2023, Jesús E. Díaz Verdejo,

Problemas subyacentes básicos:


errores en la línea
velocidad de transmisión finita
retardo de propagación

6 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 4
Grado Ing. Tec. Telecomunicación

Servicios y funciones de la capa de enlace

1 Servicios y funciones de la capa de


enlace
¿Qué puede evitar la recepción correcta de los datos?

Errores en las tramas


Bits dañados en la transmisión ► datos erróneos

01111110 X X
01100101 … 1011010 01111110
Transmisión de datos y redes de computadores - Curso 23/24

Errores de delimitación ► pérdida de tramas completas


2005-2023, Jesús E. Díaz Verdejo,

01111110 01100101 … 1011010 01111110


X
Saturación en el receptor
Buffer de recepción lleno
Capacidad de cómputo insuficiente

R R R R R R Host

7 3 - Control de errores y de flujo v1.73 - Sept. 2023

Servicios y funciones de la capa de enlace

1 Servicios y funciones de la capa de


enlace
Funciones específicas
Interfaz con el nivel de red
Agrupación de bits en tramas
Disciplina de línea
Gestión de los errores de transmisión
Transmisión de datos y redes de computadores - Curso 23/24

Control de flujo
El tipo de servicio ofrecido determina qué funciones
2005-2023, Jesús E. Díaz Verdejo,

deben implementarse
Orientado a conexión /no orientado a conexión
Confirmado / no confirmado
Requisitos y objetivos:
Sincronización de trama
Envío de datos en bloques denominados tramas
El principio y fin de trama deben ser identificables unívocamente

8 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 5
Grado Ing. Tec. Telecomunicación

Servicios y funciones de la capa de enlace

1 Servicios y funciones de la capa de


enlace
Control de flujo
Envío de tramas a la velocidad adecuada al receptor
Por cuestiones de eficiencia, debe ser la máxima posible
Direccionamiento
Se debe identificar a las estaciones involucradas en el caso de
Transmisión de datos y redes de computadores - Curso 23/24

líneas multipunto
Datos y control sobre el mismo enlace
2005-2023, Jesús E. Díaz Verdejo,

Canal de comunicaciones único para información y control


Necesidad de diferenciar entre datos y control
Gestión del enlace
Mantenimiento y finalización del intercambio de datos
Alto grado de coordinación y cooperación requeridos
Integridad de los datos
Debe garantizarse la recepción correcta de todos los datos
Mecanismos de detección / corrección (FEC o ARQ)

9 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores

2 Detección y corrección de errores

¿Cómo sabemos si hay errores?

Aparición de errores en la transmisión por efecto del canal


Tasa de errores de bit determinada por Eb/N0
Transmisión de datos y redes de computadores - Curso 23/24

Consideraciones prácticas establecen un límite a este valor


Servicios fiables: envío correcto y ordenado de tramas
2005-2023, Jesús E. Díaz Verdejo,

Es necesario comprobar que los datos son correctos


Mecanismos de detección / corrección de errores
¿Cómo detectar los errores?
01111110 01100101 … 1011010 01111110

Uso de información adicional o redundante


Uso de códigos de control de errores
También denominado codificación de canal

10 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 6
Grado Ing. Tec. Telecomunicación

Detección y corrección de errores

2 Detección y corrección de errores

Esquema
Mensaje Mensaje
entrante saliente
Codificador Decodificador
Transmisor Canal Receptor
de canal de canal
Transmisión de datos y redes de computadores - Curso 23/24

Distorsión
y ruido
2005-2023, Jesús E. Díaz Verdejo,

Dos tipos de códigos:


De bloque: datos transmitidos como bloques de bits de
longitud fija
Sin memoria
Se gestionan bloques completos de bits (palabras código)
Convolucionales: convolución temporal de la entrada con la
respuesta impulsiva del codificador
Con memoria
11 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores ► Detección vs. Corrección de errores

2.1 Detección vs. corrección de errores

Estrategias básicas
Detectar y corregir los errores (códigos
de corrección)
Corrección de errores hacia delante (FEC,
forward error correction)
Transmisión de datos y redes de computadores - Curso 23/24

Sólo detectar los errores (códigos de


detección)
2005-2023, Jesús E. Díaz Verdejo,

Corrección de errores hacia atrás


 ARQ (Automatic-Repeat reQuest)
Solicitud de retransmisión automática
 Reenvío de los datos erróneos

Inclusión de redundancia (bits redundantes)


Para detectar o para detectar y corregir

12 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 7
Grado Ing. Tec. Telecomunicación

Detección y corrección de errores► Detección vs. Corrección de errores

2.1 Detección vs. corrección de errores

La elección de la estrategia depende de:


Tipo de transmisión / realimentación
Transmisión en tiempo real
Transmisión simplex
Coste / beneficio
Transmisión de datos y redes de computadores - Curso 23/24

Características / probabilidad de aparición de errores


Los medios más comunes presentan tasas significativas de error
2005-2023, Jesús E. Díaz Verdejo,

Los errores se presentan normalmente en RÁFAGAS


 Ventajas: estropean algunos paquetes, no todos
 Desventajas: mayor dificultad de detección y corrección

Suele ser más eficiente retransmitir la trama que protegerla


para su corrección
Menor redundancia en los datos

13 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores ► Códigos de detección y corrección

2.2 Códigos de detección y corrección

Datos transmitidos como bloques de bits de longitud fija


Sin memoria
Se gestionan bloques completos de bits (palabras código)
Operación
Transmisión de datos y redes de computadores - Curso 23/24

Antes de transmitir los datos se tratan como números binarios


Usualmente, aritmética módulo-2 sin acarreo
2005-2023, Jesús E. Díaz Verdejo,

Se generan bits de comprobación (check bits) a partir de


alguna operación matemática lineal
Se transmiten los bits de datos y los de comprobación
Normalmente al final los de comprobación
El receptor realiza la operación inversa para comprobar la
corrección de los bits de comprobación

14 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 8
Grado Ing. Tec. Telecomunicación

Detección y corrección de errores ► Códigos de detección y corrección

2.2 Códigos de detección y corrección

Un bloque de datos consta de n bits Datos Cód.


k bits de datos k n-k
n
2k posibles datos
n-k bits de comprobación o redundancia
Transmisión de datos y redes de computadores - Curso 23/24

Palabra código (codeword): secuencia válida de n bits


No todas las 2n combinaciones posibles serán válidas
2005-2023, Jesús E. Díaz Verdejo,

Notación:
Código (n,k): código de bloque de palabras de n bits con k bits de
datos por palabra
Longitud de bloque del código: n
Razón (tasa) del código, r
k
r
0<r<1 n
Tasa de salida del codificador proporcional a tasa de datos del canal y a r

15 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores ► Códigos de detección y corrección

2.2 Códigos de detección y corrección

Distancia de Hamming
Número de bits en que difieren dos palabras de un código
Se puede obtener a partir de la operación XOR

d (c1 , c2 )  c1  c2
Transmisión de datos y redes de computadores - Curso 23/24

Dos palabras distantes una distancia d necesitan d errores para


convertirse una en otra
2005-2023, Jesús E. Díaz Verdejo,

Peso de Hamming w(c) de una palabra código


Número de elementos no cero de la palabra
Distancia de Hamming de un código
Distancia mínima entre cualesquiera dos palabras del código

d H (C )  min i , jC d (ci , c j )

La distancia mínima en un código de bloque lineal es el menor peso


de Hamming de los vectores de datos distintos de cero
16 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 9
Grado Ing. Tec. Telecomunicación

Detección y corrección de errores ► Códigos de detección y corrección

2.2 Códigos de detección y corrección

Las propiedades de detección/corrección de un código dependen


de su distancia de Hamming
Para detectar dH errores se necesita un código con distancia dH+1
Para corregir dH errores se necesita distancia 2dH+1
Ejemplos:
Transmisión de datos y redes de computadores - Curso 23/24

Bit de paridad Código de corrección de errores


Distancia 2 4 palabras de 10 bits
2005-2023, Jesús E. Díaz Verdejo,

Detecta errores de 1 bit


Ej. 3 bits/par Datos P
0010
Vocabulario
000 0 0000000000 3 0000000111
001 1 0000011111 2
010 1 1111100000 8
011 0 1111111111 7
100 1
101 0 0000011111
110 0 Distancia 5, corrección de 2
111 1 errores

17 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores ► Códigos de detección y corrección ► Códigos CRC

Códigos CRC

Los códigos de redundancia cíclica (CRC) son uno de los más


utilizados para detección de errores
Son códigos de bloque cíclicos
Un código cíclico es un código de bloque caracterizado
Transmisión de datos y redes de computadores - Curso 23/24

por la propiedad de que cualquier rotación de una


palabra código genera otra palabra código
2005-2023, Jesús E. Díaz Verdejo,

Ejemplo (trivial)
b1  m1  m2
m1 m2 b1
0 0 0
0 1 1
1 0 1
1 1 0

18 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 10
Grado Ing. Tec. Telecomunicación

Detección y corrección de errores ► Códigos de detección y corrección ► Códigos CRC

Códigos CRC

Un código de bloque cíclico queda determinado por una


única palabra código diferente de cero
Los restantes se obtienen por desplazamiento del mismo
El vector 0 se obtiene de la suma de todos los demás
Se identifican cadenas de n+1 bits con polinomios de grado n
Transmisión de datos y redes de computadores - Curso 23/24

Ej.: [100100011] → x8+x5+x+1


Las palabras del código se obtienen a partir de un polinomio
2005-2023, Jesús E. Díaz Verdejo,

generador G(x)
G(x) = an.xn+an-1.xn-1+....+ao
Aritmética módulo 2 sin acarreo (XOR para suma y resta)
Al ser códigos de bloque, pueden describirse también a partir
de matrices generadores
Característica relevante: todas las palabras código son un
múltiplo del polinomio generador

19 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores ► Códigos de detección y corrección ► Códigos CRC

Códigos CRC

Utilización
Para codificar la información, el codificador debe generar unos
bits de comprobación tales que, añadidos a los datos,
produzcan una palabra código múltiplo del polinomio
generador
Transmisión de datos y redes de computadores - Curso 23/24

Códigos de redundancia cíclica (CRC)


Operación
2005-2023, Jesús E. Díaz Verdejo,

Emisor y receptor conocen y comparten un polinomio


generador
El mensaje transmitido debe ser divisible entre G(X)
Dado un número (polinomio), si se le resta el resto de la división
entre un dividendo, el resultado es divisible entre dicho dividendo
Aritmética módulo 2 sin acarreo: suma y resta son la misma
operación
Basta asegurar que la suma del resto no afecte a los bits de datos
 Añadir número suficiente de bits cero al final

20 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 11
Grado Ing. Tec. Telecomunicación

Detección y corrección de errores ► Códigos de detección y corrección ► Códigos CRC

Códigos CRC

Para transmitir los datos M(x) se


Trama 1 1 0 1 0 1 1 0 1 1
genera un checksum de m bits
G(x) 1 0 0 1 1
La trama con el checksum (al final)
1 1 0 0 0 0 1 0 1 0 debe ser divisible entre G(x)
1 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0 r=grado(G(x))
Transmisión de datos y redes de computadores - Curso 23/24

1 0
1
0
0
1
0
1
1 1
La trama debe ser mayor que G(x)
1 0
0
0
0
1
0
1
0 1 Cálculo del checksum
0 0 0 0 0
Se añaden r ceros a la trama
2005-2023, Jesús E. Díaz Verdejo,

0 0 0 1 0
0 0 0 0 0
0
0
0
0
1
0
0
0
1
0
D(x)=xr M(x) (m+r bits)
Se divide el resultado entre G(X)
0 1 0 1 1
0 0 0 0 0
1 0 1 1 0
1 0
0
0
1
1
0
1
1 0
R(x) = resto[xr M(x) / G(x)]
0 0
1
0
0
0
1
0
0 0 Se sustrae el resto a la trama
1 0 0 1 1
0
0
1
0
0
0
0
0
0
0
T(x)= D(x) + R(x) = xr M(x) + R(x)
1 1 1 0 Equivalente a añadir R(x) al final de M(x)
Mensaje 1 1 0 1 0 1 1 0 1 1 1 1 1 0 Se envía T(x)

21 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores ► Códigos de detección y corrección ► Códigos CRC

Códigos CRC

Recepción
Se recibe T(x)+E(x), siendo E(x) el polinomio de error/es
Se calcula
 T ( x )  E ( x )   E( x ) 
resto    resto  
 G ( x )   G( x ) 
Transmisión de datos y redes de computadores - Curso 23/24

Se detectan todos los errores con polinomios no divisibles entre G(X)


Elección de G(x)
2005-2023, Jesús E. Díaz Verdejo,

Si grado(G(X))  2 se detectan todos los errores de 1 bit: E(x)=xi


Errores dobles: E(x)=xi+xj=xj.(xi-j+1)
G(x) no es divisible entre x
Si G(x) no divide a xk+1 para ki-j, se detecta el error
 p.e. x15+x14+1 tiene esta propiedad para k=32768
Número impar de errores
Basta con que G(X) sea múltiplo de (x+1)
Un polinomio generador de grado r puede detectar ráfagas de duración t r
E(x)=xi(xk-1+...+1)

22 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 12
Grado Ing. Tec. Telecomunicación

Detección y corrección de errores ► Códigos de detección y corrección ► Códigos CRC

Códigos CRC

Polinomios estándar
CRC-12 x12  x11  x3  x2  x1  1
CRC-16 x16  x15  x2  1
Transmisión de datos y redes de computadores - Curso 23/24

CRC-CCITT x16  x12  x5  1


Detectan errores simples, errores dobles para i-j≈4.104, número impar
2005-2023, Jesús E. Díaz Verdejo,

de errores y errores a ráfagas de duración 12, 16 y 16,


respectivamente
El CRC se puede calcular mediante registros de desplazamiento

23 3 - Control de errores y de flujo v1.73 - Sept. 2023

Detección y corrección de errores ► Control de errores mediante ARQ

2.3 Control de errores mediante ARQ

Incluso las técnicas de corrección de errores puede que no sean


suficientes para corregir todos los errores
Estrategia alternativa: detectar los errores y retransmitir los datos
Realimentación: el receptor debe informar al emisor
Transmisión de datos y redes de computadores - Curso 23/24

Estrategia híbrida: corregir errores hasta cierto límite y usar


retransmisión si se supera
2005-2023, Jesús E. Díaz Verdejo,

Tres tipos básicos de ARQ: (se verán más adelante)


Parada y espera
Sólo un bloque en circulación
Adelante atrás n (retroceso-n)
Varios bloques en tránsito, se reinicia la transmisión desde error
Repetición selectiva
Varios bloques en tránsito: se reenvía únicamente bloque erróneo

24 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 13
Grado Ing. Tec. Telecomunicación

Control de flujo

3 Control de flujo

¿Cómo conseguimos un servicio Representación del flujo


fiable y eficiente?

Transmitir la mayor cantidad de A B


información en el menor tiempo posible

tprop ttrama
1
Transmisión de datos y redes de computadores - Curso 23/24

Saturación del receptor


Retardos

1
Tiempo
Situación ideal :

2
2005-2023, Jesús E. Díaz Verdejo,

El emisor siempre tiene datos disponibles para


emitir

2
A los datos se le añaden los códigos de

3
error/protección automáticamente
El receptor es capaz de procesar todos los

4
datos inmediatamente
Incluso en la situación ideal es necesario

6
*
el control de flujo (errores)
x
Finalidad: asegurar que no se satura
el receptor
25 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo

3 Control de flujo
Aspectos / elementos a considerar:
Establecimiento / cierre conexión
Arbitrar mecanismos para el inicio y la finalización de la
comunicación (Gestión del enlace)
Confirmaciones de envío correcto
Para garantizar la integridad de los datos es necesario confirmar
Transmisión de datos y redes de computadores - Curso 23/24

todos los datos recibidos


Permiso para enviar
2005-2023, Jesús E. Díaz Verdejo,

Función principal del control de flujo


No se pueden enviar datos si no se dispone de permiso del
receptor
 Permisos explícitos / implícitos
Protocolos orientados a bits / bloques
Señalización (para transmisión asíncrona)
Protocolos de parada y espera y de ventana deslizante
Procedimientos de recuperación de errores
Técnicas ARQ incorporadas
26 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 14
Grado Ing. Tec. Telecomunicación

Control de flujo ► Señalización

3.1 Señalización

Aproximación simple
Uso de señales de control específicas para
indicar la disponibilidad o no del receptor
Señal de parada: se activa esta señal para
impedir el envío de nuevos datos
Transmisión de datos y redes de computadores - Curso 23/24

Señal de continuación: se activa para


indicar que se puede continuar el envío
El emisor puede enviar salvo que se haya
2005-2023, Jesús E. Díaz Verdejo,

activado la señal de parada


El receptor debe activar la señal de continuación
para que se pueda seguir con la transmisión
cuando esté preparado

Aproximaciones alternativas
Señales de solicitud / permiso
Handshake en EIA-232
 Control de flujo DTE-DCE mediante RTS-CTS

27 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Señalización

3.1 Señalización

Dos tipos:
Señalización en banda (intrabanda): las señales de control
usan el mismo canal que los datos
Señalización fuera de banda: canales separados para
control y datos
Transmisión de datos y redes de computadores - Curso 23/24

Ejemplo: control de flujo X-ON/X-OFF


Señalización intrabanda para comunicación dúplex
2005-2023, Jesús E. Díaz Verdejo,

Las señales de control forman parte de los datos transmitidos


Dos caracteres ASCII para control: X-ON (0x13) y X-OFF
(0x11)
 Normalmente corresponden a CTRL-S y CTRL-Q

Cuando un equipo está próximo a saturarse inserta una señal


X-OFF en su flujo de salida
El otro equipo interrumpe la transmisión hasta recibir un X-ON
Se reciben datos adicionales debido al retardo
28 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 15
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de parada y espera

3.2 Protocolo de parada y espera

Idea básica: Cada vez que se transmite una trama


se espera respuesta del receptor (ACK o NACK)
A B
No se envían más tramas hasta recibir confirmación
El control lo realiza el receptor (no saturación)
Permiso para transmitir implícito en las confirmaciones
Transmisión de datos y redes de computadores - Curso 23/24
2005-2023, Jesús E. Díaz Verdejo,

Permite incorporar fácilmente el control de errores


Retransmisión de las tramas confirmadas negativamente *
Problemas:
Posible bloqueo por pérdida de tramas
Posibles duplicidades de tramas si retransmisión
29 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de parada y espera

3.2 Protocolo de parada y espera


Modificaciones (necesarias):
Incorporación de temporizadores
Evitar el bloqueo en caso de pérdida de tramas A B
Se retransmite la trama si expira el temporizador
Temporizador

0
1 10
Transmisión de datos y redes de computadores - Curso 23/24
2005-2023, Jesús E. Díaz Verdejo,

0
Ya no son necesarias las confirmaciones negativas
Etiquetado de tramas
1
Discriminar duplicados en casos de retransmisión
Funcionamiento
0
 Se envía cada trama etiquetada con 0 ó 1
 El receptor envía una confirmación indicando la
siguiente trama esperada
 Si es correcta, se envía la trama siguiente

30 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 16
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de parada y espera ► Eficiencia

Eficiencia

Notación:
Si tprop<ttrama uso eficiente tprop: tiempo de propagación
Si tprop>ttrama el canal es ttrama: tiempo de trama
infrautilizado (transmisión de trama)
tack: tiempo de emisión ACK
(transmisión ACK)
Transmisión de datos y redes de computadores - Curso 23/24

tproci: procesamiento
2005-2023, Jesús E. Díaz Verdejo,

Instante inicial: t0
Fin emisión trama: t0+ttrama
Recepción primer bit: t0+tprop
Recepción último bit: t0+ttrama+tprop
Generación ACK: t0+ttrama+tprop+tproc1+tack
Recepción ACK: t0+ttrama+tprop+tproc1+tack+tprop+tproc2
35 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de parada y espera ► Eficiencia

Eficiencia

tprop ttrama tproc tack tprop tproc


Transmisión de datos y redes de computadores - Curso 23/24

ntrama nack
t0  2t prop  2t proc  ttrama  tack  2t prop  2t proc  
R R
Siendo n el número de bits y R la tasa de transferencia
2005-2023, Jesús E. Díaz Verdejo,

Tasa efectiva de transferencia n. bits datos enviados ntrama  no


0
Ref  
tiempo total requerido t0
Con no número de bits de sobrecarga de la trama de datos
Eficiencia de transmisión
no
1
Ref0 ntrama
0  
R nack 2  t prop  t proc  R
1 
ntrama ntrama

36 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 17
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de parada y espera ► Eficiencia

Eficiencia

Modelo simplificado
Si tproc y n0 despreciables y long(ACK)<<long(trama)
t0  (2t prop  ttrama )
Sólo se transmiten datos durante ttrama
Transmisión de datos y redes de computadores - Curso 23/24

t trama t trama
UPE  
(2t prop  t trama ) 2t prop  t trama
2005-2023, Jesús E. Díaz Verdejo,

Si se define a:
Utilización máxima

Si a→0, U→1: Buena eficiencia para ttrama>>tprop

Se ha obviado la situación de aparición de errores (NACK o


expiración de temporizador)
37 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

¿Cómo conseguimos un servicio fiable y eficiente? (sigue


pendiente)

Fuente de ineficiencia:
sólo una trama en circulación/confirmación
Transmisión de datos y redes de computadores - Curso 23/24

Mejora:
Permitir la existencia de varias tramas en tránsito
2005-2023, Jesús E. Díaz Verdejo,

El receptor dispone de N memorias temporales


Se pueden enviar hasta N tramas sin esperar la confirmación
 Cada trama debe ir etiquetada/numerada
Inconveniente: complicación del control de flujo
Lista de tramas enviadas pendientes de confirmación
Lista de tramas recibidas sin confirmar aún
Gestión de temporizadores individuales para cada trama
Listas de tramas que se pueden enviar/recibir

38 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 18
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

Aproximación inicial (memoria infinita)


A B
0
4
3 1
2 1
3
4
0
2 1
4
Transmisión de datos y redes de computadores - Curso 23/24

1
2
0
3
2005-2023, Jesús E. Díaz Verdejo,

Trama Env. Conf. Trama Rec. Conf. 4


0   0  
1   1  
2   2  
3   3  
4  4 
Inadecuado (número finito de etiquetas)
Uso de búferes circulares
39 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

Aproximación final (memoria limitada, ej. n=2)


A B
0
4 Las confirmaciones indican la
3 siguiente trama esperada 1
2 1
3
2
0 1
0 las
Confirmación de TODAS
Transmisión de datos y redes de computadores - Curso 23/24

1
tramas previas a la indicada 2
0
3
2005-2023, Jesús E. Díaz Verdejo,

Pos. Env. Conf. Pos. Rec. Conf. 0


0 0
   
1 1 

2  2 
3  3  

Buffer envío 0 0 

Aparición natural del concepto de ventana

40 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 19
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

Resultado: Protocolo de ventana deslizante (sliding window)


Se numeran las tramas módulo N (0<x<2n-1, para n bits)
Ventana de envío: Ventana de envío
Tramas en proceso de
Relación de números transmisión/confirmación
de trama que se Tramas
Transmisión de datos y redes de computadores - Curso 23/24

pueden enviar Tramas transmitidas pendientes Tramas que se


y confirmadas de confirmar pueden transmitir
Tramas no enviadas
(etiquetas disponibles
para nuevos envíos)
2005-2023, Jesús E. Díaz Verdejo,

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 …
Tramas enviadas
pendientes de Se desplaza
confirmación Número de Última trama Avanza cuando se reciben
 Deben estar en secuencia confirmada Última trama cuando se confirmaciones
memoria para su de las tramas transmitida envían tramas
posible retransmisión
Puntero a última
trama enviada Límite inferior Nenvío Límite superior
Tamaño máximo teórico
2n

41 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

Ventana de recepción:
Relación de números de trama aceptables
Tramas que pueden recibirse
Puntero tramas recibidas pendientes de confirmación
Tamaño máximo (puntero a fin ventana) teórico 2n
Tramas en proceso de
Transmisión de datos y redes de computadores - Curso 23/24

recepción/confirmación
Tramas
Tramas recibidas pendientes Tramas que
de confirmar se aceptarán
2005-2023, Jesús E. Díaz Verdejo,

y confirmadas

… 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 …

Última trama Avanza al Se reduce


confirmada enviar cuando se
confirmaciones reciben
Última trama tramas
recibida
Nrec
Ventana de recepción

42 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 20
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

Tamaño de ventana de emisión


Se puede usar cualquier tamaño
A B
desde 1 a 2n-1
Posible confusión en caso de pérdida F0
de la confirmación acumulada de 2n F1
Transmisión de datos y redes de computadores - Curso 23/24

tramas F2
El tamaño de la ventana de F3
recepción depende de la técnica de F4
2005-2023, Jesús E. Díaz Verdejo,

recuperación de errores F5

Temporizador
F6
F7
Emisor 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
ACK0
*
Receptor 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 F0

43 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

Ejemplo: ventana de 3 bits (Nenvío=7, Nrecep=7)

Envío A B Recepción
0 1 2 3 4 5 6 7 0 1 2 3 4 56 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Transmisión de datos y redes de computadores - Curso 23/24

F0
F1
F2
2005-2023, Jesús E. Díaz Verdejo,

0 1 2 3 4 5 6 7 0 1 2 3 4 56 7
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
ACK3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 0 1 2 3 4 56 7
F3
F4
0 1 2 3 4 5 6 7 0 1 2 3 4 56 7 ACK4 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
F5
F6
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 0 1 2 3 4 56 7

44 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 21
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de ventana deslizante

3.3 Protocolo de ventana deslizante

Mejoras al protocolo
Incorporación de confirmaciones (piggybacking)
Utilizar la transmisión en ambas direcciones
ACK o NACK en los mensajes en dirección contraria:
Transmisión de datos y redes de computadores - Curso 23/24

 Si no hay datos para enviar, se envían tramas de


confirmación
2005-2023, Jesús E. Díaz Verdejo,

 Si hay datos, pero no hay tramas nuevas que


confirmar, se repite el último número confirmado
Confirmación de tramas sin permiso para continuar
la transmisión (Receiver not ready, RNR)
Se debe enviar una confirmación normal para continuar
Necesario para realizar el control de flujo
 No pueden retenerse las confirmaciones
 Expiración de temporizadores y retransmisiones en caso
contrario
45 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de ventana deslizante ► Eficiencia

Eficiencia

Eficiencia (sin errores)


Depende de N y de a
Suponemos modelo simplificado y
ttrama=1  tprop=a
Dos casos
Transmisión de datos y redes de computadores - Curso 23/24

N>2a+1
 ACK llega antes de terminar la ventana de envío
U=1
2005-2023, Jesús E. Díaz Verdejo,

2
6
0
1
5
4
3
7
4
1
3
2
7
6
5

0 1 2 3 4 5 6 7 0 1 2 3 4 56 7

46 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 22
Grado Ing. Tec. Telecomunicación

Control de flujo ► Protocolo de ventana deslizante ► Eficiencia

Eficiencia

N<2a+1
 Se acaba la ventana en t0+N
 Se reinicia la transmisión en t0+2a+1

0
2
7
6
5
4
3
1
Transmisión de datos y redes de computadores - Curso 23/24

4
1
3
2
7
6
5
2005-2023, Jesús E. Díaz Verdejo,

0 1 2 3 4 5 6 7 0 1 2 3 4 56 7

N
U=
2a + 1

47 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de flujo ► Protocolo de ventana deslizante ► Eficiencia

Eficiencia

Compromiso entre aprovechamiento del BW y requisitos de memoria


Eficiencia (sin errores)
 1 si N  1  2a
 Ventana deslizante
UVD   N sin errores
 si N  1  2a
Transmisión de datos y redes de computadores - Curso 23/24

1  2a
2005-2023, Jesús E. Díaz Verdejo,

48 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 23
Grado Ing. Tec. Telecomunicación

Técnicas ARQ

4 Técnicas ARQ

¿Qué hacemos cuando hay errores? (ampliación)

Mecanismos necesarios para detección y corrección de errores


Los datos se envían en base a una secuencia de tramas
Se reciben en el mismo orden en que fueron enviadas
Dos tipos de errores potenciales:
Transmisión de datos y redes de computadores - Curso 23/24

Tramas perdidas: una trama enviada no llega al receptor


Tramas dañadas: recepción de trama con algunos bits erróneos
2005-2023, Jesús E. Díaz Verdejo,

Técnicas a utilizar (ARQ):


Detección de errores + Confirmaciones positivas + Retransmisión tras
expiración de un temporizador + Confirmaciones negativas y retransmisión
(opcional)
Tres técnicas básicas estándar
ARQ con parada y espera
ARQ con vuelta atrás N
ARQ con repetición selectiva

49 3 - Control de errores y de flujo v1.73 - Sept. 2023

Técnicas ARQ

4 Técnicas ARQ

Parada y espera
Procedimiento de control de flujo de parada y espera
Ya estudiado
 Se transmite una trama y se espera su confirmación
 En caso de confirmación negativa o expiración del temporizador se retransmite
la trama
Transmisión de datos y redes de computadores - Curso 23/24

Errores posibles:
Trama deteriorada: llega una trama dañada
2005-2023, Jesús E. Díaz Verdejo,

Los códigos de detección indicarán que la trama es errónea


Simplemente se descarta
 No existen garantías sobre la identidad (etiqueta) de la trama
Retransmisión automática cuando expire el temporizador
Confirmación deteriorada: una confirmación se deteriora en tránsito
Retransmisión cuando expire temporizador
 Envío duplicado de una trama correcta: uso de etiquetas para diferenciar tramas

!Ineficiente en situaciones prácticas!

50 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 24
Grado Ing. Tec. Telecomunicación

Técnicas ARQ ► Adelante atrás N

4.1 Adelante atrás N

Se eliminan en el receptor todas las tramas recibidas tras el error


El emisor debe reenviar todas las tramas tras la errónea
Ventana de recepción de tamaño 1
Sólo se considera válida la trama siguiente
Ventana de envío de tamaño máximo 2n-1
Aproximación optimista
Transmisión de datos y redes de computadores - Curso 23/24

0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2
2005-2023, Jesús E. Díaz Verdejo,

Temporizador

0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2

51 3 - Control de errores y de flujo v1.73 - Sept. 2023

Técnicas ARQ ► Adelante atrás N

4.1 Adelante atrás N

A ha enviado la trama i y B ha recibido la trama i-1 sin errores


Errores posibles:
1) Trama deteriorada: se descarta la trama
a) A envía trama i+1, B la recibe correcta, pero fuera de orden
 Se puede enviar NACK(i)
Transmisión de datos y redes de computadores - Curso 23/24

b) A no envía más tramas (antes de temporizador)


 Reenvío automático al expirar temporizador
 Posibilidad de uso de sondeo (se estudiará en HDLC)
2005-2023, Jesús E. Díaz Verdejo,

2) Trama confirmación positiva deteriorada: B recibe trama i y


envía ACK(i+1) que se estropea
a) Transmisión posterior de ACK(i+2) antes de expirar temporizador
 Confirmación acumulativa
b) No envío posterior: retransmisión automática por temporizador
 Posible uso de sondeo y proceso de reinicio si persisten los problemas
3) Trama confirmación negativa deteriorada
Equivalente a 1.b)

52 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 25
Grado Ing. Tec. Telecomunicación

Técnicas ARQ ► Repetición selectiva

4.2 Repetición selectiva


Se almacenan las tramas posteriores al error
Sólo se reenvía la trama errónea
Ventana de recepción de tamaño 2n-1
Posibles ambigüedades si se pierde la confirmación de una serie
de 2n-1 tramas
Transmisión de datos y redes de computadores - Curso 23/24

Ventana de envío de tamaño 2n-1 (2n-1 si aproximación optimista)


0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2
2005-2023, Jesús E. Díaz Verdejo,

0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2 0 1 2 3 4 5 6 7 0 1 2

53 3 - Control de errores y de flujo v1.73 - Sept. 2023

Técnicas ARQ ► Análisis de prestaciones

4.3 Análisis de prestaciones

La técnica de recuperación de errores afecta al rendimiento


Se transmitirán tramas inservibles
Parada y espera
Cada trama se retransmite hasta su envío correcto
ttrama 1
U PE 
Transmisión de datos y redes de computadores - Curso 23/24

 U PE  Modelo simplificado
N r t0 N r (1  2a)

Nr número de retransmisiones (ttemp = t0)


2005-2023, Jesús E. Díaz Verdejo,

Si la probabilidad de error en una trama es Pt



1
N r  E[retransmisiones]   i Pr[i transmisiones] 
i 1 1  Pt
(Probabilidad Ptk-1(1-Pt) de necesitar k intentos)
Finalmente
no 1-P
1
  (1  Pt )
ntrama
 (1  Pt )0
U PE =
nack 2  t prop  t proc  R (1+ 2a)
1 
ntrama ntrama Modelo simplificado
54 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 26
Grado Ing. Tec. Telecomunicación

Control de errores ► Análisis de prestaciones

4.3 Análisis de prestaciones

Repetición selectiva
El número de repeticiones puede aproximarse por Nr=1/(1-Pt)
Casos:
ntrama  nack
Nttrama  2  t prop  t proc  
ntrama  nack Nttrama  2  t prop  t proc  
R
Transmisión de datos y redes de computadores - Curso 23/24

R
 no 
1  N
 n    (1  Pt )  ntrama 
 (1  Pt )0
2005-2023, Jesús E. Díaz Verdejo,

  (1  Pt ) 1  o   (1  Pt )0
 ntrama  n 2  t prop  t proc  R
1  ack 
ntrama ntrama

Modelo simplificado
 1 / Nr si N  1  2a  1-P si N  1+ 2a

U RS   

N
si N  1  2a U RS =  N(1 - P)
 N (1  2a )  si N < 1+ 2a
 r  1+ 2a
Repetición selectiva con errores
55 3 - Control de errores y de flujo v1.73 - Sept. 2023

Control de errores ► Análisis de prestaciones

4.3 Análisis de prestaciones

Adelante-atrás N
Se retransmiten K tramas tras un error
 
1  Pt  KPt
N r   f (i ).Pt i 1.(1  P)   (i  1).K  1.Pt i 1.(1  Pt ) 
i 1 i 1 1  Pt
ntrama  nack
Casos Nttrama  2  t prop  t proc  
Transmisión de datos y redes de computadores - Curso 23/24

R
 no 
1  
2005-2023, Jesús E. Díaz Verdejo,

  (1  Pt )  trama 
n
 (1  Pt )0
1   N  1 Pt

Modelo simplificado
Suponiendo K2a+1 si N2a+1 y que KN si N<2a+1
 1-P
 1+ 2aP N  2a + 1
U AAN = Adelante atrás N con errores
 N(1 - P)
 (2a + 1)(1 - P + NP) N < 2a + 1
56 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 27
Grado Ing. Tec. Telecomunicación

Ejemplos de protocolos ► HDLC

5.1 HDLC

HDLC (High-level Data Link Control)


ISO 3309, ISO4335
Ampliamente usado
Base de otros protocolos ampliamente usados
Características básicas
Transmisión de datos y redes de computadores - Curso 23/24

3 tipos de estaciones
Primarias: responsables del control del enlace. Emiten comandos
Secundarias: operan bajo el control de una primaria. Emiten
2005-2023, Jesús E. Díaz Verdejo,

respuestas
Combinadas: combinación de primarias y secundarias
3 modos de transferencia
Normal Response Mode (NRM): conf. no balanceada. Sólo el
primario puede iniciar la transferencia (terminales y conexiones
punto a punto)
Asynchronous Balanced Mode (ABM): conf. balanceada. Ambas
pueden iniciar la transferencia (más usado)
Asynchronous Response Mode (ARM): conf. no balanceada. El
secundario puede iniciar la transferencia, pero el control lo
mantiene el primario
57 3 - Control de errores y de flujo v1.73 - Sept. 2023

Ejemplos de protocolos ► HDLC

5.1 HDLC

Estructura de las tramas


Transmisión síncrona
Un solo formato de trama
Varios campos
Flag Dirección Control Información FCS Flag
Transmisión de datos y redes de computadores - Curso 23/24

8 bits 8 bits 8 ó16 bits Variable 16 ó 32 bits 8 bits


(ampliable)
2005-2023, Jesús E. Díaz Verdejo,

Cabecera=flag+direc.+control
Cola=FCS+flag
Campos
Flag (01111110) (~)
 Principio y fin de trama
 Se usa relleno de bit
 Ejemplo
111111111111011111101111110

1111101111101101111101011111010

58 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 28
Grado Ing. Tec. Telecomunicación

Ejemplos de protocolos ► HDLC

5.1 HDLC

Flag Dirección Control Información FCS Flag


• Dirección
8 8 bits 8 ó16 bits Variable 16 ó 32 8 bits
– Identifica estación secundaria bits (ampliable) bits
– Se incluye siempre
 No es necesario en punto-a-punto
– Usualmente son 8 bits
 Extensible en múltiplo de 7 bits
Transmisión de datos y redes de computadores - Curso 23/24

 Encadenamiento mediante 0
0 0 ... 1
– 11111111 para broadcast
• Control 8 bits
2005-2023, Jesús E. Díaz Verdejo,

– Tres tipos de tramas


(Tres tipos de campos de control)
– Tramas informativas (I) 1 2 3 4 5 6 7 8
 Transporte de datos
Información (I) 0 N(S) P/F N(R)
 Datos de control de flujo, errores y
piggybacking
– Tramas de Supervisión (S)
 ARQ cuando no piggybacking Supervisión (S) 1 0 S P/F N(R)
– Tramas sin numerar (U)
 Funciones de control suplementarias
Sin numerar (U) 1 1 M P/F M
Los dos primeros bits identifican el
tipo

59 3 - Control de errores y de flujo v1.73 - Sept. 2023

Ejemplos de protocolos ► HDLC

5.1 HDLC

Formato de 16 bits Flag Dirección Control Información FCS Flag


8 8 bits 8 ó16 bits Variable 16 ó 32 8 bits
• n. de secuencia de 7 bits bits (ampliable) bits

16 bits
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Transmisión de datos y redes de computadores - Curso 23/24

Información (I) 0 N(S) P/F N(R)


• Información
– Presente sólo en tramas I y
algunas U Supervisión (S) 1 0 S 0 0 0 0 P/F N(R)
2005-2023, Jesús E. Díaz Verdejo,

– Contienen los datos (núm.


entero de octetos)
– Longitud variable (con máximo)
• Frame Check Sequence
(FCS)
– Código de detección de errores
– Usualmente 16 bits CRC CCITT
(opcionalmente 32-bit CRC-32)

60 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 29
Grado Ing. Tec. Telecomunicación

Ejemplos de protocolos ► HDLC

5.1 HDLC

Operación
A B Intercambio de tramas I, S y U
SABM Tres fases:
Temporizador
Transmisión de datos y redes de computadores - Curso 23/24

Inicialización
Inicialización de datos y
contadores para intercambio
2005-2023, Jesús E. Díaz Verdejo,

SABM
correcto
Especificación de modo (NRM,
UA ABM, ARM)
Tipo de control (3 ó 7 bits) para
número de secuencia
El receptor responde UA o DM
para aceptar/rechazar la conexión

61 3 - Control de errores y de flujo v1.73 - Sept. 2023

Ejemplos de protocolos ► HDLC

5.1 HDLC

Intercambio
 Se envían tramas I con los
A B A B
datos
I,0,0 Tipo I,3,0  Se numeran las secuencias (N(s)
N(S) y N(R))
Transmisión de datos y redes de computadores - Curso 23/24

I,0,1 RNR,4
N(R)  N(S) núm. trama enviada
I,1,1 RR,0,P
 N(R) núm. trama esperada
2005-2023, Jesús E. Díaz Verdejo,

I,2,1 RNR,4,F  Usualmente módulo 8 ó 128 (3-7


bits)
I,1,3
 También se usan tramas S para
I,3,2 RR,0,P control (cuando no piggybacking)
I,2,4 RR,4,F  RR para ACK

I,3,4  RNR para ACK y parada


I,4,0
 REJ para adelante-atrás N
RR,4
 SREJ para repetición
selectiva
Receptor ocupado
62 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 30
Grado Ing. Tec. Telecomunicación

Ejemplos de protocolos ► HDLC

5.1 HDLC

Desconexión
A B A B  DISC para solicitar
I,3,0 desconexión
I,2,0  UA para aceptar desconexión
I,4,0 I,3,0 RR,3
Transmisión de datos y redes de computadores - Curso 23/24

* *
I,5,0 Temporizador
2005-2023, Jesús E. Díaz Verdejo,

A B
REJ,4
RR,0,P
DISC
I,4,0 RR,3,F
I,5,0 I,3,0 UA

I,6,0 RR,4

Recuperación Recuperación
rechazo expiración
63 3 - Control de errores y de flujo v1.73 - Sept. 2023

Ejemplos de protocolos ► LLC

5.2 LLC

Logical Link Control


Usado para el control del enlace en LAN
Opera sobre la capa MAC
3 tipos de servicio:
Tipo 1 (no orientado a conexión sin confirmación)
Transmisión de datos y redes de computadores - Curso 23/24

No hay control de flujo ni de errores


No hay establecimiento de conexión
Transmisión de datos no secuenciada con tramas de información no numerada (UI)
2005-2023, Jesús E. Díaz Verdejo,

Otras dos PDUs para funciones de gestión


Tipo 2 (orientado a conexión con confirmación)
Se establece una conexión previa al intercambio de datos
Inicio de conexión en modo SABME según HDLC
Operación idéntica a HDLC
Tipo 3 (no orientado a conexión con confirmación)
Se confirma cada PDU transmitida
Se define PDU no numerada de información no orientada a conexión (AC)
 Los datos se envían en PDU de orden tipo AC y deben ser confirmadas mediante PDU de
respuesta tipo AC
Se numeran las tramas (0 ó 1)
Sólo una trama en tránsito

65 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 31
Grado Ing. Tec. Telecomunicación

Ejemplos de protocolos ► LLC

5.2 LLC

El control de errores se basa en la detección realizada a nivel MAC


La delimitación de trama se realiza a nivel MAC
Tramas LLC
4 campos:
Transmisión de datos y redes de computadores - Curso 23/24

DSAP (Destination Service Access Point)


SSAP (Source Service Access Point)
Control (Idéntico a HDLC, con 7 bits)
2005-2023, Jesús E. Díaz Verdejo,

Información

Trama Control Dirección Dirección


PDU LLC CRC
MAC MAC Destino MAC Origen MAC

PDU
DSAP SSAP Control LLC Información
LLC
8 8 8 o 16 Variable

66 3 - Control de errores y de flujo v1.73 - Sept. 2023

Conceptos básicos
• Necesidad de establecer bloques: marcar inicio/final de
bloques
Delimitación tramas • Métodos aplicables: delimitadores, tamaño y violaciones de
código

• Características y tipos de errores


• FEC vs. BEC
Errores
Transmisión de datos y redes de computadores - Curso 23/24

• Códigos de detección / corrección


• Técnicas basadas en retransmisión: ARQ
2005-2023, Jesús E. Díaz Verdejo,

• Mecanismo simple: parada y espera


• Cuestiones de rendimiento
Control de flujo • Protocolos de ventana deslizante
• Optimizaciones: control de flujo vs. control de errores
• Optimizaciones: mejoras del protocolo

• Recuperación de errores mediante retransmisión


Técnicas ARQ
• Parada y espera vs. Adelante-atrás N vs. Repetición selectiva

Protocolos • HDLC / LLC

67 3 - Control de errores y de flujo v1.73 - Sept. 2023

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023
Transmisión de datos y redes de computadores - Curso 23/24 3 - Control de errores y de flujo - 32
Grado Ing. Tec. Telecomunicación

Licencia Creative Commons

Transparencias de Transmisión de datos y redes de computadores - Grado


Ing. Tecnologías de Telecomunicación - UGR © 2005-2023 by Jesús E. Díaz
Verdejo is licensed under CC BY-NC-SA 4.0
Transmisión de datos y redes de computadores - Curso 22/23

Usted es libre de:


Compartir — copiar y redistribuir el material en cualquier medio o formato
Adaptar — remezclar, transformar y crear a partir del material
2005-2022, Jesús E. Díaz Verdejo,

Bajo las condiciones siguientes:


Reconocimiento — Debe reconocer adecuadamente la autoría, proporcionar un enlace
a la licencia e indicar si se han realizado cambios. Puede hacerlo de cualquier manera
razonable, pero no de una manera que sugiera que tiene el apoyo del licenciador o lo
recibe por el uso que hace.
NoComercial — No puede utilizar el material para una finalidad comercial.

CompartirIgual — Si remezcla, transforma o crea a partir del material, deberá difundir


sus contribuciones bajo la misma licencia que el original.
To view a copy of this license, visit http://creativecommons.org/licenses/by-
nc-sa/4.0/

68

2005-2023,
J.E. J.E. Díaz
Díaz Verdejo Verdejo
– 2005-2021
05/09/2023

También podría gustarte