Unidad V

CAPA DE ENLACE

INTRODUCCION

La capa de enlace tiene que ver con algoritmos para la comunicación confiable y eficiente entre dos máquinas adyacentes. Por adyacentes queremos decir dos máquinas que están conectadas físicamente por un canal de comunicaciones que actúa conceptualmente como un alambre (un cable coaxial o una línea telefónica). La propiedad esencial de un canal que lo hace asemejarse a un alambre es que los bits se entregan con exactitud en el mismo orden en que fueron enviados.

A primera vista podría pensarse que este problema es tan trivial que no hay ningún software que estudiar: la máquina A sólo pone los bits en el alambre y máquina B simplemente los toma. Desafortunadamente, los circuitos de comunicación cometen errores ocasionales. Además, tienen una tasa de datos finita y hay un retardo de propagación diferente de cero entre el momento en que se envía un bit y el momento en que se recibe. Estas limitaciones tienen implicaciones importantes para la eficiencia de la transferencia de datos. Los protocolos usados para comunicaciones deben considerar todos estos factores.


CAPA DE ENLACE

CUESTIONES DE DISEÑO EN LA CAPA DE ENLACE DE DATOS

La capa de enlace de datos tiene que desempeñar varias funciones especificas que incluyen:

Proporcionar una interfaz de servicio bien definida con la capa de red
Determinar la manera en que los bits de la capa física se agrupan en marcos
Manejar los errores de transmisión
Regular el flujo de marcos para que los receptores lentos no sean abrumados por los transmisores rápidos.


Servicios proporcionados a la capa de red

La función de la capa de enlace es suministrar servicios a la capa de red. El servicio principal es la transferencia de datos de la capa de red de la máquina origen a la capa de red de la máquina de destino. El trabajo de la capa de enlace de datos es transmitir los bits a la máquina de destino, para que puedan ser entregados a su capa de red.

La capa de enlace de datos puede diseñarse para ofrecer varios servicios. Los servicios ofrecidos pueden variar de un sistema a otro. Tres posibilidades razonables que normalmente se proporcionan son:

1.- Servicio sin acuse sin conexión.-Consiste en hacer 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. Si se pierde un marco debido a ruido en la línea no se intenta recuperarlo en la capa de enlace esta clase de servicio es apropiada cuando la tasa de errores es muy baja, por lo que la recuperación se deja a las capas más altas. También es apropiada para el tráfico en tiempo real, por ejemplo la voz, en el que la llegada retrasada de datos es peor que los errores de datos.

2.-Cuando se ofrece este servicio aún no se usan conexiones, pero cada marco enviado es reconocido individualmente. De esta manera el transmisor sabe si el marco ha llegado bien o no. Si no ha llegado en un tiempo especificado, puede enviarse nuevamente. Este servicio es útil en canales inestables, como los sistemas inalámbricos.

3.-Servicio con acuse orientado a la conexión.- Con este servicio, las máquinas de origen y de destino establecen una conexión antes de transferir datos. Cada marco enviado a través de la conexión esta numerado, y la capa de enlace garantiza que cada marco enviado llegara su destino. Se garantiza que cada marco será recibido exactamente una vez y que todos los marcos sean recibidos en el orden adecuado.

Al usarse un servicio orientado a la conexión, las transferencias tienen tres fases, la primera fase, la conexión se establece haciendo que ambos lados inicialicen las variables y en la segunda fase se transmiten uno o más marcos, en la tercera fase, la final, la conexión se cierra liberando las variables, los buffers y otros recursos utilizados para mantener la conexión.

Ejemplo: una subred WAN.

Consiste en enrutadores conectados por medio de líneas telefónicas arrendadas punto a punto. Cuando llega un marco a un enrutador, el hardware verifica la suma de comprobación, y pasa el marco al software de la capa de enlace de datos; esta comprueba si este es el marco esperado y, de ser así, entrega el paquete contenido en el campo de carga útil al software del enrutador. El software del enrutador escoge la línea de salida adecuada y pasa el paquete de regreso al software de la capa de enlace de datos, que luego lo transmite.

El código de enrutamiento quiere que el trabajo siempre se haga bien, que haya conexiones estables y ordenadas en cada una de las líneas punto a punto. Es responsabilidad del protocolo de enlace de datos hacer que las líneas de comunicación no estables parezcan perfectas.


