cátedra de comunicaciones 2009 seminario de hdlc protocolos de enlacehdlc high-level data link...

34
2009 Seminario de HDLC Cátedra de Comunicaciones Seminario de HDLC Seminario de HDLC Protocolos de enlace HDLC HDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos de alto nivel

Upload: encarna-rodrigo

Post on 02-Apr-2015

119 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Seminario de HDLCSeminario de HDLC

Protocolos de enlace

HDLCHDLCHigh-Level Data Link Control protocol

Protocolo de Control de enlace de datos de alto nivel

Page 2: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

El protocolo de control de enlace de datos de alto nivel, conocido por sus iniciales en inglés HDLC, tiene un largo historial y su raíz

se encuentra en varios estándares con pocas variantes. ¿Porqué?

PORQUE HDLC ES UN PROTOCOLO MADURO, PORQUE HDLC ES UN PROTOCOLO MADURO, ROBUSTO Y ESTABLE, MUY FLEXIBLE Y CON UN ROBUSTO Y ESTABLE, MUY FLEXIBLE Y CON UN

EXCELENTE CONTROL DE FLUJO PARA LA EXCELENTE CONTROL DE FLUJO PARA LA TRANSMISIÓN SINCRÓNICATRANSMISIÓN SINCRÓNICA

Veamos algo de sus orígenes y actualidad

Page 3: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Evolución del protocoloEvolución del protocolo

ANSIADCCP

AdvancedData CommCtrl Proced.

ISO HDLC High-Level Data Link Control3309 Frame4335 Procs comunes6159 Procs U6256 Procs B

ITULAP

Link AccessProcedureNivel 2 de

X.25

Arquitectura SNA de IBM

Application Layer

Transmission Layer

SDLCSynchronous

Data Link Controlprotocol

Control Layer

ITU

LAP-BLAP-D

ISOHDLC

High-Level DataLink ControlISO 13239

Page 4: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Características distintivasCaracterísticas distintivas

HDLC tiene las siguientes características que lo definen:

Es un protocolo

SINCRÓNICOSINCRÓNICO

DE VENTANA DESLIZANTEDE VENTANA DESLIZANTE

CON CONEXIÓNCON CONEXIÓN

CONFIABLECONFIABLE

ORIENTADO A BITSORIENTADO A BITS

Page 5: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

El protocolo en detalleEl protocolo en detalle

Es un protocolo únicamente de enlace No avanza sobre otras capas. A diferencia de otros, como PPP por ejemplo, sólo cumple funciones de capa 2 y está diseñado con ese fin

Presta todos los servicios esperables según el modelo OSIEl protocolo presta a la capa 3 los servicios de entramado, control de flujo y detección de errores, que son los definidos por ISO para la capa 2 del OSI

Entrama de modo sencillo Está orientado exclusivamente a bits y realiza entramado explícito entre banderas hexadecimales 7E, generando transparencia mediante la técnica de Zero Insertion después del quinto bit 1. Tiene longitud de carga útil extendida

Detecta errores aunque no corrigeTrabaja con CRC (Ciclic Redundance Checking) mediante el polinomio CCITT-16 insertando un campo al final de la trama denominado FCS (Frame Check Sequence). No hace Corrección de errores

Controla el flujoTiene varias tramas de control y ventana corrediza con 2 módulos estándares elegibles en la implementación: 8 (normal) o 128(extendido); algunas implementaciones tienen además 16 (intermedio) y 32768 (súper)

Page 6: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Cualidades del protocolo: fortalezasCualidades del protocolo: fortalezas

Establece el modo confiable con muchas alternativas. Bajo ciertas condiciones, también acepta el modo no confiable aunque sólo en ciertas implementaciones

Flexible

Tiene una etapa de establecimiento del enlace en la que permite negociar distintas condiciones de trabajo para la comunicación y para la recuperación de situaciones adversas

Versátil

Las características de los ETD y de las condiciones de la comunicación son soportados en alguno de sus dos modos de trabajo, peer-to-peer o maestro-esclavo, para conservar la sincronía de enlace en modo conectado sea dúplex o semidúplex

Adaptable

Page 7: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Cualidades del protocolo: qué se le objetaCualidades del protocolo: qué se le objeta

Requiere mucho expertise en la configuración. Aunque tiene buenos defaults, con ellos puede ser ineficienteComplejo

Tiene algo de overhead en la trama, pero además tiene mucho overhead de tráfico para gestionar el enlace en canales semidúplex

Subóptimo

