Está en la página 1de 15

Comunicacin de Datos

Tema 1 Control del enlace de datos (LLC)

TEMA 1: Control del enlace de datos (LLC)


1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 Introduccin. Funciones de la capa de enlace. Servicio a la capa de red. Delimitacin de tramas. Gestin de errores. Control de flujo.

Pgina 1

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)

1.1

Introduccin:
Qu es el control del enlace de datos?

Un control de un enlace de datos es proporcionar una comunicacin fiable, que adems debera ser eficiente, entre mquinas adyacentes. Pero Cundo consideramos que dos mquinas son adyacentes? une. Decimos que dos mquinas son adyacentes cuando existe un medio fsico continuo que las

Denominaremos al medio cable, refirindonos con ello a un medio en el que podamos transmitir una secuencia ordenada de bits. (Cable, aire) Por qu tenemos que hacer un control del enlace? Esto es debido a que como bien sabemos los medios no son ideales. Lo que nos llevara aun determinado nmero de errores que afectaran a nuestra comunicacin. De esta forma Qu elementos y problemas afectaran a nuestra comunicacin? Transmisiones: Tendremos un determinado tiempo de transmisin por bit, siento la velocidad de transmisin limitada por el canal o por el receptor, adems de existir un retardo de propagacin. Canales Ruidosos: Que nos llevaran a errores. Control de flujo: Debido a diferentes velocidades de transmisin y recepcin, lo cual tambin introducir errores en nuestro sistema. Medios compartidos: En los que varios usuarios querrn transmitir a la vez y producirn colisiones, es decir ms errores aun. LLC es una subdivisin de la capa 2, de Enlace, del modelo OSI. Vemos como en la capa de enlace podemos encontrar dos secciones:

Qu es LLC?

LLC =Logical link control. MAC=Medium access control. La frontera entre estas secciones sin embargo no es fija, depender del medio que tengamos. En concreto de si es compartido o no. Rara vez encontraremos las dos juntas. Por ejemplo encontraremos slo LLC en redes PaP (pblicas) y slo MAC en ethernet (redes locales).

Pgina 2

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)

1.2

Funciones de la capa de enlace.

Manteniendo en mente el objetivo principal que perseguimos, es decir la entrega de unidades de datos. Analizaremos que funciones lleva a cabo la capa de enlace para ayudar a este objetivo. La capa 1, fsica nos proporciona un flujo de bits, un chorro de unos y ceros no fiable, vamos, as que todo el peso de lo que hagamos inicialmente con ellos recae en la capa 2. Para empezar agruparemos la informacin en unidades con las que trabajar, de forma que organizaremos los datos en paquetes que la capa siguiente, la de red sea capaz de comprender Porque en el fondo la capa de enlaces es su servidora. Y a continuacin nos encargaremos de su falta de fiabilidad mediante determinados mecanismos: Control de errores: Corregiremos defectos de la capa fsica. Control de flujo: Adaptaremos la velocidad de transmisin segn la velocidad de recepcin nos marque. Delimitacin de tramas: De forma que est claro donde empiezan y donde acaban. Direccionamiento: Ya que en un medio compartido hay que indicar claramente de donde venimos y a dnde vamos. Estos mecanismos de la capa de enlace y los propios a otras capas hacen que cada vez que descendemos un nivel aadamos informacin extra a nuestros datos iniciales, y as identificaremos unidades de datos, errores, direcciones etc.

1.2.1

Servicio a la capa de red: La capa de enlace ofrecer servicio segn dos posibilidades:

Servicio confirmado: Cada trama enviada debe ser confirmada, explicita o implcitamente, para lo cual requeriremos de identificadores de trama, que reducirn la eficiencia. Servicio conectivo: Previamente a la transmisin de cada trama estableceremos, negociaremos, una conexin. De esta forma garantizaremos una mejor fiabilidad, perdiendo la individualidad de las tramas que ahora pertenecern a un conjunto, una conexin. Enviando de esta forma: el Id de la conexin y el nmero de secuencia. Si combinamos estas dos opciones llegaremos a cuatro tipos distintos de servicios, que irn creciendo en funcionalidad, fiabilidad, complejidad y coste: a) b) c) d) No confirmado / No conectivo. Confirmado / No conectivo. No confirmado / conectivo. Confirmado / Conectivo. Vemoslos uno a uno, en detenimiento.

Pgina 3

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
a) No confirmado / no conectivo. En este servicio no garantizamos nada. No hay control. Enviamos los datos y si no llegan el problema, es decir la deteccin y resolucin del mismo, es de las capas superiores. La capa de enlace se lava las manos. Enviar y punto? Dnde podemos usar algo as? Implementaremos este mtodo en dos casos: Medios muy buenos, es decir poco ruidosos, con una BER (Bit Error Rate) pequea. Por ejemplo: fibra ptica, UTP-6 (Cable de Redes locales) Servicios que no admiten espera: Es decir servicios en tiempo real, en los que una retransmisin no tiene sentido.

En general se implementa en todas las redes Ethernet, que por cierto son aproximadamente el 95% de todas las redes mbito local, con su BER. b) Confirmado / no conectivo. Cada trama, en este servicio, se asiente individualmente, para lo cual tendremos que identificar las tramas y as saber cual estoy confirmando. Para los siguientes transmisin continua. Ejemplo 1: Sin errores: Enviamos CRIS, recibimos CRIS en orden, y confirmamos cada letra. ejemplos supondremos

C ACK C R ACK R I ACK I S ACK S

C ACK C R ACK R I NACK I S ACK S I ACK I

Ejemplo 2: Ocurre un error Recibimos CRSI. Como se ve en este ejemplo gracias a la confirmacin obtenemos todas las letras, es decir garantizamos la entrega pero no llegan colocadas, no garantizamos el orden.

Pgina 4

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
Ejemplo 3: Se pierde una confirmacin. Recibimos CRISR. El receptor no hace nada respecto a la perdida ya que ha enviado la confirmacin y no sabe que se ha perdido. As que el transmisor reenva la trama para asegurarse de que le llega al receptor, pues no ha recibido confirmacin positiva (ACK: acknowledge) ni negativa (NACK: negative acknowledge). Cundo reenva? Reenva cuando pasa un tiempo prudencial, si en T ms no ha llegado confirmacin, deduce que algn error sucedi y lo reenva. Como vemos en el ejemplo no garantizamos la entrega nica. Ejemplo 4: Se pierde una trama completa. Recibimos CISR. El caso es similar al anterior, el receptor no hace nada respecto a la perdida ya que ha enviado la confirmacin y no sabe que se ha perdido. As que el transmisor reenva la trama para asegurarse de que le llega al receptor, pues no ha recibido confirmacin positiva (ACK) ni negativa (NACK). Reenva al cumplirse el tiempo explicado en el caso anterior.
A B

C {TC} ACK C R ACK R {TR} {TI} I ACK I S ACK S R ACK R

{TS}

{TR}

C {TC} R ACK C

{TR} {TI}

I ACK I S ACK S R ACK R

{TS}

{TR}

c) No confirmado / conectivo. Este servicio se implementar en redes en las que el error es muy bajo Redes de datos actuales debido a esto no merece la pena implementar un mecanismo de retransmisin y dejar la gestin del error a capas superiores. Ya que es conectivo garantizar la entrega y la unicidad ya que no retransmitimos, sin embargo al no haber confirmaciones no garantiza la entrega.

Pgina 5

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
d) Confirmado / conectivo. Al ser conectivo existir un establecimiento previo de conexin, ya que confirmaremos las tramas llevarn un identificador de trama que indicar la conexin a la que pertenece y el orden de secuencia. Este servicio por lo tanto garantizar la entrega, el orden y la unicidad, convirtindose en completamente fiable, siempre que se detecten bien los errores claro. Lo veremos implementado en redes de datos clsicas como X-25 ya que utilizaban medios de transmisin poco fiables. En resumen: Entrega Orden Unicidad Ejemplo fibra ptica No conectivo / no confirmado UTP-6 (Cable Redes locales) X X X X X X Inalmbrico Redes datos Actuales Redes datos Clsicas X25 de

