LA  CAPA  DE  ENLACE  DE  DATOS

 

Diseño de la capa 2, tiene que ver con los algoritmos dos maquinas están conectadas físicamente por un canal de comunicaciones. Estas limitaciones Tienen implicaciones  importantes para la eficiencia de la transferencia de datos. Los protocolos usados para comunicaciones deben considerar todos estos factores. Dichos protocolos son el tema de este capítulo.

 

Cuestiones de diseño de la capa de enlace de datos

 

La capa de enlace de datos tiene que proporcionar una interfaz de servicio bien definida con la capa red, determinar la manera en que los bits de la capa física se agrupan en marcos, manejar los errores de transmisión y regular el flujo de marcos.

 

Servicios proporcionados a  la capa de red

 

La función de la capa de enlace de datos es suministrar servicios de la capa de red en la máquina de origen a la capa de red en la máquina de destino.

 

1.        Servicio sin acuse sin conexión.

2.        Servicio con acuse sin conexión.

3.        Servicio con acuse orientado a la conexión.

 

El servicio sin acuse sin conexión consiste en que la máquina de origen envíe marcos independientes a la máquina de destino sin pedir que ésta los reconozca o acuse su recibo. No se establece conexión de antemano ni se libera después. Es apropiada cuando la tasa de errores es muy baja. La mayoría de las LAN usan servicios sin acuse sin conexión en la capa de enlace de datos. El siguiente paso hacia arriba en cuanto a confiabilidad es el servicio con acuse sin conexión. De esta manera, el transmisor sabe si el marco ha llegado bien o no. Este servicio es útil en canales inestables, como los de los sistemas inalámbricos. Proporcionar acuses de recibo en la capa de enlace de dato sólo es una optimización, nunca un requisito. Fibra, el gasto extra que implica el uso de un protocolo de enlace de datos muy robusto puede ser innecesario, pero en canales inalámbricos bien vale la pena el costo debido a su inestabilidad inherente. El servicio orientado a la conexión. Las máquinas de origen y de destino establecen una conexión antes de transferir datos. Garantiza que cada marco enviado llegará a su destino. Proporciona a los procesos de la capa de red un equivalente de un flujo de bits confiable.

 

Enmarcado

 

Es responsabilidad de la capa de enlace de datos y de ser necesario, corregir los errores. La capa de enlace de datos divida el flujo de bits en marcos discretos y que calcule la suma de comprobación para cada marco. Cuando un marco llega al destino, se calcula la suma de comprobación. Si la nueva suma de comprobación es distinta de la contenida en el marco, la capa de enlace de datos sabe que ha ocurrido un error y toma medidas para manejarlo. Dado que es demasiado riesgoso depender de la temporización para marcar el inicio y el final de cada marco, se han diseñado otros métodos:

1-       Conteo de caracteres.

2-       Caracteres de inicio y fin, con relleno de caracteres.

3-       Indicadores de inicio y fin, con relleno de bits.

4-       Violaciones de codificación de la capa física.

 

El primer método de enmarcado de vale de un campo del encabezado para especificar el número de caracteres del marco.

El problema con este algoritmo es que la cuenta puede alterarse con un error de transmisión.

Por esta razón, el método de conteo de caracteres ya casi no se usa en la actualidad.

El segundo método de enmarcado supera el problema de resincronización tras un error al hacer que cada marco comience con la secuencia de caracteres ASCII DEL STX  y termine con la secuencia DEL ETX.

De esta manera, si el destino llega a perder la pista de los límites del marco, todo lo que tiene que hacer es buscar los caracteres DEL STX o DEL ETX para determinarlos.

Hay un problema importante con este método cuando se transmiten datos binarios.

Una forma de resolver este problema es hacer que la capa de enlace de datos inserte un carácter ASCII DEL justo antes de cada carácter “accidental” de los datos. La capa de enlace de datos del lado receptor quita el DEL antes de entregar los datos a la capa de red. Esta técnica se llama relleno de caracteres. Una desventaja importante del uso de esta técnica de enmarcado es que está fuertemente atada a los caracteres de 8 bits en general y al código ASCII en particular. Tuvo que desarrollarse una técnica, esta nueva técnica permite que los marcos de datos contengan un número arbitrario de bits por carácter.

