Sunteți pe pagina 1din 137

Transmisin de datos y redes de comunicaciones

4 edicin

Captulo 11
Control de enlace de datos

11.1

Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Nivel de enlace de datos


Dos funciones principales: Control de enlace de datos Procedimientos para comunicar dos nodos adyacentes (comunicacin nodo a nodo) Control de acceso al medio Cmo compartir el enlace Temas a tratar en este captulo:
- Creacin de tramas - Control de flujo y errores - Protocolos
11.2

11-1 CREACIN DE TRAMAS

La transmisin de datos en el nivel fsico significa mover los bits en forma de seal de un origen a un destino. El nivel fsico adems proporciona sincronizacin a nivel de bit para asegurar que el emisor y el receptor usen la misma duracin de bit y temporizacin.

11.3

11-1 CREACIN DE TRAMAS

El nivel de enlace de datos necesita empaquetar los bits en tramas (como una carta). El mensaje entero no se empaqueta en una sola trama, debido a que esto hara el control de flujo y de errores ineficiente. Temas a tratar en esta seccin:
Tramas de tamao fijo (tamao es el delimitador: ATM) Tramas de tamao variable (comn en LAN) - Aproximacin orientada a carcter - Aproximacin orientada a bit
11.4

TRAMAS DE TAMAO VARIABLE

Con tramas de tamao variable es necesario definir el final de una trama y el principio de la siguiente. Histricamente se han usado dos aproximaciones para conseguir este objetivo: Aproximacin orientada a carcter Aproximacin orientada a bit.

11.5

Figura 11.1 Una trama en un protocolo orientado a carcter

Datos del nivel superior Nmero variable de caracteres

Cabecera

Cola

Los datos a transportar son caracteres de 8 bits (ASCII). La cabecera y la cola son mltiplos de 8 bits. El flag (caracter no usado en el texto) indica el inicio y el final de una trama.
11.6

Nota

La transparencia a nivel de byte es el proceso de aadir un byte extra cada vez que hay un carcter de flag o un escape en el texto.

11.7

Figura 11.2 Adiccin y borrado de bytes de transparencia

Cualquier patrn usado como flag podra ser parte de los datos. Para resolver el problema se usa transparencia a nivel de byte (byte stuffing)
11.8

Figura 11.3 Una trama de un protocolo orientado a bits

Datos del nivel superior Nmero variable de bits

Cabecera

Cola

Se emplea el flag 01111110 como delimitador. Para resolver el problema de la presencia de flags dentro de los datos se realiza relleno de bits (bit stuffing)

11.9

Nota

La transparencia de bit es el proceso de aadir un 0 extra siempre que aparecen cinco unos consecutivos despus de un 0 en los datos, de forma que el receptor no confunda el patrn 01111110 con un flag.

11.10

Figura 11.4 Mecanismo de transparencia de bit

11.11

11-2 CONTROL DE FLUJO Y ERROR

Las responsabilidades ms importantes del nivel de enlace son: el control de flujo y el control de errores. Colectivamente estas funciones se conocen como control del enlace de datos. Temas a tratar en esta seccin:
- Control de flujo - Control de error

11.12

Nota

El control de flujo define un conjunto de procedimientos usados para restringir la cantidad de datos que el emisor puede enviar antes de esperar una confirmacin.

11.13

Nota

El control de error en el nivel del enlace se basa en una peticin de repeticin automtica (ARQ), que es la retransmisin de los datos.
Control de error: Deteccin ms correccin
11.14

11-3 PROTOCOLOS
La capa de enlace de datos combina el entramado, el control de flujo y el control de error haciendo uso de protocolos. Los protocolos se implementan normalmente en software usando algn lenguaje de programacin. Para conseguir que esta exposicin sea independiente del lenguaje, se ha escrito en pseudocdigo una versin de cada protocolo, que se concentra principalmente en el procedimiento en lugar de preocuparse por los detalles del lenguaje.
11.15

11-3 PROTOCOLOS
Por sencillez, los protocolos tratados son unidireccionales. Los datos viajan de un nodo emisor a uno receptor. Tramas especiales para el control de flujo y de errores llamadas ACK y NAK fluyen en direccin opuesta. ACK: Acuse de recibo NAK: Acuse de recibo negativo En las redes de la vida real, los protocolos son bidireccionales. Los ACK y NAK se incluyen dentro de las tramas de datos (superposicin de confirmaciones: piggybacking).
11.16

Figura 11.5 Taxonoma de protocolos tratada en este captulo

Protocolos Protocolos

Para canales Para canales sin ruido sin ruido Simplest Parada y espera

Para canales ruidosos


ARQ con parada y espera ARQ con vuelta atrs ARQ con repeticin selectiva

11.17

11-4 CANALES SIN RUIDO


