Está en la página 1de 97

(07BJ)

(05BR)
(09BM)

Redes
Redes de Computadores
Redes y Sistemas Distribuidos

Tema 4
Funciones y protocolos del
nivel de enlace

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

Tema 4
Funciones y protocolos del nivel de enlace

1. Introduccin

 Modelo OSI:

El nivel de enlace mejora el servicio bsico de transmisin de


datos proporcionado por el nivel fsico

 Objetivos:

Resolver los problemas planteados por la falta de fiabilidad


del servicio bsico de transmisin de datos del nivel fsico
Definir reglas para iniciar y terminar el enlace
Controlar la transferencia de informacin
Detectar errores y recuperarse ante ellos

 Servicios proporcionados por el nivel de enlace al nivel de red:

Sin conexin no fiable (sin asentimiento)


Sin conexin fiable (con asentimiento)
Servicio orientado a la conexin (con asentimiento)
4

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

Tema 4
Funciones y protocolos del nivel de enlace

2. Funciones del nivel de enlace

 Funciones bsicas de los protocolos del nivel de enlace

Sincronizacin de trama

Delimitacin del comienzo y fin de cada trama

Coordinacin de la comunicacin

Comparticin del enlace

Necesidad de un mecanismo de control de acceso al medio


Necesidad de un esquema de direccionamiento fsico

Deteccin de errores de transmisin

Cdigos detectores de errores (redundancia)


Cdigos correctores de errores (redundancia)

Control de flujo

Regulacin del trfico entre el emisor y el receptor

Control de errores

Recuperacin ante fallos (tramas errneas, perdidas o duplicadas)


6

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

Tema 4
Funciones y protocolos del nivel de enlace

2.1 Sincronizacin de trama

 Nivel fsico:

Emisor: datos codificados transmitidos en serie


Receptor: datos recuperados muestreando la seal recibida
Sincronizacin de bit:

Bit de comienzo mas elemento de parada por cada carcter


Esquema de codificacin que facilita la sincronizacin

 Nivel de enlace:

Los datos de los niveles superiores se dividen en tramas


Trama: delimitadores, control, datos y redundancia

Delimitadores

Caracteres o patrones de bits especficos


Limitan la naturaleza de los datos
Se requieren mecanismos de transparencia para evitarlo
Violaciones de cdigo
Patrones de bits de cdigo no usados (codificacin por bloques)

La redundancia se inserta al final de la trama

La utilizacin de tramas simplifica el control de acceso al medio,


la deteccin de errores, y el control de flujo/errores
8

Tema 4
Funciones y protocolos del nivel de enlace

2.1 Sincronizacin de trama

 Delimitadores de principio y fin con relleno de caracteres

Principio de trama: carcter de inicio (STX o SOH)


Fin de trama: carcter de fin (ETX o ETB)
El receptor sabe donde comienza y finaliza cada trama
Problema: los caracteres de control aparecen en los datos

Ocurre cuando se transmiten datos binarios

Solucin: caracteres de escape (DLE) para transparencia

Se inserta un carcter de escape DLE delante de cada carcter de

inicio o de fin incluido en el campo de datos de la trama


Los caracteres DLE incluidos en el campo de datos de la trama
tambin se duplican
Ejemplo:

Datos:
Trama:

a 9 STX ACK 2 6 DLE ETX 3 t y


STX a 9 DLE STX ACK 2 6 DLE DLE DLE ETX 3 t y ETX

En el peor caso, la eficiencia cae hasta el 50%


9

Tema 4
Funciones y protocolos del nivel de enlace

2.1 Sincronizacin de trama

 Delimitadores de principio y fin con relleno de bits

Sincronizacin independiente de la estructura de los datos


Principio/fin de trama: patrn de bits (delimitador, flag o guin)
El receptor sabe donde comienza y finaliza cada trama
Problema: el delimitador aparece en la trama

Ocurre en cualquier parte de la trama (control/datos/redundancia)

Solucin: el emisor identifica el delimitador y lo modifica

Ejemplo con 01111110 como guin de principio/fin de la trama:

El emisor evita ms de cinco 1s consecutivos insertando un 0


El receptor analiza el bit que sigue a cinco 1s consecutivos
Si es un 0 lo elimina
Si es un 1 identifica el principio/fin de la trama
Datos:
000111101111111100011111000110
Trama:
011111100001111011111011100011111000011001111110

En el peor caso, la eficiencia cae hasta un 83,3% (5/6)


10

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

11

Tema 4
Funciones y protocolos del nivel de enlace

2.2 Coordinacin de la comunicacin

 La comparticin de un enlace conlleva la necesidad de un


mecanismo de control para determinar quin usa el enlace
 Los protocolos de coordinacin tienen tres fases:

Establecimiento del enlace


Transferencia de informacin (tramas)
Terminacin del enlace

 Dos tipos bsicos de coordinacin:

Centralizada:

Controlador central (o moderador) que determina el turno de


transmisin de los interlocutores

Debe conceder el turno de transmisin de forma equitativa y/o gestionar


prioridades
Tpica de los primeros sistemas de cmputo: controlador + terminales

Por contienda (o distribuida):

No existe ningn controlador central


Los interlocutores pueden transmitir cuando lo deseen
12

Tema 4
Funciones y protocolos del nivel de enlace

2.2 Coordinacin de la comunicacin

 Coordinacin centralizada

Seleccin (para envo)

El controlador enva un mensaje de seleccin al terminal que


responde indicando su disponibilidad mediante el envo de un
reconocimiento
Si el enlace se establece, el controlador enva tramas y el
terminal confirma su recepcin mediante reconocimientos
Cuando el controlador termina de enviar todas las tramas,
se termina el enlace
Seleccin rpida

Sondeo (para recepcin)

El controlador interroga a los terminales para ver si tienen


tramas que transmitir

Sondeo por lista: el controlador interroga a los terminales

siguiendo una lista ordenada


Sondeo por grupos: los terminales estn agrupados,
y el controlador los interroga siguiendo una lista ordenada

13