Solo se implica las redes en las que la codificación en el medio físico contienen cierta redundancia. Como nota final sobre el enmarcado, muchos protocolos de enlace de datos usan, por seguridad, una combinación de caracteres con uno de los otros métodos.

 

Control de errores

 

La manera normal de asegurar las entregas confiables de datos es proporcionar al transmisor realimentación sobre lo que está ocurriendo en el otro lado de la línea. Típicamente el protocolo exige que el transmisor envíe de regreso marcos de control especiales que contengan acuses positivos o negativos de los marcos de entrada.

Una complicación adicional surge de la posibilidad de que problemas de hardware pueden causar la desaparición de un marco completo. Esta posibilidad se maneja introduciendo temporizadores. El asunto de la administración de temporizadores y números de la secuencia para asegurar que cada marco llegue finalmente a la capa de red en el destino una sola vez, ni más ni menos es una parte importante en las tareas de la capa de enlaces de datos.

 

Control de flujo

 

Que hacer con un transmisor que sistemáticamente quiere transmitir marcos a una mayor velocidad que aquella con que puede aceptarlos el receptor.

Este control de velocidad generalmente requiere un mecanismo de realimentación, para que el transmisor pueda enterarse si el receptor es capaz de mantener el ritmo o  no.

El protocolo contiene  reglas bien definidas respecto al momento de que un transmisor pueda enviar el siguiente marco.

Estas reglas con frecuencia prohiben el envío de marcos hasta que el receptor la haya autorizado, implícita o explícitamente.

 

Detección y corrección de errores

 

Código de corrección de errores

 

Es incluir suficiente información redundante en cada bloque de datos transmitido para que el receptor pueda deducir lo que debió ser el carácter transmitido.

Para entender la manera en que pueden manejarse los errores es necesario estudiar de cerca lo que es en realidad un error. Normalmente, un marco consiste en m bits de datos (es decir, de mensaje) y r bits redundantes o de comprobación. Sea la longitud total n (es decir, n = m + r). A una unidad de n bits que contiene datos y bits de comprobación se le s reconoce como palabra código de un n bits.

Dadas dos palabras código cualesquiera, digamos 100010001 y 10110001, es posible determinar cuantos bits correspondientes difieren. Para determinar la cantidad de bits diferentes basta con aplicar una operación OR EXCLUSIVO a las dos palabras código y contar la cantidad de bits 1 es el resultado.

La cantidad de posiciones de bit en la que difieren dos palabras códigos se llama distancia de Hamming. Su significado es que, si dos palabras código están separadas una distancia de Hamming d, se requerirán d errores de un bit para convertir una en la otra.

Los códigos de Hamming solo pueden corregir errores individuales. Sin embargo hay un truco que puede servir para que los códigos de Hamming corrijan errores en ráfaga.

 

Código de detección de errores

 

Los códigos de detección de errores a veces se utilizan para la transmisión de datos; por ejemplo, cuando el canal es simplex, por lo que no pueden solicitarse retransmisiones. Sin embargo, con mayor frecuencia se prefiere la detección de errores seguida de la retransmisión porque es más eficiente. Como ejemplo simple, considere un canal en que los errores son aislados y la taza de errores es de 10 ˉ6  por bit. Sea el tamaño del bloque 1000 bits. Para proporcionar corrección de errores en bloques de 1000 bits se requieren 10 bits de comprobación; un megabit de datos requerirá 10,000 bits de comprobación. Para detectar un solo bloque con un bit de error, basta con un bit de paridad por bloque. Por cada 1000 bloque se tendrá que transmitir un bloque extra (1001 bits). El gasto extra del método de detección de errores + retransmisión es de solo 2001 bits por megabit de datos, contra 10,000 bits con un código de Hamming.

