You are on page 1of 49

Capa de Enlace de Datos

Propsito

Su objetivo es proporcionar un medio de comunicacin que parezca libre de errores Para ello, se implementan diversos algoritmos de deteccin y correccin de errores Lo anterior se debe a que los dispositivos que colocan los bits en el medio, as como el medio mismo ocasionalmente inducen errores Por otra parte, tambin intervienen los factores externos

Propsito

Adems de lo ya sealado, debe ofrecer una interfaz bien definida a la capa de red, estableciendo como se agrupan los bits en marcos Otra tarea desempeada es regular el flujo de datos, para no saturar a receptores lentos con transmisores rpidos

Servicios

Normalmente se ofrecen tres tipos de servicio:

Servicio si acuse sin conexin: se emiten los marcos sin pedir un acuse de recepcin Servicio con acuse sin conexin: se emiten los marcos, esperando una confirmacin de su llegada Servicio con acuse orientado a la conexin: se establece una conexin antes de realizar cualquier transmisin

Servicios

En el servicio orientado a la conexin, existen tres fases en la transferencia: establecimiento de la conexin, inicializando variables; flujo de marcos; cierre de la conexin, liberando variables, buffers, etc Los diversos servicios se ajustan de acuerdo a las caractersticas del medio

Marcos

En la capa de enlace de datos, los paquetes enviados reciben el nombre de marcos Los marcos sirven para tener un mayor control del flujo de los bits, verificando por cada marco la integridad de los bits Para identificar los marcos, se han propuesto diversos mtodo como:

Conteo de Caracteres Caracteres de inicio y fin, con relleno de caracteres Indicadores de inicio y fin, con relleno de bits Violaciones de codificacin de la capa fsica

Conteo de Caracteres

Aqu se inserta un carcter al inicio que indica cuantos caracteres contiene el marco Su problema radica en que es fcil que se dae el carcter de conteo

3 0 1 2 6 0 1 2 3 4 5 3 0 1 1 0

Caracteres de Inicio y Fin

La tcnica de caracteres de inicio y fin, con relleno de caracteres se basa en el cdigo SCII, usando como caracteres especiales DLE STX (data link escape, start of text) para el inicio de un marco y, DLE ETX (end of text) para la finalizacin de un marco Como se trata de cdigo ASCII, las secuencias ya expuestas pueden presentarse en la secuencia de datos

Caracteres de Inicio y Fin

Para resolver este problema, se suele insertar otro carcter DLE, con lo cual, al encontrarse dos DLE consecutivos, el receptor sabr que debe de eliminar uno de ellos y, adems, no se trata de caracteres de inicio o fin Por ello, esta tcnica se denomina de relleno de caracteres

Caracteres de Inicio y Fin con Relleno de Caracteres


DLE STX Z DLE
Carcter de relleno

DLE

ETX

DLE DLE

STX STX

Z Z

DLE DLE

DLE DLE

DLE

ETX

ETX

Indicadores de Inicio y Fin con Relleno de Bits


En esta tcnica, no se esta sujeto a un tamao de bits determinado, como en el cdigo ASCII El procedimiento consiste en insertar la secuencia 01111110 al inicio y fin de cada marco (conocida como byte indicador) Para evitar que esta secuencia se repita dentro de los datos, si se encuentran 5 unos consecutivos, se inserta automticamente un 0. Con ello, el byte indicador no se presentar en los datos

Indicadores de Inicio y Fin con Relleno de Bits


11011111100011101111100

01111110110111110100011101111100001111110

11011111100011101111100

Violacin de Codificaciones en la Capa Fsica

Normalmente, en las redes locales se usa la transicin alto bajo para representar 1 y bajo alto para representar un 0 Para enmarcar, se usan las transiciones alto alto o bajo bajo ste uso de los cdigos de violacin es parte del estndar LAN 802

Deteccin y Correccin de Errores

Para garantizar la correcta llegada de los datos al receptor, se pide que este retransmita un acuse de recibo Sin embargo, no es suficiente con los acuses de recibo, ya que un marco completo puede perderse por algn problema que presente el medio; en tal situacin, el receptor no emitira ningn acuse de recibo negativo, con lo cual aparentemente no existira ningn problema