Tema 4
Funciones y protocolos del nivel de enlace

2.2 Coordinacin de la comunicacin

 Coordinacin por contienda (o distribuida)

Ni existe ningn controlador ni se usa testigo alguno


Posibilidad de que se produzcan colisiones:

Transmisin simultnea de dos o ms tramas

Tcnicas para evitar colisiones:

Tcnicas de auscultacin (CSMA)


Tcnicas de deteccin de colisiones (CSMA/CD)

Tcnicas de recuperacin ante posibles colisiones:

Uso de plazos de espera aleatorios (para evitar que se produzcan


bloqueos) asociados a tramas para gestionar las retransmisiones

Utilizada en redes de acceso mltiple (LAN):

Contraste con el enfoque centralizado


Esquema de direccionamiento fsico para determinar quin es el

destinatario de cada trama


Subcapa de control de acceso al medio (MAC, Media Access
Control)

14

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

15

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 Durante la transmisin pueden producirse errores que dan


lugar a tramas errneas:

Uso de informacin adicional (redundancia) para comprobar la


integridad de las tramas

 Si el nivel de enlace proporciona servicio fiable al nivel de red:

Uso de asentimientos positivos o negativos (retransmisin)


Tramas perdidas:

Uso de temporizadores asociados a las tramas


Valor de los temporizadores: envo, proceso, asentimiento
Retransmisin de tramas cuando expira el temporizador

Tramas duplicadas:

La retransmisin de tramas puede conllevar duplicidad


Uso de nmeros de secuencia para etiquetar las tramas
 La implementacin de un servicio fiable est ntimamente
relacionada con el control de flujo

16

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 Tipos de errores:

Errores aislados
Errores en rfagas (bursts)
Ms comunes en LANs
 Cdigos detectores de errores (redundancia)

17

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 Problema 1. Si se transmiten tramas de 1000 bits,


y la probabilidad de que se produzca un error es
de 0,0001 por bit transmitido, cuntas tramas
errneas recibir el receptor en promedio?

El 10% de las tramas contendr un bit errneo


 Problema 2. Cuntos bits se vern afectados por
un pico de ruido impulsivo de 1 ms en una lnea
que transmite a 1 Mbps? Y si transmite a 1
Gbps?

Para 1 Mbps, se vern afectados 103 bits


Para 1 Gbps, se vern afectados 106 bits
18

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 CRC (Cyclic Redundary Check)

Mtodo ms comnmente utilizado


Bloques de bits representan coeficientes (1s y 0s) de

polinomios
Una trama de k bits equivale a un polinomio de k
trminos, es decir, de grado k-1

Ejemplo:

10100111 es el polinomio x7+x5+x2+x+1 (grado 7)

Aritmtica en mdulo 2: suma y resta igual que XOR


19

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 CRC (Cyclic Redundary Check)

Emisor y receptor acuerdan polinomio generador G(x)


El bloque de bits de datos representa al polinomio M(x)
Algoritmo:

Agregar k-1 bits (grado de G(x)) a 0 a M(x) (extremo inferior)


Dividir el polinomio resultante por G(x) utilizando aritmtica en

mdulo 2 (el resto de la divisin es R(x))


La trama a transmitir, T(x), es igual M(x)0..k-1..0 XOR R(x)
El receptor divide M(x)R(x) entre G(x), y obtiene un resto 0 si la
trama lleg correctamente, o un resto 0 en caso contrario

20

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 Ejemplo CRC:

G(x)
M(x)
T(x)

= x3 + x2 + 1, es decir, 1101
= x5 + x2, es decir, 100100
= 100100 001  CRC

21

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 CRC (Cyclic Redundary Check)

La eleccin de G(x) es crucial para que el mtodo sea eficaz


Algunos polinomios que son estndares internacionales:

CRC-12: x12+x11+x3+x2+x+1
CRC-16: x16+x15+x2+1
CRC-CCITT: x16+x12+x5+1 (HDLC)
CRC-32: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x
+ 1 (IEEE 802)

Todos contienen el trmino x+1 como factor primo porque no hay


polinomios con un nmero impar de trminos divisibles por x+1
Un CRC de grado 16 captura:
Todos los errores simples y dobles
Todos los errores con un nmero impar de bits
Todos los errores en rfagas con longitudes de hasta 16 bits
El 99,997% de los errores en rfagas de 17 bits
El 99,998% de los errores en rfagas de 18 o ms bits
22

Tema 4
Funciones y protocolos del nivel de enlace

2.3 Deteccin de errores

 Problema 3. Se desea transmitir el bloque de bits


10100001 con un CRC generado a partir del
polinomio x3+1. Cul sera la trama transmitida?
Qu pasara si el receptor recibe el bloque de
bits 11000001?

23

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

24

Tema 4
Funciones y protocolos del nivel de enlace

2.4 Control de flujo

 Regulacin del flujo de datos entre emisor y receptor

El flujo de datos no debe desbordar al receptor:


El receptor utiliza buffers (almacenamiento temporal) para
almacenar los datos hasta que son procesados
Velocidad limitada de procesamiento de datos recibidos
Capacidad limitada de almacenamiento temporal
El receptor debe indicar cundo se han alcanzado los lmites

Confirmacin de las tramas (fiabilidad):


De forma individual o colectiva (confirmacin mltiple)
Asentimiento positivo (ACK) o negativo (NAK)
 Tcnicas de control de flujo:

Parada y espera (stop-and-wait)


Ventana deslizante (sliding window)
25

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

26

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Parada y espera (stop-and-wait)

El emisor espera una confirmacin por cada trama transmitida


La siguiente trama se enva slo cuando se recibe la confirmacin
El tiempo total para transmitir una trama incluyendo su
confirmacin

tprop:
tframe:
tproc:
tack:

T = tprop + tframe + tproc + tprop + tack + tproc


tiempo de propagacin
tiempo de enviar una trama
tiempo de procesamiento de una trama o una confirmacin
tiempo de enviar una confirmacin