Aunque el esquema anterior puede ser adecuado en algunos casos, en la práctica se usa otro método muy difundido: el código polinómico (también conocido como código de redundancia cíclica o código CRC). Los códigos polinómicos se basan en el tratamiento de cadenas de bits como presentaciones de polinomios con coeficientes de 0 y 1 solamente.

 

 

 

Protocolos elementales de enlace de datos

 

Suponiendo que en las capas físicas, de enlaces de datos y de red hay procesos independientes que se comunican pasando mensajes de un lado a otro. En algunos casos, los procesos de la capa física y de la de enlace de datos se ejecutan en un procesador especial de E/S y de los de la capa de red lo hacen en la CPU principal, pero también pueden haber otras implementaciones.

En cualquier caso el tratar las tres capas como procesos independientes hace más nítido conceptualmente el análisis y también sirve para subrayar la independencia de las capas.

Otro supuesto clave es que la máquina A quiere mandar una cadena larga de datos ala máquina B usando un servicio confiable orientado a conexiones.

Se ha puesto que A tiene un suministro infinito de datos listos para ser enviados y nunca tiene que esperar a que se produzcan datos. Cuando la capa de enlace de datos de A solicita datos, la capa de red siempre es capaz de proporcionarlos.

Cuando la capa de enlace de datos acepta un paquete, lo encapsula en un marco agregando un encabezado y una cola de datos. Por tanto, un marco consiste en paquete incorporado más cierta información de control (encabezado). Luego el marco transmite la otra capa de enlace de datos.

El hardware transmisor calcula y agrega la suma de comprobación por lo que el software de la capa de enlace de datos no necesita preocuparse por ella.

Inicialmente el receptor no tiene nada que hacer. Solo está esperando que ocurra algo.

Cuando llega un marco receptor, el hardware calcula la suma de comprobación si la suma de comprobación es incorrecta (es decir, si hubo un error de transmisión), la capa de enlace de datos es informada. Si el marco entrante llega sin daño, la capa de enlace de datos también es informada para que pueda adquirir el marco e inspeccionarlo tan pronto como la capa de enlace de datos receptora adquiere un marco sin daños, revisa la información del encabezado y, si todo está bien, pasa la parte que corresponde al paquete a la capa de red.

Es importante entender la relación entre paquete y marco. La capa de red construye un paquete tomando un mensaje de la capa de transporte y agregándole el encabezado de la capa de red este paquete se pasa a la capa de enlace de datos para su inclusión en el campo info de un marco de salida. Cuando el marco llega a su destino, la capa de enlace de datos extrae el paquete del marco y lo pasa a la capa de red. De esta manera,  la capa de red puede actuar como si las máquinas pudieran intercambiar paquetes directamente.

En la mayoría de los protocolos suponemos un canal inestable que pierde marcos completos ocasionalmente. Para poder recuperarse de teles calamidades, la capa de enlaces transmisora debe arrancar un temporizador o reloj interno cada vez que envía un marco. Si no obtiene respuesta tras transcurrir cierto intervalo de tiempo predeterminado, el temporizador termina y la capa de enlace de datos recibe una señal de interrupción.

Cuando la capa de enlace de datos habilita a la capa de red, se permite que este se interrumpa cuando tenga que enviar un paquete.

Cuando una capa de red está inhabilitada, esto lo indicamos con even=network_layer_ready. Cuando una capa de red está inhabilitada, no puede causar tales eventos. Teniendo cuidado respecto a cuando habilita y deshabilita su capa de red, la capa de enlace de datos puede evitar que la capa de red la sature con paquetes  para los que no tiene espacio de buffer (memoria intermedia).

 

Un protocolo símplex sin restricciones

 

Protocolo que es lo más sencillo posible. Los datos se transmiten solo en una dirección; las capas de red tanto del transmisor como del receptor siempre están listas, el tiempo de procesamiento puede ignorarse, hay un espacio infinito de buffer y, lo mejor de todo, el canal de comunicación entre las capas de enlace de datos nunca tiene problemas ni pierde marcos. Este protocolo completamente irreal.