No conectivo / confirmado Conectivo / no confirmado Conectivo / Confirmado

1.2.2

Delimitacin de tramas: Cmo hace la capa de enlace para trocear el flujo de bits y delimitar las tramas? Veremos cuatro opciones que la capa de enlace puede utilizar para semejante labor - digna de un carnicero preparando salchichas. a) b) c) d) Temporizadores. Cuenta de caracteres. Patrones de inicio y fin. Violacin de la capa fsica.

Usandose el b y el c en la mayora de protocolos y el d solo en Token Ring. Veamolos uno a uno. a) Temporizadores. Este mecanismo se basa en la sincronizacin entre el receptor y el transmisor. Es decir en un instante determinado de tiempo se enva y en otro se termina, ambos saben que instante es cada uno, sin embargo esto implica que ambos tengan la misma referencia temporal. Perciban el tiempo de la misma forma y estn sincronizados al milisegundo o menos, esto no es posible, no se puede garantizar. Una vez que se desincronicen no sern capaces de resincronizarse. Este mtodo se utiliz hace mucho tiempo y durante poco tiempo ya que no permite un buen trabajo.

Pgina 6

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
b) Cuenta de caracteres. La cuenta de caracteres consiste en introducir una sobrecarga que nos vaya diciendo el tamao de lo transmitido, de forma que sabremos donde empieza y contando el tamao sabremos donde acaba.

Sobrecarga, eso es malo! Podemos ver la sobrecarga introducida como una desventaja del mecanismo, sin embargo siempre queramos trabajar sobre la informacin, ya sea para detectar errores o para marcar el principio o el final o cualquier otro ejemplo, va a existir una sobrecarga inevitablemente. Dnde est la desventaja entonces? El problema aparece en que las cuentas de caracteres funcionan bien hasta que ocurre un error ya que este produce la perdida de sincronizacin definitiva de la que no habr forma de recuperarse. Entonces tampoco se usa ya? El mtodo no se ha abandonado, sino que la mayora de protocolos aaden este campo pero no de forma nica sino como ayuda. c) Patrones de inicio y fin. Este es un mtodo de sencilla comprensin, cada vez que iniciamos una trama incluimos un FLAG bandera - de INICIO, que puede ser de distintos tipos como veremos, y cuando acabe aadiremos un FLAG de FIN. I NICIO DATA IN F I NICIO DATA IN F

Y este se resincronizar? Si ocurriera un error en el primer FIN al recibir el inicio siguiente el receptor se dar cuenta de la existencia del error pues estaba esperando que se finalizara la trama, no que se comenzar una nueva, as que tirar a una papelera virtual claro la informacin almacenada se lavara las manos con agua digital y continuar con la siguiente trama. Es decir, cada marca de inicio ser un punto de resincronizacin. Es perfecto! No. El principal inconveniente lo hallaremos en la transparencia de datos, es decir los FLAGS que hemos aadido son secuencias de bits y nada impide a los datos coincidir accidentalmente con cualquiera de ellos. Casualidad? S. Imposible? No. Cmo lo solucionamos? Veremos como realizarlo segn el patrn usado, orientado a carcter (ASCII) o a bit.

Pgina 7

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
c.1.) Patrones de caracteres (ASCII) La marca de inicio ser: DLE: Data link escape STX: Start of text. Y la de fin: DLE ETX: End of text. A B LE D TX S A B LE D TX E A B

Para solucionar la transparencia de datos duplicaremos el DLE siempre que aparezca en el campo de datos en transmisin y elimina uno en recepcin siempre que aparezca duplicado. A D LE B LE D TX S A LE D LE D B LE D TX E A D LE B