Asumamos primero que tenemos un canal ideal en el que no se pierden tramas ni se duplican ni se corrompen. Trataremos dos protocolos sin control de errores para este tipo de canal.

Temas a tratar en esta seccin:


Protocolo Simplest (Sin control de flujo) Protocolo con parada y espera (Con control de flujo)

11.18

PROTOCOLO SIMPLEST

Las tramas de datos viajan solo del emisor al receptor (protocolo unidireccional). Se asume que el receptor puede gestionar inmediatamente cualquier trama que reciba. El nivel de enlace del receptor quita la cabecera de la trama y enva los datos al nivel de red, el cual tambin puede aceptar el paquete inmediatamente. El receptor nunca puede ser desbordado por las tramas entrantes.
11.19

Figura 11.6 El diseo de un protocolo muy sencillo sin control de flujo o error

El nivel de enlace usa los servicios proporcionados por el nivel fsico (sealizacin, multiplexacin, etc.) para la transmisin de los bits.

11.20

Algoritmo 11.1 Algoritmo del emisor para el protocolo ms sencillo

11.21

Algoritmo 11.2 Algoritmo del receptor para el protocolo ms sencillo

11.22

Ejemplo 11.1
La Figura 11.7 muestra un ejemplo de comunicacin usando este protocolo. Es muy sencillo. El emisor enva una secuencia de tramas sin pensar en el receptor. Para enviar tres tramas, ocurren tres eventos en el emisor y tres en el receptor. Observe que las tramas de datos se muestran tramadas; la altura de la caja define la diferencia entre el tiempo de transmisin del primer bit y el del ltimo bit de la trama.

11.23

Figura 11.7 Diagrama de flujo para el ejemplo 11.1

Emisor

Recepto r

Peticin Llegada Peticin Llegada

Peticin
Llegada

Tiempo

Tiempo

11.24

PROTOCOLO CON PARADA Y ESPERA

Si las tramas llegan al receptor ms rpido de lo que pueden ser procesadas, deben ser almacenadas hasta que se usen. Si no se tiene suficiente espacio de almacenamiento, podra suceder que se descarten tramas o se denegara el servicio. Se requiere por tanto una realimentacin del receptor al emisor para controlar el flujo. El emisor enva una trama y se para hasta que recibe confirmacin del receptor. Luego enva la siguiente.
11.25

Figura 11.8 El diseo de un protocolo con parada y espera

Todava se tiene comunicacin unidireccional para las tramas de datos, pero las tramas ACK viajan en la otra direccin

11.26

Algoritmo 11.3 Algoritmo del emisor para el protocolo parada y espera

11.27

Algoritmo 11.4 Algoritmo del receptor para el protocolo con parada y espera

11.28

Ejemplo 11.2

La Figura 11.9 muestra un ejemplo de comunicacin usando este protocolo. Sigue siendo muy sencillo. El emisor enva una trama y espera la respuesta del receptor. Cuando llega un ACK, el emisor enva la trama siguiente. Observe que enviar dos tramas en el protocolo genera cuatro eventos para el emisor y dos eventos para receptor.

11.29

Figura 11.9 Diagrama de flujo para el Ejemplo 11.2


Emisor Receptor

Peticin Llegada

Llegada

Peticin Llegada

Llegada

Tiempo

Tiempo

11.30

11-5 CANALES CON RUIDO


Aunque el protocolo con parada y espera nos da una idea de cmo aadir control de flujo a su predecesor, los canales sin ruido no existen. Se puede ignorar el error (como se hace a veces) o puede ser necesario aadir control de errores a nuestro protocolo. En esta seccin se tratan tres protocolos que usan control de error. Temas a tratar en esta seccin
Peticin de repeticin automtica (ARQ) con parada y espera Peticin de repeticin automtica con vuelta atrs N Peticin de repeticin automtica con repeticin selectiva
11.31

PROTOCOLO ARQ CON PARADA Y ESPERA

Para detectar y corregir las tramas corruptas, es necesario aadir bits de redundancia. Si la trama llega corrupta al receptor, se descarta en silencio (forma de manejar los errores). La trama recibida podra ser: la correcta, una duplicada, o una fuera de orden. La solucin es numerar las tramas. Una trama fuera de orden significa trama perdida o duplicada.
11.32

PROTOCOLO ARQ CON PARADA Y ESPERA


Las tramas perdidas o con error deben ser reenviadas. El emisor mantiene una copia de la trama enviada y utiliza un temporizador. Si el temporizador expira sin que se haya recibido un ACK para la trama enviada, se reenva la trama, se mantiene la copia y se arranca el temporizador de nuevo. Puesto que la trama ACK puede daarse o perderse, tambin necesita bits de redundancia y un nmero de secuencia.
11.33

Nota

La correccin de errores en ARQ con parada y espera (Stop-and-wait ARQ) se hace manteniendo una copia de la trama enviada y retransmitiendo la trama cuando expira el temporizador.