El protocolo consiste en dos procedimientos diferentes, uno transmisor y uno receptor. El transmisor se ejecuta en la capa de enlace de datos de la máquina de origen y el receptor se ejecuta en la capa de enlace de datos de la máquina de destino. No se usan números de secuencia ni acuses.

El transmisor está en un ciclo while infinito que solo envía datos a la línea tan rápidamente como puede. El cuerpo del ciclo consiste en tres acciones: obtener un paquete de la (siempre dispuesta) capa de red, construir un marco de salida usando la variable s y enviar el marco a su destino. Este protocolo solo utiliza el marco info del marco, pues los demás campos tienen que ver con los errores y el control de flujo, y aquí no hay errores de control de flujo.

El receptor es igualmente sencillo. De inicio, espera que algo ocurra, siendo la única posibilidad la llegada de un marco sin daños. En algún momento el marco llega y el procedimiento wait_for_event regresa, conteniendo event el valor frame_arrival (que de todos modos es ignorado). La llamada a from_physical_layer remueve el marco recién llegado del buffer de hardware y lo pone en la variable r. Por último la parte de datos se pasa a la capa de red y la capa de enlace de datos se retira para esperar el siguiente marco.

 

Protocolo símplex de parada y espera

 

Ahora nos desharemos del supuesto más irreal del protocolo 1: la capacidad de la capa de red receptora de procesar datos de entrada con una rapidez infinita (o, lo que es equivalente, la presencia de la capa de datos de una cantidad infinita de espacio de buffer en la cual almacenar todos los marcos de entrada mientras esperan su respectivo turno). Todavía se supone que el canal de comunicaciones está libre de errores y que el tráfico de datos es simplex.

El problema principal que debemos resolver aquí es como evitar que el transmisor sature al receptor enviando datos a mayor velocidad de la que este último puede procesarlos.

El receptor proporcione realimentación al transmisor. Tras haber pasado un paquete a su capa de red, el receptor envía un pequeño marco ficticio de regreso al transmisor que, de hecho, autoriza al transmisor para transmitir el siguiente  marco. Tras haber enviado un marco, el protocolo exige que el transmisor espere hasta que llegue el pequeño marco. Los protocolos en los que  el transmisor envía un marco y luego espera un acuse  antes de continuar se denominan de parada y espera.

La única diferencia entre receptor 1 y receptor 2 es que, tras entregar un paquete a la capa de red,  el receptor 2 envía un marco de acuse de regreso al transmisor antes de entrar nuevamente en el ciclo de espera. Ya que solo es importante la llegada del marco en el transmisor, no su contenido, el receptor no necesita poner ninguna información específica en él.

Aunque el tráfico de datos en este ejemplo es simplex, yendo solo el transmisor al receptor, los marcos sí viajan en ambos sentidos. En consecuencia, el canal de comunicación entre las dos capas de enlaces de datos necesita ser capaz de transferencia bidireccional de información. Sin embargo, este protocolo implica una alternancia estricta del flujo: primero el transmisor envía un marco, después el receptor envía un marco, luego el transmisor envía otro marco, el receptor envía otro marco, y así sucesivamente. Basta con un canal semidúplex.

 

 

 

Protocolo simplex para un canal ruidoso

 

Es claro que lo que se necesita es alguna manera de que el receptor sea capaz de distinguir entre un marco que está viendo por primera vez y una retransmisión. La forma evidente de lograr esto es que el transmisor ponga un número de secuencia en el encabezado de cada marco que envía, así, el receptor puede examinar el número de secuencia de cada marco que llega par ver si en un marco nuevo o un duplicado que debe descartarse.

Dado que es deseable que el encabezado de los marcos sea pequeño, surge la pregunta: ¿cuál es el mínimo de bits necesarios para el número de secuencia? La única ambigüedad en este protocolo es entre un marco, m, y su sucesor directo, m+1. Si el marco m se pierde o se daña, el receptor no acusará su recibo y el transmisor seguirá tratando de enviarlo. Una vez que el marco se recibe correctamente el receptor envía un acuse de regreso al transmisor.

 