c.2.) Patrones de bit Las marcas de inicio y de fin sern: 01111110 010101 01111110 010101 01111110 010101

Para solucionar la transparencia de datos el transmisor introducir un bit 0 de relleno cada vez que encuentre cinco 1 seguidos y el receptor eliminar todo 0 que encuentre tras cinco 1 y si recibe seis 1 seguidos sabr que es una marca. 011111101111101101 01111110 01111101011111001101 01111110 011111101111101101

Si perdemos el sincronismo lo retomaramos n la siguiente marca de inicio, perdiendo una trama. Si justo se perdiera el bit de relleno igualmente resincronizaramos en la siguiente. Los flag de INICIO y FIN de tramas continuas se unifican en uno que indicar tanto el final de la primera como el principio de la segunda. d) Violacin de la capa fsica. En sistemas en los que el 1 se codifica como el paso de nivel alto a bajo y el 0 de bajo a alto podemos usar dos pulsos a nivel alto, sin transicin como marca de INICIO y dos a nivel bajo como marca de FIN, pues en el sistema no significaban nada semejantes combinaciones. 1 0 Inicio Fin

Este mecanismo implica usar la capa fsica para realizar marcas de capa de enlace. Se suele emplear en redes locales en anillo con paso de testigo, Token Ring de IBM. Tambin tenemos, aunque con distintos niveles de tensin violacin de capa fsica en RDSI. Hoy en da se emplea generalmente de estos mtodos el patrn de bit con relleno de bit junto con la cuenta de caracteres.

Pgina 8

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
1.2.3 Gestin de errores: En la capa de enlace tratamos de corregir los defectos del nivel fsico lo que se puede hacer mediante dos planteamientos bsicos: a) Mecanismos preventivos: Que son una combinacin entre cdigos detectores y correctores. Estos se usan cuando no nos podemos permitir retransmisiones de forma que nos es ms eficiente darle un par de vueltas a lo recibido. Algunos ejemplos seran: Redes telefnicas, ya que no tiene mucho sentido que nos retransmitan los paquetes de lo dicho. Si hay errores ya repetir el hablante! Canales simplex: Si no tenemos por donde decir que nos retransmitan ya que la comunicacin es en un solo sentido pues o corregimos o lloramos amargamente. En comunicaciones satlite: el tiempo que tarda el NACK en ir y la retransmisin en volver hace que nos compense ms trabajar sobre lo recibido o morir de viejos. Nos renta ms la sobrecarga para corregir que la espera Cdigos correctores, por ejemplo Cdigo Hamming. Cdigo Bloque. b) Mecanismos reactivos: Aqu combinaremos un cdigo detector, solo detector, y los mecanismos necesarios para solicitar retransmisiones. Es as donde entra el juego el protocolo de control del enlace que veremos en el siguiente punto (Tranquilidad!) Los encontraremos implementados sobre todo en: Redes de comunicacin de datos ya que: o Son fciles de implementar los mecanismos en hardware, al final de la trama. Lo que implica que son baratos. o No retardan la transmisin. o Incluyen una carga total de 2/4 octetos, en funcin del tamao de la trama, para lo que tienen una potencia muy grande. Cdigos detectores, sobre todo de redundancia cclica o polinmicos, por ejemplo Bit paridad 1bit. CRC-16. Capaces de detectar todos los errores con un nmero impar de bits. CRC-32. Usado en redes locales vale, solo en Ethernet. CRC-CCITT