Deteccin y Correccin de Errores

Para solventar este problema, adems se introducen temporizadores, con los cuales, si despus de cierto tiempo no se recibe un marco o acuse, se vuelve automticamente a retransmitir Los temporizadores tienen que ver con la latencia, ya que se considera cuanto tiempo debe tomar, en condiciones normales, para que se propague un paquete, sea procesado por el receptor y retorne un acuse de recibo

Deteccin y Correccin de Errores

Sin embargo, notemos que lo anterior puede inducir a que un marco x sea procesado varias veces por el receptor, por lo que se deben incluir nmeros de secuencia en los mismos

Tipos de Errores

En general, se identifican dos tipos de error: errores por rfaga, errores aislados Suponga que se envan 1000 bits (recuerde que los bits entre computadoras se envan por bloques) con una tasa de error del 0.001

Si los errores son aislados, cada bloque contendr por lo menos un error Si los errores son en rfaga de 100, solo uno o dos bloques de cada 1000 contendrn errores

Deteccin y Correccin de Errores

Para detectar los errores, se pueden seguir dos estrategias al momento de enviar la informacin

Incluir suficiente informacin redundante, con lo cual se podr deducir que es lo que se envi (deteccin y correccin de errores) Incluir solo cierto grado de redundancia, con el objetivo de determinar cuando un dato est corrupto (deteccin de errores)

Tcnicas de Deteccin y Correccin de Errores


Paridad Hamming Cdigos de Redundancia cclica Message Digest (MD5) Retransmisin Convolucionales

Notacin

Un marco generalmente esta integrado por k bits de datos y r bits redundantes o de comprobacin de error Se llama palabra cdigo a aquella que consta de bits de datos y de comprobacin n=k+r

10

Notacin

Distancia de Hamming:

Nmero de bits en los que difieren dos palabras cdigo La distancia de Hamming se representa por Hd

Cuando se transmiten un conjunto de datos, lo deseable es identificar de alguna manera aquellos que ha sufrido daos en el viaje

Deteccin de errores

Una palabra cdigo en s tiene 2n posibles valores Cualquier error o modificacin que sufra una palabra cdigo, resultar en otra palabra cdigo diferente Por lo anterior, solo se busca tomar 2k palabras cdigo vlidas, en lugar de tomar las 2n palabras que se podran normalmente generar

Solo algunas palabras sern vlidas

11

Deteccin de Errores

La distancia de Hamming sirve para determinar cuantos bits son necesarios para que una palabra vlida se transforme en otra palabra vlida La capacidad de deteccin y correccin de errores depende de la distancia de Hamming

Deteccin de x errores: DH x +1 Correccin de x errores: DH 2x +1

Deteccin de Errores

Por ejemplo, el mtodo ms simple para determinar si una palabra es valida o no, consiste en llevar un control de la paridad Consiste en agregar un 0 o 1 (informacin redundante), dependiendo de la paridad deseada

12

Control de Paridad

Existen dos formas bsicas para el control de la paridad:

Paridad vertical o por carcter: se verifica la paridad de una sola palabra Paridad longitudinal o transversal (en dos dimensiones): se obtiene la paridad de varias palabras, tanto horizontal como verticalmente

Paridad Vertical o por Carcter

Por ejemplo, suponiendo paridad par:


NUMERO 100110101 101110101 NUMERO BIT PARIDAD 100110101 101110101 1 0

13

Paridad Vertical o por Carcter


Nm Bit 1 2 3 4 5 6 7 8 Parida d Caracteres (Paridad Impar) 1 0 0 1 0 1 1 0 1 1 2 0 1 1 0 1 1 0 1 0 3 0 1 1 0 0 1 0 1 0 4 0 0 0 0 1 1 0 1 0?