Ventaja: simplicidad (cada trama se transmite y se confirma


individualmente)
Desventaja: ineficiencia (cada trama y su confirmacin recorren
todo el camino entre el emisor y el receptor antes de poder enviar
la siguiente trama)
27

Tema 4

2.4.1 Tcnicas de control de flujo

Funciones y protocolos del nivel de enlace

 Parada y espera (stop-and-wait)


T = tprop + tframe + tproc + tprop + tack + tproc

La utilizacin o eficiencia de la lnea se define como:


U=

tinformacin
ttotal

Si definimos a tcomo:
a=

prop

t frame

n * t frame
n * (2t prop + t frame )

U =

t frame
2t prop + t frame

1
1 + 2a

Mxima utilizacin
de la lnea

a es constante en enlaces punto a punto (tprop y tframe

son constantes)
a es variable en enlaces multipunto

a=

Tiempo de Propagacin
RD
= V =
Tiempo de Transmisin L
VL
R

D = distancia del enlace


V = velocidad de propagacin
L = longitud de la trama
R = velocidad de transmisin
28

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Parada y espera (stop-and-wait)

29

Tema 4
Funciones y protocolos del nivel de enlace

2. Funciones del nivel de enlace

 Problema 4. Se desea transmitir una serie de


tramas de 1000 bits con un protocolo de nivel de
enlace con control de flujo/errores mediante
parada y espera. Calcula la eficiencia del enlace
(sin errores) suponiendo una velocidad de
transmisin de 1 Kbps y de 1 Mbps en los
siguientes supuestos: (a) par trenzado de 1 Km,
(b) cable coaxial de 200 Km, y (c) conexin por
satlite de 50.000 Km.

Sol.:
U = 0,999 / U = 0,990
U = 0,998 / U = 0,333
U = 0,750 / U = 0,003
30

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

El emisor puede enviar varias tramas antes de recibir una


confirmacin

Permite aprovechar de forma ms eficiente la capacidad del canal

El receptor confirma la recepcin de tramas de vez en cuando

La ventana (buffer) almacena un nmero determinado de tramas


Esta tcnica requiere un esquema de numeracin de tramas para
poder realizar un seguimiento de las tramas enviadas y recibidas:

Una o ms tramas pueden ser confirmadas en cualquier momento

La numeracin depende del tamao de la ventana


Las tramas se numeran en mdulo n, es decir, de 0 a n-1
El tamao mximo de la ventana es n-1 ( y no n !!!)
Confirmacin de las tramas:

Confirmacin de varias tramas (mltiple) con un nico ACK


Los ACKs incluyen el nmero de la prxima trama esperada
Como mximo se pueden enviar n-1 tramas antes de recibir un ACK
31

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

Ventana del emisor:


La ventana tiene inicialmente espacio para n-1 tramas
El tamao de la ventana en cada momento equivale al nmero
de tramas que se pueden enviar
Envo de una trama

El lmite izquierdo de la ventana avanza

Recepcin de un ACK
El lmite derecho de la ventana avanza

32

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

Ventana del receptor:


La ventana tiene inicialmente espacio para n-1 tramas
El tamao de la ventana en cada momento equivale al nmero
de tramas que se pueden aceptar
Recepcin de una trama

El lmite izquierdo de la ventana avanza

Envo de un ACK
El lmite derecho de la ventana avanza

33

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

34

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

Por qu el tamao mximo de la ventana es n-1?


La justificacin se basa en la resolucin de una posible
ambigedad en el asentimiento de las tramas
Ejemplo:

Dada una ventana de tamao 8 y numeracin mdulo 8


Se envan las trama 0..7 y se enva un ACK 0
El ACK 0 se pierde (no es reconocido como trama vlida)
Se reenvan las tramas 0..7 pasado un cierto tiempo
Cmo sabe el receptor que son tramas duplicadas?

Transmisin full-dplex
Cada interlocutor mantiene una ventana de emisin y otra de
recepcin (emisin y recepcin simultneas)
Optimizacin: superposicin (piggybacking)

Las confirmaciones se incluyen en las tramas de datos

35

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

La utilizacin o eficiencia de la lnea se define como:


U =1

U =

si N 2a + 1

N
1 + 2a

si N < 2a + 1

N es el tamao mximo
de la ventana (numeracin
t

mdulo N+1) y a = t prop


frame
N = 1  Parada y espera (stop-and-wait)

36

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

U =1

si N 2a + 1

37

Tema 4
Funciones y protocolos del nivel de enlace

2.4.1 Tcnicas de control de flujo

 Ventana deslizante (sliding window)

U =

N
1 + 2a

si N < 2a + 1

38

Tema 4
Funciones y protocolos del nivel de enlace

2. Funciones del nivel de enlace

 Problema 5. Se desea transmitir una serie de


tramas de 1000 bits con un protocolo de nivel de
enlace con control de flujo/errores mediante
ventana deslizante. Calcula la eficiencia del enlace
(sin errores) en los siguientes supuestos:
(a) enlace de 100 m, VT de 1 Gbps y N = 1, (b)
enlace de 10 Km, VT de 100 Mbps y N = 7, y (c)
enlace de 10.000 Km, VT de 1 Mbps y N = 127.

Sol.:

U = 0,5
U = 0,63
U=1
39

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
2.1 Sincronizacin de trama
2.2 Coordinacin de la comunicacin
2.3 Deteccin de errores
2.4 Control de flujo ([STA04] Captulo 7)
2.4.1 Tcnicas de control de flujo
2.4.2 Tcnicas de recuperacin de errores

3. Protocolo HDLC ([FOR07] Captulo 11.6)


4. Protocolo PPP ([FOR07] Captulo 11.7)

40

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Extensin del mecanismo de control de flujo para recuperacin


de errores (tramas perdidas o errneas)
 ARQ (Automatic Repeat reQuest)

Cuando se recibe una trama errnea, se enva una trama NAK


Las tramas especificadas por la trama NAK se retransmiten
Se garantiza la robustez del mecanismo de control de flujo ante:
Tramas de datos perdidas o errneas
Tramas de asentimiento (ACK o NAK) perdidas
La recuperacin de errores mediante ARQ se implementa junto
con el control de flujo