DETECCION Y CORRECCION DE ERRORES

CONTROL DE ERRORES

Como asegurarse que todos los marcos sean entregados finalmente a la capa de red en el destino, en el orden apropiado. La manera normal de asegurar la entrega confiable de datos, es proporcionar al transmisor realimentación sobre lo que esta 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. Si el transmisor recibe un acuse positivo significa que el marco llego correctamente, de lo contrario, si recibe un acuse negativo, significa que algo fallo y el marco deberá ser enviado nuevamente.

Una complicación adicional surge de la posibilidad de que problemas de hardware pueden causar la desaparición de un marco completo (por ejemplo, por una ráfaga de ruido). En este caso, el receptor no reaccionará en absoluto, ya que no tiene razón para reaccionar. Debe quedar claro que un protocolo en el cual el transmisor envía un marco y luego espera un acuse, positivo o negativo, se quedaría esperando eternamente si se pierde por completo un marco debido a una falla de hardware.


CONTROL DE FLUJO

Otro importante tema de diseño que se presenta en la capa de enlace es que hacer con un transmisor que sistemáticamente quiere transmitir marcos a mayor velocidad que aquella con que puede aceptarlos el receptor. Esta situación puede ocurrir cuando el transmisor opera en una computadora rápida y el receptor en una máquina lenta. El transmisor envía los datos a alta velocidad hasta que satura por completo al receptor. Aún así la transmisión esta libre de errores, en cierto punto el receptor simplemente no será capaz de manejar los datos según van llegando y comenzará a perder algunos.

La solución común es introducir un control de flujo para controlar la velocidad del transmisor de modo que no envíe a mayor velocidad que la que puede manejar el receptor. Este control de velocidad generalmente requiere algún mecanismo de realimentación, para que el transmisor pueda enterarse si el receptor es capaz de mantener el ritmo o no.

Se conocen varios esquemas de control de flujo, pero la mayoría se basa en el mismo principio. El protocolo contiene reglas respecto al momento en que un transmisor puede enviar el siguiente marco. Estas reglas con frecuencia prohiben el envío de marcos hasta que el receptor lo haya autorizado.

Ejemplo: Cuando se establece una conexión, el receptor podría decir: "Puedes enviarme n marcos ahora, pero tras transmitirlos, no envíes más hasta que te haya indicado que continúes".


CÓDIGOS DE CORRECCIÓN DE ERRORES

El código de detección de errores consiste en 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 se puedan manejar los errores es necesario estudiar de cerca lo que es un error. Normalmente un marco consiste de m bits de datos y r bits redundantes o de comprobación. Sea la longitud total n (es decir, n = m + r) se le conoce como palabra de códigos de n bits.

Dadas dos palabras códigos cualesquiera, 100001001 y 10110001, es posible determinar cuantos bits correspondientes difieren. En este caso difieren tres bits, para determinar la cantidad de bits que difieren basta aplicar una operación OR EXCLUSIVO a las dos palabras códigos y contar la cantidad de bits 1 en el resultado.

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


CÓDIGO DE DETECCIÓN DE ERRORES

Consiste en incluir suficiente redundancia para que el receptor sepa que ha ocurrido un error (pero no que error) y entonces solicite una retransmisión.

Los códigos de correcció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 por la retransmisión porque es más eficiente.

Ejemplo:

Considere un canal en el que los errores son aislados y la tasa de errores es de 10-6 por bit. Sea el tamaño de bloque 1000 bits.

Para proporcionar corrección de errores en bloques de 1000 bits se requieren 10 bits de comprobación. Para detectar un solo bloque con 1 bit de error, basta con un bit de paridad por bloque.

Si se agrega un solo bit de paridad a un bloque y el bloque viene muy alterado por una ráfaga de errores prolongada, la probabilidad de que se detecte el error es de 0.5, lo que es difícilmente aceptable.

En la práctica se usa otro método: el código polinómico ó código de redundancia cíclica (CRC). Los códigos polinómicos se basan en el tratamiento de cadenas de bits como representaciones de polinomios con coeficientes de 0 y 1 solamente.

La aritmética polinómica se hace módulo2, de acuerdo con las reglas de la teoría de campos algebraicos. No hay acarreos para la suma, ni préstamos para la resta. Tanto la suma como la resta son idénticas a un OR EXCLUSIVO.

Ejemplo:

10011011 00110011 11110000 01010101
11001010+ 11001101+ 10100110- 10101111-
___________ ___________ ___________ ___________
01010001 11111110 01010110 11111010

La división se hace de la misma manera que en binario, excepto que la resta se hace módulo2, igual que antes.

Cuando se emplea el método de código polinómico, el transmisor y el receptor deben acordar un polinomio generador por adelantado. Tanto los bits mayor como menor del generador deben ser 1. Por último un código con r bits de comprobación detectará todos los errores en ráfaga de longitud <= r.


PROTOCOLOS ELEMENTALES DE ENLACE

Para empezar estamos suponiendo que en la capa física de enlace 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 enlace se ejecutan en un procesador dentro de un chip especial de E/S y los de la capa de red los hacen en la CPU principal.

Otro supuesto clave es que la máquina A quiere mandar una cadena larga de datos a la máquina B usando un servicio confiable orientado a conexiones. Después consideremos el caso en que B también quiera mandar datos a A simultáneamente. Se ha supuesto 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 A solicita datos la capa de red siempre es capaz de proporcionarlos de inmediato.

En lo que concierne a la capa de enlace de datos, el paquete pasado a ella a través de la interfaz desde la capa de red es de puros datos, que deben ser entregados bit por bit a la capa de red del destino. El hecho de que la capa de red del destino pueda interpretar parte del paquete como un encabezado no es de importancia para la capa de enlace.

Cuando la capa de enlace acepta un paquete, lo encapsula en un marco agregando un encabezado y una cola de enlace. Por tanto, un marco consiste de un paquete incorporado más cierta información de control (encabezado) luego el marco se transmite a la otra capa de enlace. Supondremos que existen procedimientos de biblioteca to_physical_layer (a la capa física) para enviar un marco y from_physical_layer (de la capa física) para recibir un marco. El hardware transmisor calcula y agrega la suma de comprobación. , por lo que el software de la capa de enlace no necesita preocuparse por ella.


PROTOCOLO SIMPLEX SIN RESTRICCIONES

Ø Datos de transmiten en una sola dirección las capas de red en el transmisor y receptor siempre están listas, el tiempo de procesamiento puede ignorarse, espacio infinito del buffer, canal libre de errores.

Ø Dos procesamientos diferentes, uno transmisor y otro receptor que se ejecutan en las capas de enlace.

Ø Transmisor solo envía datos a la línea, obtiene un paquete de la capa de red, construye un frame de salida y lo envía a su destino (receptor).

Ø A este protocolo completamente irreal, le apodaremos "utopía".


PROTOCOLO SIMPLEX DE PARADA Y ESPERA

Ø El receptor no es capaz de procesar datos de entrada con una rapidez infinita.

Ø Receptor debe proporcionar retroalimentación al transmisor.

Ø Protocolos de parada y espera, el transmisor envía un frame y luego espera el acuse antes de continuar.

Ø El transmisor comienza obteniendo un paquete de la capa de red, usándolo para construir un marco y enviarlo a su destino. Solo que ahora, el transmisor debe esperar hasta que llegue un marco de acuse antes de reiniciar el ciclo y obtener el siguiente paquete de la capa de red. La capa de enlace de datos transmisora no necesita inspeccionar el marco de entrada: solo hay una posibilidad.

Ø Aunque el tráfico de datos en este es simplex, yendo solo del transmisor al receptor, los marcos si viajan en ambos sentidos. En consecuencia, el canal de comunicación entre las dos capas de enlace de datos necesita ser capaz de transferencia bidireccional de información.

Ø 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 físico semiduplex.


PROTOCOLO SIMPLEX PARA CANAL RUIDOSO

Ø Canal presenta errores, los frames pueden llegar dañados o perderse por completo.

Ø Agregar un temporizador, falla si el frame de acuse se pierde pues se transmitirá el frame.

Ø Se debe agregar un numero de secuencia en el encabezado de cada frame que se envía.


PROTOCOLOS DE VENTANA CORREDIZA

Ø Usar el mismo circuito para datos en ambas direcciones.

Ø Se mezclan los frames de datos con los frames de acuse de recibo.

Ø Receptor analiza el campo de tipo en el encabezado de un frame de entrada para determinar si es de datos o de acuse.

Ø Incorporación, retardo temporal de los acuses para que puedan colgarse del siguiente frame de datos de salida, usando el campo ACK del encabezado del frame.