A pesar de su madurez y fortaleza, no es todo lo robusto que se podría esperar y puede tener deadlocks

Algo frágil

Page 8: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura de la tramaEstructura de la trama

La estructura mostrada corresponde a M=8Para otros módulos cambia el campo Control

Page 9: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura de la tramaEstructura de la trama

FlagExiste siempre

Enmarca la trama al inicio Tienen el patrón único 7EH = 01111110

Long

1B

FlagExiste siempre

Enmarca la trama al final Tienen el patrón único 7EH = 01111110

Long

1B

InfoExiste si control =

1xxx xxxx

Contiene el/los paquetes de redCarga útil de la capa 3: una parte, uno o varios paquetes

Long

L b

DirecciónExiste siempre

Identifica al DTE en el otro extremoEn MP tiene dir binaria, en P2P o en broadcast es 00H

Long

1 B

Control Existe siempre

Identifica tipo de trama de tres posiblesContiene numeración de tramas y comandos/respuestas

Long 1 B M = 8

CRCExiste siempre

Contiene la secuencia verificadora de tramaCalculado como CRC con el algoritmo CCITT-16

Long

1 B

Page 10: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura del campo Estructura del campo ControlControl

Este esquema es M=8 => Nros Ns y Nr de 3b, para otros módulos el campo cambia su longitudExisten tres tipos de tramas y el primer bit [y el segundo] de control la definen. Las tramas I siempre contienen Info; las S nunca lo contienen; las U pueden contenerlo

Trama I 00 Ns0

Interm.1

Final

Nr

3 bits módulo 8 3 bits módulo 8

tips:

Trama S 11 000

Nada1

Sondeo

Nr00 RR = ack01 RJ = nack10 RNR = ack11 SRJ = nack

3 bits módulo 8

Trama U 11 11 P/F ModificadorIndicador

Page 11: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura del campo Estructura del campo ControlControl

Este esquema es M=8 => Nros Ns y Nr de 3b, para otros módulos el campo cambia su longitudExisten tres tipos de tramas y el primer bit [y el segundo] de control la definen. Las tramas I siempre contienen Info; las S nunca lo contienen; las U pueden contenerlo

Trama I 00 Ns0

Interm.1

Final

Nr

tips:

Trama S 11 000

Nada1

Sondeo

Nr00 RR = ack01 RJ = nack10 RNR = ack11 SRJ = nack

3 bits módulo 8

Trama U 11 11 P/F ModificadorIndicador

Page 12: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura del campo Estructura del campo ControlControl

Trama I 00 Ns0

Interm.1

Final

Nr

Ns: N° de envío

(Number Sending)

Nr: N° a recibir

(Number to Receive)

Este N° identifica a la trama que se está enviando en este momento, y rota (roll over) con cada trama que se envía, desde 0 a Ns máximo y llamando a Ns máx MaxSeq y:MaxSeq = M -1 y en general

MaxSeq = 2n – 1 donde n representa cantidad de bits de Ns. En este caso 0 Ns 7

Este N° identifica al N° de la trama que se está esperando recibir, por lo tanto confirma todas las tramas anteriores. Rota (roll over) según el mismo esquema que Ns

Esta acción de “cargar” un acuse de recibo en una trama de info se llama piggyback

Este bit indica si esta trama que se envía es intermedia o la última disponible.Última en buffer de envío o última de la ventana, P/F=1P/F=1 actúa como bit de sondeo (Polling) al otro lado

Page 13: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura del campo Estructura del campo ControlControl

Trama S 11 000

Nada1

Sondeo

Nr00 RR = ack01 RJ = nack10 RNR = ack11 SRJ = nack

Indicador

RR y RNR son Acuse de Recibo explícitos (+ack, por positive acknowledge, o ack) de todo lo recibido hasta Nr - 1Al mismo tiempo, P/F=1 hace sondeo.

RJ es una negación de acuse (nack, por negative acknowlegde, o -ack) indicando con Nr el N° de trama donde se debe posicionar nuevamente la ventana de Tx

SRJ es una negación de acuse selectivo (nack, ídem anterior) indicando con Nr el N° de trama que específicamente se solicita retransmitir (no reposiciona W)

El bit P/F es usado en modo Poll (P/F = 1) en todas las variantes habilitando el cambio de dirección del flujo.

Nr: N° a recibir

(Number to Receive)

Page 14: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura del campo Estructura del campo ControlControl

Trama U 11 11 P/F ModificadorIndicador