Parada y espera como:

Parada y espera con ARQ (stop-and-wait ARQ)

Ventana deslizante como (ventana deslizante con ARQ):

Vuelta atrs N (go-back-n)


Rechazo selectivo (selective reject)
41

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Parada y espera con ARQ (stop-and-wait ARQ)

El emisor guarda una copia de la ltima trama

transmitida hasta que recibe el ACK correspondiente


El receptor puede responder con un ACK o un NAK:

Las tramas de datos y las tramas ACK se numeran con 0/1


alternativamente:

Una trama de datos 0 se asiente mediante una trama ACK 1 y

viceversa
Permite identificar y descartar las tramas duplicadas

Las tramas NAK no van numeradas:

Asienten negativamente una trama de datos errnea


Indican la retransmisin de la ltima trama de datos

El emisor dispone de un temporizador de forma que si


no se recibe un asentimiento (ACK o NAK) antes de
que expire, se retransmite la ltima trama de datos
42

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Parada y espera con ARQ (stop-and-wait ARQ)

Funcionamiento normal

43

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Parada y espera con ARQ (stop-and-wait ARQ)

Trama de datos perdida

44

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Parada y espera con ARQ (stop-and-wait ARQ)

Trama ACK perdida

45

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Parada y espera con ARQ (stop-and-wait ARQ)

Por qu se numeran las tramas ACK?

46

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Ventana deslizante con ARQ

El emisor guarda copias de las tramas transmitidas hasta que


recibe el ACK correspondiente
El receptor puede responder con un ACK o un NAK:

Las tramas de datos, las tramas ACK y las tramas NAK estn
numeradas:

Las tramas ACK llevan el nmero de la trama esperada


Las tramas NAK llevan el nmero de la trama errnea y tambin sirven
para confirmar positivamente todas las tramas anteriores a la errnea

El emisor tambin dispone de un temporizador de forma que si no


se recibe un asentimiento (ACK o NAK) antes de que expire, se
retransmiten las tramas pendientes de confirmacin

 Dos variantes en funcin del rechazo:

Vuelta atrs N (go-back-n): rechazo de la trama errnea y


subsiguientes
Rechazo selectivo (selective reject): rechazo slo de la trama
errnea
47

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Vuelta atrs N (go-back-n)

Trama de datos perdida

48

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Vuelta atrs N (go-back-n)

Trama de datos errnea

49

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Vuelta atrs N (go-back-n)

Trama ACK perdida

50

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Rechazo selectivo (selective reject)

Difiere de vuelta atrs N en que:


El emisor debe disponer de un mecanismo de bsqueda que
le permita seleccionar la trama cuya retransmisin fue
solicitada (el receptor detect una trama de datos perdida o
errnea y solicit su retransmisin mediante una trama NAK)

El emisor slo retransmite la trama de datos perdida o errnea


El receptor debe almacenar las tramas recibidas despus de
enviar un NAK hasta que la trama daada sea reemplazada

El receptor debe ser capaz de reordenar las tramas recibidas


El tamao mximo de la ventana es (N+1)l2
51

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Rechazo selectivo (selective reject)

Trama de datos errnea

52

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Rechazo selectivo (selective reject)

Por qu el tamao mximo de ventana es (N+1)l2?


La justificacin se basa en la resolucin de una posible
ambigedad en el asentimiento de las tramas
Ejemplo:

Dada una ventana de tamao 7 y numeracin mdulo 8


Se envan las trama 0..6 y se enva un ACK 7
El ACK 7 se pierde (no es reconocido como trama vlida)
Se reenva la trama 0 pasado un cierto tiempo
Cmo sabe el receptor que es una trama duplicada?

53

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Recuperacin de errores con ARQ

La utilizacin o eficiencia de la lnea se define como:


Nr: nmero esperado de retransmisiones por trama
P: probabilidad que una trama sea errnea
Pk-1(1-P): probabilidad de que se necesiten k intentos para
transmitir con xito la trama

Parada y espera con ARQ

1
1 P
U=
dnde N r = iP i 1 (1 P) = (1 P) 1 , es decir, U =
N r (1 + 2a )
1 + 2a
i =1

Ventana deslizante con ARQ


Vuelta atrs N
1 P
si N 2a + 1
1 + 2aP
N( 1 P)
U=
si N < 2a + 1
(1 + 2a)(1 P + NP )

U=

Rechazo selectivo
U = (1 P ) si N 2a + 1

U=

N( 1 P)
si N < 2a + 1
1 + 2a

54

Tema 4
Funciones y protocolos del nivel de enlace

2.4.2 Tcnicas de recuperacin de errores

 Recuperacin de errores con ARQ

N es el tamao mximo de la ventana (numeracin

mdulo N+1) y P = 10-3


N = 1  Parada y espera (stop-and-wait)

55

Tema 4
Funciones y protocolos del nivel de enlace

2. Funciones del nivel de enlace

 Problema 6. Se desea transmitir una serie de


tramas de 1000 bits por un enlace de 100 Km a 20
Mbps. Calcula la eficiencia del enlace si la tasa de
errores por bit es de 0,00004 en los siguientes
supuestos: (a) parada y espera (b) vuelta atrs N
(N = 7), y (c) rechazo selectivo (N = 7).

Sol.:
U = 0,046
U = 0,258
U = 0,320

56

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
3. Protocolos del nivel de enlace
3.1 Protocolo HDLC ([FOR02] Captulo 11.4)
3.2 Protocolo PPP ([FOR02] Captulo 15)

57

Tema 4
Funciones y protocolos del nivel de enlace

3. Protocolos del nivel de enlace

 Caractersticas deseables de los protocolos del nivel


de enlace:

Independencia del nivel fsico


Soporte de actividad bidireccional simultnea
Adaptacin a diferentes aplicaciones/entornos
Eficiencia (relacin entre los bits de informacin

transportados y los bits de control del protocolo)