Ø Mejor aprovechamiento del ancho de banda del canal, no son frames independientes.

Ø Si no llega un nuevo frame en un tiempo predeterminado, la capa de enlace de datos manda un frame de acuse independiente.

Ø En todos los protocolos de ventana corrediza cada frame de salida contiene un numero de secuencia con un intervalo que va desde 0 hasta algún máximo. El máximo es generalmente 2(n)-1, por lo que el numero de secuencia cabe bien en n bits.

Ø El protocolo de ventana corrediza de parada y espera usa n=1, restringiendo los números de secuencia a 0 y 1. Las versiones mas complejas pueden usar un n arbitrario.

Ø La esencia de todos los protocolos de ventana corrediza es que en cualquier instante, el transmisor mantiene un grupo de números de secuencia y corresponde a los frames que tiene permitido enviar. Se dice que estos marcos caen dentro de la ventana transmisora y el receptor mantiene una ventana receptora correspondiente al grupo de frames que tiene permitido aceptar.

Ø Las ventanas no necesariamente tienen los mismos limites inferior y superior, ni siquiera el mismo tamaño.

Ø Los números de secuencia en la ventana del transmisor representan frames enviados pero aun no reconocidos, cuando llega un paquete nuevo de la capa de red, se le da el siguiente numero secuencial mayor, y la orilla superior de la ventana avanza en uno. Al llegar un acuse, la orilla inferior avanza en uno. De esta manera la ventana mantiene continuamente una lista de frames reconocidos.

Ø El transmisor debe mantener los frame por si estos se dañan o pierden. Tamaño máximo de la ventana es n, transmisor necesita n buffers.

Ø La ventana de la capa de enlace de datos receptora corresponde a los frames que puede aceptar. Todo marco que caiga Ø fuera de la ventana se descartará sin comentarios.

Ø Cuando se recibe el frame cuyo número de secuencia es igual al extremo inferior de la ventana, se pasa ala capa de red, se genera un acuse y se avanza en la ventana en uno.

Ø Receptor conserva el tamaño inicial de la ventana a diferencia del transmisor.

Ø Tamaño de ventana de 1 significa que la capa de enlace datos sólo acepta frames en orden, con ventanas más grandes esto no es así.

Existen 3 protocolos que pertenecen a la clase de protocolos llamados protocolos de ventana corrediza. Los 3 difieren en cuanto a su eficiencia, complejidad y requerimiento del buffer, como se explicará después.


PROTOCOLO DE VENTANA CORREDIZA DE UN BIT

Ø Usa parada y espera, ya que el transmisor envía un frame y espera su acuse antes de transmitir el siguiente.

Ø La máquina que arranca obtiene su primer paquete de su capa de red, construye un frame a partir de él y lo envía. Al llegar este frame, la capa de enlace de datos receptor lo revisa para ver si es un duplicado. 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 frame recibido sin error. Si este número concuerda con el número de secuencia del 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 su capa de red. Si el número de secuencia no concuerda con el número, debe continuar intentando enviar el mismo frame.

Ø Por cada frame que se recibe, se envía un frame de regreso.

Ø Problema si el transmisor tiene un temporizador corto, ya que enviará varias veces el frame, sin embargo el receptor sólo aceptará el frame una vez y no entregará frames repetidos a la capa de red.


PROTOCOLO QUE USA REGRESAR N Y PROTOCOLO DE REPETICIÓN SELECTIVA

Ø Hasta ahora hemos supuesto insignificante el tiempo necesario para que un frame llegue al receptor más el tiempo para que regrese el acuse.

Ø El tiempo de viaje tiene importantes implicancias para la eficiencia del aprovechamiento del ancho de banda.

§ Canal de 50Kbps con retardo de propagación de ida y vuelta de 500 mseg.

§ Con frames de 1000 bits, en 20 mseg. El frame ha sido enviado completamente.

§ En 270 mseg. el frame llega por completo al receptor y en 520 mseg. llega el acuse de regreso al transmisor.

§ El transmisor estuvo bloqueado durante el 96% del tiempo (500/520). Sólo se usó el 4% del ancho de banda disponible.

Ø La combinación de un tiempo de transito grande, un ancho de banda grande y una longitud de frame corta es pésimo para la eficiencia.

Ø Permitir que el transmisor envíe hasta w frames antes de bloquearse, en lugar de sólo uno.