Set Ininitialization Mode/Request Initialization Mode SIM/RIMSet Response Mode (Normal o Asynchronous Balanced) SNRM, SABMSet Extended Response Mode SNRME, SABMEUnnumbered Acknowledgement UA

Exchange Identification XID [con datos para negociar] (recibe XID)

Disconnect DISCRequest Disconnect RDISCDisconnect Mode DM

Frame Reject FMRJ [con datos de la trama rechazada]Unnumbered Poll UPReset RSET

Unnumbered Information UI [con datos] (no se confirma)

InicializaciónModo y

Aceptación

Identificación

Desconexión

Control deFlujo Urg

Información

Page 15: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructuras típicas de tramasEstructuras típicas de tramas

7E Addr Ctrl FCS FCS 7EData

Trama I (información): longitud L bits

7E Addr Ctrl FCS FCS 7E

Trama S (supervisora o control): longitud 6 bytes

7E Addr Ctrl FCS FCS 7E

Trama U: C o R sin datos: longitud 6 bytes

7E Addr Ctrl FCS FCS 7EData

Trama U (no numerada): C o R con datos: longitud L bits

Page 16: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura de la tramaEstructura de la trama

011111100000000001010011010011101001011001110011111011001101101011101111110

Veamos una trama cualquiera, mostrada como un string binario que está siendo transmitido y es observado.

Asumimos la convención arbitraria de que se transmite primero el bit de más a la izquierda, pero los representamos como los leemos

tip:

Veremos cómo es la lógica con la que quedó armada y se transmitió y qué pasa cuando se recibe, observando los efectos y sin detenernos en los procesos de cada entidad de enlace:

Page 17: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Estructura de la tramaEstructura de la trama

0100111000101000111111001011001110011111

Capa 3

Capa 2

00000000010100110100111000101000111110100101100111001111100110011011010111

Se agrega el CRC como FCS

0000000001010011010011100010100011111010010110011100111110Se agregan campos Dirección y Control

010011100010100011111010010110011100111110

Se hace Zero Insertion

011111100000000001010011010011100010100011111010010110011100111110011001101101011101111110Se agrega la bandera

Se agrega la bandera

Capa 2

Capa 1

Manipulación del string en el envío

Se recibe como carga útil

Page 18: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

0000000001010011010011100010100011111010010110011100111110

Estructura de la tramaEstructura de la trama

0100111000101000111111001011001110011111

Capa 3

Capa 2

0110011011010111

011111100000000001010011010011100010100011111010010110011100111110011001101101011101111110

Capa 2

Capa 1

Manipulación del string en la recepción

0110011011010111Es para este ETD

En secuencia

CRC OK

Page 19: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Esquema de funcionamientoEsquema de funcionamiento

Durante esta etapa se hace contacto entre ambas partes (SIM/UA), se fija la variante del protocolo (Set Mode/UA), y opcionalmente se negocian los parámetros según capacidades (XID/XID)

Conexión

En resumen, el esquema de trabajo de HDCL es de tres etapas

IntercambioDurante esta etapa se intercambian datos siempre de manera confiable controlando el flujo según las reglas del modo fijado (I, RR, RNR) [RJ/SRJ]

Desconexión

Durante esta etapa los ETD se desconectan ya sea mediante solicitud (RD) o indicación (DISC) y se informan que quedan desconectados cuando se informan el estado (DM)

Page 20: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

ConexiónConexión

Exitosa

No hay rechazos; uno de los lados toma contacto y el otro confirma, luego fija el modo y confirma, y finalmente negocian.

A B

SIM

UA

SNRM

UA

XID

XID

NO exitosa

En un caso (i) el contactado no acepta el modo y en el otro (ii) uno, varios o todos de el/los parámetro(s) que se intentan negociar genera rechazo total.

A B

SIM

UA

SABME

SIM

RIM

UA

SABM

UA

XID

XID

(i) A B

UA

RIM

XID

SIM

(ii)SIM

SABM

UA

El canal queda establecido con el UA al SIM. El UA al SET MODE resetea contadores, buffers y demás recursos. El segundo XID deja los parámetros negociados por la regla del mínimo

Page 21: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Controlando el flujo con RR (en MNR)Controlando el flujo con RR (en MNR)

Un RR usado como acuse explícito +ack confirma cuando no hay datos en buffer de Tx hasta (Nr–1). Siempre lleva el bit P/F=1 e indica el Nr esperado.

A B

Ns:3 Nr:3 0

RR:7 1

Ns:4 Nr:3 0