Protocolo de ventana corrediza

 

En los protocolos previos, los marcos de datos se transmiten en una sola dirección. En la mayoría de las situaciones prácticas hay necesidad de transmitir datos en ambas direcciones. Una manera de lograr la transmisión dúplex integral es tener dos canales de comunicación separados y usar cada uno par tráfico de datos simplex (en diferentes direcciones). Si se hace esto, tenemos dos circuitos separados, cada uno en un canal “directo” (para datos) y un canal “ en reversa”  (para acuses). En ambos casos, el ancho de banda del canal de reversa se desperdicia casi por completo. En efecto, el usuario está pagando dos circuitos, pero solo usa la capacidad de uno.

Una mejor idea es usar el mismo circuito para datos de ambas direcciones.

 

Un protocolo de ventana corrediza de un bit

 

Tal protocolo usa parada y espera, ya que el transmisor envía un marco y espera su acuse antes de transmitir el siguiente.

Normalmente, una de las dos capas de datos es la que comienza. En otras palabras, solo uno de los programas de capa de enlace de datos debe contener las llamadas de procedimiento to_physical_layer y start_timer fuera del ciclo principal. Si ambas capas se iniciaran simultáneamente, surgiría una situación peculiar que se analizará después. La máquina que al llegar esté (o cualquier) marco, la capa de enlace de datos receptora lo revisa para ver si es un duplicado igual que en el protocolo 3. Si el marco es el esperado, se pasa a la capa de red y la ventana del receptor se recorre hacia arriba.

El campo de acuse contiene el número del último marco recibido sin error. Si este número concuerda con el número de secuencia de marco que está tratando de enviar el transmisor, éste sabe que ha terminado con el marco almacenado en el buffer y que puede obtener el siguiente paquete de la capa de red. Si el número de secuencia no concuerda, debe continuar intentado enviar el mismo marco. Por cada marco que se recibe se envía un marco de regreso.

 

 

Un protocolo que usa regresar n

 

Hasta ahora hemos supuesto tácitamente que el tiempo de transmisión requerido para que un marco llegue al receptor más el necesario para que el acuse regrese es insignificante. A veces esa suposición es claramente falsa en estas situaciones el viaje redondo prolongado puede tener implicaciones importantes para la eficiencia del aprovechamiento del ancho de banda.

La combinación de un tiempo de tránsito grande, un ancho de banda grande y una longitud de marco corta es desastrosa en lo que toca  a la eficiencia. El problema puede verse como una consecuencia de la regla que requiere el transmisor espere un acuse antes de enviar otro marco. Si relajamos esta restricción, puede lograrse una eficiencia mucho mejor, básicamente la solución está en permitir que el transmisor envíe hasta w marcos antes de bloquearse en lugar de solo uno. Con una selección adecuada de w, el transmisor podrá transmitir marcos continuamente durante un tiempo igual al tiempo de transito de ida y vuelta sin llenar la ventana.

Esta técnica se conoce como entubamiento.

Hay dos enfoque básicos para manejar los errores del entubamiento. Una manera, llamada regresa n, es que el receptor descarte todos los marcos subsecuentes, sin enviar acuses para los marcos descartados. La otra estrategia general para manejar los errores al transmitir marcos en cascada, llamada repetición selectiva, consiste en hacer que la capa de enlace de datos receptora almacene todos los marcos correctos a continuación del equivocado. Cuando el transmisor por fin se da cuenta de que algo anda mal solo retransmite el marco malo.

 

Protocolo usando repetición selectiva

 

