Tema 4 Nivel de Enlace de Datos - Universidad de …Tema 4 Nivel de Enlace de Datos Material...
Transcript of Tema 4 Nivel de Enlace de Datos - Universidad de …Tema 4 Nivel de Enlace de Datos Material...
Tema 4
Nivel de Enlace de Datos
Material realizado por la Prof. Ana Verónica Medina Rodríguez
Curso 2012/2013 ARC1
2
Índice
Introducción
Servicios ofrecidos por el nivel de enlace.
Funciones del nivel de enlace.
Análisis de Prestaciones.
Protocolos elementales de nivel de enlace.
Características protocolo HDLC
3
Introducción
Un enlace de datos constituye un sistema de
comunicación que permite el intercambio de
información entre un conjunto de estaciones (DTEs)
que están dotadas de sus correspondientes circuitos
de comunicación de datos (DCEs).
Un enlace de datos se clasifica por:
Configuración.
Tipo de estación.
Uso
Nota:DTEs.-Data Terminal Equipment, equipo terminal de datos).
DCEs.-Data Circuit-Terminating Equipment, Equipo Terminación del Circuito de Datos)
4
Introducción
Configuraciones de los enlaces de datos
Punto a Punto
Multipunto
SUP.
ED
FÍSICO
SUP.
ED
FÍSICO
SUP.
ED
FÍSICO
SUP.
ED
FÍSICO
SUP.
ED
FÍSICO
SUP.
ED
FÍSICO
5
Introducción
Tipos de estaciones
Combinada Combinada
ÓRDENES
RESPUESTAS
Primaria Secundaria
ÓRDENES
RESPUESTAS
RESPUESTAS
ÓRDENES
6
Introducción
Uso del enlace de datos:
Full-duplex. Posible sólo en enlaces punto a punto con estaciones
combinadas. Ambas estaciones en el enlace pueden transmitir en cualquier
momento de manera simultánea.
Requiere Nivel Físico full-duplex.
Un canal para cada sentido.
Half-duplex Permite cualquier combinación de configuración del enlace y
tipo estación. Las estaciones del enlace pueden transmitir pero no de manera
simultánea.
Nivel físico half-duplex o full-duplex.
7
Introducción
El nivel de enlace de datos para ofrecer los
servicios al nivel de red requiere utilizar un
protocolo o reglas que rigen el intercambio de
datos con otra entidad par. NR
NED
NF
Protocolo de NED
NR
NED
NF
8
Introducción
Las entidades de nivel de enlace de datos intercambian E_PDU
(Enlace Protocol Data Unit, Unidad de Datos de Protocolo de
Nivel de Enlace de datos) Tramas (Frames).
Las E_PDUs están compuestas de la E_SDU (Enlace Service
Data Unit, Unidad de Datos Servicio del nivel Enlace) + E_PCI
(Enlace Protocol Control Information, Información de Control del
Protocolo de Nivel de Enlace de datos).
En general la E_SDU = R_PDU (Red PDU).
El número de bytes/bits de una E_SDU suele estar limitado.
Existen E_PDUs que no transportan E_SDU.
E_PDUs de control.
E_SDU E_PCI E_PCI
E_PDU
Cabecera Cola
9
Introducción
Como usuario del NF, el NED debe saber:
Si le ofrece canal full-duplex o half-duplex.
Si existe un camino físico.
Dedicado.
Ejemplo, “Pcs conectados en los laboratorios de la ETSI”.
Hay que establecerlo mediante una llamada.
Ejemplo, Pcs conectados vía modem telefónica a RTB (Red
Telefónica Básica).
La manera en la que le debe entregar las E_PDUs.
Orientado al bit.
Orientado al carácter.
10
Introducción
Como suministrador de servicios del NR (o superior),
el NED requiere:
Que el NR esté activo y disponible para recibir E_SDU.
En caso negativo es necesario establecer un enlace lógico.
“Avisar” antes de enviar datos.
Se conoce como establecer una conexión.
El NR usa servicios de nivel de ED para este fin.
Disponer de los todos parámetros (E_ICI, Información
de Control de la Interfaz) para ofrecerle los servicios.
Una solicitud de servicio por parte del NR requiere entregar
al NED la E_SDU+ E_ICI.
11
Servicios ofrecidos por el nivel de enlace
El conjunto de servicios que el nivel de enlace de datos proporciona a su nivel superior (nivel de red) se puede clasificar en dos bloques: No orientado a la conexión (SNOC)
Cada E_SDU se envía sin previo aviso.
Nivel superior siempre disponible para recibir datos
Dos tipos:
Sin confirmación. No se garantiza la entrega de las E_SDUs.
Con confirmación. Cada E_SDU es asentida por la entidad de nivel de enlace paritaria.
Orientado a la conexión. (SOC) Las entidades de nivel de red establecen y negocian una conexión antes
de intercambiar información.
El protocolo de NED dispone de los mecanismos para establecerla.
El protocolo de NED garantiza la entrega de las E_SDUs.
12
Servicios ofrecidos por el nivel de enlace
Para ofrecer dichos servicios se usan, entre otras,
primitivas para:
El establecimiento de la conexión. (SOC, confirmado)
Conocido como servicio establecimiento conexión.
La liberación de la conexión. (SOC, confirmado, no confirmado,
iniciado proveedor)
Conocido como servicio liberación conexión.
La transferencia de datos. (SNOC y SOC, no confirmado,
iniciado proveedor)
Servicio transferencia de datos.
Otros…
13
Servicios ofrecidos por el nivel de enlace
Ejemplo servicio transferencia de datos no
confirmado del NED.
NR
NED
NF
NR
NED
NF
1. NR solicita servicio E_Datos.Request envía E_SDU+ E_ICI a través del SAP
1
2. NED crea la E_PDU y la envía a través del SAP al NF mediante F_Datos.request
4. NED extrae la E_SDU envía a través del SAP al NR mediante el E_Datos.Indication.
3. NF envía los datos a la otra entidad par y entrega a través del SAP la E_PDU a NED mediante servicio F_Datos.indication
2 3
4
A B
14
Servicios ofrecidos por el nivel de enlace
Ejemplo servicio transferencia de datos no
confirmado del NED. Modelado
Nivel de Red A Nivel de Red B
E_Datos.request
Nivel de ED
E_Datos.indication
15
Funciones del Nivel de Enlace
Dependiendo del tipo de servicio que le ofrezca el NF y de los servicios que el NED de datos ofrezca al NR, el protocolo de NED realizará un conjunto de las siguientes funciones: Apertura y cierre del enlace.
Sincronismo de tramas.
Transparencia de datos.
Direccionamiento.
Control de errores.
Control de flujo.
Fragmentación/ensamblado.
Coordinación del enlace.
16
Funciones del Nivel de Enlace
Apertura y cierre del enlace.
Activar /desactivar un enlace lógico sobre uno físico ya
establecido.
¿lista?
Sí
Activar
¿Fin?
Sí
Desactivar
Nota: Requiere el intercambio de E_PDUs de control.
17
Funciones del Nivel de Enlace
Sincronismo de tramas.
Delimita el comienzo y fin de una trama (E_PDU) de
bits o bytes.
Existen cuatro formas:
Dos nivel físico orientado al carácter.
Principio y fin.
Principio y cuenta.
Dos nivel físico orientado al bit.
Guión o flag.
Violación del nivel físico.
18
Funciones del Nivel de Enlace
Sincronismo de tramas: Principio y Fin
Ejemplo de caracteres principio:
STX (STX; Start of TeXt).
Ejemplo de carácter fin:
ETX (End of TeXt).
E_SDU
E_PDU
Cabecera Cola
PRIN FIN
E_PCI E_PCI
19
Funciones del Nivel de Enlace
Sincronismo de tramas: Principio y Cuenta
El final de la trama no está delimitado.
El receptor cuenta el número de bytes que va
recibiendo. Por ejemplo:
Final trama Número de bytes recibidos = LONGITUD
E_SDU E_PCI
E_PDU
Cabecera Cola
PRIN
E_PCI
LONG
20
Funciones del Nivel de Enlace
Sincronismo de tramas: Guión o flag
Ejemplo protocolo HDLC
01111110
E_SDU
E_PDU
Cabecera Cola
FLAG FLAG
E_PCI E_PCI
21
Funciones del Nivel de Enlace
Sincronismo de tramas: Violación de código NF
Consiste en violar el sistema de codificación utilizado a
nivel físico. Por ejemplo:
No haya transición en la mitad del tiempo de un bit en la
codificación Manchester
E_SDU
E_PDU
Cabecera Cola
VIOL VIOL
E_PCI E_PCI
22
Funciones del Nivel de Enlace
Transparencia de datos.
Consiste en activar los mecanismos necesarios que
garanticen que los datos de usuario (E_SDU) no se
confundan, en el receptor, con datos de control (E_PCI)
(p.e. caracteres de principio y fin de tramas).
Existen dos formas:
Byte stuffing o inserción de bytes.
Bit stuffing o inserción de bit. (Usada en el protocolo HDLC)
23
Funciones del Nivel de Enlace
Direccionamiento.
Identifica de forma única a una estación.
Necesaria en los enlaces multipunto.
? ? ? ?
E_SDU E_PCI
Cabecera Cola
DIR
E_PCI
E_PDU
24
Funciones del Nivel de Enlace
Control de errores.
Hace referencia a los mecanismos necesarios para la
detección y la corrección de errores que aparecen en la
transmisión de tramas.
Existen dos posibles errores:
Tramas perdidas.
E_PDUs que no llegan al receptor.
Tramas dañadas.
E_PDUs que llegan al receptor pero que son erróneas
25
Funciones del Nivel de Enlace
Las técnicas de control de errores a nivel de
enlace de datos están basadas en:
Detección de errores Identificar las tramas erróneas.
Error en un bit o en ráfaga (en dos o más bits)
Corrección “Arreglar” las tramas erróneas.
Dos tipos:
FEC (Foward End Correction, Corrección en el otro extremo). Los
errores en la trama son corregidos en el receptor.
ARQ (Automatic Repeat reQuest, Petición Automática de
Retransmisión). Los errores se corrigen mediante la retransmisión
de la trama.
26
Funciones del Nivel de Enlace
Control errores: Detección de errores.
Consiste en añadir bits/bytes adicionales a la trama de
tal manera que permitan detectar errores en algunos
bits.
Conocido como FCS (Frame Check Sequence, Secuencia
de comprobación de Trama).
El Txor calcula el valor de dichos bits antes de enviar
la trama.
El receptor realiza los mismos cálculos para verificar si
coincide con los bits adicionales recibidos.
Algunos errores no serán detectados
27
Funciones del Nivel de Enlace
Control errores: Detección de errores.
Cuatro tipos: VRC (Vertical Redundancy Check). Verificación de Redundancia Vertical
LRC (Longitudinal Redundancy Check). Comprobación de Redundancia
Horizontal.
CRC (Cyclic Redundancy Check). Comprobación de Redundancia
Cíclica.
Checksum. Suma de Comprobación.
E_SDU E_PCI
E_PDU
Cabecera Cola
FCS
E_PCI
28
Servicios ofrecidos por el nivel de enlace
Modelo de transmisión de tramas (E_PDUs) en el NED.
ED A ED B
.
.
.
tiempo
Sin errores
ED A ED B
.
.
.
tiempo
Con errores
X
Nota:
29
Funciones del Nivel de Enlace
Control errores: Corrección de errores. ARQ
La corrección de los posibles errores en la transmisión
se consigue retransmitiendo de nuevo la trama
problemática.
Se basa en:
Confirmaciones positivas (ACK, ACKnowledgement,
Reconocimiento).
Retransmisión tras expiración de un temporizador (time_out).
Confirmación negativa (NACK, NoACKnowledgement, No
Reconocimiento) y retransmisión.
30
Funciones del Nivel de Enlace
Control errores: Corrección de errores. ARQ. ACK
ED A ED B
tiempo
Sin errores
ED A ED B
tiempo
Con errores
X
Time_out
Time_out
31
Funciones del Nivel de Enlace
Control errores: Corrección de errores. ARQ.
NACK
ED A ED B
tiempo
X
Time_out
Con errores
32
Funciones del Nivel de Enlace
Control de Flujo.
Consiste en que el Rxor tenga la capacidad de regular el ritmo
de envío del Txor para no verse saturado.
Define el conjunto de procedimientos utilizados para restringir la
cantidad de datos que el emisor puede enviar para evitar que el
flujo de datos desborde al receptor.
Autorizando el receptor el envío o no de más datos (Xon/Xoff).
Indicando mediante una trama de control cuándo se pueden enviar más
datos (en general se utiliza el ACK de control de errores).
Parada y espera.
Ventana deslizante.
33
Funciones del Nivel de Enlace
Control de Flujo. Parada y espera.
Consiste en que el Txor envía una trama de datos y
espera una trama de reconocimiento (ACK) antes de
enviar la siguiente.
tiempo
ED A ED B
Tiempo de
espera
Tiempo de
espera
Tiempo de
espera
34
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante.
Consiste en que el Txor envía un conjunto de tramas
antes de recibir un reconocimiento (ACK).
El ACK puede ser uno a uno o de grupo.
tiempo Tiempo de
espera
ED A ED B
35
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante.
Al número de tramas que se pueden enviar antes de
recibir un reconocimiento se le llama tamaño de la
ventana o, simplemente, ventana.
Las tramas se identifican para saber qué tramas se han
transmitido y cuáles se han recibido:
Se enumeran en módulo-n, es decir de 0 a n-1.
0,1,2,...,n-1,0,1,2,...n-1,0,1,2…
Este número se conoce como número de secuencia, NS.
El tamaño máximo de la ventana como mucho será n-1
siendo n el módulo de los números de secuencia.
36
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante.
Los ACK incluyen un número de secuencia (NS) de 0 a
n-1 que indica qué trama se espera:
O bien indica que se espera NS.
O indica que se espera NS+1.
E_SDU E_PCI
E_PDU
Cabecera Cola
E_PCI
NS
37
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante. Ejemplo.
NS = 4 y NS ACK indica el NS de la siguiente trama.
tiempo
ACK 1
ED A ED B
Tiempo de
espera
Tiempo de
espera
38
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante. Ventana Txor
Al principio la ventana del Txor contiene el tamaño
máximo posible.
Si NS es módulo n, como mucho sería n-1.
A medida que se envían tramas se va reduciendo el
tamaño de la ventana aumenta el número de tramas
pendientes de ACK.
Al recibir un ACK se expande la ventana un cierto
número de unidades.
Dependiente de la historia, es decir, tramas enviadas y acks
recibidos anteriormente.
39
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante. Ventana Txor
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
Dirección
La ventana se encoge a la
derecha cuando se envía una
trama
La ventana se expande a la
derecha cuando se recibe un
ACK
40
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante. Ventana Txor.
Ejemplo.
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
tiempo
ACK 1
ED A ED B
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
1
2
3
4
5
6
7
8
9
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
1
2
3
4
5
6
7
8
9
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
Dirección
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
41
Funciones del Nivel de Enlace Control de Flujo. Ventana deslizante. Ventana Rxor
Al principio la ventana del Rxor contiene tantos espacios para recibir tramas como el tamaño máximo posible. Si NS es módulo n, como mucho sería n-1.
A medida que se reciben tramas se va reduciendo el tamaño de la ventana disminuye el número de tramas que se pueden recibir antes de enviar un ACK.
Al enviar un ACK se expande la ventana un cierto número de unidades. Dependiente de la historia, es decir, tramas recibidas y acks
enviados anteriormente.
42
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante. Ventana Rxor
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
Dirección
La ventana se encoge a la
derecha cuando se recibe
una trama
La ventana se expande a la
derecha cuando se envía un
ACK
43
Funciones del Nivel de Enlace
Control de Flujo. Ventana deslizante. Ventana Rxor.
Ejemplo.
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
tiempo
ACK 1
ED A ED B
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 1
2
3
4
5,6
7
8
9
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
1
2
3
4
5
6
7
8
9
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
Dirección
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
44
Funciones del Nivel de Enlace
Fragmentación/Ensamblado.
Función poco usual a nivel de enlace de datos.
Consiste en enviar una E_SDU en varias E_PDUs.
Los datos de nivel superior se transmiten en varias tramas.
Debe existir información de control que le permita al
Rxor recomponer la E_SDU original.
Trozo_E_SDUi E_PCI
Cabecera Cola
FRAGi
E_PCI
E_PDUi
45
Funciones del Nivel de Enlace
Coordinación del enlace. Sirve para evitar o solucionar situaciones conflictivas en la
utilización del enlace por las estaciones: Iniciador de la comunicación.
Quién tiene permiso para transmitir, p.e. en un enlace multipunto.
El método utilizado depende del tipo de estación del enlace. Primaria/secundaria
Centralizada
Sondeo/Selección
Usado en protocolo HDLC
Combinada
Descentralizada
Enlace punto a punto
Quién transmite si el enlace es half-duplex. (Usado en HDLC)
Enlace multipunto.
Técnicas de acceso al medio
46
Análisis de Prestaciones
La funciones de control de flujo y corrección de errores son las que marcan principalmente las prestaciones de un protocolo.
Definiciones:
Longitud de la trama.
Datos útiles (MTU).
Tiempo de Transmisión.
Retardo.
RTD (Round Trip Delay).
Tiempo de ocupación.
Cadencia efectiva.
Rendimiento.
Eficiencia del protocolo
Parámetros del enlace
47
Definiciones:
Longitud de la trama (Lt). Nº bits que ocupa una trama.
Lt = Nº bits(E_PCI)+ Nº bits(E_SDU)
Datos útiles (Du). Nº de bits que ocupa la información del nivel superior
(E_SDU).
Du = Nº bits(E_SDU)
Conocido como MTU (Maximum Transfer Unit) o payload de NED.
Lt > Du
Análisis de Prestaciones
48
Definiciones:
Tiempo de Transmisión (Ttx).
Tiempo que tarda un Txor en transmitir una trama.
Sea Vt la velocidad de transmisión en bps y Lt la
longitud de la trama en bits entonces:
Ttx = Lt/Vt
Ttx
Ttxack
tiempo
Análisis de Prestaciones
49
Definiciones:
Retardo (Rt).
Tiempo que transcurre desde que el Txor empieza a enviar el primer bit de la trama hasta que el Rxor recibe el último bit de la misma.
Rt = Ttx + Tp, siendo Tp el tiempo de propagación del medio de transmisión.
tiempo
Rt Ttx
Ttxack
Tp
Tp
Rt
Rtack Rtack
Análisis de Prestaciones
50
Definiciones:
RTD (Round Trip Delay).
Tiempo que transcurre desde que se empieza a enviar el primer bit de una trama en el Txor hasta que éste recibe el último bit del reconocimiento (ACK).
RTD = Rt + Rtack. (Acks individuales y no errores)
Tiempo de ocupación (Toc).
Tiempo total empleado en el Txor desde que empieza a transmitir una trama hasta que puede enviar la siguiente. (Incluye los tiempos de espera)
Toc >= Ttx.
Análisis de Prestaciones
51
Definiciones:
Cadencia efectiva (Cef).
Sirve para medir la velocidad de transmisión real del
nivel de enlace de datos.
Se define como:
Cantidad de bits útiles transmitidos partido por el tiempo de
ocupación.
Cef = Du/Toc.
Análisis de Prestaciones
52
Definiciones:
Rendimiento.
Cociente entre la cantidad de bits útiles transmitidos y el total de bits que se podrían haber transmitido. R = Du/(Vt*Toc)
O cociente entre el tiempo que se tarda en transmitir los datos útiles de una trama y el tiempo de ocupación. R = Ttxdu/Toc
Caso ideal sería que R = 1 100%.
Análisis de Prestaciones
53
Protocolos elementales de NED
Protocolo unilateral de parada y espera.
Protocolo unilateral de ventana deslizante.
Rechazo selectivo.
Retroceder n.
Protocolo bilateral
54
Protocolos elementales de NED
Protocolo unilateral de parada y espera
Técnica de corrección de errores.
ACK.
Time_out.
Técnica de control de flujo.
Parada y espera.
Números de secuencias.
Con dos es suficiente (módulo 2). (Para detectar duplicados).
Toc = RTD. (Sin errores).
55
Protocolos elementales de NED
Protocolo unilateral de parada y espera
ED A ED B
tiempo
Sin errores
ED A ED B
tiempo
Con errores
X
Time_out
Time_out duplicada
56
Protocolos elementales de NED
Protocolo unilateral de parada y espera.
Variante técnica control errores:
ACK.
Time_out (perdidas).
NACK (erróneas).
ED A ED B
tiempo
X
Time_out
duplicada
57
Protocolos elementales de NED
Protocolo unilateral de ventana deslizante
Técnica de corrección de errores. ACK.
NACK. (erróneas)
Time_out. (perdidas)
Técnica de control de flujo. Ventana deslizante.
Números de secuencias. K, siendo K-1 el tamaño de ventana de transmisión.
Toc = Ttx. (Txor nunca se para, sin errores)
58
Protocolos elementales de NED
Protocolo unilateral de ventana deslizante
Funcionamiento.
El Txor mantiene copia de todas las tramas hasta que éstas
son reconocidas.
Para tratar las tramas perdidas activa un temporizador
(time_out), cuando expira puede:
Retransmitir todas las tramas enviadas hasta el momento y que
están pendientes de reconocimiento. (time_out de grupo)
Sólo la primera trama. (time_out individual)
59
Protocolos elementales de NED
Protocolo unilateral de ventana deslizante
Funcionamiento.
Los NACKs le indican al Txor que retransmita una trama que
no se recibió o se recibió con errores.
El NS del NACK indica la trama dañada, i.e., siguiente número de
secuencia que espera.
Se envía un NACK por cada trama con errores.
El Txor al recibir un NACK N considera reconocidas todas las tramas
hasta el anterior NS y retransmite:
Todas las tramas enviadas empezando por la que tiene NS =
N. (Retroceder N).
Sólo la trama con NS = N. (Repetición Selectiva)
60
Protocolos elementales de NED Protocolo unilateral de ventana deslizante.
Retroceder N.
Trama de datos errónea
tiempo
ACK 1
ED A ED B
X Descartadas
Reenviadas
61
Protocolos elementales de NED Protocolo unilateral de ventana deslizante.
Retroceder N.
Trama de datos perdida
tiempo
ED A ED B
Descartadas
Reenviadas
ACK 1
62
Protocolos elementales de NED Protocolo unilateral de ventana deslizante.
Retroceder N.
ACK perdido
tiempo
ED A ED B
Descartadas
Reenviadas
Time_out
¿Está bien?
63
Protocolos elementales de NED
Protocolo unilateral de ventana deslizante. Rechazo selectivo
Funcionamiento. El Rxor permite que las tramas lleguen desordenadas.
El NS que aparece en el NACK indica el NS de la trama que llegó errónea,i.e., siguiente NS esperado.
Sirve también para confirmar las anteriores.
El NS del ACK indica el NS de trama hasta la que se confirma.
Para evitar confusiones, un Rxor que envía un NACK no reconoce más tramas (no envía ACK) hasta que le llegue correctamente la trama errónea.
El tamaño máximo de la ventana es n/2, con NS módulo n.
64
Protocolos elementales de NED Protocolo unilateral de ventana deslizante.
Rechazo selectivo.
Trama de datos errónea.
tiempo
ACK 0
ED A ED B
X Aceptadas
Reenviada
65
Protocolos elementales de NED Protocolo bilateral.
Ambos extremos del enlace pueden intercambiar
tramas de datos.
Las tramas incluyen el NS de envío, N(S) y el NS de
reconocimiento, N(R). (S:Send, enviar, R:Receive,
recibir).
Piggybacking (Confirmación superpuesta)
tiempo
Trama N(S), N(R)
66
Características ED protocolo HDLC
HDLC [ISO 3309] "High-level Data Link Control“
Enlaces punto-punto y multipunto
Half-duplex (HDX) y Full-duplex (FDX)
Orientado al bit.
Configuraciones del canal:
Secundaria Primaria
Primaria Secundaria Secundaria Secundaria
Combinada Combinada
No balanceada (Unbalanced) Balanceada (Balanced)
67
Características ED protocolo HDLC
Modo comunicación
Define la relación entre las estaciones involucradas en el intercambio de tramas. ¿Quién controla el enlace?
Los modos usuales son: Modo de respuesta normal (N.R.M, Normal Response
Mode). HDLC clase UN (Unbalanced Normal, canal no balanceado)
Modo de respuesta asíncrono equilibrado (A.B.M, Asynchronous Balanced Mode)
HDLC clase BA (Balanced Asynchronous, canal balanceado)
NRM ABM
Tipo estación Primaria y Secundaria Combinada
Iniciador Primaria Cualquiera
68
Características ED protocolo HDLC
En HDLC se intercambian tres tipos de tramas
(E_PDUs):
Tramas I.
Transportan datos de usuarios (E_SDUs).
Tramas S.
Tramas de control para funciones de control de flujo y de
errores.
Tramas U.
Tramas de control para gestión del enlace
FLAG DIR CONTROL INFORMACIÓN FCS FLAG
FLAG DIR CONTROL FCS FLAG
FLAG DIR CONTROL INFORMACIÓN FCS FLAG
1 byte 1 o más 1 o 2 bytes No limitado nº bytes 1 o 2 bytes 1 byte
69
1 0 P/F
0 P/F
Características ED protocolo HDLC
E_PCI Control
Puede ocupar uno o dos bytes (extendido).
Es dependiente del tipo de trama.
Formato:
COD
N(R)
N(R)
1 1 P/F COD COD
N(S)
O 1 2 3 4 5 6 7
O 1 2 3 4 5 6 7
O 1 2 3 4 5 6 7
0 P/F
1 0 0 0 0 0 P/F
O 1 2 3 4 5 6 7 8 9 1O 1 1 1 2 1 3 1 4 1 5
O 1 2 3 4 5 6 7 8 9 1O 1 1 1 2 1 3 1 4 1 5
I
S
U
IE
SE
N(S) N(R)
N(R) COD
70
Características ED protocolo HDLC
Apertura y cierre del enlace. Se usan tramas U
Apertura, orden SABM y SABME.
Cierre, orden DISC.
Confirmación, respuesta UA.
Direccionamiento Identifica a la estación secundaria origen o destino de la trama.
Primaria ‘a’.
Secundaria ‘desde’.
Ocupa un o varios bytes. Sólo 7 bits se utilizan para la dirección.
El octavo se utiliza para indicar si hay o no más bytes.
0 hay más .
1 fin
?, Orden
?,Respuesta A B
1
0 0 ….. 1
71
Características ED protocolo HDLC Control flujo y corrección de errores:
Usa la técnica de piggybacking.
Ventana deslizante.
Tamaño máximo ventana limitado por número de bit N(R) y
N(S) de la PCI control.
Cuando no tiene tramas I usa tramas de supervisión
para implementar los ACKs (orden o repuesta).
RR. RR N, reconoce todas las tramas hasta la N-1 y la siguiente que espera es la N.
Indica Xon.
RNR. RNR N, reconoce todas las tramas hasta la N-1 y solicita que no se le envíen más
tramas
Indica Xoff
72
Características ED protocolo HDLC Control flujo y corrección de errores:
Es posible utilizar tanto el mecanismo de Rechazo como
el de Retroceder N para los NACKs.
No está en todas las implementaciones.
Usa tramas de supervisión (orden/respuesta).
REJ (Retroceder N) Un REJ N reconoce todas las tramas hasta la N-1 y solicita que se retransmita de la N en
adelante.
SREJ (Rechazo selectivo). Un SREJ N indica que se debe retransmitir la trama con NS = N.
73
Característica ED protocolo HDLC Coordinación del enlace.
Se utiliza el bit P/F del campo control.
Significa P (Poll, sondeo) si es una orden.
Significa F (Final, Final) si es una respuesta
En ABM al ser estaciones combinadas pueden transmitir sin
permiso por parte de una primaria.
Nivel físico full-duplex para indicar estado:
El bit P sirve para recibir respuesta con bit F en la primera oportunidad que
se presente.
Nivel físico half-duplex para indicar usa el enlace:
El bit P sirve para indicarle al otro extremo que puede transmitir. El otro
extremo responde con un bit F.
La que establece el modo de operación es la que empieza a transmitir.
74
Modo ABM. FULL-DUPLEX
A B
B, UA, F
A, I(0,0)
B, RR(3),F
A, DISC
Características ED protocolo HDLC
75
Modo ABM. HALF-DUPLEX
A B
B, UA, F
B, RR(3),F
A,I (0,3)
A,I (1,3)
A,I (2,3),P
Características ED protocolo HDLC
76
Modo ABM. FULL-DUPLEX (Error, Retroceder-N)
A B
B, REJ(1)
B, RR(3)
Características ED protocolo HDLC
77
Bibliografía
Forouzan Behrouz A. Transmisión de Datos y Redes de Comunicaciones. Mc. Graw Hill, 2001.
Leon-Garcia. “Redes de Computadores, Fundamentos, Conceptos y Arquitectura”. Mc. Graw Hill. 2001.
William Stallings. “Comunicaciones y Redes de Computadores”. 6ª edición. Prentice Hall. 2000.
Fred Halsall. Comunicaciones de Datos, Redes de Computadores y Sistemas Abiertos. 4ª ed. Addison-Wesley Iberoamericana. 1998.
Uyless Black. Redes de Ordenadores. Protocolos, normas e interfaces.
J. García Tomás: Sistemas y Redes Teleinformáticas. Ra-ma 1996.
78
Anexo: Funciones del Nivel de Enlace
Control errores: Detección de errores. VRC
Conocida como verificación de paridad.
Consiste en añadir un bit adicional al carácter que se
desee transmitir de tal forma que el número total de
unos sea par (paridad par) o impar (paridad impar).
Puede detectar todos los errores en único bit.
Sólo detecta errores de ráfaga si el número total de
errores es impar.
79
Control errores: Detección de errores. VRC
(Ejemplo)
Paridad Par.
Emisor quiere enviar la palabra “hola”.
Cada carácter ocupa 7 bits.
Codificación ASCII
1101000 1101111 1101100 1100001
Bits enviados realmente
11010001 11011110 11011000 11000011
Anexo: Funciones del Nivel de Enlace
80
Control errores: Detección de errores. LRC
La hilera de bits de la trama se organizan en forma de
tabla (fila y columna).
Se calcula el bit de paridad par o impar para cada
columna.
La fila calculada se añade a la trama que se desea
transmitir.
Detecta errores de ráfaga del tamaño del LRC (número
de bits generado).
Anexo: Funciones del Nivel de Enlace
81
Control errores: Detección de errores. LRC
(Ejemplo)
Trama de 32 bits organizada en 4 filas de 8 columnas.
Paridad par.
11010001 11011111 11011001 11000010
LRC 11010001 11011111 11011001 11000010 +
Datos originales más LRC
11010001
11011111 11011001 11000010
000101 1 0
Anexo: Funciones del Nivel de Enlace
82
Control errores: Detección de errores. CRC
Más potente que las anteriores.
Está basado en la división binaria.
Consiste en añadir al final de la E_PDU una secuencia de bits redundantes (E_PCI), conocida como CRC o resto CRC, obtenidos de dividir los bits de la E_PDU por un número binario (divisor) predeterminado. El resto de esta operación es el CRC.
El número de bits usados para CRC debe ser uno menos que el número de bits del divisor
Anexo: Funciones del Nivel de Enlace
83
Control errores: Detección de errores. CRC
Los pasos para calcularlo en el Txor son. Añadir n ceros a la trama (siendo n+1 el número de bits del
divisor) .
La trama resultante se divide por el divisor usando el proceso de división binaria (división módulo 2). El resto es el CRC.
Sustituir el CRC de n bits obtenido por los ceros añadidos.
El Rxor recibirá la trama que contiene el CRC y la dividirá por el divisor. No se habrán producido errores si el resto es cero.
Anexo: Funciones del Nivel de Enlace
84
Control errores: Detección de errores. CRC
(Ejemplo)
Trama 100100.
Divisor 1101.
Cálculo CRC (Txor)
1101)1 0 0 1 0 0
1 1 0 1
1 0 0 0
1 1 0 1
1 0 1 0
1 1 0 1
1 1 1 0
1 1 0 1
0 1 1 0
0 0 0 0
1 1 0 0
1 1 0 1
0 0 0
0 0 1
1 1 1 0 1
divisor
Resto, CRC
cociente
Trama+ceros
Se usa cero si el bit más a
la izquierda de la resta
anterior es cero
Restar
divisor
1
Anexo: Funciones del Nivel de Enlace
85
Control errores: Detección de errores. CRC
(Ejemplo)
Comprobación (Rxor).
Divisor 1101.
1101)1 0 0 1 0 0
1 1 0 1
1 0 0 0
1 1 0 1
1 0 1 0
1 1 0 1
1 1 1 0
1 1 0 1
0 1 1 0
0 0 0 0
1 1 0 1
1 1 0 1
0 0 1
0 0 0
1 1 1 1 0 1
divisor
RestoSin error
cociente
Trama+CRC
Se usa cero si el bit más
a la izquierda de la resta
anterior es cero
Restar
divisor
Anexo: Funciones del Nivel de Enlace
86
Control errores: Detección de errores. CRC Los divisores se representan como polinomio algebráico.
Por ejemplo el divisor 10100111 se representaría como el polinomio x7+x5+x2+x+1.
Polinomios estándares: CRC-12: x12+x11+x3+x+1
CRC-16: x16+x15+x2+x+1
CRC-IUT-T: x16+x12+x5+1
CRC-32: x32+x26+x23+x22+x16+x12+x11+x10+x8+x5+x4+x2+1
Detecta errores de ráfagas que afectan a un número impar de bits y ráfagas de longitud menor o igual que el grado del polinomio.
Anexo: Funciones del Nivel de Enlace
87
Control errores: Detección de errores. Checksum Típica de niveles superiores.
En el Txor se realizan los siguientes pasos: Dividir la trama en k trozos de n bits.
Sumar todos los trozos con aritmética complemento a uno.
Complementar resultado. Éste sería el Checksum.
En el Rxor se realizan los siguientes pasos: Dividir la trama (que incluye checksum) en k trozos de n bits.
Sumar todos los trozos con aritmética complemento a uno.
Complementar el resultado.
Si el resultado es cero No error.
Detecta todos los errores que tienen que ver con un número de bits impar.
Anexo: Funciones del Nivel de Enlace
88
Control errores: Detección de errores. Checksum (Ejemplo)
Trama 1010100100111001.
Checksum de 8 bits.
Trama resultante 101010010011100100011101
1 0 1 0 1 0 0 1
0 0 1 1 1 0 0 1
1 1 1 0 0 0 1 0
0 0 0 1 1 1 0 1
Suma C-1
Checksum
Anexo: Funciones del Nivel de Enlace
89
Control errores: Detección de errores. Checksum
(Ejemplo)
Rxor recibe trama 101010010011100100011101
Comprobación
1 0 1 0 1 0 0 1
0 0 1 1 1 0 0 1
0 0 0 1 1 1 0 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 Suma C-1
Complemento
Anexo: Funciones del Nivel de Enlace