Ns:5 Nr:3 0

Ns:6 Nr:3 1

Si no hay datos en el buffer de envío, y se recibe un RR, se envía un ack (RR o RNR) sin dilaciones. Esto sirve para mantener el flujo en el enlace y también la sincronía.

Ns:7 Nr:3 0

Ns:0 Nr:3 0

A B

Ns:3 Nr:3 0

RR:7 1

Ns:4 Nr:3 0

Ns:5 Nr:3 0

Ns:6 Nr:3 1

RR:3 1

Ns:7 Nr:3 0

RR:7 1

Ns:0 Nr:3 0

Luego de un RR, que tiene el P/F=1, no se puede hacer otra cosa que esperar el Poll, o sea ser sondeado por el otro nodo salvo que un temporizador que se use expire.

A B

Ns:3 Nr:3 0

RR:7 1

Ns:4 Nr:3 0

Ns:5 Nr:3 0

Ns:6 Nr:3 1

RR:3 1

Ns:7 Nr:3 0

RR:7 1

Ns:0 Nr:3 0

I, Ns:7

I, Ns:0

Los tiempos de Flujograma están fuera de escala

Page 22: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Controlando el flujo con RNR (I)Controlando el flujo con RNR (I)

Un RNR permite detener el flujo entrante, cuando se produce una contingencia. Siempre porta el P/F=1 y el Nr esperado.

A B

Ns:3 Nr:3 0

RNR:7 1

Ns:4 Nr:3 0

Ns:5 Nr:3 0

Ns:6 Nr:3 1

RR:3 1

Ns:7 Nr:3 0

RR:7 1

Ns:0 Nr:3 0

Este RNR detiene el

flujo A B

Este RR re-arranca el

flujo A B

I, Ns:0

I, Ns:7

Este RR sondea si

puede enviar A B

Los tiempos de Flujograma están fuera de escala

El ejemplo corresponde a Modo Normal de Respuesta

Page 23: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Controlando el flujo con RNR (II)Controlando el flujo con RNR (II)

I, Ns:4

I, Ns:3

Aquí se queda sin buffers de Rx

Si el nodo que debe detener el trafico entrante tiene datos en el buffer de envío, se emite un RNR y ante el próximo polling se contesta con datos.

A B

Ns:3 Nr:3 0

RNR:6 1

Ns:4 Nr:3 0

Ns:5 Nr:3 0

Ns:6 Nr:3 1

RR:3 1

Ns:6 Nr:5 0

Ns:7 Nr:5 0

Ns:3 Nr:6 0

Ns:4 Nr:6 0

RNR:6 1

RR:3 1Aquí soluciona el problema de buffers

RR:5 1

RR:6 1

Necesario: ¿Se puede

enviar A B ?

¡¡ B puede recibir !!

Los tiempos de Flujograma están fuera de escala

El ejemplo corresponde a Modo Normal de Respuesta

Necesita el 6 otra

vez!

Page 24: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Controlando el flujo con RejectControlando el flujo con Reject

Un RJ que emite un receptor le obliga al emisor a posicionar su ventana corrediza en ese Nr rechazado

2 3 4 5 6 7

W=6 RJ 5

5 6 7 0 1 2

Como se puede ver, un comando RJ,5 tiene el mismo efecto que RR,5,1

Un SRJ que emite un receptor le obliga al emisor a reenviar sólo la trama Nr solicitada

2 3 4 5 6 7

W=6

SRJ 5

5

Como se puede ver, un comando SRJ,5 introduce una latencia adicional

RR 6

6 7 0 1 2 3

Page 25: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Resumen de los principios del intercambio de Resumen de los principios del intercambio de InfoInfo

• El número Ns es el N° DE SECUENCIA DE ENVÍO y con ese número un ETD le informa al otro qué número de trama está enviando. Debe estar dentro de la ventana de Tx

• El número Nr es el N° DE SECUENCIA DE RECEPCIÓN y con él un ETD le informa al otro qué número de trama espera. Debe estar dentro de la ventana de Rx

• Cada ETD tiene dos ventanas corredizas, una de transmisión y una de recepción, y pueden o no ser iguales, pero son recíprocas

• Se hace acuse de recibo explícito de hasta Nr-1 con una trama S RR o RNR, o con un nack RJ o SRJ, usando el campo Nr y con P/F=1

• Se hace acuse implícito de hasta Nr-1 con una trama I indicando qué se espera recibir a continuación usando Nr (piggyback)

Page 26: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