Segn vamos transmitiendo / recibiendo bits se va calculando el CRC y lo aadimos / comprobamos al final. Ejemplo: Tenemos errores aislados, una BER Bit Error Rate de 10-6 1 bit errneo de cada milln enviados Las tramas son de 103 bits y queremos enviar un total de 1Mbit de datos. Calcular la sobrecarga para Hamming y bit de paridad Enviaremos 1Mbit = 103 bloques = 1000 tramas. De los cuales supondremos uno de ellos con un bit errneo. 1. Hamming (10 bits/trama detectando y corrigiendo un 1 error) Transmitimos: 103 bloques + 10103 bits de Hamming = 106+104 bits Sobrecarga: 2. Bit paridad (1 bit/trama detectando y pidiendo retransmisin) Transmitimos: 103 bloques + 103 bits de paridad + 1 bloque retransmitido con su bit de paridad= 106+103+103 +1 bits Sobrecarga:

Pgina 9

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
1.2.4 Control de flujo:

El principal objetivo de este mecanismo es adaptar las velocidades de transmisin y recepcin. Si en algn momento el receptor se satura y no puede tramitar ms tramas necesitar comunicrselo al emisor para lo que necesitaremos poseer una capacidad de realimentacin, de forma que podamos pararle mientras procesamos los datos o resolvemos errores. De esta forma no se podr separar el control de flujo de la gestin de errores.

Pgina 10

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)

1.3

Protocolos de control de enlace. Tcnicas ARQ.

Lleg el momento de ver los protocolos de control, esos que comunicaban emisor con receptor y pedan transmisiones y retransmisiones. Y es en esa lnea donde trabajan las tcnicas ARQ: Automatic Repeat Request o de solicitud automtica de retransmisin. 1.3.1 Bsicos: Parada y Espera (Stop & Wait)

Este protocolo se basa en que el receptor trabaja de la siguiente forma, enva una trama, espera a recibir la confirmacin, enva otra, espera El nombre es bastante indicativo, vamos. Para el anlisis consideraremos primero el caso ms sencillo, un canal ideal, para luego pasar a un canal ruidoso. a) Canal ideal. Suponemos un canal sin errores con un canal bidireccional por el que transmitimos datos de forma simples, es decir solo enva datos el transmisor. En este canal el protocolo de parada y espera solo servir para control de flujo enviando un ACK: cada vez que haya recibido un dato y est dispuesto a recibir el siguiente. b) Canal ruidoso. Supondremos un cdigo detector ideal para el estudio, de forma que siempre que haya un error nos demos cuenta - lo cual tcnicamente, como la mayora de suposiciones, es imposible, claro. Lo analizaremos a partir de varios casos hipotticos con diversos problemas y errores para comprobar su funcionamiento.
Tx Rx

Datos {Espera} ACK Datos {Espera} ACK

Tx

Rx

Caso 1. Errores en datos.


Datos1 ACK Datos2 NACK Datos2 ACK

Este primer caso es sencillo de analizar, de forma que si recibiramos una trama con datos al procesarla enviamos un NACK solicitando as su retransmisin. Vemos de esta forma la necesidad de confirmaciones positivas y negativas para una correcta realimentacin de la informacin receptor transmisor.

Pgina 11

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
Caso 2. Prdidas en datos. Esta situacin es ligeramente ms complicada, suponemos que la trama de datos ms que llegar corrupta simplemente no llega. As que no hay NACK que le llegue al transmisor para indicarle que debe reenviar. As que Cmo se dar cuenta? Recurriremos para ello a un mecanismo que explicamos con anterioridad, un temporizador, es decir si transcurrido un determinado plazo, que denominaremos T0 el emisor no ha recibido confirmacin ni positiva, ni negativa proceder al reenvo automtico de los datos.
{To} Datos2 ACK Tx Rx

Datos1 ACK Datos2

Tx

Rx

Y cunto vale este tiempo?


Datos1 {Tr}

Datos1

{Ttx Datos}

{Tpro Rx} {To} ACK {Ttx ACK}

Para calcularlo deberemos establecer cuanto tiempo tarda en llegar una trama de datos y en ser confirmada. Para ello nos valdremos del siguiente esquema en el que estn detallados todos los tiempos exageradsimos, pero detallados al fin y al cabo. Veamos que indican los tiempos: Tr = Tiempo de propagacin.