Si la línea es mala se desperdicia mucho ancho de banda de los marcos transmitidos. Una estrategia alterna para el manejo de errores es permitir que el receptor acepte y coloque en buffers los marcos que siguen a un marco dañado o perdido. Tal protocolo no rechaza marcos simplemente porque se daño o perdió un marco anterior. En este protocolo tanto el transmisor como el receptor mantienen una ventana de número de secuencia aceptables. El tamaño de la ventana del transmisor comienza en cero y crece hasta un máximo predefinido. El receptor tiene un buffer reservado para cada número de secuencia en su ventana.  Asociado a cada buffer hay un bit (arrived) que indica si el buffer está lleno o vacío. Al llegar un marco, su número de secuencia es revisado por la función between para ver si cae dentro de la ventana. De ser así, si no ha sido recibido aun se acepta y almacena. Esta acción se lleva a cabo sin importar si el marco contiene el siguiente paquete esperado por la capa de red. Por supuesto, debe mantenerse dentro de la capa de enlace de datos sin entregarse a la capa de red en el orden correcto.

 

 

 

Especificación y verificación de los protocolos

 

Los protocolos realistas, y los programas que los implementan, con frecuencia son complicados. En consecuencia, se requiere mucha investigación para encontrar técnicas matemáticas formales con las cuales especificar y verificar los protocolos.

 

Modelos de máquina de estado finito

 

Un concepto clave empleado en muchos modelos de protocolos es el de la máquina de estado finito.

En la mayoría de los casos puede agruparse un gran número de  estados a fin de analizarlos. Típicamente, los estados se escogen como aquellos instantes en que la máquina de protocolo está esperando que ocurra el siguiente evento. En este punto, el estado de la máquina de protocolo está determinado por completo por los estados de variables.

El estado del sistema completo es la combinación de todos los estados de las dos máquinas de protocolo y de canal. El canal tiene cuatro posibles estados: un marco cero o un marco uno viajando del transmisor al receptor, un marco de acuse que va en el otro sentido o canal vacío. Dada una descripción completa de las máquina de protocolo y de las características del canal es posible dibujar un grafo dirigido que muestre toidos los estados como nodos y las transiciones como arcos dirigidos.

 

Modelos de red de Petri

 

La máquina de estado finito no es la única técnica para especificar protocolos formalmente otra técnica es la red de Petri que tiene cuatro elementos básicos: lugares, transiciones, arcos y señales. Un lugar representa un estado en el que puede estar parte del sistema.

Las redes de Petri pueden servir para detectar fallas de protocolo de una manera parecida a como se hace con máquinas de estado finito. Las redes de Petri pueden representarse convenientemente en una forma algebraica semejante a una gramática. Cada transición  contribuye a una regla a la gramática. Cada regla especifica lugares de entrada y salida de transición.

 

Ejemplos de protocolos de enlace de datos

 

DIC-Control de enlace de datos de alto nivel

 

Derivan del protocolo de enlace de datos usado en la SNA de IBM, llamado SDLC. Tras de desarrollar SDLC, IBM lo sometió a ANSI y a ISO par su aceptación como estándar de E.U. e internacional, respectivamente.

Todos los protocolos orientados a bits usan una estructura de marco que contiene:

-          EL campo de control que se usa para números de secuencia, acuses etc.

-          El campo de datos que puede contener información arbitraria.

-          El campo de suma de comprobación.

-          El marco que está delimitado por otra secuencia de indicación.

-          Hay tres tipos de marcos: de información, de supervisión y no numerados.

Todos los protocolos proporcionan un comando, DISC (DISConnect), que permite a una máquina anunciar que va a ser desactivada.

Otro comando permite a una máquina que acaba de regresar y está en línea anunciar su presencia.

Un tercer comando es FRMR que indica que a llegado un marco con suma de comprobación correcta.

Los marcos de control pueden perderse o dañarse, igual que los de datos, por lo que deben ser reconocidos también, por lo que se proporciona un marco de control especial llamado UA (Unnumbered Acknowledgment).

 

La capa de enlace de datos en Internet

 

Internet consiste en máquinas individuales (host y enrutadores) y la infraestructura de comunicación que las conecta.

La comunicación punto a punto se utiliza en:

-          Miles de  organizaciones que tienen una o más LAN con host y enrutadores. Son estos erutadores y sus líneas lo que conforman la Internet.