Robustez
Fiabilidad

58

Tema 4
Funciones y protocolos del nivel de enlace

3. Protocolos del nivel de enlace

 Tipos de protocolos del nivel de enlace:

Conexin directa entre hosts


Enlace punto a punto entre dos DTEs
Extremo a extremo
Servicio orientado a conexin
Control de flujo:
Parada y espera (R): Kermit
Ventana deslizante (d o R): HDLC (High-Level Data Link
Control)

59

Tema 4
Funciones y protocolos del nivel de enlace

3. Protocolos del nivel de enlace

 Tipos de protocolos del nivel de enlace:

Controlador + terminales
Enlace multipunto
Un DTE maestro y varios DTEs esclavos

Coordinacin centralizada (sondeo/seleccin)


Extremo a extremo
Servicio orientado a conexin
Control de flujo:
Parada y espera (R): BSC (Binary Synchronous Control)
Ventana deslizante (d o R): HDLC

60

Tema 4
Funciones y protocolos del nivel de enlace

3. Protocolos del nivel de enlace

 Tipos de protocolos del nivel de enlace:

Redes WAN
Enlace punto a punto
Significado local (entre DTE y DCE, o entre DCE y DCE)
Servicio orientado a conexin
Control de flujo:
PPP (Point-to-Point Protocol): basado en HDLC
Acceso domstico (mdems, ADSL)
Interconexin de routers

61

Tema 4
Funciones y protocolos del nivel de enlace

3. Protocolos del nivel de enlace

 Tipos de protocolos del nivel de enlace:

Redes LAN
Enlace multipunto
Extremo a extremo
d, R y tasa de errores muy baja
Control de flujo en niveles superiores

Protocolo dividido en dos subcapas (Ethernet):


LLC (Logical Link Control): basado en HDLC
MAC (Media Access Control): coordinacin por contienda

62

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
3. Protocolos del nivel de enlace
3.1 Protocolo HDLC ([FOR07] Captulo 11.6)
3.2 Protocolo PPP ([FOR07] Captulo 11.7)

63

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Todos los protocolos del nivel de enlace actuales son


subclases de HDLC o se basan en HDLC

Comunicacin semi-dplex o full-dplex


Diferentes tipos de hosts: estaciones primarias, secundarias y
combinadas
Configuracin del enlace: punto a punto y multipunto
Modos de operacin: NRM, ARM y ABM

Tramas monoformato: tramas I, tramas S y tramas U


Clases de procedimiento: subclases de HDLC
Interfaz del protocolo
Marco de referencia para el diseo de otros protocolos:
LLC, PPP, LAPB (X.25), LAPD (RDSI), 802.11
64

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Tipos de estaciones

Estacin primaria: tiene el control total del enlace


Estacin secundaria: no puede controlar el enlace
Estacin combinada: acta alternativamente como primaria y
como secundaria

 Configuracin del enlace

Configuracin no balanceada (o maestro/esclavo)

Una estacin primaria y una o varias estaciones secundarias


La estacin primaria enva rdenes a las secundarias que responden

a la primaria
Si slo hay una estacin secundaria, el enlace es punto a punto
Si hay varias estaciones secundarias, el enlace es multipunto

Configuracin balanceada

HDLC no soporta configuraciones balanceadas multipunto

Dos estaciones combinadas


Enlace punto a punto
65

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

66

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Modos de operacin:

Modo de respuesta normal (NRM, Normal Response Mode)


Configuracin no balanceada punto a punto o multipunto
Una estacin secundaria slo puede transmitir cuando la estacin
primaria le da permiso para hacerlo (semi-dplex)

Modo de respuesta asncrono (ARM, Asynchronous


Response Mode)

Configuracin no balanceada punto a punto o multipunto (slo una


de las estaciones secundarias puede estar activa)
Una estacin secundaria puede empezar a transmitir sin pedir el
permiso de la estacin primaria (full-dplex)

Modo balanceado asncrono (ABM, Asynchronous Balanced


Mode)

Configuracin balanceada punto a punto


Cualquiera de las dos estaciones combinadas puede transmitir en
cualquier momento sin tener que solicitar el permiso de la otra
estacin (full-dplex)

Tanto en NRM como en ARM, todas las transmisiones son


desde o hacia la estacin primaria

67

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Formato de la trama

Monoformato con campos de significado posicional


Delimitador de inicio y fin (01111110) con relleno de bits
Direccin (uno o ms bytes) de la estacin secundaria,
o direccin de la estacin combinada que desempea
el papel de estacin secundaria
Control (uno o dos bytes)
Informacin (longitud mxima dependiente de implementacin)
FCS (Frame Check Sequence): CRC-CCITT (dos bytes) o
CRC-32 (cuatro bytes)

68

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Trama I (informacin)

Datos e informacin de control asociada a los datos


Campo de control
N(S): nmero de la trama que se est enviando
N(R): nmero de la trama esperada
Las tramas I permiten la utilizacin de la tcnica de
superposicin (piggybacking)

Numeracin mdulo 8 128 (modo extendido)


Variables asociadas:
V(S): nmero de la prxima trama a enviar
V(R): nmero de la prxima trama esperada

69

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Trama S (supervisin)

Se utiliza para asentir, positiva o negativamente,

cuando no se tienen datos que transmitir


(control de flujo y recuperacin de errores)
Campo de control

N(R): nmero de la trama esperada


Numeracin mdulo 8 128 (modo extendido)
No contiene subcampo N(S) porque las tramas S no
transportan datos
Subcampo Code: comando
Code
00
01
10
11

Comando
RR (Receive Ready)
REJ (REJect)
RNR (Receive Not Ready)
SREJ (Selective REJect)
70

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Trama U (no numerada)

Gestin del enlace


Campo de control
No contiene campos N(R) ni N(S) puesto que estas tramas no

intervienen en el envo/recepcin de datos


Subcampo Code: hasta 32 rdenes/respuestas no numeradas

Seleccin de modo de operacin: SNRM(E), SARM(E), SABM(E)