11.34

Nota

En ARQ con parada y espera se usan los nmeros de secuencia para numerar las tramas. Los nmeros de secuencia se basan en aritmtica mdulo 2.

11.35

Nota

En ARQ con parada y espera el nmero de confirmacin siempre anuncia el nmero de secuencia de la siguiente trama esperada en aritmtica mdulo 2.

11.36

Figura 11.10 Diseo del protocolo ARQ con parada y espera.

11.37

Algoritmo 11.5

Algoritmo del emisor para el protocolo ARQ con parada y espera

11.38

Algoritmo 11.6 Algoritmo del receptor para el protocolo ARQ con parada y espera

11.39

Ejemplo 11.3
La Figura 11.11 muestra un ejemplo de ARQ con parada y espera. Se enva la trama 0 y se recibe confirmacin. La trama uno se pierde y se reenva despus del temporizador. La trama uno reenviada se confirma y se para el temporizador. La trama 0 se enva y es confirmada, pero se pierde la confirmacin. El emisor no tiene idea de si se ha perdido la trama con la confirmacin, por ello despus del temporizador reenva la trama 0, que es confirmada.

11.40

Figure 11.11 Flow diagram for Example 11.3

11.41

Ejemplo 11.4
Asuma que, en un sistema ARQ con parada y espera, el ancho de banda de la lnea es 1 Mbps y que un bit necesita 20 ms para ida y vuelta. Cul es el producto ancho de banda-retardo? Si las tramas de datos del sistema tienen una longitud de 1000 bits cul es el porcentaje de utilizacin del enlace? Solucin El producto ancho de banda-retardo es

11.42

Ejemplo 11.4 (continuacin)


El sistema puede enviar 20.000 bits durante el tiempo que cuesta a los datos ir del emisor al receptor y volver de nuevo. Sin embargo, el sistema enva slo 1000 bits. Se puede decir que el uso del enlace es nicamente 1000/20.000 o un 5%. Por esa razn, para un enlace con un gran ancho de banda o un retardo muy grande, el protocolo ARQ con parada y espera desperdicia la capacidad del enlace.

11.43

Ejemplo 11.5
Cul es el porcentaje de utilizacin del enlace del Ejemplo 11.4 si tenemos un protocolo que pueda enviar hasta 15 tramas antes de parar y preguntar por las confirmaciones? (pipelining) Solucin El producto ancho de banda-retardo sigue siendo 20.000 bits. El sistema puede enviar hasta 15 tramas, o 15.000 bits, durante un viaje de idea y vuelta. Esto significa que la utilizacin es 15.000/20.000 o un 75%. Por supuesto, si hay tramas daadas el porcentaje de utilizacin es mucho menor porque es necesario reenviar tramas.
11.44

PROTOCOLO ARQ CON VUELTA ATRS N


En este protocolo se puede enviar varias tramas antes de recibir confirmaciones. Se mantiene una copia de estas tramas hasta que lleguen las conformaciones. Nmero de secuencia Las tramas se numeran secuencialmente. El nmero mximo de esta numeracin depende del tamao en bits del campo de secuencia (m). Los nmeros de secuencia varan entre 0 y 2m 1 y luego se repiten.
11.45

Nota

En el protocolo vuelta atrs N, los nmeros de secuencia son mdulo 2m, donde m es el tamao del campo de nmero de secuencia en bits.

11.46

VENTANA DESLIZANTE

Concepto abstracto que define el rango de nmeros de secuencia que usan el emisor y el receptor. Corresponde al nmero mximo de tramas que puede enviar el emisor antes de recibir confirmacin. El tamao mximo de la ventana es 2m -1. Algunos protocolos pueden tener una ventana de tamao variable.

11.47

Figura 11.12 Ventana de envo para ARQ con vuelta atrs N

Se puede confirmar ms de una trama con un solo ACK

11.48

Nota

La ventana de envo es un concepto abstracto que define una caja imaginaria de tamao 2m - 1 con tres variables: Sf, Sn y Ssize.

11.49

Nota

La ventana de envo puede deslizarse una o ms entradas cuando llega una confirmacin vlida

11.50

Figura 11.13 Ventana de recepcin para ARQ con vuelta atrs N

Ventana de recepcin, siguiente trama esperada

Tramas ya recibidas y confirmadas a. Ventana de recepcin

Tramas que no pueden recibirse hasta que la ventana deslice

b. Ventana de recepcin despus de desplazar

Cualquier trama que llegue fuera de orden se descarta en silencio y debe ser reenviada.

11.51

Nota

La ventana de recepcin es un concepto abstracto que define una caja imaginaria de tamao 1 con una nica variable Rn. La ventana desliza cuando llega una trama correcta; el desplazamiento slo se produce en una entrada cada vez.

11.52