Paridad Longitudinal
Nm Bit 1 2 3 4 5 6 7 8 Paridad Caracteres (Paridad Impar) 1 0 0 1 0 1 1 0 1 1 2 0 1 1 0 1 1 0 1 0 3 0 1 1 0 0 1 0 1 0 4 0 0 0 0 1 1 0 1 0? 5 0 1 1 1 0 1 0 1 1 Paridad 1 1 0 0 1 0 1 0

14

Cdigo de Hamming

La informacin redundante es generada a partir del clculo:

El vector c representa el cdigo de Hamming resultante, i el vector binario de entrada DkDk1...D2D1 (bits de informacin) y G, la matriz generadora del cdigo

r r c = i G

Cdigo de Hamming

Matriz generadora del cdigo G = [Ikxk, P] donde:


Ikxk es la matriz identidad de k x k P es la matriz que caracterizar el cdigo de dimensin k x (n - k)

15

Cdigo de Hamming

Hamming propone una matriz P de dimensin k x r, donde: r = int{log2(k)+1} Adems: n=k+r De lo anterior, se puede sealar que el vector c se forma de:

r c = [ Dk ...D1 | Rr ...R1 ]

Cdigo de Hamming

Los valores de la matriz P se obtienen de las posiciones base dos de los bits de informacin Dx despus de haber insertado r = n k bits de redundancia Rx en las posiciones potencias de dos

16

Cdigo de Hamming

Ejemplo para 4 bits: D4D3D2D1 n = 4 + int {log2(4)+1} = 7 7 6 5 4 3 2 1 D4 D3 D2 R3 D1 R2 R1


1 0 G= 0 0 0 0 0 | 1 1 1 1 0 0 | 1 1 0 0 1 0 | 1 0 1 0 0 1 | 0 1 1

Cdigo de Hamming

Por ejemplo, suponga D4D3D2D1 = 1101


1 0 r r c = i G = [1101] 0 0 0 0 0 | 1 1 1 1 0 0 | 1 1 0 0 1 0 | 1 0 1 0 0 1 | 0 1 1

r c = [1101 | 010]

17

Cdigo de Hamming

El cdigo redundante a transmitir estara compuesto por los bits de informacin con los bits de redundancia intercalados: 7 6 5 4 3 2 1 1 1 0 0 1 1 0 Una forma opcional de calcular los bits de redundancia consiste en la suma mdulo dos de las posiciones donde los bits de informacin son igual a uno

Cdigo de Hamming

7 1

6 1

5 0

4 R3

3 1

2 R2

1 R1

Unos en las posiciones 7, 6 y 3: +


1 1 1 1 1 0 0 1 1 0 1 0

18

Cdigo de Hamming

La deteccin / correccin de error es posible mediante el clculo del sndrome del cdigo recibido:

r r s = c HT

H T = PT | I nk

Si se obtiene que el vector s es cero, se concluye que no hay error

Cdigo de Hamming

Del ejemplo anterior: c = [ 1 1 0 1 | 0 1 0 ]


1 1 1 r r T r 0 s = cH = c 1 0 0 1 1 0 1 1 0 1 1 = [0 0 0] 0 0 1 0 0 1

19

Cdigo de Hamming

Una forma alternativa de calcular el sndrome es sumar las posiciones binarias con bits iguales a 1, incluyendo los 1s de la redundancia:
7 1 6 1 5 0 4 R3 (0)
1 1 0 0 0

3 1

2 R2 (1)
1 1 1 1 0 1 0 1 0 0

1 R1 (0)

Unos en las posiciones: 7, 6, 3 y 2

Cdigos de Redundancia Cclica

Los cdigos de Redundancia Cclica son ampliamente usados dentro de las Redes de Computadoras Se basan en el principio: el desplazamiento cclico (end around) de cualquier palabra cdigo de un cdigo cclico es otra palabra cdigo en el cdigo

20

Cdigos de Redundancia Cclica

En estos cdigos se emplea la aritmtica polinomial mdulo 2 sin acarreos; por tanto, la suma como la resta son idnticas a la operacin OR exclusiva Un cdigo cclico (n, k) est definido por su polinomio generador G(x) = g0 + g1x+ ... + gn-kxn-k En redes como Ethernet, se emplean polinomios generadores ya definidos