Ø Con w adecuado se podrá transmitir frames continuamente durante un tiempo igual al de tránsito de ida y vuelta sin llenar la ventana.

§ Con w=26, en 520 mseg. el transmisor termina de enviar 26 frames y llega el primer acuse.

§ Los acuses llegarán cada 20 mseg., por lo que el transmisor tendrá permiso de continuar justo cuando lo necesita.

§ El tamaño máximo de la ventana del transmisor es de 26.

Ø Esta técnica se conoce como entubamiento.

Ø Si la capacidad del canal es de b bps, el tamaño de frame de l bits y el tiempo de propagación de ida y vuelta de R segundos, el tiempo requerido para transmitir un solo frame es de l/b segundos.

Ø En parada y espera la línea esta ocupada l/b seg. y ociosa durante R seg. dando una utilización de la línea de l/(l+bR).

Ø Si l Ø Entubamiento es útil para mantener ocupada la línea mientras se propaga el acuse, si el intervalo es pequeño no se justifica. El entubamiento en canales inestables presenta serios problemas. ¿Frame se daña la mitad de una serie larga?, ¿Que hacer con los frames correctos que le siguen?

Ø Dos maneras de enfrentar los errores durante el entubamiento, Regresa n y repetición selectiva.

§ Regresa n, es q1ue el receptor descarte todos los frames siguientes, sin enviar acuses para los frames escartados.

§ En algún momento el transmisor terminará de esperar (temporizador) y retransmitirá todos los frames no reconocidos en orden.

§ Ventana de recepción de tamaño 1. La capa de enlace no aceptará frames excepto el siguiente que debe entregar a la capa de red.

§ Tasa de errores es alta se puede desperdiciar bastante ancho de banda.

§ Repetición selectiva, la capa de enlace de datos receptora almacena todos los frames correctos a continuación del equivocado.

§ Transmisor sólo retransmite el frame malo. Ventana de receptor mayor que uno.

§ Cualquier frame dentro de la ventana puede ser aceptado y mantenido en el buffer hasta que todos los precedentes hayan sido pasados a la capa de red.

§ Este enfoque puede requerir cantidades grandes de memoria en la capa de enlace de datos si la ventana es grande.


RENDIMIENTO DEL PROTOCOLO

Todos los protocolos sirven para convertir una línea que comete errores en un canal, virtualmente, libre de errores. En la práctica, difieren en forma substancial en materia de rendimiento. En las siguientes secciones, estudiaremos algunos aspectos relacionados con el rendimiento de los protocolos.


Rendimiento del protocolo de parada y espera

Los factores que tienen influencia sobre el rendimiento de un protocolos son varios, entre ellos, está el hecho de saber si 1,a longitud de las tramas es variable o fija, si la superposición se emplea o no, si el protocolo realiza una transferencia a crédito o envía y espera un acuse de recibo, si la línea es semiduplex o dúplex y, por último, depende de las características estadísticas de los errores de transmisión. Para nuestro protocolo 1, por ejemplo,, la eficiencia del canal es del 100%, porque el emisor se mantiene enviando información a plena carga. Sin embargo, los otros protocolos son menos, eficientes, porque tienen que esperar en algunas ocasiones por algún asentimiento, o bien, transmitir tramas por segunda vez.


Rendimiento del protocolo de ventana deslizante

En esta sección haremos un análisis sencillo de los protocolos de ventana deslizante. Para empezar, supóngase que los asentimientos se superponen en el tráfico que va en sentido contrario, de tal forma que pueden ser ignorados. Además, considere que el tiempo de procesamiento de la interrupción es despreciable, de tal forma que I es igual al tiempo de propagación en un solo sentido, r. Con estas suposiciones se simplifica considerablemente el análisis.

Primero se analizará un canal libre de error; después, se verá la forma en la cual los errores afectan al rendimiento. Hay dos casos que considerar. Si la ventana es suficientemente grande, el emisor puede continuar funcionando a su máxima velocidad porque los asentimientos llegan antes de que la ventana del emisor se llene. La condición para realizar una transmisión continua se puede derivar de la siguiente forma. El tiempo de transmisión de la trama es FIC, por lo tanto el emisor puede continuar durante un tiempo WFIC, después del cual tiene que detenerse, en caso de que la primera trama no haya sido asentida todavía. El primer asentimiento puede llegar en un tiempo 2I después de que la primera trama se haya transmitido, así que el asentimiento llegará en un tiempo igual a FIC + 2I. El emisor podrá funcionar continuamente si WFIC >- FIC + 2I.