Figura 11.14 Diseo de ARQ con vuelta atrs N

11.53

ARQ CON VUELTA ATRS N


Temporizador. Solo se emplea para la primera trama pendiente de confirmar.
Confirmacin. El receptor enva una confirmacin positiva si la trama llega bien y en orden. Si est daada o fuera de orden, guarda silencio. Cuando el temporizador expira, el emisor vuelve atrs y reenva desde la ltima trama sin confirmar.
11.54

Figura 11.15 Tamao de ventana para ARQ con vuelta atrs N

11.55

Nota

En ARQ con vuelta atrs N el tamao de la ventana de envo debe ser menor que 2m; el tamao de la ventana del receptor es siempre 1.

11.56

Algoritmo 11.7 Algoritmo del emisor para el protocolo ARQ con vuelta atrs N

/ / tamao de la ventana SW

<

11.57

Algoritmo 11.7 Algoritmo del emisor para el protocolo ARQ con vuelta atrs N

Sf

(Temp); (Temp = Temp + 1);

11.58

Algoritmo 11.7 Algoritmo del receptor para el protocolo ARQ con vuelta atrs N

11.59

Ejemplo 11.6
La Figura 11.16 muestra un ejemplo de un vuelta atrs N. Este es un ejemplo de un caso en el que el canal hacia adelante es fiable, pero el inverso no. No se pierden tramas de datos, pero algunos ACK se retrasan y uno se pierde. El ejemplo tambin muestra cmo las confirmaciones acumuladas pueden ayudar si las confirmaciones se retrasan o se pierden.

11.60

Figura 11.16 Diagrama de flujo del ejemplo 11.6

11.61

Ejemplo 11.7
La Figura 11.17 muestra lo que pasa cuando se pierde una trama. Las tramas 0, 1, 2 y 3 son enviadas; sin embargo, la trama 1 se pierde. El receptor recibe las tramas 2 y 3, pero se descartan porque se reciben fuera de orden (se espera la trama 1). El emisor no recibe confirmacin sobre las tramas 1, 2 o 3. Finalmente expira su temporizador. El emisor enva todas las tramas pendientes (1, 2 y 3) porque no sabe lo que ha ido mal. Observe que reenviar las tramas 1, 2 y 3 es la respuesta a un nico evento. Cuando el emisor responde este evento, no puede aceptar el disparo de otros eventos. Esto significa que cuando ACK 2 llega, el emisor est todava ocupado enviando la trama 3.
11.62

Ejemplo 11.7 (continuacin)


El nivel fsico debe esperar hasta que este evento termine y el nivel de enlace vuelva atrs a su estado dormido. se muestra una lnea vertical que indica el retraso. Ocurre lo mismo con ACK 3; pero cuando llega ACK 3, el emisor est ocupado respondiendo a ACK 2. Esto pasa de nuevo cuando llega ACK 4. Observe que antes de que expire el segundo temporizador, todas las tramas pendientes sern enviadas y se para el temporizador.
11.63

Figura 11.17 Diagrama de flujo para el Ejemplo 11.7

11.64

Nota

ARQ con parada y espera es un caso especial de ARQ con vuelta atrs N, en el que el tamao de la ventana de envo es 1.

11.65

Figura 11.18 Ventana de envo para ARQ con repeticin selectiva

Ventana de envo, primera trama pendiente

Ventana de envo, trama siguiente a enviar

Tramas ya confirmadas

Tramas enviadas, pero no confirmadas

Tramas que se pueden enviar

Tramas que no se pueden enviar

11.66

Figura 11.19 Ventana de recepcin para ARQ con repeticin selectiva

Ventanas de recepcin, siguiente trama que se espera

Tramas ya recibidas

Tramas que pueden ser recibidas y almacenadas para entrega posterior. Las cajas tramadas ya se han recibido

Tramas que no pueden ser recibidas

11.67

Figura 11.20 Diseo de ARQ con repeticin selectiva

11.68

Figura 11.21 ARQ, con repeticin selectiva, tamao de la ventana

11.69

Nota

En ARQ con repeticin selectiva, el tamao de las ventanas del emisor y del receptor deben ser como mximo la mitad de 2m.

11.70

Algoritmo 11.9 Algoritmo del emisor en repeticin selectiva

IniciarTemporizador (Sn); Sn = Sn + 1;

11.71

Algoritmo 11.9 Algoritmo del emisor en repeticin selectiva (continuacin)

ackNo entre

11.72

Algoritmo 11.9 Algoritmo del emisor en repeticin selectiva (continuacin)

11.73

Algoritmo 11.10 Algoritmo del receptor con repeticin selectiva

11.74

Algoritmo 11.10 Algoritmo del receptor con repeticin selectiva (continuacin)

11.75

Algoritmo 11.10 Algoritmo del receptor con repeticin selectiva (continuacin)

