![]() |
![]() |
![]() |
![]() |
![]() |
| El nivel
de enlace tiene como objetivo la transmisión y recepción,
de forma fiable o no, de bloques de información (tramas) entre usuarios
directamente conectados.
Es importante poder diferenciar los siguientes conceptos a este nivle:
Los equipos
terminales de datos pueden ser tanto la computadora central, como una computadora
personal, un terminal de cualquier tipo o un nodo de una red de conmutación
de paquetes. Basta con que se le incorpore la correspondiente función
de control de comunicaciones, normalmente una tarjeta integrada que se
conecta al modem o, en general, el ETCD. Estos equipos, denominados estaciones
de enlaces de datos, se clasifican según las funciones de control
de enlace que tienen asignadas. Los tipos de estaciones de enlace son las
siguientes:
|
| FUNCIONES DE UN PROTOCOLO
A NIVEL DE ENLACE DE DATOS.
Las funciones que han de considerar los distintos protocolos de enlace
de datos son los siguientes:
![]()
|
| 2.- ENTRAMADO.
2.1.- Protocolos Orientados a Carácter. Un protocolo orientado a carácter es aquel en el que los mensajes se componen de un conjunto de caracteres de un determinado código. Cada carácter, tanto de información como de control, tiene un significado específico y único. Estos fueron los primeros protocolos que se utilizaron, y aún están en vigor. A nivel de enlace, en los comienzos de la tele informática, aparecieron una gran variedad de protocolos incompatibles entre sí debido a la falta de normalización de estos primeros años. En 1970 aparece la norma ISO 17450 que regulaba la conexión entre equipos informáticos a través de redes de transmisión públicas. Entre los protocolos orientados a carácter más extendidos se encuentran los desarrollados por empresas privadas como el BSC, desarrollado por IBM y adoptado por varios fabricantes, y el SLC desarrollado para empresas de transporte aéreo. Los protocolos orientados a carácter emplean un determinado código para la transmisión de la información en el que se establecen ciertos caracteres para establecer control en la comunicación: el envío de tramas de información va acompañado de ciertas tramas de control. Los códigos más utilizados
son el ASCII y el EBCDIC. Los caracteres de control se clasifican según
su función en tres categorías:
![]() En el caso de enlaces punto-a-punto la estación transmisora envía a la receptora el carácter ENQ; si ésta está lista para recibir devuelve el carácter ACK, en caso contrario el NAK. Una estación transmisora que a su pregunta recibe un NAK espera un periodo determinado de tiempo e intenta establecer el contacto nuevamente. En el caso de enlaces multipunto el enlace se establece por sondeo cuando cuando es la estación primaria la que desea escuchar información de alguna secundaria: si ésta desea contestar a la primaria enviará un bloque que comenzará por STX o SOH, y si no desea transmitir, con EOT. El enlace se establece por selección en el caso contrario: la primaria selecciona una secundaria para pasarle información, si ésta acepta devuelve un ACK, sino un NAK. El final de transmisión se indica con la señal ETX o ETB. El enlace se libera con una señal EOT desde la estación emisora a la receptora. Un ejemplo de comunicación entre estaciones es el siguiente:
|
| 2.2.- Protocolos
Orientados al Bit.
Son protocolos más modernos que los anteriores y su aparición se debe a las dificultades que en determinados casos presentan los protocolos orientados a carácter. Las grandes ventajas de estos protocolos son:
|
| 3.2.- Códigos
de Control de Paridad.
La información redundante
que se introduce al final de la palabra está relacionada con la
paridad de la misma. Por ejemplo si al código telegráfico
ordinario de 5 dígitos se le añade un sexto, de manera que
si el número de 1s de los cinco primeros es par , el sexto será
un 0, y si es impar un 1 (paridad vertical), conseguimos un código
de distancia mínima 2 que detecta los errores simples. La formación
de este código sería:
Si los caracteres se agrupan por
bloques para la transmisión se puede aumentar la protección
de cada bloque con un carácter de control (paridad horizontal) que
puede estar combinado con el vertical. Continuando con el ejemplo anterior:
La transmisión de bloque
total se realiza secuencialmente por filas, reconstruyéndose la
matriz en recepción para la detección de errores. El ejemplo
describe un código de distancia mínima 4, capaz de corregir
los errores simples, y detectar los dobles, tiples y cuádruples
si éstos no forman un rectángulo en la matriz. A este tipo
de códigos se les denomina multidimensionales (el del ejemplo es
bidimensional).
Son un subconjunto de los códigos de control de paridad. En ellos se disponen los dígitos de paridad de tal manera que localicen la presencia de errores dentro del mensaje. Estos códigos tienen como muy poco distancia mínima 3. Supongamos palabras de L dígitos. Para detectar un error en una de los L bits, o la ausencia de error, necesitaremos al menos R de esos L bits, cumpliendo la relación:
de donde se deduce que el código Hamming más sencillo tendrá 2 bits de paridad y 1 de información. A los códigos que cumplen la relación anterior se le denomina código óptimo, en el sentido en que contienen el número máximo posible de bits de información, para una longitud de palabra L y una distancia mínima determinada (en nuestro caso 3). Las principales reglas relativas al control de paridad en los códigos de Hamming son:
p
= 3 bits de paridad: p0, p1, p2.
L = i0 i1 i2 i3 p0 p1 p2.
Se obtienen las ecuaciones:
de manera que si se recibe una palabra se comprueban las tres ecuaciones, y, en función de las que no se cumplen, se detectará la situación de error o la ausencia. Así por ejemplo, si no se verifican la primera y la tercera, el error estará en i2, que es el único que no interviene en la segunda pero sí en las otras dos. La probabilidad de no detectar error en este código depende de como se utilice. Si se utiliza como corrector existirá la probabilidad de que existan al menos dos errores (es decir, el código sólo puede corregir uno, si hay más no son corregibles), en un canal BSC con probabilidad de error p:
|
| 3.4.- Códigos
Polinómicos.
También denominados de redundancia
cíclica o CRC. Se basan en el tratamiento polinomios que sólo
tienen como coeficientes 0s y 1s, y que representan cadenas de bits. Una
trama de k bits se considera como el conjunto de coeficientes de un polinomio
de orden k-1, el bit más significativo (el situado más a
la izquierda) es el coeficiente de xk-1, y el menos el de x0.
Ejemplos:
Cuando se emplea el método
de código polinómico el receptor y el transmisor deben acordar
de antemano un polinomio generador,
G(x). Tanto los bits mayor como menor del polinomio deben ser 1. Para calcular
la suma de comprobación
para una trama con m bits (que constituye l mensaje), correspondiente al
polinomio M(x), el polinomio generador debe ser de grado menor que M(x).
La suma de comprobación es una operación que se efectúa
sobre los bits del mensaje que permite saber si hay alguno erróneo.
La idea es anexar una suma de comprobación al final del marco, de
manera que el polinomio-mensaje más la suma de comprobación
sean divisibles entre G(x). Cuando se recibe el mensaje se realiza la división
y si el resto, E(x), es distinto de cero es que se ha producido
algún tipo de error en la transmisión.
El algoritmo para calcular la suma de comprobación es el siguiente:
Como se ha explicado anteriormente,
el polinomio T(x) es divisible entre G(x), de forma que si no resulta alterado
durante la transmisión el resto de la división debe ser cero
(E(x)=0):
ya que un número binario sumado en módulo 2 con sigo mismo da cero. Sin embargo, un error E(x) no se detectará si es divisible por G(x). Se puede demostrar que mediante la elección de un polinomio generador adecuado los siguientes errores tienen patrones que no son divisibles por él, y por tanto detectables:
Hay tres polinomios que están
estandarizados internacionalmente:
|
| 4.- Ejemplos
de Protocolos de Enlaces.
Es el más viejo de los protocolos, está descrito en RFC 1055 y extremadamente sencillo. La estación transmite paquetes IP por la línea, delimitándolos exclusivamente con el carácter especial 0xCO al final de la trama. Para solucionar el problema que se presenta cuando este byte especial aparece entre los datos se utiliza una técnica de relleno, enviándose dos bytes (0xDB y 0xDC) en su lugar. Y si son éstos los que aparecen entre los datos se efectúa un nuevo relleno... Aunque en la actualidad SLIP es ampliamente usado presenta ciertos inconvenientes:
|
| 4.2.- PPP.
Actualmente cuando muchos usuarios piensan en el Protocolo Punto-a-Punto (PPP), lo hacen pensando en ordenadores personales (PCs), modems, y navegación por Internet. Sin embargo, PPP es un protocolo mucho más amplio que se emplea para transferir datos entre diversos tipos de computadoras y sistemas de computación, como routers, satélites ... Este protocolo tiene la habilidad de manejar tasas de datos desde las más bajas a las más altas usadas actualmente y es compatible con prácticamente cualquier tecnología de redes jamas desarrollada. El Internet Engineering Task Force (IETF), que ha sido quien ha guiado el desarrollo del PPP, está integrado por representantes de la industria, de las telecomunicaciones, de academias, y por grupos de usuarios. Se trata de un grupo abierto, cualquiera interesado en establecer estándares es libre de participar. Las reglas por las que se rige el IETF distan bastante de las de el resto de organismos de estandarización, como la ITU o la ISO. El IEFT ha favorecido una cultura según la cual es mucho más importante desarrollar un protocolo que funcione bien que producir documentos con los que todos estén de acuerdo. A diferencia de lo que ocurre en otras organizaciones, los participantes de IERF suelen discutir los prototipos de implementaciones y los resultados experimentales al mismo tiempo que se están escribiendo los protocolos. PPP, como cualquier otro protocolo de red, existe como una capa entre otras dos capas de la pila de protocolos. Por debajo está el interfaz hardware, que debe ser algún tipo de flujo de datos bidireccional, y sobre él los protocolos de la capa de red como IP o IPX. PPP toma prestado parte del control de enlace de datos de alto nivel (HDLC) para su interfaz con el nivel inferior, lo que extiende PPP para trabajar sobre líneas en serie asíncronas. De hecho, en el interfaz hardware, se encuentran una serie de restricciones:
PPP declara tres técnicas estándar de entramado para el uso en distintos medios. Todos están recogidos en la RFC 1662 y se denominan: HDLC asíncrono (AHDLC), HDLC bit-síncrono y HDLC octeto-síncrono. En cualquiera de los casos las tramas tendrán un número entero de bytes, ya que se trata de un protocolo orientado a carácter. El formato general es el siguiente:
El campo de control tiene un valor predeterminado de 00000011, que indica un marco sin número, porque PPP no tiene transmisión fiable (no hay números de secuencia y acuses de recibo), excepto en casos particulares como redes inalámbricas. La función del campo de
protocolo es indicar la clase de paquete que va en el campo de carga. Se
definen códigos para LCP, NCP, IP, IPX, AppleTalk y otros.
El campo de carga es de longitud variable, que puede ser negociada; en
su caso se puede usar relleno.
Cualquier conexión por modem, o enrutador-enrutador, pasa por la siguiente serie de fases:
|
| 5.- HDLC.
Entre las múltiples organizaciones internacionales que en los últimos años se han dedicado a elaborar normas de comunicaciones está la ISO, que se ha especializado en el establecimiento de estándares para los protocolos de red y otras actividades. HDLC (High-Level Link Control) es una norma publicada por la ISO que ha conseguido afianzarse por todo el mundo. Proporciona una amplia variedad de funciones y cubre un amplio espectro de aplicaciones. Está considerada en realidad como un ámbito que engloba a muchos otros protocolos: SDLC, LAP, LAPB,LAPD, LAPX y LLC. Obedece a la definición que vimos para el ARQ continúo (ventana deslizante). Como ya se vio es un protocolo orientado a bit (apartado 2.2). El protocolo HDLC puede instalarse de muy distintas maneras. Admite transmisiones dúplex y semidúplex, configuraciones punto-a-punto o multipunto, y canales conmutados o no conmutados. Una estación HDLC puede funcionar de una de estas tres maneras:
5.2.- Formato de la Trama HDLC. En HDLC se usa el término
trama para referirse a una entidad independiente de datos que se transmite
de una estación a otra través del enlace. Existen tres tipos
de tramas, en función de como sea su campo de control:
Las tramas con formato no numerado también realizan funciones de control. Sirven para inicializar un enlace, para desconectarlo, o para otras funciones de control del canal. Incluyen cinco posiciones de bits, que permiten definir hasta 32 comandos y 32 respuestas. El tipo de comando o respuesta dependerá de la clase de procedimiento HDLC que se trate.
|
Una trama consta de cinco o seis
campos:
|
| 5.3.- Transparencia
del Código y Sincronización.
HDLC es un protocolo transparente al código. El control de la línea no radica en ningún código en concreto. Ya hemos visto que al principio y al final de la trama se sitúa una secuencia de señalización, que puede ser de tres tipos:
El receptor monitoriza
constantemente el flujo de datos, después de recibir un cero después
de cinco unos consecutivos mira el siguiente bit: si es un cero lo ignora,
si es un uno mira al siguiente, si éste es un cero sabe que ha llagado
un patrón 01111110.
Este campo determina la forma en que HDLC controla el proceso de comunicación. El campo de control define la misión de la trama, que puede tener tres formatos (ver apartado 5.2). El campo de control identifica los comandos y respuestas utilizados para gobernar el flujo de tráfico por el enlace. El formato del campo de control determina como se codificará y empleará éste. El formato más sencillo es el de información; incluye dos números de secuencia: el N(S) (secuencia de envío) indica el número de orden asociado a la trama enviada, el N(R) (secuencia de recepción) indica cuál es el siguiente número de secuencia que espera el receptor. N(R) sirve como asentimiento de las tramas anteriores. ![]() El bit situado en la quinta posición, P/F (Polling/Final) sólo es reconocido cuando toma valor -1, y desarrolla las siguientes funciones:
|
| 5.5.- Comandos
y Respuestas.
Existen cuatro comandos y respuestas encargados de llevar a cabo funciones numeradas de supervisión, como es el sondeo, la aceptación de datos, la suspensión temporal de transferencia de datos, o la recuperación de errores. El formato del campo de control de supervisión es el siguiente: ![]() Estos son los comandos y respuestas empleados por el formato supervisor:
![]()
|
| Al tema anterior. | |
| Al tema siguiente. | |
| Al índice de temas. | |
| Al índice general. | |
|
|
Links relacionados. |