Cdigos de Redundancia Cclica

Cada coeficiente gk representa un 0 o un 1 binario en una cadena de r bits


0: cuando gk es igual a 0 1: cuando gk es igual a 1

La cadena de r bits se forma a partir del coeficiente de mayor grado hasta el de menor grado El orden del polinomio lo determina el exponente de mayor grado

21

Cdigos de Redundancia Cclica

Por ejemplo, para el polinomio G(x)=x16+x15+x2+x+1 la secuencia de bits correspondientes es: 11000000000000111 El polinomio G(x) determina la forma en la cual ser modificado el mensaje original, que llamaremos M(x), con el objetivo de aadirle informacin redundante, con la cual se verificar su integridad

Cdigos de Redundancia Cclica

Si el mensaje original constaba de k bits, y el polinomio G(x) es de orden r, el marco enviado ahora ser de n = k + r bits El objetivo es que los n bits sean exactamente divisibles por el mismo polinomio G(x) utilizado en el transmisor Si es el caso, se dice que no hubo alteracin en los datos que se han transmitido

22

Cdigos de Redundancia Cclica

Para generar el cdigo CRC de un mensaje M(x) con k bits y un polinomio G(x) con grado r, se procede como sigue:

Anexar r bits 0 al final del marco M(x). Llmese a este nuevo conjunto de bits B(x) Dividir B(x) entre G(x), usando la divisin mdulo 2. Llmese Q(x) al cociente y R(X) al residuo Realizar la resta B(x) - R(x) = T(x) (aritmtica mdulo 2)

Cdigos de Redundancia Cclica

T(x) es el patrn de bits que el emisor enva al receptor Del lado del receptor, se verifica que T(x) sea divisible exactamente por G(x) (es decir, que el residuo de la divisin sea cero). Si es el caso, se dice que no ha sufrido alteracin el patrn de bits

23

Cdigos de Redundancia Cclica

Sea

M(x) = 100110 G(x) = x2 +1

Calcular el campo de suma de comprobacin Una vez calculado, verificar la integridad de la informacin transmitida

Cdigos de Redundancia Cclica

Es claro que este mtodo no detectara errores que produzcan secuencias T(x) divisibles entre G(x) Para errores aislados de un bit, se podrn detectar en cualquier caso si r >1 Tambin tiene la cualidad de detectar errores en rfaga menores a r; si la rfaga genera r+1 errores, se detectar si esta es distinta de G(x)

24

Cdigos de Redundancia Cclica

Normalmente se ha empleado 3 polinomios para la deteccin de errores en las redes de computadoras:


CRC-12: x12+x11+x3+x2+x1+1 CRC-16: x16+x15+x2+1 CRC-CCITT: x16+x12+x5+1

Es importante notar que dichos polinomios contienen como factor primo a x+1

MD5

MD5 es una tcnica que permite obtener una huella digital de una serie de datos de entrada Con la huella, se puede verificar la integridad de los datos, es decir, comprobar que no hayan sufrido alteracin Adems, puede emplearse para la validacin de usuarios o procesos, aunque no es la ms usada, a comparacin de otras tcnicas como RSA

25

Escenarios de Validacin con MD5

Suponga el escenario de la contrasea de un usuario a un servidor


El usuario enva un ID de usuario al servidor El servidor enva en mensaje aleatorio al usuario El servidor y el sistema del usuario hacen un clculo MD5 del mensaje aleatorio y el password del usuario El sistema del usuario enva el mensaje MD5, y el servidor verifica que este coincida con el MD5 que ha obtenido. Si es el caso, se vlida su contrasea

Integridad de Mensajes con MD5

Para verificar la integridad de un mensaje, se realiza lo siguiente:


Se realiza el clculo MD5 del mensaje Se enva al receptor el mensaje junto con la huella El receptor saca la huella MD5 del mensaje recibido y lo compara con la huella enviada por el emisor. Si coinciden, los datos no ha sufrido alteraciones en el trayecto

26

Algoritmo MD5