11.76

Figura 11.22 Entrega de datos con ARQ con repeticin selectiva

a. Antes de entregar

b. Despus de la entrega

11.77

Figura 11.23 Diagrama de flujo para el ejemplo 11.8

11.78

Figura 11.24 Diseo del piggybacking en ARQ con vuela atrs N

11.79

11-6 HDLC
Control de enlace de datos de alto nivel (HDLC Highlevel Data Link Control ) es un protocolo orientado a bit sobre enlaces punto a punto y multipunto. Implementa los mecanismos ARQ tratados en este captulo. Temas a tratar en esta seccin:
Configuracin y modos de comunicacin Tramas Campos de control
11.80

Configuracin y modos de comunicacin

HDLC proporciona dos modos de comunicacin: Modo de respuesta normal (NRM) Configuracin desbalanceada. Una estacin primaria puede enviar comandos; una estacin secundaria solo puede responder. Se usa para enlaces punto a punto y multipunto. Modo Asncrono Balanceado (ABM) Configuracin balanceada. El enlace es punto a punto y cada estacin puede funcionar como primaria o secundaria (forma habitual)
11.81

Figura 11.25 Modo de respuesta normal (NRM)


Primaria Comando Secundaria

Respuesta

a. Punto a punto
Secundaria Primaria Comando Secundaria

Respuesta

Respuesta

b. Multipunto

Configuracin desbalanceada

11.82

Figura 11.26 Modo balanceado asncrono (ABM)

Combinada

Combinada

Comando/respuesta
Comando/respuesta

Enlace punto a punto

11.83

Tipos de tramas

Tramas I Transportan datos de usuario e informacin de control relacionada con datos de usuario. Tramas S Transportan informacin de control relacionada con flujo de datos del nivel de Enlace y con el control de errores. Tramas U Se usan para gestin del sistema (para gestionar el propio enlace)
11.84

Figura 11.27 Tramas de HDLC

Trama de informacin

Trama de supervisin

Trama no numerada

Formato de trama
11.85

Campos de la trama
Banderas de inicio y final (flags) Secuencia de 8 bits (01111110), que identifica tanto el inicio como el final de una trama. Direccin Direccin de la estacin secundaria que es origen o destino de la trama. Este campo puede tener uno o varios bytes de longitud. Todos estos bytes, excepto el ltimo terminan en 0. Control Segmento de uno o 2 bytes en una trama que se usa para control de flujo y de errores.
11.86

Campos de la trama

Campo de informacin Contiene los datos de usuario procedentes del nivel de red o informacin de gestin. Su longitud vara de una red a otra. Secuencia de comprobacin de trama FCS (Frame Check Secuence) Campo empleado para la deteccin de errores. Puede contener un CRC de 2 o 4 bytes (UIT-T)

11.87

Figura 11.28 Formato del campo de control para los distintos tipos de tramas

Trama I
Transportan datos desde el nivel de red

Trama S Cdigo Cdigo


Control de flujo y errores cuando el piggybacking no es posible o apropiado

Trama U Cdigo Cdigo


Intercambio de informacin de control y gestin de la sesin entre dos dispositivos conectados

11.88

Campo de control
Determina el tipo de trama y define su funcionalidad. Su formato es especfico para cada tipo de trama. Campo de control de trama I El primer bit define el tipo de trama (0: trama I). Los tres bits siguientes N(S) son el nmero de secuencia para la trama. En el formato extendido este campo es de 2 bytes. Los bits N(R) son el campo de reconocimiento cuando se usa piggybacking. El bit P/F solo es activo cuando est en 1 y significa sondeo/final.
11.89

Campo de control
El bit P/F en 1, en modo NRM indica sondeo cuando se enva del primario a secundario y final en la ltima trama de respuesta del secundario. Campo de control de trama S Las tramas S se emplean para control de flujo y errores cuando el piggybacking no es posible o no es apropiado (no hay datos para enviar o se requiere responder o enviar algo distinto a confirmacin).

11.90

Campo de control
Campo de control de trama S (cont..) Subcampos: 10: identificacin de trama S Cdigo: (2 bits) define el tipo de trama dentro de las S. RR: Listo para recibir + ACK RNR: Receptor no listo para recibir + ACK REJ: Rechazo (NAK de vuelta atrs N) SREJ: Rechazo selectivo (NAK de rep. selectiva) N(R): nmero de confirmacin (ACK) o de rechazo (NAK). Depende del tipo de trama. P/F: Sondeo/final
11.91

Campo de control
Campo de control de trama S (cont..)

Subcampo cdigo: RR (00): Listo para recibir Confirma la recepcin de una o ms tramas. N(R) define el nmero de confirmacin. RNR (10): Receptor no listo para recibir Similar a RR pero adems anuncia que el receptor est ocupado y no puede aceptar ms tramas.

11.92