Intercambio de informacin: UI (trama de datos no numerada), UA
(respuesta positiva a la seleccin del modo de operacin)
Desconexin: DISC (desconexin), DM (respuesta negativa a la
seleccin del modo de operacin)
Miscelneas: FRMR (rechazar trama con formato incorrecto)

71

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Tramas I, S y U

Campo de control
El subcampo P/F se usa para dos propsitos distintos:
Cuando est activo significa sondeo o final:
Sondeo cuando la trama la enva la estacin primaria a una

estacin secundaria (orden)


Final cuando la enva una estacin secundaria a la estacin
primaria (respuesta)
Mecanismo de punteo (checkpointing):
Permite asociar una respuesta (F) con la orden
correspondiente (P)

72

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Utilizacin de las tramas S

Una trama S se utiliza para asentir, positiva o negativamente,


cuando no se tienen datos que transmitir (control de flujo y
recuperacin de errores)
Su significado depende del subcampo Code y del contexto:
RR tiene 4 posibles usos:

ACK: asiente tramas hasta N(R) 1 sin piggybacking


Sondeo: trama RR de primaria a secundaria con el bit P activo
Respuesta negativa al sondeo: trama RR de secundaria a primaria con
el bit F activo (si tuviera algo que transmitir enviara una trama I, y no
una S)
Respuesta positiva a la seleccin: trama RR de secundaria a primaria
con el bit F activo

RNR tiene 3 posibles usos:

ACK: asiente tramas hasta N(R) 1 y solicita que no se enven ms


hasta que enve un RR
Seleccin: trama RNR de primaria a secundaria con el bit P activo
Respuesta negativa a la seleccin: trama RNR de secundaria a
primaria con el bit F activo

REJ: rechazo de la trama N(R) y subsiguientes


SREJ: rechazo selectivo de la trama N(R)

73

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

Sondeo
(RR,REJ,SREJ o trama I, mas P = 1)

Respuesta positiva
al sondeo

Respuesta negativa
al sondeo

Seleccin

Posible respuesta
positiva a la seleccin

Respuesta negativa
a la seleccin

74

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Clases de procedimiento

Especificacin precisa de las diferentes alternativas

ofrecidas por HDLC


Modo de operacin (repertorio bsico de rdenes y
respuestas) con opciones
UN
Orden
I
RR
RNR

Respuesta
I
RR
RNR
UA
SNRM
DM
DISC
FRMR
Mdulo 8

UA
Orden
I
RR
RNR

Respuesta
I
RR
RNR
UA
SARM
DM
DISC
FRMR
Mdulo 8

BA
Orden
I
RR
RNR

Respuesta
I
RR
RNR
UA
SABM
DM
DISC
FRMR
Mdulo 8
75

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Clases de procedimiento

Opciones
Opcin
2
3
4
7
8
9
10

Orden

Respuesta

REJ
REJ
SREJ
SREJ
UI
UI
Campo direccin extendido
Quitar I
Quitar I
Campo control extendido

Descripcin
Rechazo simple (vuelta atrs N)
Rechazo selectivo
Informacin no numerada
Direcciones multiocteto
Sin respuestas I (el bit F no puede estar activo)
Sin rdenes I (el bit P no puede estar activo)
Mdulo 128

Ejemplos

UN 2,4 equivale a modo NRM con rechazo vuelta atrs N y tramas

no numeradas
UA 2,9 equivale a modo ARM con rechazo vuelta atrs N y sin
tramas I con bit P activo
BA 3,8 equivale a modo ABM con rechazo selectivo y sin tramas I
con bit F activo
76

Tema 4
Funciones y protocolos del nivel de enlace

P
 UN 3,4 (sin errores)
t0/1/2: conexin A/B/C y
envo informacin no
numerada
t3: sondeo A
t4: sondeo B con envo de
una trama de datos que
enva, a su vez, tres
tramas de datos
t5: envo de cinco tramas
de datos a A
t6: P agota su ventana y
selecciona a A para poder
seguir enviando tramas
t7: sondeo C
t8: P solicita confirmacin
de tramas pendientes a A
t9: P confirma tramas
pendientes de B
t10/11/12: desconexin
A/B/C

3.1 Protocolo HDLC


A

t0

A,SNRM,P
A,UA,F
B,SNRM,P
B,UA,F

t1

C,SNRM,P
C,UA,F
G,UI

t2

t3

A,RR,0,P
A,RR,0,F

t4

t5

t6

B,I,0,0,P
B,I,0,1,*
B,I,1,1,*
B,I,2,1,F
A,I,0,0,*
A,I,1,0,*
A,I,2,0,*
A,I,3,0,*
A,RNR,0,P
A,RR,4,F
A,I,4,0,*
C,RR,0,P
C,RR,0,F

t7
t8

A,RNR,0,P
A,RR,5,F
B,RNR,3,P
B,RR,1,F

t9
t10
t11
t12

A,DISC,P
A,UA,F
B,DISC,P
B,UA,F
C,DISC,P
C,UA,F

77

Tema 4
Funciones y protocolos del nivel de enlace

P
 UN 2,4 (con errores)
t0/1/2: conexin A/B/C
t3: sondeo A con envo de
una trama de datos que se
pierde
t4: expira el timeout y P
intenta averiguar el estado
de A
t5: P recibe una trama
ACK 1 y reenva la trama
de datos perdida en t6
t7: sondeo B que enva
dos tramas de datos
t8: la trama se pierde
t9: sondeo C
t10: sondeo A
t11: sondeo B, indicando
la recepcin previa de una
trama fuera de secuencia,
que reenva la trama
perdida y subsiguientes
t12: P confirma tramas
pendientes de B
t13/14/15: desconexin
A/B/C

3.1 Protocolo HDLC


A

t0

A,SNRM,P
A,UA,F
B,SNRM,P
B,UA,F

t1

C,SNRM,P
C,UA,F

t2

t3
t4
t5
t6

