Tema 2 Apuntes HDLC PDF
Tema 2 Apuntes HDLC PDF
Tema 2 Apuntes HDLC PDF
INTRODUCCIN A H.D.L.C.
Juan I. Asensio Prez (1998)
1. Caractersticas Bsicas.
Se definen tres tipos de estaciones que dan lugar a dos configuraciones de enlace y tres modos de transferencia de datos. a) Tipos de estaciones Estacin primaria: tiene la responsabilidad de controlar el enlace. Las tramas generadas por una estacin primaria se denominan rdenes. Estacin secundaria: opera bajo el control de una estacin primaria. Acta como esclava de la primaria (que, a su vez, actuara como maestra) y las tramas por ella generada se denominan respuestas. Mantiene solamente una sesin con la estacin principal y no tiene responsabilidad en el control del enlace. Las estaciones secundarias no pueden comunicarse directamente entre s. Estacin combinada: Es capaz de transmitir y recibir tanto rdenes como respuestas procedentes de otra estacin combinada.
b) Configuraciones del enlace Configuracin no balanceada (o no equilibrada): para una estacin primaria y una o varias estaciones secundarias. Pueden ser punto a punto o multipunto, dplex o semidplex. Se la llama "no balanceada" porque la estacin primaria es responsable de controlar cada una de las estaciones secundarias y de establecer y mantener el enlace.
Configuracin balanceada (o equilibrada): consiste en dos estaciones combinadas en un enlace punto a punto ya sea dplex o semiduplex. Cada estacin tiene la misma responsabilidad en el control del enlace.
Introduccin a HDLC
2. Modos de Operacin
Se distinguen tres fases: inicializacin, transferencia de datos y desconexin. a) Modos de Inicializacin Es un modo opcional y dependiente de la implementacin. En el mismo, una estacin primaria o una combinada puede iniciar o regenerar el control del enlace con una secundaria o combinada. La forma concreta de realizarlo es dependiente del sistema y no es objeto de normalizacin. b) Modos de Transferencia de Datos Modo de respuesta normal (NRM) Configuracin: no balanceada. Tipo de enlace: punto a punto o multipunto (mximo una estacin primaria en enlaces multipunto). Transmisin: dplex o semiduplex (por defecto semiduplex). Observaciones: las estaciones secundarias necesitan permiso de la primaria para transmitir por lo que la estacin primaria suele utilizar tcnicas de sondeo y seleccin. Modo de respuesta asncrona balanceada (ABM) Configuracin: balanceada. Tipo de enlace: punto a punto nicamente. Transmisin: dplex o semiduplex (por defecto dplex). Observaciones: utilizado principalmente en enlaces dplex punto a punto. Requiere estaciones combinadas. Cualquiera de las estaciones puede comenzar una transmisin sin permiso de la otra y ambas tienen las mismas responsabilidades sobre el mantenimiento y control del enlace. Modo de respuesta asncrona (ARM) Configuracin: no balanceada. Tipo de enlace: punto a punto o multipunto (mximo una estacin primaria en enlaces multipunto). Transmisin: dplex o semiduplex. Observaciones: se permite a una estacin secundaria transmitir sin recibir permiso explcitamente de la primaria; de esta forma en ARM se reduce la sobrecarga debido a que la secundaria no necesita ser sondeada para enviar datos. De todas formas la estacin primaria mantiene la responsabilidad sobre tareas como recuperacin ante errores, inicializacin y desconexin del enlace.
c) Modos de Desconexin En los modos de desconexin las estaciones estn lgicamente desconectadas del enlace. Se distinguen dos modos de desconexin: Modo de desconexin normal (NDM). Aplicable al modo NRM. La(s) secundaria(s) no pueden hacer nada mientras no se lo indique la principal.
Introduccin a HDLC
Modo de desconexin asncrona (ADM). Aplicable a los modos asncronos1 (ABM y ARM). En este caso las estaciones secundarias pueden iniciar una desconexin sin que la principal se lo indique.
3. Formato de Trama
La transmisin mediante HDLC, tanto de datos como de informacin de control, se realiza mediante el intercambio de tramas monoformato entre dos estaciones. El formato de las tramas HDLC es:
Guin Delimita la trama. Todas las tramas deben comenzar y terminar con este campo. El guin consiste en la secuencia binaria: 01111110 (seis "unos" limitados por "ceros")2.
Dentro de la trama podemos encontrar una secuencia binaria igual al guin (por ejemplo en el campo de informacin o en el campo SVT/FCS) lo que se interpretar en recepcin como un final de trama que en realidad no es tal. Para solucionar esto y mantener la transparencia se utiliza la tcnica de insercin de bit (bit stuffing). El funcionamiento es muy simple. El transmisor inserta un cero despus de cualquier secuencia de cinco "unos" seguidos que vaya a enviar, excepto en el guin de principio y final de trama. En recepcin se monitoriza continuamente el flujo de bits que se reciben. Cuando se recibe un "cero" seguido por cinco "unos" se mira el siguiente bit (el sptimo). Si es un "cero" el bit se deshecha pues es producto de una insercin de bit. Si es un "uno" se observa el siguiente bit (el octavo). Si es un cero se reconoce un guin. Si es un uno es que se trata de una seal de abortar o de enlace inactivo. El enlace reconoce las siguientes secuencias de bits: Secuencia de bits 01111110 Al menos siete "unos" seguidos, pero menos de quince Quince o ms "unos" seguidos Significado GUIN ABORTAR ENLACE INACTIVO
El trmino asncrono no tiene nada que ver con el formato de los datos y el interface fsico de las estaciones. Se utiliza para indicar que las estaciones no necesitan recibir una seal preliminar procedente de otra estacin antes de comenzar a transmitir trfico. 2 Un nico guin se puede emplear como finalizacin de una trama y comienzo de la siguiente.
Introduccin a HDLC
Direccin El campo de direccin identifica la estacin (secundaria o combinada) que recibe o enva la trama. Hay que tener en cuenta: En las tramas de rdenes se coloca siempre la direccin de la estacin destinataria. En las tramas de respuesta se indica la direccin de la estacin remitente.
De esta forma, en el campo de direccin siempre se coloca la direccin de una estacin secundaria en los modos no balanceados (NRM y ARM). Pero no hay ningn tipo de ambigedad en dichos modos tanto en el caso punto a punto como multipunto, puesto que solamente hay una estacin primaria (que transmite las rdenes y sabremos a qu estacin secundaria van dirigidas) y una o varias secundarias (que transmiten las respuestas, y la primaria sabe de quin recibe la respuesta). Para el modo balanceado (recordar que ABM slo admite enlaces punto a punto) nos permite indicar la direccin de los comandos y sus respuestas asociadas. Existen dos modos de direccionamiento: monoocteto y multiocteto. Debe establecerse el modo de direccionamiento a utilizar antes de comenzar la transferencia de datos. monoocteto: se emplea un solo octeto podemos direccionar hasta 256 estaciones. Para tener una mayor capacidad de direccionamiento se debe usar el direccionamiento multiocteto. multiocteto: nos va a permitir utilizar ms de 256 estaciones al especificar la direccin con dos octetos o ms. Se utiliza el primer bit de cada uno de los octetos para indicar si es el ltimo octeto del campo de direccin. El octeto final debe llevar el primer bit a "uno" mientras que los octetos precedentes lo llevan a "cero".
Tambin se permiten direcciones de difusin (broadcasting). Estas ltimas usadas para referirse a todas las estaciones colocando todos los bits del campo de direccin a "uno".
Introduccin a HDLC
Control El campo de control nos identifica el tipo de trama y su funcin concreta. El formato del campo de control se puede apreciar en la figura:
Existen tres tipos de tramas: tramas de informacin (tramas I), tramas de supervisin (tramas S) y tramas no numeradas (tramas U). El campo de control permite distinguir entre ellas al proporcionarnos la siguiente informacin: N(S) Es el nmero de la trama transmitida. Aparece nicamente en las tramas de informacin. N(R) Es el nmero de la trama que se espera recibir del otro extremo. Se utiliza para confirmar la recepcin correcta de las tramas con N(S) menor que N(R)-1. S Dos bits para codificar los cuatro tipos existentes de tramas de supervisin. M Cinco bits que nos permiten definir hasta 32 rdenes y respuestas no numeradas. EL BIT P/F El bit P/F (polling/final) es el quinto bit en el campo de control de las tramas HDLC. Tiene dos usos claramente diferenciados: Sondeo: Es precisamente con la aplicacin primitiva de estos protocolos cuando surge el bit P/F. Se tenan circuitos multiacceso con sondeo y modo normal de respuesta y el bit P/F se utiliza como testigo asociado al turno de transmisin. Una estacin principal mantiene el bit P/F a cero mientras manda rdenes y no da opcin a que las secundarias puedan responder. Cuando pone el bit P/F a uno (en este caso acta el bit como sondeo -Poll) se cede el turno a la secundaria para que transmita. La secundaria emite su respuesta con el bit P/F a cero hasta que en la ltima trama que tiene para enviar coloca el bit P/F a uno (ahora actuar como bit F -Final) para
Introduccin a HDLC
indicar que ya no se tienen ms tramas para transmitir en ese ciclo de sondeo (se devuelve el turno). Sincronismo (Checkpointing - punteo): Nos va a permitir asociar lgicamente a una trama de respuesta con la correspondiente orden que la gener. La idea es que al enviar una trama con el bit P=1 se inicia un temporizador y se obliga a que esa trama sea respondida cuanto antes y de forma explcita con el bit F=1.
CAMPO DE CONTROL EXTENDIDO El uso de tres bits para especificar N(S) y N(R) significa que los nmeros de secuencia pueden oscilar entre 0 y 7. Esto implica que, como mximo, puede emplearse una ventana de transmisin de tamao 7. Aunque puede ser suficiente para muchas aplicaciones, aquellas que estn trabajando con enlaces largos (mucho retardo) o de alta velocidad pueden requerir ventanas de transmisin mayores si se quiere una utilizacin eficiente del enlace. El campo de control que se ha descrito puede ser ampliado con un octeto adicional, que nos va a permitir aumentar los tres bits de numeracin de secuencia de las tramas de informacin hasta siete bits con lo que la ventana de transmisin puede llegar hasta 127.
Informacin El campo de informacin contiene los datos propios de usuario. Existe solamente en las tramas I y algunas tramas U, como pueden ser las tramas UI (para transmitir informacin no numerada) y la trama FRMR (rechazo de trama). La longitud del campo de informacin es indefinida y suele ser mltiplo de 8 bits. Secuencia de verificacin de trama (SVT). El campo SVT (en ingls FCS- Frame Check Sequence) se utiliza para chequear los errores de transmisin entre dos estaciones. Se aplica un cdigo de redundancia cclico (CRC) a los campos de direccin, control e informacin de la trama.
Introduccin a HDLC
4. Tipos de Tramas
En HDLC se definen tres tipos de tramas: informacin, supervisin y no numeradas, las cuales se distinguen por su campo de control.
Sirven para transmitir informacin numerada secuencialmente. Todas las tramas de informacin contienen en el campo de control el nmero de la trama transmitida N(S), y el nmero de la trama que se espera recibir N(R) que confirma al otro extremo la recepcin de todas las tramas hasta N(R)-1. Por tanto, en enlaces con actividad bidireccional simultnea, las tramas de informacin en un sentido contienen asentimientos de la comunicacin en sentido opuesto (Piggybacking), lo que permite una mejor utilizacin del circuito de datos. Normalmente se representan las tramas de informacin por la letra "I" seguida por el N(S) y el N(R). As la expresin I21 quiere decir que es una trama de informacin con el nmero 2 y que se espera recibir del otro extremo la trama 1, con lo que estamos asintiendo hasta la trama cero. Las tramas de informacin pueden ser tanto rdenes como respuestas (O/R). Tramas de Supervisin (Tramas S)
Se emplean para llevar a cabo control de flujo y control de errores. Con los dos bits "S" podemos definir hasta cuatro tramas de supervisin. Las cuatro pueden utilizarse en versin de orden o respuesta, dependiendo si son generadas por una estacin (o fraccin de una combinada) principal o secundaria, respectivamente. RR (Receive Ready, Receptor preparado. S=00). Se utiliza para indicar la disponibilidad de recepcin de tramas y confirmacin de tramas, con el subcampo N(R). Una estacin primaria puede usar el comando RR para sondear a una estacin secundaria colocando el bit P=1. RNR (Receive Not Ready. Receptor no preparado. S=01). Indica una indisponibilidad transitoria de recepcin de tramas; realiza una funcin de control de
Introduccin a HDLC
flujo. Tambin asiente tramas anteriores con el campo N(R). Cuando el receptor pueda aceptar tramas de nuevo enviar una trama RR. REJ (Reject, Rechazo Simple. S=10). Utilizado para confirmar la recepcin de tramas anteriores a la N(R) y solicitar la retransmisin de la trama N(R) y posteriores. SREJ (Selective Reject, Rechazo selectivo. S=11). Confirma la recepcin de las tramas anteriores a la N(R) y solicita la retransmisin de la N(R) exclusivamente. Una trama SREJ debe ser transmitida por cada trama errnea, pero con la siguiente limitacin: solamente puede haber una trama SREJ pendiente; como el campo N(R) de la trama asiente todas las tramas precedentes, el envo de una segunda trama SREJ contradice la primera puesto que todas las tramas I con N(S) menor que el N(R) de la segunda trama SREJ seran asentidas. Existen estrategias que combinan REJ y SREJ, de forma que se enven las menores tramas posibles. Por ejemplo, si recibimos la trama 1 bien y las siete siguientes llegan con errores, es mejor enviar un REJ2 que no un SREJ por cada una de las siete tramas errneas. Tramas no numeradas (Tramas U)
Se emplean tambin para funciones de control como pueden ser la inicializacin del enlace, seleccin del modo de transferencia de datos, establecer variables de estado, etc. Tambin tenemos tramas de informacin no numeradas, esto es, sin nmero de secuencia que ni se asienten ni su envo modifica el nmero de secuencia de las tramas numeradas. Con los 5 bits "M" podemos distinguir entre los diferentes tipos de tramas no numeradas. Sxxx (Establecer modo de numeracin no extendido, Set unextended numbering mode) (Orden). Establece el modo de transferencia de datos. Se inicializan todas las variables y nmeros de secuencia. SNRM (Establecer modo de respuesta normal, Set Normal Response Mode). Inicializa el enlace en el modo de respuesta normal (NRM). SARM (Establecer modo de respuesta asncrono, Set Asynchronous Response Mode). Inicializa el enlace en el modo de respuesta asncrono (ARN). SABM (Establecer modo asncrono balanceado, Set Asynchronous Balanced Mode). Inicializa el enlace en el modo de respuesta asncrono balanceado (ABM). SxxxE (Establecer modo de numeracin extendido, Set extended numbering Mode). (Orden). Establece el modo de transferencia de datos con campo de control
Introduccin a HDLC
extendido. Nos permitir tener siete bits para especificar N(R) y N(S), con lo que el tamao de la ventana puede oscilar entre 1 y 127. SNRME (Establecer modo de respuesta normal extendido, Set Normal Response Mode Extended). Establece el modo de respuesta normal (NRM) usando campo de control extendido. SARME (Establecer modo de respuesta asncrono extendido, Set Asynchronous Response Mode Extended). Establece el modo de respuesta asncrono (ARN) usando campo de control extendido. SABME (Establecer modo asncrono balanceado extendido, Set Asynchronous Balanced Mode Extended). Establece el modo de respuesta asncrono balanceado (ABM) usando campo de control extendido. DISC (Desconectar, Disconnect). (Orden). Para abandonar el modo de operacin en curso. Las estaciones entran en un modo de desconexin predeterminado por el sistema. RSET (Reset). (Orden). Pone a cero las variables de transmisin, V(S), y recepcin, V(R), utilizadas respectivamente para generar N(S) y N(R). Las tramas previas no reconocidas permanecern sin reconocerse. UP (Sondeo no numerado, Unnumbered Poll).(Orden). Solicita la transmisin de respuesta a una o ms estaciones. Normalmente se establece la condicin especial de que cada estacin slo responda una vez. No contiene campo de informacin ni asiente tramas anteriores. UI (Informacin no numerada, Unnumbered Information). (Orden / Respuesta). Se utiliza para enviar informacin sin numerar secuencialmente y que no va a ser asentida. XID (Intercambio de identificacin, eXchange Identification). (Orden /Respuesta). Se utiliza para identificarse ante la otra estacin, enviar informacin de algn parmetro especfico, o especificar datos importantes. SIM (Establecer modo de inicializacin, Set Initialization Mode). (Orden). Orden de entrar en el modo de inicializacin. RIM (Peticin de modo de inicializacin. Request Initialization Mode). (Respuesta). Solicita el envo de la orden de entrar en el modo de inicializacin (SIM). Lo utiliza una secundaria para que la primaria enve la orden SIM. UA (Reconocimiento no numerado, Unnumbered Acknowledge). (Respuesta). La respuesta de asentimiento no numerado se utiliza para confirmar la recepcin y ejecucin de una orden de eleccin de todos los modos, inicializacin, desconexin o reposicin (Sxxx, SxxxE, DISC, RSET, SIM). DM (Modo desconectado, Disconnect Mode). (Respuesta). Se utiliza para responder a todas las rdenes mientras la estacin est en modo desconectado. Como respuesta
9
Introduccin a HDLC
a una orden de eleccin de modo indica la imposibilidad de entrar en el modo solicitado. Tambin se puede utilizar para solicitar la orden de eleccin de modo. TEST (Orden / Respuesta). Utilizada para solicitar respuestas de prueba a la otra estacin y comprobar si las cosas funcionan bien. HDLC no estipula cmo se deben usar las tramas TEST. Por ejemplo una implementacin puede utilizar el campo de informacin para diagnosticar problemas. FRMR (Rechazo de trama, Frame Reject). (Respuesta). Indica que una trama que hemos recibido tiene un error no recuperable con la retransmisin de la trama. La respuesta FRMR contiene un campo de informacin que contiene: el campo de control rechazado, el estado (variables V(R) y V(S)) de la estacin que origina la respuesta FRMR y cuatro bits (WXYZ) que puestos a uno indican las anomalas detectadas: W: el campo de control recibido (y devuelto) es invlido o no implementado. X: la trama recibida y rechazada contena un campo de informacin que no deba llevar. Y: la trama recibida y rechazada tiene una longitud que excede la capacidad del receptor. Z: el N(R) recibido asiente tramas que no han sido transmitidas. Si la causa del rechazo es diferente de esas, los cuatro bits se ponen a cero.
5. Clases de Procedimientos
Las clases de procedimientos consisten en la definicin de un conjunto bsico de rdenes y respuestas a utilizar en cada uno de los modos operativos de transferencia de datos, que puede ser ampliado (o restringido) opcionalmente con la inclusin (o exclusin) de ciertas rdenes o respuestas. Los tres modos de operacin (NRM, ARM y ABM) proporcionan un marco para definir tres clases de procedimientos: UN (UNC-Unbalanced Normal Class) Clase normal no balanceada: para utilizar en el modo NRM. UA (UAC-Unbalanced Asynchronous Class) Clase asncrona no balanceada: para utilizar en el modo ARM. BA (BAC-Balanced Asynchronous Class) Clase asncrona balanceada: para utilizar en el modo ABM.
La Figura 1 contiene el repertorio bsico de tramas para cada clase de procedimiento y las funciones opcionales para ampliarlos.
10
Introduccin a HDLC
Ejemplos de Procedimientos UN 3,4. El procedimiento UN 3,4 emplea el modo de respuesta normal (NRM) e incorpora rechazo selectivo (opcin 3) y la posibilidad de enviar tramas de informacin no numerada (opcin 4). Escenarios tpicos en donde se utiliza este procedimiento son circuitos multipunto con varias estaciones secundarias y actividad bidireccional alternada (semiduplex). BA 2,8. El procedimiento BA 2,8 emplea el modo de respuesta asncrona balanceada (ABM) e incorpora rechazo simple (opcin 2) y solamente se pueden utilizar tramas I como rdenes (opcin 8). El que no se pueda transmitir informacin en tramas de respuesta no plantea ningn problema puesto que las estaciones son
11
Introduccin a HDLC
combinadas y pueden transmitir tanto rdenes como respuestas al otro extremo. El escenario tpico se compone de un enlace punto a punto entre dos estaciones combinadas. LAPB (Link Access Procedure Balanced) es el protocolo de la capa de enlace de las redes X.25. LAPB est clasificado como un procedimiento BA 2,8 o BA 2,8,10 en funcin de si se utiliza o no el campo de control extendido (opcin 10). LLC (Logical Link Control)-IEEE 802.2- Estndar para redes de rea local clasificado como BA 2,4. LAPD (Link Access Procedure, D channel). Es otro subconjunto de HDLC (se deriva de LAPB), aunque tiene extensiones ms all de las que proporciona HDLC.
Bibliografa
[1] Fred Halsall, "Data communications, computer networks and open systems", Addison-Wesley (1992). [2] Uyles D. Black, "Data networks, Concepts, theory and practice", Prentice Hall International Editions (1989). [3] A. Alabau y J. Riera, "Teleinformtica y redes de computadores", 2 Ed. Marcombo 1992.
12