Campo de control
Campo de control de trama S (cont..) Subcampo cdigo: REJ (01): Rechazo Trama NAK para ARQ con vuelta atrs N. N(R) es el nmero de confirmacin negativo. SREJ (11): Rechazo selectivo Trama NAK para ARQ con repeticin selectiva. N(R) es el nmero de confirmacin negativo.

11.93

Campo de control

Campo de control de trama U Las tramas U se usan para intercambiar informacin de control y de gestin de la sesin. La trama U contiene un campo de informacin de gestin del sistema. Pero la mayor parte de la informacin de control est contenida en el campo de control. Los cdigos se dividen en dos secciones: Prefijo: 2 bits (antes de P/F) Sufijo: 3 bits (despus de P/F)
11.94

Figura 11.28 Formato del campo de control para los distintos tipos de tramas

Trama I

Trama S Cdigo Cdigo Trama U Cdigo Cdigo

11.95

Tabla 11.1 Comandos de control de la trama U con sus respuestas

11.96

Figura 11.29 Ejemplo de conexin y desconexin

Trama U

Establecimiento de conexin

Trama U

Transferencia de datos Trama U

Liberacin de conexin

Trama U

Tiempo

Tiempo

11.97

Ejemplo 11.9
La Figura 11.29 muestra cmo se pueden usar las tramas U para el establecimiento y la liberacin de una conexin. El nodo A pide una conexin con una trama de tipo activacin de modo de respuesta asncrona balanceada (SABM); el nodo B da una respuesta positiva con una trama de reconocimiento sin numerar (UA). Despus de estos dos intercambios se pueden transferir datos entre los dos nodos. Despus de la transferencia de datos, el nodo A enva una trama DISC (desconectar) para liberar la conexin; es confirmado por el nodo B respondiendo con una trama de reconocimiento sin numerar (UA).
11.98

Figura 11.30 Ejemplo de piggybacking sin error


Trama I

(trama de datos 0)

Trama I

(trama de datos 1)

Trama I

(trama de datos 0)

Trama I

(trama de datos 1)

Trama I

(trama de datos 2)

Trama S

Tiempo

Tiempo

11.99

Ejemplo 11.10
La Figura 11.30 muestra un intercambio usando piggybacking. El nodo A comienza intercambio de informacin con una trama I numerada 0 seguida por otra trama I numerada 1. El nodo B empotra su confirmacin de ambas tramas dentro de una trama I de su propiedad. la primera trama I del nodo B tambin se numera 0 [campo N(S)] y contiene un 2 en su campo N(R), confirmando la recepcin de las tramas 1 y 0 de A e indicando que espera que la siguiente trama que llegue sea la 2.

11.100

Ejemplo 11.10 (continuacin)


El nodo B transmite su segunda y tercera tramas I (numeradas 1 y 2) antes de aceptar ms tramas del nodo A. Adems, su informacin en N(R) no ha cambiado: las tramas 1 y 2 de B indican que el nodo B est todava esperando a que llegue la trama 2 de A. El nodo A ha enviado todos sus datos. Por tanto, no puede empotrar una confirmacin en una trama I y enva una trama S en su lugar. El cdigo RR indica que A est todava listo para recibir. El nmero 3 del campo N(R) indica a B que las tramas 0, 1 y 2 han sido aceptadas y que A est esperando ahora la trama nmero 3.
11.101

Figura 11.31 Ejemplo de piggybacking con error

11.102

Ejemplo 11.11
La Figura 11.31 muestra un intercambio en el que se pierde una trama. El nodo B enva tres tramas de datos (0, 1 y 2), pero la trama 1 se pierde. Cuando el nodo A recibe la trama 2, la descarta y enva una trama REJ para la trama 1. Observe que el protocolo que se usa es vuelta atrs N con el uso especial de una trama REJ como una trama NAK. La trama NAK hace aqu dos cosas: confirma la recepcin de la trama 0 y declara que la trama 1 y cualquiera siguiente debe ser reenviada. El nodo B, despus de recibir la trama REJ, reenva las tramas 1 y 2. El nodo A confirma la recepcin enviando una trama RR (ACK) con confirmacin el nmero 3.
11.103

Figura 11.31 Ejemplo de aceleracin de la recuperacin de error con ENQ

11.104

Figura 11.31 Otros ejemplos de uso de tramas de control bits P/F

I,2,0 I,3,0

I,3,0

11.105

11-7 PROTOCOLO PUNTO A PUNTO


Aunque HDLC es un protocolo general que se puede usar tanto para configuraciones punto a punto como multipunto, uno de los protocolos ms comunes para el acceso punto a punto es PPP (Protocolo Punto a Punto). PPP es un protocolo orientado a byte. Temas a tratar en esta seccin:
Tramado Transicin de fases Multiplexacin PPP multienlace
11.106