-          Las líneas punto a punto de Internet de usuarios caseros conectados a través de un modem y líneas telefónicas de discado.

Tanto para una como para otro, se requiere de un protocolo punto a punto de enlace de datos en la línea para manejo de marcos, control de errores, etc. Estos protocolos son:

 

SLIP-IP de línea en serie

 

Es el más viejo de los protocolos. La estación sólo venía en paquetes IP en bruto a través de la línea, con byte indicador especial (0xC0) al final para delimitar el marco.

Las versiones más recientes de SLIP efectúan cierta compresión de encabezados TCP e IP. Aunque aun se utilizan ampliamente, SLIP tiene algunos problemas serios como el no detectar o corregir errores, o que solo reconoce IP, además cada lado debe reconocer por adelantado la dirección IP. SLIP no proporciona ninguna forma de verificación de autenticidad, SLIP no es un estándar aprobado por Internet.

 

PPP-Protocolo punto a punto

 

El PPP realiza detección de errores, reconoce múltiples protocolos, permite la negociación de direcciones IP, permite la verificación de autenticidad, etc.

PPP proporciona:

1-       Un método de enmarcado de línea sin ambiguedades.

2-       Un protocolo de control de enlace (LCP).

3-       Un mecanismo par negociar opciones de capa de red con independencia del protocolo de red.

La PC llama inicialmente al enrutador a través del módem y manda una serie de paquetes LCP, luego la PC quiere ejecutar una serie de protocolos TCP/IP por lo que necesita una dirección IP, cuando la adquiere, en ese momento la PC ya es un host de Internet. La diferencia entre PPP y HDLC es que el primero está orientado a caracteres no a bits.

PPP es un mecanismo de enmarcado multiprotocolo adecuado para usarse a través de módems, líneas de serie de bits HDLC, SONET y otras capas físicas. Maneja detección de errores, negociación de opciones, compresión de encabezados y , opcionalmente, transmisión con marcos HDLC.

 

La capa de enlace de datos en ATM

 

La capa física de ATM  cubre las capas física y de enlace de datos del modelo OSI, siendo la subcapa dependiente del medio físico funcionalmente similar a la capa física de OSI y teniendo la subcapa de convergencia de transmisión (TC) la funcionalidad de enlace de datos.

 

Transmisión de células

 

El primer paso es la suma de comprobación del encabezado. Cada célula contiene un encabezado de 5 bytes que consiste en 4 bytes de información del circuito virtual y de control seguidos de una suma de comprobación de 1 byte.

Para muchas aplicaciones de tiempo real, como voz y video, es aceptable la pérdida de algunos bits de vez en cuando. Debido a que cubre sólo encabezado, el campo de suma de comprobación de 8 bits se denomina HEC (Header Error Control).

Un factor que desempeño un papel principal en este esquema de suma de comprobación es que el ATM fue diseñado para usarse en fibra, y la fibra es altamente confiable.

Para aplicaciones que necesiten transmisión altamente confiable se desarrolló un esquema en el que a una secuencia de células consecutivas se aplica un OR EXCLUSIVO. El resultado una célula completa.

Las células deben transmitirse de acuerdo con un patrón de temporización predefinido. Si no hay célula disponible, la subcapa debe inventar una. Estas se llaman células de relleno.

Del lado del receptor, la célula de relleno se procesa en la subcapa TC, pero las OAM se entregan a la capa ATM. Las células OAM se distinguen de las de datos por tener ceros en los tres bytes de encabezado.

 

Recepción de células

 

En lo que respecta a la salida, la tarea de la subcapa TC es tomar una secuencia de células, agregarle un HEC a cada una, convertirlas en corriente de bits e igualar la velocidad de transmisión introduciendo células de relleno. En la entrada la subcapa hace exactamente lo inverso.

La parte más difícil es localizar los límites de las células en la corriente de bits de entrada.

A medida que entran los bits, la subcapa TC mantiene un registro de 40 bits par ver si son potencialmente un encabezado de célula válido si no, es rechazado hasta encontrar uno válido.