Protocolos de enlace - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Protocolos de enlace

Description:

El protocolo de control de enlace de datos de alto nivel, conocido por sus ... Aunque tiene buenos defaults, con ellos puede ser ineficiente. Complejo ... – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 35
Provided by: tomasabr
Category:

less

Transcript and Presenter's Notes

Title: Protocolos de enlace


1
Seminario de HDLC
  • Protocolos de enlace
  • HDLC
  • High-Level Data Link Control protocol
  • Protocolo de Control de enlace de datos de alto
    nivel

2
  • 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, ROBUSTO Y
    ESTABLE, MUY FLEXIBLE Y CON UN EXCELENTE CONTROL
    DE FLUJO PARA LA TRANSMISIÓN SINCRÓNICA
  • Veamos algo de sus orígenes y actualidad

3
Evolución del protocolo
ITU LAP Link Access Procedure Nivel 2 de X.25
ITU LAP-B LAP-D
ANSI ADCCP Advanced Data Comm Ctrl Proced.
ISO HDLC High-Level
Data Link Control 3309 Frame 4335 Procs
comunes 6159 Procs U 6256 Procs B
ISO HDLC High-Level Data Link Control ISO 13239
4
Características distintivas
  • HDLC tiene las siguientes características que lo
    definen
  • Es un protocolo
  • SINCRÓNICO
  • DE VENTANA DESLIZANTE
  • CON CONEXIÓN
  • CONFIABLE
  • ORIENTADO A BITS

5
El 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 OSI
  • El 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 corrige
  • Trabaja 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 flujo
  • Tiene 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)

6
Cualidades del protocolo fortalezas
7
Cualidades del protocolo qué se le objeta
8
Estructura de la trama
La estructura mostrada corresponde a M8 Para
otros módulos cambia el campo Control
9
Estructura de la trama
10
Estructura del campo Control
  • Este esquema es M8 gt Nros Ns y Nr de 3b, para
    otros módulos el campo cambia su longitud
  • Existen 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

tips
Indicador
11
Estructura del campo Control
  • Este esquema es M8 gt Nros Ns y Nr de 3b, para
    otros módulos el campo cambia su longitud
  • Existen 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

tips
Indicador
12
Estructura del campo Control
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/F1 P/F1 actúa como bit de sondeo (Polling)
al otro lado
13
Estructura del campo Control
RR y RNR son Acuse de Recibo explícitos (ack,
por positive acknowledge, o ack) de todo lo
recibido hasta Nr - 1 Al mismo tiempo, P/F1
hace sondeo.
Nr N a recibir (Number to Receive)
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
El bit P/F es usado en modo Poll (P/F 1) en
todas las variantes habilitando el cambio de
dirección del flujo.
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)
Indicador
14
Estructura del campo Control
  • Set Ininitialization Mode/Request Initialization
    Mode SIM/RIM
  • Set Response Mode (Normal o Asynchronous
    Balanced) SNRM, SABM
  • Set Extended Response Mode SNRME, SABME
  • Unnumbered Acknowledgement UA

Inicialización Modo y Aceptación
Exchange Identification XID con datos para
negociar (recibe XID)
Identificación
Disconnect DISC Request Disconnect
RDISC Disconnect Mode DM
Desconexión
Frame Reject FMRJ con datos de la trama
rechazada Unnumbered Poll UP Reset RSET
Control de Flujo Urg
Unnumbered Information UI con datos (no se
confirma)
Información
15
Estructuras típicas de tramas
Trama I (información) longitud L bits
7E
Addr
Ctrl
FCS
FCS
7E
Data
16
Estructura de la trama
Veamos una trama cualquiera, mostrada como un
string binario que está siendo transmitido y es
observado.
01111110000000000101001101001110100101100111001111
1011001101101011101111110
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
  • 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