En otras palabras, en este caso el canal funciona a toda su velocidad, con los bits de la cabecera como única sobrecarga.

Si la ventana es pequeña, el emisor tendrá que detenerse en algún punto y esperar a que llegue el primer asentimiento. Entonces, podrá enviar otra trama más, después de lo cual llegará el siguiente asentimiento, y así sucesivamente. Cada ciclo toma FIC + 2I y es bueno para W tramas o WD bits de datos. Así, se tiene que U = WDI(F + 2Cl), en donde el denominador representa la cantidad de ancho de banda utilizada en cada ciclo.


ESPECIFICACIÓN Y VERIFICACIÓN DE LOS PROTOCOLOS.

Los protocolos reales y los programas que los implementan son complicados. 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

ü Cada máquina de protocolo (transmisor o receptor) siempre está en un estado específico. Su estado consiste en todos los valores de sus variables.

ü Se pueden agrupar los estados a fin de analizarlos, los demás pueden considerarse transitorios.

ü Receptor, dos estados principales: la espera del frame 0 y la espera del frame 1.

ü Los estados se escogen como aquellos instantes en que la máquina de protocolo está esperando que ocurra el siguiente evento.

ü El estado del sistema completo es la combinación del estado de las dos máquinas de protocolo y del canal.

ü El canal tiene cuatro posibles estados: frame 0 ó 1 viajando del transmisor al receptor, un frame de acuse que va en el otro sentido o un canal vacío.

ü Estado correspondiente a la descripción del sistema cuando comienza a funcionar se le denomina estado inicial, desde donde se pueden alcanzar algunas o todos los estados mediante una secuencia de transiciones.

ü Usando teoría de grafos es posible determinar los estados que son alcanzables. Esta técnica se llama análisis de asequibilidad, útil para determinar si un protocolo es correcto o no.


Modelos de red de Petri

ü Tiene cuatro elementos básicos: lugares, transiciones, arcos y señales. En la figura 15 se muestra una red de Petri con dos lugares, A y B. El sistema está actualmente en el estado A, indicado por la señal en el lugar A. Se indica una transición mediante una barra horizontal o vertical. Cada transición tiene cero o más arcos de entrada, que llegan a sus lugares de entrada, y cero o más arcos de salida, que van a sus lugares de salida.

ü Se habilita una transición si hay al menos una señal de entrada en cada uno de sus lugares de entrada. Cualquier transición habilitada puede dispararse a voluntad, quitando una señal de cada lugar de entrada y depositando una señal en cada lugar de salida.


Ejemplos de protocolos de enlace de datos

HDLC-Control de enlace datos de alto nivel

ü Se deriva de un protocolo de enlace de datos usado en SNA de IBM, llamado SDLC (Synchronous Data Link Control). IBM lo sometió a ANSI y a ISO para su aceptación como estándar en EEUU e internacionalmente. ANSI lo modificó convirtiéndolo en ADCCP (Advanced Data Communication Control Procedure), e ISO lo modificó a HDLC (Highlevel Data Link Control). Luego el CCITT adoptó y modificó HDLC para su LAP (Link Access Procedure) como parte del estándar de interfaz de red de X.25, pero lo modificó a LAPB para hacerlo más compatible con una versión posterior de HDLC.

ü Todos usan el mismo principio, están orientados al bit y usan el relleno de bits para lograr transparencia de los datos.

ü El campo de dirección sirve para identificar los terminales, en líneas punto a punto a veces se usa para distinguir los comandos de las respuestas.

ü El campo de control se usa para número de secuencia, acuses y otros propósitos.

ü El campo de datos puede contener información arbitraria, longitud arbitraria.

ü El campo de suma de comprobación es una variación menor del código de redundancia cíclica.

ü El frame esta delimitado por una secuencia de indicación. En líneas punto a punto inactivas se transmiten secuencias de indicación continuamente.

ü Hay tres tipos de formatos del campo de control que a su vez definen los tres tipos de frames del protocolo: 1) Transferencia de información numerada (frame I); 2) Funciones de supervisión numerada (frame S); se utilizan para realizar funciones tales como acknowledgment de frames I, requerir la retransmisión de frames I, y suspender temporalmente la transmisión de frames I. 3) Funciones de control no-numerada (frame U), realizan funciones de supervisión adicionales tales como reiniciar la transmisión después de un período ocupado y variar el largo del campo de control.