A,I,0,0,*
A,I,1,0,P
timeout
A,RNR,0,P
A,RR,1,F
A,I,1,0,P
A,RR,2,F
B,RR,0,P
B,I,0,0,*
B,I,1,0,F
C,RR,0,P
C,RR,0,F

t7
t8
t9
t10

A,RR,0,P
A,RR,2,F

t11

B,REJ,0,P
B,I,0,0,*
B,I,1,0,F
B,RNR,2,P
B,RR,0,F

t12
t13
t14
t15

A,DISC,P
A,UA,F
B,DISC,P
B,UA,F
C,DISC,P
C,UA,F

78

Tema 4
Funciones y protocolos del nivel de enlace

P
 UN 2,4 (con errores)
t0/1/2: conexin A/B/C
t3: sondeo A con envo de
una trama de datos que
llega a B errnea
t4: expira el timeout y P
intenta averiguar el estado
de A
t5: P recibe una trama
NAK 1 y reenva la trama
de datos errnea en t6
t7: sondeo B que enva
dos tramas de datos
t8: la trama se pierde
t9: sondeo C
t10: sondeo A
t11: sondeo B, indicando
la recepcin previa de una
trama fuera de secuencia,
que reenva la trama
perdida y subsiguientes
t12: P confirma tramas
pendientes de B
t13/14/15: desconexin
A/B/C

3.1 Protocolo HDLC


A

t0

A,SNRM,P
A,UA,F
B,SNRM,P
B,UA,F

t1

C,SNRM,P
C,UA,F

t2

t3
t4
t5
t6

A,I,0,0,*
A,I,1,0,P
timeout
A,RNR,0,P
A,REJ,1,F
A,I,1,0,P
A,RR,2,F

t7
t8

B,RR,0,P
B,I,0,0,*
B,I,1,0,F
C,RR,0,P
C,RR,0,F

t9
t10

A,RR,0,P
A,RR,2,F

t11

B,REJ,0,P
B,I,0,0,*
B,I,1,0,F
B,RNR,2,P
B,RR,0,F

t12
t13
t14
t15

A,DISC,P
A,UA,F
B,DISC,P
B,UA,F
C,DISC,P
C,UA,F

79

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 BA 3,8 (con errores)


t0: conexin A/B
t18: B desea saber el estado de A e
inicia un ciclo de punteo que
tambin detecta la trama perdida
pero ms tarde que con el rechazo
explcito
t20: A recibe una trama fuera de
secuencia y enva una trama NAK 3
t25: A desea terminar el enlace y se
asegura de que no haya tramas en
trnsito
t29: desconexin A/B
 Con enlaces full-dplex no se puede
usar el nmero de trama esperada para
detectar errores, por qu?

t0
t1

B,SABM,P

B,UA,F

t2
t3

t5
B,I,0,0,P
t7

t7

A,I,0,0,P
t9
B,RR,1,F
t10
A,I,1,1,*
t12
A,I,2,1,*
t14
A,I,3,1,*
t16
A,I,4,2,*
t18
A,I,5,2,P
t20

B,I,1,0,*

A,RR,2,F

t14
t15

t18
B,I,2,3,*
t20
B,SREJ,3,*
t21
A,RR,3,F
t23

t22
A,I,3,3,*
t24

t25
B,RNR,6,P
t26
t27
B,RR,3,F
t28
t29
t30

B,DISC,P

B,UA,F

t31
t32

80

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Interfaz del protocolo

Servicio orientado a la conexin (con asentimiento)

81

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 Interfaz del protocolo

82

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 PROBLEMA 7 (Examen de Febrero de 2005).


Dos mquinas A y B se comunican sobre un enlace full-dplex mediante un
protocolo de nivel de enlace derivado de HDLC del tipo BA 3 (repertorio bsico +
rechazo selectivo con SREJ + numeracin mdulo 8), con las siguientes
rdenes: SABM, DISC, I, RR, RNR; y respuestas: UA, DM, FRMR, I, RR, RNR.
El tiempo de transmisin es de 2 ms para cada trama de informacin y de 1 ms
para el resto. El tiempo de propagacin es de 2 ms. El tiempo de procesamiento
puede despreciarse. El contenido de cada trama debe especificarse mediante la
siguiente nomenclatura: [DIRECCIN, COMANDO/RESPUESTAS, N(S), N(R),
P/F]. Si algn campo no es aplicable, sustityalo por un asterisco.

Dibuje un esquema detallado indicando las tramas que intercambian A y B si en t0 A


inicia la transmisin de la trama de establecimiento de conexin.
Dibuje un esquema detallado indicando las tramas que intercambian A y B,
suponiendo que en t8 A comienza a transmitir 5 tramas de datos, que la segunda
trama de datos que enva A se pierde, que en t9 B comienza a transmitir 2 tramas de
datos, y que la segunda trama de datos que enva B llega a A errnea, hasta que
todas las tramas de informacin son confirmadas.

Notas: Describa brevemente el significado de cada una de las instrucciones y


respuestas que utilice. El bit P se activar slo en las tramas de informacin
cuando la estacin no pueda enviar ms tramas de informacin. La confirmacin
de tramas se realizar mediante piggybacking, es decir, slo se enviarn tramas
RR como respuesta a un ciclo P/F cuando la estacin no pueda enviar ms
tramas de informacin.

83

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo HDLC

 PROBLEMA 7 (Examen de Febrero de 2005)

t0
t1

BA 3 (con errores)

t0: conexin A/B


t8: A comienza a transmitir
t9: B comienza a transmitir
t14: A no puede enviar ms tramas de
informacin e inicia un ciclo de punteo
t15: A recibe una trama errnea y enva una
trama NAK 1 en t16
t16: B recibe una trama fuera de secuencia y
enva una trama NAK 1
t18: B cierra el ciclo de punteo con una trama
ACK 1
t19: A recibe una trama NAK 1 y reenva la
trama errnea
t19: B recibe una trama NAK 1 y reenva la
trama errnea iniciando un ciclo de punteo
t21: A enva la ltima trama de datos iniciando
un ciclo de punteo
t23: A cierra el ciclo de punteo con una trama
ACK 2
t25: B cierra el ciclo de punteo con una trama
ACK 5