17
Estructura de la trama
Manipulación del string en el envío
0100111000101000111111001011001110011111
01111110000000000101001101001110001010001111101001
0110011100111110011001101101011101111110
Se recibe como carga útil
18
Estructura de la trama
Manipulación del string en la recepción
0100111000101000111111001011001110011111
00000000010100110100111000101000111110100101100111
00111110
0110011011010111
CRC OK
0110011011010111
01111110000000000101001101001110001010001111101001
0110011100111110011001101101011101111110
19
Esquema de funcionamiento
En resumen, el esquema de trabajo de HDCL es de
tres etapas
20
Conexión
Exitosa No hay rechazos uno de los lados toma
contacto y el otro confirma, luego fija el
modo y confirma, y finalmente negocian.
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
A
B
A
B
(i)
(ii)



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
21
Controlando el flujo con RR (en MNR)
Los tiempos de Flujograma están fuera de escala
A
B
A
B
A
B






Un RR usado como acuse explícito ack confirma
cuando no hay datos en buffer de Tx hasta (Nr1).
Siempre lleva el bit P/F1 e indica el Nr
esperado.
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.
Luego de un RR, que tiene el P/F1, 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.
22
Controlando el flujo con RNR (I)
Un RNR permite detener el flujo entrante, cuando
se produce una contingencia. Siempre porta el
P/F1 y el Nr esperado.
Los tiempos de Flujograma están fuera de escala


Este RNR detiene el flujo A B
I, Ns0
I, Ns7
Este RR re-arranca el flujo A B
Este RR sondea si puede enviar A B

El ejemplo corresponde a Modo Normal de Respuesta
23
Controlando el flujo con RNR (II)
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.
Los tiempos de Flujograma están fuera de escala

I, Ns4
I, Ns3
Necesita el 6 otra vez!
Necesario Se puede enviar A B ?
B puede recibir !!

El ejemplo corresponde a Modo Normal de Respuesta
24
Controlando el flujo con Reject
25
Resumen de los principios del intercambio de Info
  • 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/F1
  • Se hace acuse implícito de hasta Nr-1 con una
    trama I indicando qué se espera recibir a
    continuación usando Nr (piggyback)
  • 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

26
El proceso de recepción de datos
Modo Listen
NO
NO
Trama I
Trama U
FMRJ
SI
SI
NO
En Ventana
Suspender Listen
FMRJ
SI
NO
P/F1
Atiende modo URGENTE
SI
Cierra la Ventana Rx
Desentrama Envía a Red
Limpia recursos Genera ack
Pasa a modo Transmisión
27
Evitación del deadlock
Dependiente de la implementación
Las distintas implementaciones usan
temporizadores para evitar los deadlocks que
pueden producirse por falta de robustez del
protocolo
Si hay temporizadores, se configuran en tiempo de
implementación en cada nodo, y se negocian en un
XID
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
28
Evitación del deadlock
Dependiente de la implementación
29
Trabajando con tres temporizadores
Dependiente de la implementación
Ficha técnica Nombre Temporizador de Cierre de
ventana Propósito Limitar la esperar del arribo
de una trama I en modo listen Corre en El lado
receptor Arranque Con la bandera de fin de trama
I (excepto que P/F1) Parada Con la siguiente
trama I recibida completa Reintentos 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
30
Trabajando con tres temporizadores
Dependiente de la implementación
Ficha técnica Nombre Temporizador de
Piggyback Propósito Limitar el tiempo de espera
para entramar Corre en El lado
receptor Arranque Con el cierre de ventana de Rx
(P/F1 en I, o T1 expirado) Parada Con el primer
paquete entramado Reintentos No
genera Excepción No tiene No corre Cuando hay
tramas listas (aunque sea 1) esperando para
Tx Cuando el sondeo es explícito (trama S con
P/F1) Cálculo Debería ser arbitrariamente
mayor que el período de la tasa de arribo de
paquetes
31
Trabajando con tres temporizadores
Dependiente de la implementación
Ficha técnica Nombre Temporizador de
Time-out Propósito Limitar el tiempo de espera
de una respuesta válida Corre en El lado
emisor Arranque Con la bandera de fin de
cualquier trama I/S con P/F1 Parada Con la
primera trama I completa con Ns correcto Con la
primera trama S con P/F1 Reintentos 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/F0, 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
32
En resumen
  • Hemos visto cómo el protocolo HDLC opera con sus
    diversas características
  • SINCRÓNICO
  • DE VENTANA DESLIZANTE
  • CON CONEXIÓN
  • CONFIABLE
  • ORIENTADO A BITS

33
  • Muchas Gracias por la atención!
  • Más preguntas?

34
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com