La capa de enlace datos en Internet

ü SLIP-IP de línea serial, es el más antiguo de los protocolos, diseñado por Rick Adams en 1984 para conectar estaciones de trabajo Sun a Internet a través de una línea de discado usando un módem.

§ La estación sólo envía paquetes IP en bruto a través de la línea, con un byte indicador especial (0xC0) al final para delimitar el frame. Si el byte indicador ocurre dentro del paquete IP, se usa una forma de relleno de caracteres, enviándose la secuencia de dos bytes (0xBD, 0xDC) en su lugar. Si ocurre 0xBD también se rellena.

§ Algunas implementaciones SLIP agregan un byte indicador tanto al principio como al final de cada paquete IP enviado.

§ SLIP no efectúa detección o corrección de errores.

§ SLIP sólo reconoce IP.

§ Cada lado debe conocer por adelantado la dirección IP del otro, por lo que no se puede usar IP dinámica.

§ No proporciona ninguna forma de verificación de autenticidad.

§ No es un estándar aprobado de Internet, existen muchas versiones.

ü PPP- Protocolo Punto a Punto, IETF protocolo de enlace de datos para líneas seriales estándar de Internet.

§ Realiza detección de errores, reconoce múltiples protocolos, permite la negociación de direcciones IP en el momento de la conexión, permite la verificación de autenticidad.

§ PPP proporciona tres cosas principales:

· Un método de enmarcado, define el final de un frame y el inicio del siguiente. También maneja la detección de errores.

· Un protocolo de control de enlace para activar líneas, probarlas, negociar opciones y desactivarlas ordenadamente cuando ya no son necesarias. Este protocolo se llama LCP (Link Control Protocol).

· Un mecanismo para negociar opciones de capa de red con independencia del protocolo de red usado: El método escogido consiste en tener un NCP (Network Control Protocol) distinto para cada capa de red reconocida.

ü PC llama inicialmente al enrutador del proveedor de Internet a través de un módem, cuando el módem del enrutador ha contestado y establecido una conexión física, el PC manda al enrutador una serie de paquetes LCP en el campo de carga útil de unos o más frames PPP y sus respuestas seleccionan los parámetros PPP por usar.
ü Una vez acordado estos parámetros, se envían una serie de paquetes NCP para configurar la capa de red.
ü Típicamente el PC quiere ejecutar una pila de protocolos TCP/IP, por lo que necesita una dirección IP.

ü En este momento, el PC ya es un host de Internet y puede enviar y recibir paquetes de IP, igual que los hosts permanentes.
ü Cuando el usuario termina, se usa NCP para desmantelar la conexión de la capa de red y liberar la dirección IP.
ü Luego se usa LCP para cancelar la conexión de la capa de enlace de datos.
ü Finalmente, el PC indica al módem que corte la conexión telefónica, liberando la conexión de la capa física.
ü El formato de frame de PPP se escogió para que fuera muy similar a HDLC.
ü La principal diferencia es que PPP esta orientado a caracteres y no a bits.
ü El formato de frame PPP se muestra en la figura 17.

ü todos los frames PPP comienzan con el byte indicador estándar de HDLC (01111110), que se rellena si ocurre dentro del campo de carga útil.

ü Al campo de dirección siempre se le asigna el valor binario 11111111 para indicar que todas las estaciones deben aceptar el frame.
ü El campo de control tiene por valor predeterminado 00000011. Este valor indica un frame sin numero.
ü Esto significa que PPP no proporciona por omisión transmisión confiable usando números de secuencia y acuses.

ü En ambientes ruidosos como en las redes inalámbricas se puede utilizar el modo numerado para transmisión confiable.

ü El campo de protocolo indica la clase de paquete que esta en el campo de carga. Se definen códigos para LCP, NCP, IP, IPX, AppleTalk y otros protocolos.
ü El campo de carga útil es de longitud variable, hasta algún máximo negociado.
ü Si la longitud no se negocia con LCP durante el establecimiento de la línea, se usa una longitud de 1500 bytes.



©Uriarte Ramírez José Rodolfo

©Arredondo Hernandez Edy Paul