El algoritmo MD5 recibe un mensaje m de cualquier tamao, y de ste siempre obtiene una serie de 128 bits, que es nica para cualquier mensaje El algoritmo consta de 5 pasos, los cuales se describen a continuacin

Algoritmo MD5
1.

El mensaje m es rellenado con n bits, de tal manera que el nuevo mensaje, m, tenga una longitud menor a 64 bits comparado con un mltiplo de 512 (bits). Para ello, el primer bit de relleno es un 1 y los restantes n-1 bits son 0

27

Algoritmo MD5
2.

La nueva longitud tras aadir los bits de relleno es almacenada en una representacin de 64 bits y aadida al final del mensaje en forma de dos palabras de 32 bits, yendo en primer lugar la que contiene los bits menos significativos. Si la longitud del mensaje fuera mayor que 264, solamente se usan los 64 bits menos significativos. De esta manera, la longitud del mensaje es ahora mltiplo de 512.

Algoritmo MD5
3.

Se inicializan 4 buffers de 32 bits con los siguientes valores hexadecimales: A: 01 23 45 67 B: 89 ab cd ef C: fe dc ba 98 D: 76 54 32 10

28

Algoritmo MD5
4.

El mensaje m ser procesado en bloques m0, ..., mt-1, donde cada bloque mx consta de 512 bits Para ello, se crean 4 funciones auxiliares, con 3 entradas de 32 bits y 1 salida de 32 bits, definidas como:

F(X,Y,Z) = (X AND Y) OR ((NOT(X)) AND Z) G(X,Y,Z) = (X AND Z) OR (Y AND (NOT(Z)) H(X,Y,Z) = X XOR Y XOR Z I(X,Y,Z) = Y XOR (X OR (NOT(Z)))

Algoritmo MD5

Adems, se crea una tabla de 64 elementos T[1 ... 64] construida con la funcin seno, siendo T[i] la parte entera de 4294967296 * abs(sen(i)) El proceso inicializar analizando el primer bloque m0 hasta mt-1. Cada bloque mx ser dividido en sub-bloques de 16 bits, representados con mxj, que indica al j-simo sub-bloque de 16 bits del bloque mx.

29

Algoritmo MD5

Parta cada j (1 j 32) de cada bloque mxj se hace:

Se almacenan las variables A, B, C, D

AA = A, BB = B, CC = C, DD = D

Se crea una primera etapa donde la expresin [abcd k s i] denota la operacin a = b + ((a + F(b,c,d) + mxj[k] + T[i]) << s) NOTA: mxj[k] representa el valor del k-simo bit, 0 o 1, del sub-bloque mxj

Algoritmo MD5

Se realizan las operaciones siguientes (secuencial): [ABCD 0 7 1], [DABC 1 12 2], [CDAB 2 17 3], [BCDA 3 22 4], [ABCD 4 7 5], [DABC 5 12 6], [CDAB 6 17 7], [BCDA 7 22 8], [ABCD 8 7 9], [DABC 9 12 10], [CDAB 10 17 11], [BCDA 11 22 12], [ABCD 12 7 13], [DABC 13 12 14], [CDAB 14 17 15], [BCDA 15 22 16]

30

Algoritmo MD5

Usando ahora la expresin [abcd k s i] que denota a = b + ((a + G(b,c,d) + mxj[k] + T[i]) << s), se efectan las 16 operaciones siguientes: [ABCD 1 5 17], [DABC 6 9 18], [CDAB 11 14 19], [BCDA 0 20 20], [ABCD 5 5 21], [DABC 10 9 22], [CDAB 15 14 23], [BCDA 4 20 24], [ABCD 9 5 25], [DABC 14 9 26], [CDAB 3 14 27], [BCDA 8 20 28], [ABCD 13 5 29], [DABC 2 9 30], [CDAB 7 14 31], [BCDA 12 20 32]

Algoritmo MD5

En una tercera etapa, usando [abcd k s t] como a = b + ((a + H(b,c,d) + mxj[k] + T[i]) << s), se realizan las operaciones siguientes: [ABCD 5 4 33], [DABC 8 11 34], [CDAB 11 16 35], [BCDA 14 23 36], [ABCD 1 4 37], [DABC 4 11 38], [CDAB 7 16 39], [BCDA 10 23 40], [ABCD 13 4 41], [DABC 0 11 42], [CDAB 3 16 43], [BCDA 6 23 44], [ABCD 9 4 45], [DABC 12 11 46], [CDAB 15 16 47], [BCDA 2 23 48]

31

Algoritmo MD5

En una cuarta etapa, [abcd k s t] denota la operacin a = b + ((a + I(b,c,d) + X[k] + T[i]) << s). En base a esta, se realizan las operacione siguientes: [ABCD 0 6 49], [DABC 7 10 50], [CDAB 14 15 51], [BCDA 5 21 52], [ABCD 12 6 53], [DABC 3 10 54], [CDAB 10 15 55], [BCDA 1 21 56], [ABCD 8 6 57], [DABC 15 10 58], [CDAB 6 15 59], [BCDA 13 21 60], [ABCD 4 6 61], [DABC 11 10 62], [CDAB 2 15 63] [BCDA 9 21 64]

Algoritmo MD5

En un proceso final, se actualizan las variables siguientes:

A = A + AA B = B + BB C = C + CC D = D + DD

El proceso se repite para cada mx de forma secuencial

32

Algoritmo MD5
5.

La huella producida para el mensaje de entrada queda en las variables A, B, C, D, la cual se interpreta empezando con los bits menos significativos de A y terminando con los ms significativos de D. Independientemente de la longitud del mensaje, la huella ser de 128 bits

Algunos protocolos de la Capa de Enlace de Datos

33

Generalidades

El flujo de datos en una red de computadoras puede ser simplex, half duplex, full duplex En los enlaces half y full, las entidades pueden ser emisoras o receptoras de datos

Sincrona de eventos emisin y recepcin

Generalidades

Necesidades de polticas que establezcan el control del uso del enlace


1. 2. 3. 4.

quines lo usan? quin es el emisor? cundo inicia la transmisin? cundo termina?

Protocolos de nivel enlace

34

Control del Enlace

Los protocolos deben de contemplar:


Empaquetado de la informacin Secuenciacin de la informacin Contencin Acuses de recepcin Deteccin / correccin de errores Temporizacin Recuperacin de errores

Formato de la Informacin

En la comunicacin asncrona, normalmente se usa un formato orientado a caracteres (bytes) En la comunicacin sncrona, se hace uso los formatos orientados a bloque (por conteo) y los orientados a bit

35

Protocolos de la Capa

Los protocolos de la capa de enlace de datos se disean pensando en el tipo de transmisin que ser soportado: simplex, half o full duplex Tambin se determina si se usar transmisin sncrona o asncrona Dependiendo de lo anterior, los marcos se formarn de caracteres, bloques o bits

Protocolo BISYNC

Protocolo orientado a carcter, half duplex Hace uso de los siguientes caracteres de control:

SYN: lnea activa y desocupada DLE: carcter de escape al enlace de datos (Data Link Escape) SOH: Inicio de la cabecera (Start of Header) STX: Inicio del texto (Start of Text) ETX: Fin del texto (End of Text) EOT: Fin de la transmisin (End of Transmission)

36

Protocolo BISYNC

SY N

SY N

SO H

<header ST > X

<datos >

ETX

<error control>

SY N

DLE STX

<datos>

DLE ETX

<error control>

Protocolo KERMIT

Protocolo orientado a carcter, del tipo simplex Caracteres de control:


SOH: Inicio del Encabezado LEN: Longitud paquete (35 a 126) exceso de 32 SEQ: Nmero de trama (exceso de 32 mod 64) FCS: CRC CR: Carriage Return

SO H

LEN

SE Q

TYP E

<datos>

FC S

CR

37

Protocolo KERMIT

El campo correspondiente a TYPE, determina el tipo de trama:


S: send initiation (parmetros) F: nombre del archivo D: Datos de archivo Z: Fin de archivo B: Fin de transmisin Y: confirmacin de llegada N: confirmacin negativa de llegada E: error fatal

Protocolos Orientados a Bloque


Mayor transparencia de datos El encabezado contiene toda la informacin sobre la longitud del paquete de informacin

Orientado al conteo de caracteres

38

Protocolos Orientados a Bloque


SY N BC C <error control>

<datos>

CR

El carcter BCC sirve para indicar la posicin del campo de conteo de datos

Protocolos Orientados a Bit


Ampliamente usado en la actualidad Se utilizan banderas en lugar de caracteres de control. Por ejemplo, la bandera 0 111 111 0 Para evitar confusin con la bandera, despus de 5 1s consecutivos de agrega un cero La longitud de los campos de control es fija
0111111 0 <header > <error control>

<datos>

01111110

39

Control de Flujo

Independientemente del empaquetado, se requiere de mecanismos que controlen el flujo de las tramas:

Reglas sobre la peticin y envo de la informacin Reglas sobre los acuses de recibo y de retransmisin

Control de Flujo

En protocolos asncronos, se realiza de dos formas:

RTS / CTS (Request to send / clear to send): Activacin y desactivacin de los circuitos de datos mediante lneas de control independientes XON / XOFF: envo de caracteres de control para habilitar o deshabilitar el envo de informacin

40

Control de Flujo

En un protocolo sncrono, el envo de mayores cantidades de datos requiere un control mayor:

Encabezados con informacin de control (nmero de paquete N(s)) Acuses de recibo positivos (ACK) o negativos (NAK) de las tramas enviadas

41

Control de Flujo

Control de Flujo

Reglas especficas para el envo de ACK o de NAK dependiendo de la temporizacin Los acuses de recibo deben permitir la adecuada secuenciacin de las tramas Empleo generalizado del Automatic Repeat Request (ARQ): el acuso de recibo indica el nmero de la trama que se espera

42

Control de Flujo

Diversas estrategias:

Idle ReQuest (stop - wait): Envo de trama N(S) y acuse de recepcin N(R), donde N(S) = N (R). sta estrategia se orienta a la comunicacin half duplex Continuous RQ: Envo constante de tramas sin espera inmediata de acuse de recepcin (full duplex).

Control de Flujo

Dentro de Continuous RQ, se encuentran:


Selective Reject Go Back N Inclusive Acknowledge Piggy Back

43

Algoritmos de Parada y Espera

En los algoritmos de parada y espera (stop and wait), el emisor enva un marco y no enva otro hasta recibir una confirmacin del que ha enviado Se requiere una comunicacin full duplex, aunque los datos (de usuario) solo viajan en un sentido Por lo anterior, se pueden implementar sobre medios fsicos semi duplex Existe el problema de la prdida de los acuses, que puede inducir a la recepcin de mltiples marcos hasta el bloqueo total del protocolo

Solicitud Automtica de Repeticin (ARQ)

Para identificar marcos repetidos, se ha optado por aadir un nmero de secuencia a los marcos, los cuales pueden ser de un bit Con ello, el receptor sabe que marco debe de llegar a continuacin (n n+1)

44

Algoritmos de Respuesta Continua

En estos algoritmos, se aprovecha mejor el medio Los marcos pueden ser identificador por medio del campo de tipo, que indica si es un marco de control o de datos Notemos que enviar un marco solo portando un acuse, es un esquema ineficiente

Algoritmos de Respuesta Continua

Para lograr mayor eficiencia, se propuso retardar el acuse, tratando de enviarlo en marcos de salida (en el campo ack) La tcnica anterior, conocida como incorporacin (piggybacking), tiene el problema de que los temporizadores pueden acabarse si no se plantea bien cuanto tiempo se puede retener el acuse

45

46

47

Protocolos de Ventana Corrediza

Los protocolos de ventana corrediza tienen una gran inmunidad a los fallos En estos protocolos, cada marco tiene un nmero de secuencia desde 0 hasta un nmero mximo predefinido Por lo general, dicho nmero mximo se representa por 2n-1, el cul puede ser acomodado en un campo de n bits

48

Protocolos de la Capa de Enlace de Datos


HDLC SLIP PPP TC DE ATM

49

You might also like