B,SAB

M,P

t3
t4
B,UA,F

t6
t8
t9

B,I,0,0,*
t10

A,I,0,0,*
t11

B,I,1,0,*
t12

A,I,1,0,P
t13

B,I,2,0,*
t14
B,I,3,1,P
A,SREJ,1,*

t16
t17
t19

t16
t17
t18
t19

t21

t21

B,I,1,1,*

B,SREJ,1,*
B,RR,1,F
A,I,1,1,P

B,I,4,1,P
A,RR,2,F

t23
t24
t25
t26

B,RR,5,F

t28

84

Tema 4
Funciones y protocolos del nivel de enlace

ndice

1. Introduccin
2. Funciones del nivel de enlace ([TAN03] Captulo 3.1)
3. Protocolos del nivel de enlace
3.1 Protocolo HDLC ([FOR07] Captulo 11.6)
3.2 Protocolo PPP ([FOR07] Captulo 11.7)

85

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Necesidad de protocolos de nivel de enlace para comunicacin


full-dplex sobre enlaces punto a punto

PPP sobre medio fsico (mdems)


PPP sobre ATM (router ADSL)
PPP sobre Ethernet (interconexin de routers)

 PPP (Point-to-Point Protocol) soporta:

Diferentes protocolos de autenticacin


Mltiples protocolos del nivel de red de manera simultnea
Asignacin dinmica de direcciones de red
Deteccin de errores (tramas PPP errneas)
Deteccin de fallos en el enlace y notificacin al nivel de red

 PPP no soporta ni control de flujo ni enlaces multipunto

86

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Diagrama de estados

87

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Estados

Inactivo (Idle): el enlace no est siendo usado


Establecimiento del enlace (Establishing)
Negociacin de opciones del protocolo de enlace
mediante el protocolo de control del enlace LCP

Autenticacin (Authenticating)
Verificacin de la identidad del usuario
PAP
CHAP

Red (Networking)
Negociacin de opciones del protocolo de red
mediante el protocolo de gestin de red NCP
Transmisin de datos (paquetes del nivel de red)

Terminacin del enlace (Terminating)

88

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Formato de la trama

Monoformato con campos de significado posicional


Delimitador de inicio/fin de HDLC (0111110) con relleno de
caracteres (carcter ESC 01111101)
Direccin: fijo (11111111), es decir, no hay direcciones
Control: fijo (UI), es decir, transmisin no fiable
Protocolo: identifica el tipo de paquete del campo de datos

Protocolo del nivel de red (IP, IPX, AppleTalk,) o protocolo de


gestin de otro protocolo (LCP, NCP,)

Informacin
FCS (Frame Check Sequence) de HDLC

89

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Protocolo LCP (Link Control Protocol)

Las paquetes LCP van encapsulados dentro de las


tramas PPP (Protocol: C02116)

Establecimiento, configuracin y terminacin del enlace


Monitorizacin del estado del enlace

Formato de los paquetes LCP


Cdigo: tipo de paquete LCP
ID: correspondencia entre peticiones y respuestas
Longitud: tamao total del paquete LCP

90

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Protocolo LCP (Link Control Protocol)


Cdigo
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B

Tipo de paquete
Peticin de configuracin
ACK de configuracin
NAK de configuracin
NAK de configuracin
Peticin de terminacin
ACK de terminacin
Rechazo de cdigo
Rechazo de protocolo
Peticin de eco
Respuesta de eco
Peticin de descarte

Descripcin
Lista de opciones de configuracin
Acepta las opciones propuestas
Algunas opciones no son aceptables
Algunas opciones no son reconocidas
Solicita la terminacin del enlace
Acepta la terminacin del enlace
Cdigo desconocido
Protocolo desconocido
Intercambio de paquetes (comprobacin del enlace)
Peticin para descartar el paquete (comprobacin local)

Opcin ms comunes
Tamao mximo del paquete
Protocolo de autenticacin
Compresin del campo de protocolo
Compresin del campo de control/direccin

Valor por defecto


1500 bytes
Ninguno
Desactivado
Desactivado

91

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Autenticacin

PAP (Password Authentication Protocol)

92

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Autenticacin

CHAP (CHallenge Authentication Protocol)

93

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Protocolo NCP (Network Control Protocol)

Conjunto de protocolos que permiten negociar opciones


para diferentes protocolos del nivel de red

Protocolo de control protocolo entre redes (IPCP, Internetwork


Protocol Control Protocol)

Gestin de direcciones IP dinmicas, tamao mximo del


paquete, compresin de los datos,

La trama IPCP va encapsulada dentro de la trama PPP


(Protocol: 802116)
Formato de los paquetes IPCP:

94

Tema 4
Funciones y protocolos del nivel de enlace

3.1 Protocolo PPP

 Ejemplo

LCP
CHAP
IPCP
IP sobre PPP
(002116)

95

Tema 4
Funciones y protocolos del nivel de enlace

Resumen

 Sincronizacin de trama:

Delimitadores de principio/fin de trama


Transparencia mediante relleno de caracteres/bits
 Coordinacin de la comunicacin:

Centralizada (seleccin y sondeo)


Por contienda
 Deteccin de errores: CRC
 Control de flujo y recuperacin de errores:

Parada y espera con ARQ (Automatic Repeat reQuest)


Ventana deslizante con ARQ
Vuelta atrs N (go-back-n)
Rechazo selectivo (selective reject)
96

Tema 4
Funciones y protocolos del nivel de enlace

Resumen

 HDLC

Tipos de estaciones: primarias, secundarias y

combinadas
Configuracin del enlace: punto a punto y multipunto
Modos de operacin: NRM, ARM y ABM
Tramas monoformato: tramas I, tramas S y tramas U
Clases de procedimiento: subclases de HDLC
Interfaz del protocolo

 PPP

Tramas monoformato
Diagrama de estados
Autenticacin: PAP y CHAP
Protocolos LCP y NCP
97

También podría gustarte