ACK {Tr}

Ttx datos = Tiempo de transmisin datos. Tpro Rx = Tiempo de proceso del receptor. Ttx ACK = Tiempo de transmisin del ACK. Tpro Tx = Tiempo de proceso en el transmisor.

{Tpro Tx}

T0 = Tr + Ttx datos + Tpro Rx + Ttx ACK + Tr + Tpro Tx = 2Tr + Ttx ACK + Ttx datos + Tpro Rx + Tpro Tx Donde veremos como habitualmente los tiempos de proceso son despreciables a no ser que digan lo contrario - y el tiempo de transmisin del ACK variar entre ser despreciable o coincidir con el de trama de datos, en el caso de enviarlos ACK incluidos en dichas tramas.

Pgina 12

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
Caso 3. Receptor lento. Este caso est causado directamente por el anterior, dado que si el receptor es lento y tarda en procesar las tramas y enviar la confirmacin correspondiente puede suceder que el transmisor vea cumplido su tiempo T0 y reenve la trama de forma que el receptor se encontrar con dicha trama duplicada. As que Cmo se dar cuenta de que tiene dos tramas iguales?

Tx

Rx

Datos1 {To} {Tpro Rx} Datos1 ACK

Aadiremos un identificador a cada trama para distinguirlas. Como nos interesa que sea lo ms pequeo posible, ya que supone una sobrecarga a lo enviado, veamos que nicamente tendremos dos tramas posibles diferentes, a la vez en el sistema, en este protocolo. Enviamos trama 1, si nos la confirman positivamente enviaremos la trama 2, si no la confirman, o la confirman negativamente reenviaremos la trama 1. Identificar dos tramas nos supondr un bit. Marcaremos con 0 las tramas impares y con 1 las pares, por ejemplo. As asignaremos un N/ACK a cada trama de datos (I) especificando exactamente a que trama corresponde y distinguiremos entre distintas tramas en el receptor pudiendo eliminar aquellas que se encuentren duplicadas. Haremos notar que la trama I(0) que enviamos tras la trama I(1) es distinta a la primera I(0) que enviamos al principio del esquema. El 0 ser la cabecera que indicar simplemente trama impar que la distinguir de la anterior.
Tx Rx

Tx

Rx

I(0) {To} I(0) ACK(0) {Tpro Rx}

I(1)

ACK(0)

Se descarta

Se ignora
I(1) ACK(1)

Se descarta
I(0) ACK(1)

Se ignora

Caso 4. Prdida o error en la confirmacin. Vemos como en el ejemplo anterior a pesar de descartar la trama repetida I(0) enviamos nuevamente el ACK(0), esto se debe a que el receptor no sabe realmente si se los reenvan porque ha sido lento o porque el primer ACK se perdi, caso para el cual es efectivo reenviarlo como vemos claramente en este ejemplo. Conclusin: Hemos solucionado todos los problemas mediante: Confirmaciones positivas y negativas. (ACK y NACK). Plazos de transmisin. Identificacin de tramas mediante un bit.
I(0) {To} I(0) ACK(0) I(1) ACK(1) ACK(0) {Tpro Rx}

Se descarta

Pgina 13

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)
Anlisis de la eficiencia del protocolo de parada y espera:

Pgina 14

Comunicacin de Datos
Tema 1 Control del enlace de datos (LLC)

TEMA 1: Control del enlace de datos (LLC)


1.1 Introduccin: ............................................................... 2 1.2 Funciones de la capa de enlace. .................................. 3 1.2.1 1.2.2 1.2.3 1.2.4 Servicio a la capa de red: ............................................... 3 Delimitacin de tramas: ................................................ 6 Gestin de errores: ........................................................ 9 Control de flujo: ............................................................. 10

1.3 Protocolos de control de enlace. Tcnicas ARQ. ....... 11 1.3.1 Bsicos: Parada y Espera (Stop & Wait) .................... 11

Pgina 15