de un origen a un destino. Nivel físico proporciona sincronización a nivel de bit.(emisor y receptor usan misma duración de bit). Nivel de enlace empaqueta los bits en tramas. Tamaño fijo no hay necesidad de definir las fronteras de las tramas. Tramas de variable es muy frecuente en redes de área local. Necesario definir el final de una trama y el principio de la siguiente. Protocolo orientado a carácter, transporta caracteres de ocho bits que pertenecen a un sistema de codificación. La cabecera lleva las direcciones de origen y destino. La cola lleva bits para detección o corrección de errores. Para separar las tramas se añade flag al principio y final. Cualquier patrón usado para es flag podría ser parte de la información, cuando el receptor encuentra este patrón en medio de los datos piensa que ha llegado al final de la trama, para corregir este problema se añadió un estrategia de transparencia a nivel de byte. La transparencia a nivel de byte es el proceso de añadir un byte esta cada vez que hay un carácter de flag o un escape en el texto. En un protocolos orientados a bit la sección de datos de un trama es una secuencia de bits a ser interpretados por el nivel superior como texto, grafico, audio, video, etc. Tambien ocurre el mismo problema al usar protocolo orientado a caracteres. Para solucionar este problema se añade la estrategia transparencia de bits. Si se encuentra un “0” y cinco “1” se añade un “0”. El control de flujo coordina la cantidad de datos que se puedan enviar antes de recibir una confirmación y es una de las tareas mas importantes del nivel de enlace. El control de flujo es un conjunto de procedimientos que dice al emisor cuantos datos debe transmitir antes de que deba esperar una confirmación del receptor. Los datos de entrada deben ser comprobados y procesados antes de ser usados. La velocidad de procesamiento es a menudo mas lenta que la velocidad de transmisión. Incluye tanto la detección como la corrección de error. Permite al receptor informar al emisor de las tramas perdidas o dañadas en la transmisión y coordina la retransmisión de estas tramas por el emisor. Cada vez que se detecta un error en un intercambio, se retransmite en las tramas especificas a este proceso se denomina petición de repetición automática. (ARQ) El nivel de enlace puede combinar el tramado, control de flujo y control de error para conseguir la entrega de los datos de uno a otro. Los protocolos se implementan normalmente en software usando algún lenguaje de programación habitual. Los protocolos se dividen en aquellos que pueden ser usados en canales sin ruido (libre de error) y aquellos que se puedan usar en canales ruidosos (generador de error) Los protocolos de la primera categoría no se pueden usar en la vida real, pero sirven como base para comprender los protocolos de un canal ruidoso. Las tramas especiales llamadas acuse de recibo (ACK) y acuse de recibo negativo (NAK) pueden influir en la dirección opuesta con propósito de control de flujo y errores, los datos viajan en una sola dirección. En la vida real los protocolos de enlace de datos se implementan direccionales, los datos viajan en ambas direcciones. En estos protocolos la información de control de flujo y errores como los ACK y NAK se incluyen dentro de las tramas de datos usando una técnica denominada superposición de confirmación. • Protocolo que no tiene control de flujo o errores. • Unidireccional, los datos sólo viajan en una dirección (emisor receptor). • Tiempo de procesamiento del receptor despreciable. • El receptor quita inmediatamente la cabecera de la trama y envía los datos a su nivel de red (no hay desbordamiento). El nivel de enlace en el emisor recibe los datos de su nivel de red, forma una trama y los envía. Los niveles de enlace del emisor y del receptor proporcionan servicios de trasmisión a sus capas de red. Los niveles de enlace usan los servicios proporcionados por sus niveles físicos para la transmisión física de los bits. El emisor no puede enviar una trama hasta que su nivel de red tenga un paquete de datos para enviar. El receptor no puede entregar un paquete de datos a su nivel de red hasta que llegue una trama. El emisor está funcionando constantemente, no hay acción hasta que hay un petición desde el nivel de red. El receptor está funcionando constantemente, pero no hay acción hasta que no llega una notificación del nivel físico. Este comando “while” se repite de manera infinita. Esperar Evento: este programa estará apagado hasta que un evento genere el inicio del programa.
Obtener Datos toma :un paquete de datos del
nivel de datos Genera Trama: añade una cabecera y los flags delimitadores al paquete de datos para construir una trama. Enviar Trama: entrega los datos al nivel físico para su transmisión. Es similar al formato del algoritmo anterior, excepto que las tramas y los datos son hacia arriba. Recibir Datos: Recibe la trama desde el nivel físico. Entregar Datos: extrae los datos de la trama. Entrega Datos: entrega los datos al nivel de red usando el proceso. El emisor envía una secuencia de tramas sin pensar en el receptor en el receptor. Para enviar tres tramas, ocurren tres eventos en el emisor y tres en el receptor. Observar que las tramas de datos se muestran tramadas; la altura de la caja defina la diferencia entre el tiempo de transmisión en el primer y último bit de la trama. Este protocolo añade un mecanismo de control sencillo al protocolo de parada y espera. Para detectar y corregir tramas corruptas añade bits de redundancia a las tramas de datos. Cuando llega al receptos se verifica si esta corrupta. Las correcciones de errores de ARQ con parada y espera se hace manteniendo una copia de la trama enviada y retransmitiendo la trama cuando expira el temporizador El protocolo especifica que las tramas deben estar numeradas usando números de secuencias. Tener en cuenta el rango de los números de secuencias (rango mínimo). este rango mínimo que proporciona una comunicación no ambigua, los números de secuencias se pueden repetir cíclicamente. Deben ser adecuados tanto para tramas de datos como para tramas ACK. Los números de confirmación siempre indican el numero de secuencia de la trama siguiente esperada por el receptor. Control de enlace de datos de alto nivel) es un protocolo de comunicaciones orientado a bit sobre enlaces punto a punto y multipunto, que opera a nivel de enlace de datos, Implemeta mecanismos ARQ HDLC proporciona dos nodos de comunicación que se pueden usar en distintas configuraciones
Nodo de respuesta normal (NRM)
Nodo asíncrono balanceado (ABM) En este nodo la configuración de la estación esta desbalanceada: Una estación primaria puede enviar comandos Una estación secundaria solo puede responder El NRM se usa tanto para enlaces punto a punto como multipunto En este tipo de nodo la configuración esta balanceada, El enlace es punto a punto y cada estación puede funcionar como primaria y secundaria Se utiliza relleno de bits El campo dirección siempre vale 11111111 (dirección broadcast) salvo en líneas multipunto. El campo de contro es el que realiza todas las tareas propias del HDLC El CRC es normalmente de 16 bits, pero puede ser de 32 bits Las tramas HDLC pueden ser de tres tipos según el valor de los primeros bits del campo control RR (Receive Ready, Receptor preparado. S=00). Se utiliza para indicar la disponibilidad de recepción de tramas y confirmación de tramas, con el subcampo N(R). Una estación primaria puede usar el comando RR para sondear a una estación secundaria colocando el bit P=1. RNR (Receive Not Ready. Receptor no preparado. S=01). Indica una indisponibilidad transitoria de recepción de tramas; realiza una función de control de flujo. También 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 recepción de tramas anteriores a la N(R) y solicitar la retransmisión de la trama N(R) y posteriores. • SREJ (Selective Reject, Rechazo selectivo. S=11). Confirma la recepción de las tramas anteriores a la N(R) y solicita la retransmisión de la N(R) exclusivamente. Una trama SREJ debe ser transmitida por cada trama errónea, pero con la siguiente limitación: solamente puede haber una trama SREJ pendiente; como el campo N(R) de la trama asiente todas las tramas precedentes, el envío 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 serían asentidas. Existen estrategias que combinan REJ y SREJ, de forma que se envíen 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 erróneas. Se emplean también para funciones de control como pueden ser la inicialización del enlace, selección del modo de transferencia de datos, establecer variables de estado, etc. También tenemos tramas de información no numeradas, esto es, sin número de secuencia que ni se asienten ni su envío modifica el número de secuencia de las tramas numeradas. Con los 5 bits "M" podemos distinguir entre los diferentes tipos de tramas no numeradas. 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 asíncrono, Set Asynchronous Response Mode). Inicializa el enlace en el modo de respuesta asíncrono (ARN). SABM (Establecer modo asíncrono balanceado, Set Asynchronous Balanced Mode). Inicializa el enlace en el modo de respuesta asíncrono balanceado (ABM). 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 asíncrono extendido, Set Asynchronous Response Mode Extended). Establece el modo de respuesta asíncrono (ARN) usando campo de control extendido. SABME (Establecer modo asíncrono balanceado extendido, Set Asynchronous Balanced Mode Extended). Establece el modo de respuesta asíncrono balanceado (ABM) usando campo de control extendido. DISC (Desconectar, Disconnect). (Orden). Para abandonar el modo de operación en curso. Las estaciones entran en un modo de desconexión predeterminado por el sistema. RSET (Reset). (Orden). Pone a cero las variables de transmisión, V(S), y recepción, V(R), utilizadas respectivamente para generar N(S) y N(R). Las tramas previas no reconocidas permanecerán sin reconocerse. UP (Sondeo no numerado, Unnumbered Poll).(Orden). Solicita la transmisión de respuesta a una o más estaciones. Normalmente se establece la condición especial de que cada estación sólo responda una vez. No contiene campo de información ni asiente tramas anteriores. UI (Información no numerada, Unnumbered Information). (Orden / Respuesta). Se utiliza para enviar información sin numerar secuencialmente y que no va a ser asentida. XID (Intercambio de identificación, eXchange Identification). (Orden /Respuesta). Se utiliza para identificarse ante la otra estación, enviar información de algún parámetro específico, o especificar datos importantes. SIM (Establecer modo de inicialización, Set Initialization Mode). (Orden). Orden de entrar en el modo de inicialización. RIM (Petición de modo de inicialización. Request Initialization Mode). (Respuesta). Solicita el envío de la orden de entrar en el modo de inicialización (SIM). Lo utiliza una secundaria para que la primaria envíe la orden SIM. UA (Reconocimiento no numerado, Unnumbered Acknowledge). (Respuesta). La respuesta de asentimiento no numerado se utiliza para confirmar la recepción y ejecución de una orden de elección de todos los modos, inicialización, desconexión o reposición (Sxxx, SxxxE, DISC, RSET, SIM). DM (Modo desconectado, Disconnect Mode). (Respuesta). Se utiliza para responder a todas las órdenes mientras la estación esté en modo desconectado. Como respuesta a una orden de elección de modo indica la imposibilidad de entrar en el modo solicitado. También se puede utilizar para solicitar la orden de elección de modo. • TEST (Orden / Respuesta). Utilizada para solicitar respuestas de prueba a la otra estación y comprobar si las cosas funcionan bien. HDLC no estipula cómo se deben usar las tramas TEST. Por ejemplo una implementación puede utilizar el campo de información para diagnosticar problemas. FRMR (Rechazo de trama, Frame Reject). (Respuesta). Indica que una trama que hemos recibido tiene un error no recuperable con la retransmisión de la trama. La respuesta FRMR contiene un campo de información que contiene: el campo de control rechazado, el estado (variables V(R) y V(S)) de la estación que origina la respuesta FRMR y cuatro bits (WXYZ) que puestos a uno indican las anomalías detectadas Conexión/desconexion en la figura se puede usar las tramas U para el establecimiento de conexión y la liberación de conexión. El nodo A pide una conexión con una trama de tipo activación de modo de repuesta asíncrona balaceada. (SABM); el nodo B da una respuesta positiva con una trama de reconocimiento sin numerar(UA). Después de estos dos intercambios se pueden transferir datos entre los dos nodos (no se muestra en la figura). Después de la transferencia de datos, el nodo A envía una trama DISC(desconectar) para liberar la conexión; es confirmado por el nodo B respondiendo con una trama de reconocimiento sin numerar(UA) En la figura muestra un intercambio usando piggybacking . El nodo A comienza intercambio de información con una trama I numerada 0 seguida por otra trama I numerada1. el nodo B empotra su confirmación de ambas tramas dentro de una trama I de su propiedad . La primera trama I del nodo B también se numera 0(campo N(s)) y contiene un 2 en su campo N(R), confirmando la recepción de las tramas 1 y 0 de A e indicando que espera que la siguiente trama que llegue sea la 2. el nodo B transmite su segunda y tercera tramas I(numeradas 1 y 2 ) antes de aceptar mas tramas del nodo A. Además, su información en N(R) no ha cambiado: tramas 1 y 2 de B indican que el nodo B esta todavía esperando a que llegue la trama 2 de A. el nodo A ha enviado todos sus datos. Por lo tanto, no puede empotrar una confirmación en una trama I y envía una trama S en su lugar. El código RR indica que A esta todavía listo para recibir. El numero 3 del campo N(R) indica a B que las tramas 0,1 y 2 han sido aceptadas y que A esta esperando ahora la trama numero 3. La figura muestra un intercambio en el que se pierde una trama. El nodo B envía tres tramas de datos (0,1 y 2) pero la trama 1 se pierde. Cuando el nodo A recibe la trama 2, la descarta y envía un trama REJ para la trama 1. observe que el protocolo que se usa es vuelta atrás N con el uso especial de una trama REJ como una trama NAK. La trama NAK hace aquí dos cosas: confirma la recepción de la trama 0 y declara que la trama 1 y cualquiera siguiente debe ser reenviada. El nodo B, después de recibir la trama REJ, reenvía las tramas 1 y 2. El nodo A confirma la recepción enviado una trama RR(ACK) con confirmación el numero 3. Flag: comienza y termina con un flag de un byte con patrón 01111110. Dirección: es un valor constante y se pone a 11111111. Control: valor constante 11000000. Protocolo: lo q transporta en el campo de datos. Carga útil. Transporta los datos de usuario u otra información. FCS: secuencia de comprobación de tramas. Actualmente, millones de usuarios de internet que necesitan conectar sus computadoras de casa a un servido de un proveedor de internet usan PPP. Usan modem tradicional, usando una línea telefónica. Para controlar y manejar la transmisión de datos, necesitamos un protocolo PPP de nivel d enlace. Una conexión PPP pasa por varias fases que se pueden mostrar en un diagrama de transición de fases , como vemos en la figura: Muerto: En esta fase del enlace no se usa. No hay portadora activa(el nivel fisico) y la linea esta en silencio. Establecer. Cuando uno de los dos comienza la comunicación , la conexión entra en esta fase, en esta fase se negocian las opciones entre las dos partes Autenticar : La fase de autenticación es opcional: ambos nodos pueden decidir, durante la fase de establecimiento, no saltarse esta fase. Red. En la fase de red, tiene lugar la negociación de los protocolos de nivel de red. PPP especifica que dos nodos deben establecer un acuerdo de nivel de red antes de poder intercambiar datos a nivel de red. Abrir: En la fase de apertura tiene lugar la transferencia de datos. Cuando una conexión alcanza esta fase , se puede comenzar el intercambio de paquetes de datos. Terminar: En la fase de terminación se corta la conexión. Se intercambian varios paquetes entre ambos extremos para limpiar los datos remanentes y cerrar el enlace. Aunque PPP es un protocolo de nivel de enlace, PPP usa otro conjunto de protocolos para establecer el enlace , autenticar a los socios involucrados y transportar los datos de nivel de red. Se han definido tres conjuntos de protocolos para hacer PPP mas potente: El protocolos de control de enlace Dos protocolos de autenticación Varios protocolos de control de red Es responsable de establecer, mantener, configurar y terminar enlaces , también proporciona mecanismos de negociación para definir las opciones entre ambos extremos. Ambos extremos del enlace deben alcanzar un acuerdo sobre las opciones antes de poder establecer el enlace. Todos los paquetes LCP son transportados en el campo de carga útil de la trama PPP con el campo de protocolo fijado a C021 en hexadecimal.
El campo código define el tipo de paquete LCP. Hay
11 tipos de paquetes como se muestra en la tabla 11.2 Existen tres categorías de paquetes: La primera categoría , que comprende los primeros cuatro tipos de paquetes, se usa para configuración del enlace durante la fase de establecimiento. La segunda categoría, que incluye los paquetes 5 y 6 , se usa para terminar el enlace durante la fase de terminación. La últimos cinco paquetes se usan para monitorizar el enlace y depuración. Hay muchas opciones que se pueden negociar entre los extremos. Las opciones se insertan en el campo de información de los paquetes de configuración .En este caso , el campo de información se divide en tres campos: tipo de opción, longitud de opción y datos de la opción .En la tabla se listan algunas de las opciones mas frecuentes. La autenticación juega un papel muy importante en PPP porque PPP esta diseñado para su uso sobre enlaces de marcado donde es necesario verificar la identidad del usuario. La autenticación significa invalidar la identidad de un usuario que necesita acceder a un conjunto de recursos, PPP ha creado dos protocolos para autenticación: Protocolo de autenticación por contraseña Protocolo de autenticación por reto PAP : El protocolo de autenticación por contraseña Es un procedimiento de autenticación sencillo con un proceso de dos pasos: 1. El usuario que quiere acceder al sistema envía una identificación de autenticación 2. El sistema comprueba la validez de la identificación y de la contraseña y acepta o no la conexión PAP : El protocolo de autenticación por contraseña En la figura se muestra los tres tipos de paquetes usador por PAP y como se intercambian realmente. Los tres paquetes PAP son petición de autenticación ,ack de autenticación y nak de autenticación CHAP :El protocolo de autenticación por reto (CHAP) , es un protocolo de autenticación por reto de tres vías que proporcionan mayor seguridad que papa. En este método la contraseña se mantiene secreta , nunca se envía por la red
1. El sistema envía al usuario un paquete de reto
conteniendo un valor de reto, habitualmente unos pocos bytes. 2. El usuario aplica una función predeterminada que toma el valor del reto y la propia contraseña del usuario y crea un resultado. El usuario envía el resultado en el paquete de respuesta al sistema.