PROTOCOLO PUNTO A PUNTO

Servicios proporcionados por PPP: 1. Define el formato de la trama que se intercambia entre dispositivos. 2. Define cmo dos dispositivos pueden negociar el establecimiento del enlace y el intercambio de datos. 3. Define cmo se encapsulan los datos de nivel de red en una trama de nivel de enlace. 4. Define como dos dispositivos se pueden autenticar entre s.
11.107

PROTOCOLO PUNTO A PUNTO

Servicios proporcionados por PPP (cont..) 5. Proporciona mltiples servicios de nivel de red y soporta una variedad de protocolos de nivel de red. 6. Proporciona conexiones sobre mltiples enlaces. 7. Proporciona configuraciones de direccin de red.

11.108

PROTOCOLO PUNTO A PUNTO


Servicios que faltan en PPP: 1. No proporciona control de flujo. 2. Usa un campo CRC para detectar errores. Si una trama est corrupta, se descarta en silencio; el protocolo de nivel superior debe cuidarse de este problema. La falta de control de error y de numeracin de secuencia puede hacer que un paquete se reciba fuera de orden. 3. No proporciona un buen mecanismo de direcciones para manejar las tramas en una configuracin multipunto.
11.109

Figura 11.32 Formato de trama PPP

Define lo que se transporta en el campo de datos broadcast

Flag

Direccin

Control

Protocolo

Carga til

FCS

Flag

Opcionales

Mximo 1500 B
(Puede negociarse) (Puede requerir relleno)

(CRC)

01111110

Protocolo orientado a byte


11.110

Nota

PPP es un protocolo orientado a byte que usa transparencia de bytes con la secuencia de escape 01111101.

11.111

Figura 11.33 Transicin de fases de una conexin PPP

LCP

LCP

AP

NCP

11.112

Transicin de fases

Muerto El enlace no se usa. No hay portadora activa. Establecer Comienza cuando uno de los dos inicia la comunicacin. Se establece el enlace y se negocian las opciones. Autenticar Opcional. Se llega a esta fase o a la de red, si la negociacin tiene xito.
11.113

Transicin de fases (cont.)

Red Tiene lugar la negociacin de los protocolos de nivel de red. PPP soporta muchos protocolos de ese nivel. Abrir Fase de transferencia de datos. Terminar Se inicia cuando uno de los extremos desea terminar. Se corta la conexin. Se limpian los buffers y se cierra el enlace.
11.114

Multiplexacin
PPP usa otro conjunto de protocolos para: - Establecer el enlace (LCP: Link Control Protocol) - Autenticar a los socios involucrados (APs: Autentication Protocols) - Configurar los protocolos de nivel de red (NCP: Nertwork Control Protocol). El paquete puede llevar datos de uno cualquiera de estos protocolos. Los datos tambin pueden venir de distintos protocolos de red.
11.115

Figura 11.34 Multiplexacin en PPP


Nivel de red Data de distintos protocolos de red

Datos

Nivel de enlace

Direccin

LCP: Protocolo de control de enlace AP: Protocolo de autenticacin NCP: Protocolo de control de red

11.116

Figura 11.35 Paquete LCP encapsulado en una trama


Relaciona una peticin con una respuesta Contiene informacin tal como las Opciones

Tipo de paquete

Paquete LCP

Cdigo ID

Longitud

Informacin

Flag Direccin

Control

0xC021

Carga til (y padding)

FCS

Flag

LCP es responsable de establecer, mantener, configurar y terminar enlaces y proporciona mecanismos de negociacin.

11.117

Tabla 11.2 Paquete LCP

Categoras
Para configuracin del enlace durante el establecimiento Para terminar el enlace Para monitoreo y depuracin del enlace

11.118

Tabla 11.3 Opciones frecuentes que se negocian entre los extremos

Las opciones se insertan en el campo de informacin de los paquetes de configuracin. El campo informacin se divide en tres subcampos: tipo de opcin, longitud de opcin y datos de la opcin.

11.119

Protocolos de Autenticacin

Son muy importantes en PPP. PPP est diseado para uso sobre enlaces de marcado donde es necesario verificar la identidad del usuario para que ste acceda a ciertos recursos. Existen dos protocolos de autenticacin en PPP: - PAP: Protocolo de autenticacin por contrasea
(Password authetication protocol )

- CHAP: Protocolo de autenticacin por reto.


(Challenge Handshake Authentication protocol)
11.120

PAP: Protocolo de autenticacin por contrasea

Utiliza un proceso de dos pasos: 1. El usuario que quiere acceder al sistema enva una identificacin de autenticacin (normalmente el nombre de usuario) y una contrasea. 2. El sistema comprueba la validez de la identificacin y de la contrasea y acepta o no la conexin.

11.121

Figura 11.36 Tipos de Paquetes PAP encapsulados en una trama PPP