El proceso de recepción de datosEl proceso de recepción de datos

Modo Listen

Trama I Trama U FMRJ

SuspenderListen

Atiende modoURGENTE

En Ventana

Cierra la Ventana Rx

P/F=1

FMRJ

DesentramaEnvía a Red

Limpia recursosGenera ack

NO

NO

NO NO

SI

SI

SI

SI

Pasa a modoTransmisión

Page 27: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Evitación del deadlockEvitación del deadlock

Las distintas implementaciones usan temporizadores para evitar los deadlocks que pueden producirse por falta de robustez del protocolo

La expiración de el/los temporizador(es) desencadena mecanismos de time-out con reintentos que son configurables y negociables en XID

Si no hay reintentos o se agotan, el siguiente paso es SIM y SABM/E o SNRM/E lo que en definitiva configura un reset del enlace

Si hay temporizadores, se configuran en tiempo de implementación en cada nodo, y se negocian en un XID

Dependiente de la implementación

Page 28: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Evitación del deadlockEvitación del deadlock

Implementación más plana

Un solo temporizador para limitar el tiempo de idle (ocioso) del enlace. De este modo, la línea no puede estar ociosa más tiempo que el indicado por T. Si no hay datos en el buffer de envío y dentro de ventana de Tx, se envía RR a las T unidades de tiempo

Tres temporizadores para evitar los deadlocks: T1 para cerrar la ventana de recepción por si se pierde la trama con P/F=1; T2 con esa ventana ya cerrada para esperar paquetes de la capa de red y T3 para dar time-out si no se recibe un ack/nack en la línea. Los valores son configurables y negociables con XID

Implementación más compleja

Dependiente de la implementación

Page 29: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Trabajando con tres temporizadoresTrabajando con tres temporizadores

Ficha técnicaFicha técnica

Nombre: Temporizador de Cierre de ventanaPropósito: Limitar la esperar del arribo de una trama I en modo listenCorre en: El lado receptorArranque: Con la bandera de fin de trama I (excepto que P/F=1) Parada: Con la siguiente trama I recibida completaReintentos: No genera

Excepción: No tiene

No corre: Cuando se reciben tramas S o U

Cálculo: Puede ser arbitrariamente mayor que la modulación de la trama más larga y depende de la tasa de arribo de tramas

T1

Dependiente de la implementación

Page 30: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Trabajando con tres temporizadoresTrabajando con tres temporizadores

Ficha técnicaFicha técnica

Nombre: Temporizador de PiggybackPropósito: Limitar el tiempo de espera para entramarCorre en: El lado receptorArranque: Con el cierre de ventana de Rx (P/F=1 en I, o T1 expirado)Parada: Con el primer paquete entramadoReintentos: No genera

Excepción: No tiene

No corre: Cuando hay tramas listas (aunque sea 1) esperando para TxCuando el sondeo es explícito (trama S con P/F=1)

Cálculo: Debería ser arbitrariamente mayor que el período de la tasa de arribo de paquetes

T2

Dependiente de la implementación

Page 31: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

Trabajando con tres temporizadoresTrabajando con tres temporizadores

Ficha técnicaFicha técnica

Nombre: Temporizador de Time-outPropósito: Limitar el tiempo de espera de una respuesta válidaCorre en: El lado emisorArranque: Con la bandera de fin de cualquier trama I/S con P/F=1Parada: Con la primera trama I completa con Ns correcto

Con la primera trama S con P/F=1Reintentos: Según definición en la implementación y XID

Excepción: En lugar del reintento puede generar un reset

No corre: Cuando se envían tramas I con P/F=0, o tramas U

Cálculo: Debe ser arbitrariamente mayor que la suma de dos latencias, más T2 más la modulación de la trama más larga

T3

Dependiente de la implementación

Page 32: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

En resumenEn resumen

Hemos visto cómo el protocolo HDLC opera con sus diversas características

SINCRÓNICOSINCRÓNICO

DE VENTANA DESLIZANTEDE VENTANA DESLIZANTE

CON CONEXIÓNCON CONEXIÓN

CONFIABLECONFIABLE

ORIENTADO A BITSORIENTADO A BITS

Page 33: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones

¡Muchas Gracias por la atención!

¿Más preguntas?

Page 34: Cátedra de Comunicaciones 2009 Seminario de HDLC Protocolos de enlaceHDLC High-Level Data Link Control protocol Protocolo de Control de enlace de datos

2009 Seminario de HDLC

Cátedra de Comunicaciones