Story Transcript
TEMA 64: FUNCIONES Y SERVICIOS DEL NIVEL DE ENLACE. ´ TECNICAS. PROTOCOLOS. ´ 0.INTRODUCCION 1. NIVEL DE ENLACE. 1.1. CONCEPTO ´ 1.2. EVOLUCION ´ Y ESTRUCTURA 1.3. COMPOSICION 1.3.1. EL ENLACE DE DATOS ´ 1.3.2. INTERCAMBIO DE INFORMACION 1.3.3. ESTRUCTURA DE LOS MARCOS 1.4. CARACTER´ISTICAS 2. FUNCIONES DEL NIVEL DE ENLACE. ´ Y CORRECCION ´ DE ERRORES 2.1. DETECCION 2.2. CONTROL DE FLUJO ´ Y FUNCIONAMIENTO DEL ENLACE 2.3. ACTIVACION ´ DE LOS MARCOS 2.4. GENERACION 3. SERVICIOS DEL NIVEL DE ENLACE. 3.1. TIPOS DE SERVICIOS ´ SIN CONFIR3.1.1. SERVICIO NO ORIENTADO A CONEXION ´ MACION ´ SON CONFIR3.1.2. SERVICIO NO ORIENTADO A CONEXION ´ MACION ´ CON CONFIRMACION ´ 3.1.3. SERVICIO ORIENTADO A CONEXION ´ 4. TECNICAS DEL NIVEL DE ENLACE. ´ 4.1. TECNICAS DE CONTROL DE ERRORES ´ 4.1.1. DETECCION ´ 4.1.2. CORRECCION 5. BIBLIOGRAF´ IA
1
TEMA 64: FUNCIONES Y SERVICIOS DEL NIVEL DE ENLACE. ´ TECNICAS. PROTOCOLOS. ´ 0. INTRODUCCION Seg´ un el modelo OSI, la capa o nivel de enlace se encarga de los servicios de trasferencia de datos seguros a trav´es del enlace f´ısico: env´ıa bloques de datos (tramas) llevando a cabo la sincronizaci´on, el control de errores y de flujo necesario. La capa de enlace est´a en un nivel superior a la capa f´ısica. La capa de enlace pretende conseguir una comunicaci´on eficiente (aprovechar al m´ aximo la l´ınea) y fiable (garant´ıa de que los datos lleguen bien). Estamos comunicando dos m´ aquinas adyacentes, es decir, conectadas f´ısicamente entre s´ı, a nivel de enlace. En esta comunicaci´on pueden surgir algunos problemas como son los errores en la l´ınea o la velocidad de trasmisi´on finita (por ejemplo emitir a m´ as velocidad de lo que el receptor puede recibir). El nivel de enlace debe proporcionar protocolos que consigan realizar una comunicaci´on eficiente y fiable y que sea capaz de resolver los posibles problemas en cuanto a errores y control de flujo. 1. NIVEL DE ENLACE 1.1. CONCEPTO El nivel de enlace de datos detecta y corrige los errores que ocurren en el nivel f´ısico, proporcionando una l´ınea libre de errores de transmisi´on al nivel de red. Para ello trocea los datos de entrada en marcos de datos, los transmite secuencialmente, y procesa los marcos reconocidos, ofreciendo una comunicaci´on fiable y eficiente entre dos m´aquinas adyacentes. ´ 1.2. EVOLUCION Los circuitos de comunicaci´on cometen errores de cuando en cuando. Adem´as, tienen una velocidad de transmisi´on de datos finita y hay un retardo de propagaci´ on diferente de cero, es decir, existe un tiempo transcurre desde que un bit se env´ıa hasta que se recibe. Estas limitaciones, asociadas con la velocidad finita de las m´ aquinas para procesar los datos, tienen implicaciones muy importantes 2
en la eficiencia de la transferencia de datos. El nivel de enlace surge para paliar estos problemas y que la comunicaci´on sea fiable y eficiente a trav´es de una serie de algoritmos que lo resuelven. ´ Y ESTRUCTURA 1.3. COMPOSICION 1.3.1. EL ENLACE DE DATOS El enlace da datos puede definirse como el conjunto de 2 componentes CL (control de l´ınea) conectados por un circuito de emisi´on de datos, es decir, un enlace datos es el conjunto de estaciones terminales con sus circuitos de datos asociados que constituyen un sistema que permite el intercambio de informaci´on entre dichos elementos. ´ 1.3.2. INTERCAMBIO DE INFORMACION Para lograr el intercambio de informaci´on entre las estaciones a trav´es del enlace, podemos considerar las fases siguientes:
a) Conexi´ on del circuito.- Obtenci´on de un circuito f´ısico que conecta las estaciones. En el caso de l´ıneas conmutadas comprenden todos los procesos necesarios para el establecimiento del circuito (marcaci´on, conmutaci´on, etc.). En el caso de l´ınea dedicada, esta fase no ser´a necesaria.
b) Establecimiento del enlace l´ogico.- Comprende los procesos necesarios para poder iniciar la transferencia de datos a trav´es de un circuito f´ısico ya establecido. La estaci´ on que quiera iniciar la transferencia deber´a comprobar si la otra est´ a dispuesta, etc. Durante esta fase la informaci´on intercambiada por el enlace es informaci´ on de control generada en ambas estaciones.
c) Transferencia de datos.- Comprende todos los procesos necesarios para lograr la transferencia de mensajes de una estaci´on a otra. Normalmente tambi´en habr´ a intercambio de informaci´on de control asociada a dicha transferencia, como por ejemplo redundancia, validaciones, etc.
3
d) Terminaci´ on.- Durante esta fase tiene lugar la liberaci´on de los recursos asociados a la transferencia de informaci´on (buffers en las estaciones, etc.).
e) Desconexi´ on del circuito.- Comprende los procesos de liberaci´on del circuito. Las fases de conexi´ on y desconexi´on del circuito son competencia del nivel f´ısico. En las fases b, c y d interviene el nivel de enlace.
Figure 1: t64infgenfig.eps about here.
Esquema de comunicaci´ on a trav´es del nivel de enlace 1.3.3. ESTRUCTURA DE LOS MARCOS Un marco es una agrupaci´on de bits en una unidad de informaci´on mayor. Cada marco tendr´ a la siguiente estructura general:
CABECERA CAMPO ´ MACION
DE
INFOR-
CONTROL DE ERRORES
CAMPO FINAL
La cabecera identifica el comienzo de la transmisi´on, la estaci´on de origen, la estaci´ on de destino y el n´ umero de marco. El campo de control de errores se utiliza para verificar si la transmisi´on se ha llevado a cabo correctamente.
El emisor tiene la responsabilidad de agrupar la informaci´on en marcos que ser´ an retransmitidos posteriormente a trav´es del nivel f´ısico como una secuencia de bits. El receptor recibe los bits individuales procedentes del nivel f´ısico y ha de agruparlos en marcos, indicando d´onde empieza y acaba cada uno.
4
Procedimientos:
• Dejar silencios entre tramas.- dejar de transmitir entre trama y trama.
• Cuenta de caracteres.- poner al principio de la trama el n´ umero de caracteres que tiene.
• Caracteres de inicio y fin, con relleno de caracteres.- se ponen caracteres especiales al principio y final de la trama. Si alg´ un car´acter de la trama corresponde con uno de esos caracteres especiales, se coloca otro m´as antes para indicar que no es un delimitador si no que forma parte de los datos (relleno de caracteres).
• Indicadores de inicio y fin, con relleno de bits.- poner como delimitadores una combinaci´ on especial de bits llamada flag que identifique el comienzo y final de la trama. El relleno de bits es similar al relleno de caracteres pero a nivel de bit.
• Violaci´ on de c´ odigo.- consiste en usar una codificaci´on redundante en el medio f´ısico, utilizando como delimitadores estados de se˜ nalizaci´on no contemplados en el c´ odigo utilizado. 1.4. CARACTER´ ISTICAS Las caracter´ısticas del nivel de enlace que permiten establecer una comunicaci´ on efectiva entre la estaci´on emisora y la receptora, las cuales se suponen est´ an conectadas directamente son las siguientes: -Sincronizaci´ on de la trama: los datos se env´ıan en bloques que se denominan tramas. El comienzo y el final de cada trama debe identificarse. -Control de flujo: la estaci´ on emisora no debe enviar datos a una velocidad
5
mayor que la estaci´ on receptora pueda absorber. -Control de errores: todos los errores en los bits introducidos por el sistema de trasmisi´ on se deben corregir o, al menos, detectar. -Direccionamiento: en una l´ınea multipunto, como por ejemplo una red de area local (LAN), se debe identificar a las dos estaciones involucradas en la ´ trasmisi´ on. -Datos de control sobre el mismo enlace: normalmente no es deseable tener un enlace independiente para la informaci´on de control. Por consiguiente, el receptor debe ser capaz de diferenciar lo que es la informaci´on de control y lo que son los datos. -Gesti´ on de enlace: el inicio, mantenimiento y la conclusi´on de datos necesita una cantidad razonable de coordinaci´on y cooperaci´on entre las estaciones. Se necesitan pues, una serie de procedimientos para gestionar este intercambio. Quiz´ a la caracter´ıstica m´ as importante del nivel de enlace es que sea cual sea la naturaleza del canal, este nivel se comporta como si fuese un hilo conductor, de forma que los bits transitan por ´el en el mismo orden en que se emitieron (secuencialmente). 2. FUNCIONES DEL NIVEL DE ENLACE Entre las principales funciones que realizan el nivel de enlace est´an la detecci´ on y correcci´ on de los errores mediante mecanismos para detectar cu´ ando ha habido errores en un marco y posteriormente recuperarse de los mismos. Adem´ as se encarga tambi´en del control de flujo, es decir, de la regulaci´on del ritmo de env´ıo de tramas desde el trasmisor con el fin de no abrumar a los receptores lentos. Mientras que la capa f´ısica proporciona solamente un servicio bruto de flujo de datos, la capa de enlace de datos intenta hacer el enlace f´ısico seguro y proporciona medios para activar, mantener y desactivar el enlace. Puesto que la capa f´ısica se encarga de la trasmisi´on de cadenas de bits no estructuradas, una de las funciones del nivel de enlace ser´a agrupar estos bits en marcos en los que se incluir´an adem´as de los bits de informaci´on campos de delimitaci´ on del marco (para saber cu´al es el inicio y el final de dicho marco). 6
3. SERVICIOS DEL NIVEL DE ENLACE El servicio principal de la capa de enlace es la transferencia de datos de la capa de red de la m´ aquina origen a la capa de red de la m´aquina destino. En la m´ aquina de origen hay una entidad o proceso que entrega unos bits a la capa de enlace para su transmisi´ on a la m´aquina de destino. 3.1. TIPOS DE SERVICIOS 3.1.1
Servicio no orientado a conexi´ on sin confirmaci´ on.
En este tipo de servicio no se establece conexi´on previa y los marcos se env´ıan a la m´ aquina destino sin acuse de recibo. Es v´alido para aplicaciones en tiempo real.
7
3.1.2. Servicio no orientado a conexi´ on con confirmaci´ on. Aqu´ı tampoco se establece conexi´on previa, pero en este caso cada marco es notificado y confirmado por el destino al origen (reenv´ıo de tramas ante errores). Es apropiada para l´ıneas con errores y evita la sobrecarga en niveles superiores. 3.1.3. Servicio orientado a conexi´ on con confirmaci´ on. Los marcos no se env´ıan independientemente, sino que son numerados y antes del env´ıo de los mismos es necesaria una fase de establecimiento de la conexi´on en la que se negocian los par´ametros de comunicaci´on entre emisor y receptor, despu´es se env´ıa la informaci´on y finalmente se cierra la conexi´on. Cada marco se recibe una y s´ olo una vez (una comunicaci´on telef´onica, por ejemplo). ´ 4.TECNICAS ´ 4.1. TECNICAS DE CONTROL DE ERRORES En el nivel de enlace se incluyen los mecanismos adecuados que permitan detectar cu´ ando ha habido errores en un marco y posteriormente recuperarse de los mismos. ´ 4.1.1 DETECCION Los m´etodos empleados para saber si se dan errores de transmisi´on en un marco se basan en a˜ nadir ciertos bits de redundancia a cada trama, calculados en el transmisor seg´ un una determinada regla. El receptor con la misma regla calcula los bits de redundancia y los compara con los recibidos, si no coinciden, ha habido error de transmisi´on.
La t´ecnica m´ as utilizada para detectar errores (aparte del uso de un bit de paridad) es el uso de c´ odigos de redundancia c´ıclica (CRC). Lo que trata de resolver esta t´ecnica es que con la m´ınima redundancia se detecte el mayor n´ umero de errores. A esta redundancia se le llama FCS (frame check sequence). Necesitamos algunas definiciones: M: mensaje a transmitir; k bits
8
F: longitud de la FCS; n bits T: trama a transmitir; n+k bits P: patr´ on elegido para calcular la FCS; n+1 bits
Estos c´ odigos se llaman polin´omicos porque se establece una relaci´on uno a uno entre un polinomio y una palabra de c´odigo. Por ejemplo, 1001♦ x3 +1 (Una palabra de m bits tendr´a asociado un polinomio de grado m-1).
El emisor debe realizar las siguientes operaciones: 1. Multiplicar M(x) por Xn (para poder alojar la FCS tras el mensaje) 2. Dividir el resultado anterior por P(x) (polinomio generador) 3. El resto R(x) de la divisi´on anterior se suma a Xn M(x) para completar la trama T que realmente se transmite. El receptor u ´nicamente ha de dividir la trama recibida entre el polinomio generador; si el resto es 0, la trama ha llegado bien mientras que si es distinto de 0 el receptor conoce que se ha producido un error.
EJEMPLO:
M=110011♦M(x)=X5 +X4 +X+1 P=11001♦P(x)=X4 +X3 +1 Xn M(x)= X9 +X8 +X5 +X4 Xn M(x)/P(x)=R(x)= X3 +1 T= Xn M(x)+R(x)= X9 +X8 +X5 +X4 +X3 +1=1100111001 (esto es lo que realmente se transmite, es decir, el mensaje M junto con 4 bits de redundancia). ´ 4.1.2. CORRECCION Para corregir los errores lo que se hace es incluir informaci´on adicional que permite reconstruir el marco. As´ı, el marco constar´a de n bits (n = m+r), m bits de datos y r bits de comprobaci´on o redundancia. Este planteamiento es muy
9
similar al empleado en la detecci´on solo que ahora es m´as complejo y se introduce una mayor redundancia que va en consonancia con el n´ umero de errores que deseemos poder corregir. El m´etodo m´ as usado para detectar y corregir errores es el m´etodo de Hamming. Definimos la Distancia de Hamming como la distancia m´ınima entre las palabras de un c´ odigo, es decir, el n´ umero de bits en que difieren. As´ı pues dos palabras que difieran en una distancia d necesitan d errores para convertirse una en la otra.
Las otras propiedades de detecci´on/correcci´on de un c´odigo dependen de su distancia Hamming: • para detectar d errores se necesita un c´odigo con distancia d+1 • para corregir d errores se necesita un c´odigo distancia 2d+1
El m´etodo de Hamming consistir´a por tanto en, dados m bits de mensaje, a˜ nadir los r necesarios para corregir un bit (en su versi´on m´as sencilla). Los pasos necesarios son: • Numeramos de derecha a izquierda, comenzando por la posici´on • Las posiciones cuyo sub´ındice coincida con potencia de 2 van a ser los bits redundantes. • El contenido de esos bits se determina con un criterio de prioridad. El dato en posici´ on k contribuye a los bits potencia de 2 en los que se descompone k. 5. BIBLIOGRAF´ IA - Stalling, W: “Comunicaciones y redes de computadores”. Prentice-Hall.1997. - Tanenbaum, A.S.,”Computer Networks”, Prentice-Hall
10