Aspectos del nivel de ligado de datos
La capa de enlace de datos realiza las tareas de agrupar los bits provenientes de la capa física y los agrupa para formar marcos (frames), así como tareas de control de errores y control de flujo.
Los servicios que la capa de enlace ofrece pueden ser de tres tipos: no orientados a la conexión, no orientados a la conexión sin confirmación y orientados a la conexión con confirmación.
La mayoría de las arquitecturas de red ofrecen un servicio no orientado a la conexión y sin confirmación en la capa de enlace de datos o correspondiente, ya que la capa de red puede hacerse cargo de esa tarea. La confirmación de recepción de un marco le sirve al emisor para saber que el marco llegó a su destino a la capa correspondiente de enlace de datos, lo cual no debe confundirse con que llegó íntegro a la aplicación.
Como dijimos, una tarea llevada a cabo en esta capa es la de agrupar los bit que vienen de la capa física y crear marcos. La longitud de los marcos puede ser fija o variable, y puede ser un múltiplo en bits del tamaño en bits del código usado (ascii, ebcdic, etc.). la tarea de enmarcado se puede efectuar por varios métodos que se describen a continuación.
- Por conteo de caracteres: La capa de enlace crea marcos de N símbolos, donde cada símbolo tiene N bits. Cada marco lleva como primer símbolo un número que indica el tamaño total del marco. Esta forma de enmarcar es obsoleta porque una vez que el primer símbolo se daña (indicando un tamaño mayor o menor del marco) no hay manera de saber qué marco fue el que se corrompió.
- Por caracter de inicio y fin: Este método envía un marco que comienza con uno o varios caracteres de significado especial y lo finaliza con otra combinación de caracteres especiales, de esta manera se resuelve el problema de que se dañe un marco, ya que el protocolo simplemente detecta el inicio y terminación de cada marco con estos caracteres. Obviamente, estos caracteres conforman parte del encabezado y cola de cada marco y son eliminados cuando se pasa el flujo de datos a la capa de red.
- Por banderas de inicio y fin: Es igual que el método de caracter de inicio y fin, excepto que el tamaño de los símbolos enviados no son fijos, sino que pueden ser de cualquier tamaño, y para esto entonces se deben especificar secuencias de bits de control predeterminados para delimitar el inicio y fin del marco. Por ejemplo, si esa secuencia es 100001, y si los datos a transmitir son la cadena 1100110011001100011, el marco completo es 10000111001100100110011100001.
Un problema que puede suceder tanto en este método como en el anterior es los datos a enviar contengan precisamente o por coincidencia la cadena de control (o caracter de inicio o fin). La solución es muy simple y consiste en modificar la cadena de control que viene como dato insertándole enmedio una cadena de control. Por ejemplo, si los datos son la cadena:
- 0011001110
100001
- 001100
el marco resultante sería:100001
- 0011001110100
100001
- 001001100
100001y como en el destino estos bits son eliminados, la cadena de datos entregada a la capa de red es:
- 0011001110100001001100
- Por uso de código inválido en el nivel físico: Generalmente, las cadena de bits o caracteres de control usados en los métodos anteriores no son parte del código entendido por la capa del nivel físico. Tal es el caso de los estándares IEEE 802.X.