Autorizar acceso Denegar acceso

11.122

CHAP: Protocolo de autenticacin por reto


Proporciona mayor seguridad que PAP. La contrasea se mantiene secreta; nunca se enva por la red. Utiliza un proceso de tres pasos: 1. El sistema enva al usuario un paquete de reto, habitualmente unos pocos bytes. 2. El usuario usa una funcin que toma el valor del reto y la contrasea del usuario y crea un resultado. El usuario enva el resultado en el paquete de respuesta al sistema.
11.123

CHAP: Protocolo de autenticacin por reto

Proceso de tres pasos (cont.): 3. El sistema aplica la misma funcin a la contrasea del usuario (conocida por el sistema) y a la trama de reto para crear un resultado. Si el resultado es el mismo que el resultado enviado en el paquete de respuesta, se garantiza el acceso; en caso contrario se deniega.

11.124

Figura 11.37 Paquetes CHAP encapsulados en una trama PPP

11.125

Protocolos de control de red (NCP)


PPP es un protocolo con nivel de red mltiple. Puede transportar paquetes de datos de nivel de red de protocolos definidos por: Internet (TCP/IP), OSI, Xerox, DECnet, Novel, etc. Existe un protocolo de control de red especfico para cada protocolo de red: Ejemplos:
IPCP (Internet Protocol Control Protocol) configura el enlace para transportar paquetes de datos IP. Xerox CP hace lo mismo para paquetes de datos del protocolo Xerox, etc.
11.126

Protocolos de control de red (NCP)

Ninguno de los paquetes NCP lleva datos de nivel de red. Estos protocolos slo configuran el enlace al nivel de red para los datos que llegan de acuerdo con el protocolo de red.

11.127

Figura 11.38 Paquete IPCP encapsulado en una trama PPP

Tipo de paquete

Paquete IPCP

Cdigo ID

Longitud

Informacin IPCP

Flag

Direccin

Control

0x8021

Carga til (y padding)

FCS

Flag

Otros protocolos de red 0x8023 OSI 0x8025 IDP NS Xerox

11.128

Tabla 11.4 Valor de cdigo para paquetes IPCP y otros

11.129

Datos del nivel de red


Una vez completada la configuracin del nivel de red, los usuarios pueden intercambiar paquetes de datos de ese nivel. Aqu hay de nuevo distintas opciones para el campo de protocolo segn los distintos protocolos del nivel de red. Ejemplo: Si PPP transporta datos desde un nivel de red IP, el valor del campo es 0021 (observe que los tres dgitos de ms a la derecha son los mismos que para IPCP).
11.130

Figura 11.39 Datagrama IP encapsulado en una trama PPP

Paquete IP

Cabecera

Datos de usuario

Flag

Direccin

Control

0x0021

Carga til (y padding)

FCS

Flag

11.131

PPP multi-enlace
PPP se dise originalmente para un enlace fsico punto a punto con un nico canal. La disponibilidad de mltiples canales en un nico enlace punto a punto motiv el desarrollo del PPP multienlace. En este caso, una trama PPP lgica se divide en varias tramas PPP reales. Para mostrar que la trama PPP real transporta un fragmento de una trama PPP lgica, el campo de protocolo se pone a 0x003D.
11.132

Figura 11.40 PPP Multienlace

PPP Lgica

Carga til

Canal 1 Carga til Carga til

Canal 2
Carga til Carga til

Campo de protocolo: 0x003d

11.133

Figura 11.41 Un ejemplo

11.134

Figura 11.41 Un ejemplo (continuacin)

11.135

Ejemplo 11.12
Vamos a recorrer las fases seguidas por un paquete de nivel de red transmitido a travs de una conexin PPP (Figura 11.41). Por simplicidad se asume un movimiento unidireccional de los datos desde el lado del usuario al lado del sistema (tal como enviar un e-mail a travs de un ISP).

Las dos primeras tramas muestran el establecimiento de enlace. Se ha elegido usar PAP para autenticacin y suprimir los campos de control y de direccin (no mostrados). Las tramas 3 y 4 son para autenticacin. Las tramas 5 y 6 son para establecer la conexin del nivel de red usando IPCP.

11.136

Ejemplo 11.12(continuacin)
Las tramas siguientes muestran como algunos paquetes IP se encapsulan en tramas PPP. El sistema (receptor) puede tener funcionando varios protocolos de nivel de red, pero sabe que los datos que llegan deben ser entregados al protocolo IP porque el protocolo NCP usado antes de la transferencia de datos era IPCP. Despus de la transferencia de datos, el usuario termina la conexin del enlace, que es confirmada por el sistema. El usuario del sistema podra haber elegido terminar el IPCP de nivel de red y mantener el nivel de enlace funcionando si quisiera utilizar otro protocolo NCP.
11.137

S-ar putea să vă placă și