Pr. Dr. Xavier Bonnaire - Ingenieria 2010-2012SSlliiddee 1100 Pr. Dr. Xavier Bonnaire - Universidad...

51
Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa Mar Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa Mar ía – Departamento de Informática ía – Departamento de Informática Slide Slide 1 Pr. Dr. Xavier Bonnaire Pr. Dr. Xavier Bonnaire

Transcript of Pr. Dr. Xavier Bonnaire - Ingenieria 2010-2012SSlliiddee 1100 Pr. Dr. Xavier Bonnaire - Universidad...

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 11

Pr. Dr. Xavier BonnairePr. Dr. Xavier Bonnaire

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 22

Temario

● Introducción● Protocolos Orientados al Byte● Protocolos Orientados al Bit● Detección de Errores● Transmisión Confiable de Frames

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 33

● Transmisión solamente de bits sobre un link no es suficiente

● Necesitamos agrupar los bits en Frames– Maneja y Control de Errores

● Detección y Corrección

– Multiplexion de lineas● Usar la misma linea física para transmitir varios canales de comunicaciones

● Frames– Como delimitar un Frame de bits:

● Donde empieza el Frame● Donde termina● Tamaño fijo, dinámico

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 44

Adaptadores de Redes

● El Adaptador de Red– Permite a los nodos de intercambiar Frames– Debe determinar donde comienza y donde termina el Frame

● Los Frames– Se usan en enlaces de punto a punto– En las redes de acceso múltiple

● Ethernet (CSMS/CD), Token Ring, etc...

Nodo

Adaptador de red

Nodoseñales

Frames

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 55

Protocolos Orientados a Bytes

● Anteriormente se usaban protocolos orientados a Bytes para conectar terminales– BISYNC (IBM 1960)– IMP-IMP (ARPANET)– DDCMP (Digital Data Communication Message Protocol) DEC

ByteFrame

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 66

Ejemplo – Protocolo Bisync

● BISYNC– Usa centinela para delimitar comienzo y fin

● Caracteres especiales STX (comienzo) y ETX (fin)

CRCETXDatosSTXHeaderSOHSynSyn

8b 8b 8b 8b 8b 8bn d

ETXDatosSTX

8b 8bd

● El tamaño d de los datos es arbitrario

– SYN es un carácter de sincronización

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 77

Character Stuffing (Escaping)

● ¿Que pasa si en los datos aparece el Byte que corresponde a ETX?– Se usa una tecnica que se llama Character Stuffing o Escaping– Cada vez el adaptador en la transmisión encuentra en los datos un

ETX, introduce antes un DLE. – El adaptador del receptor se encarga de eliminarlo

ETXDatosSTX DatosETXDLE

DLE = Data Link Escape

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 88

Delimitacion de Frames

● Con centinela– Ejemplo del fin de archivo:

EOFDatos

Archivo

End Of File

● Con Cuentas de Bytes– Ejemplo del fin de archivo:

Length Datos

Archivo

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 99

Ejemplo – Protocolo DecNet

● Problemas– Se puede corromper el Count por algún error de transmisión– También se puede corromper un carácter centinela– Limitación del tamaño de la parte datos del Frame

Syn CRCDatosHeaderCountClassSyn

14b

214=16384

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1010

Protocolos Orientados a Bits

● Un Frame es solo una colección de bits● Historia

– HDLC (High level Data Link Control) – OSI– SDLC (Synchronous Data Link Control) – IBM

● Una variante de HDLC

– PPP (Point to Point Protocol)● Muy similar a HDLC● Muy usado en la comunicaciones con lineas telefonicas y modems● Variantes para lineas ADSL

– PPPoA = PPP over ATM– PPPoE = PPP over Ethernet

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1111

Protocolo HDLC

● HDLC = High level Data Link Control– El más usado el las redes actuales

● Problema– Como en los Datos se puede presentar la secuencia 01111110, se

utiliza la técnica “bit stuffing”. Cada 5 unos seguidos, se introduce un

– Datos = 5000 Bytes máximo

01111110 Header Datos 01111110CRC

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1212

Detección de Errores

● Las Redes no están en un mundo perfecto– Las máquinas se caen– La fibra y los cables se cortan– Existe interferencia eléctrica

● Existen 3 clases de errores que pueden ocurrir– Errores de ráfaga– Errores de paquetes– Errores de enlaces

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1313

Clases de Errores

● Ráfaga– Unos bits no se transmiten correctamente

● Se cambian 0 por 1● Se cambian 1 por 0

– Ese tipo de errores es bastante raro en las redes modernas– Cable de cobre : 1 bit errado en 107 bits– Fibra óptica : 1 bit errado en 1014 bits– Se usa mas en redes con soporte de baja calidad pero con

velocidades bastante altas● ADSL con cable telefónico

– Interleave Down, Up, FastPath

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1414

Clases de Errores

● Paquetes– Un paquete se pierde totalmente– Llega con un error en un bit, por un problema en un switch ou en un

router– Falta de memoria en un equipo activo– Problema de conexión con el soporte físico

● Conector de la tarjeta de red

● Link– El link o el computador se cae– Problema de conexión física– Interferencias importantes que no permiten transmitir

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1515

Técnicas de Detección de Errores

● Las técnicas que se usan son– Paridad en 2-Dimensiones

● Técnica básica pero eficiente para transmisión de pocos datos

– Checksum● La idea es de calcular una función F(M) con varias propiedades y poner el valor

resultado de la función en el Frame● Al destino, se calcula de nuevo la misma función, y se comparan los resultados

– CRC (Cross Redundancy Codes)● Usan polinomios para calcular un valor único para el Frame

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1616

Propiedades de los Códigos

● Un código = conjunto de palabras– Por ejemplo algunas palabras del código ASCII

● ‘a’: 1100001● ‘h’: 1001000● ‘o’: 1101111

● Distancia entre las palabras– Es el número de bits que difieren entre dos palabras– En el código ASCII, la 'a' y la 'o' tienen una distancia de 3

● Distancia del código– Es la distancia máxima entre dos palabras cualquiera– Es une propiedad del código

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1717

Propiedades de los Códigos

● Sea d la distancia mínima del código:– d=1 : no tiene ninguna propiedad– d=2 : puede detectar un error– d=3 : puede corregir un error o detectar 2 errores

● Bits de paridad– Una forma simple de aumentar la distancia mínima es agregando

un bit de paridad par o impar a las palabras del código

● Codificación Hamming– Se usa para dar una distancia de 3 a las palabras de un código– Muy usado en telecomunicaciones

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1818

Ejemplo - Paridad

‘a’: 1100001‘h’: 1001000‘o’: 1101111

Codigo ASCII

‘a’: 1100001‘h’: 1001000‘o’: 1101111

Codigo ASCII

‘a’: 1100001‘h’: 1001000‘o’: 1101111

Codigo ASCII

011

100

ParidadIMPAR

ParidadPAR

Se agrega un bita cada palabra

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 1919

Paridad a 1-Dimensión

● Es una paridad simple

11001Datos

1

Paridad Par

● Problemas (paridad par)– Si 2xN (números par) bits se contaminan, no es detectado– La probabilidad que se detecten errores es de 0.5

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2020

Paridad a 2-Dimensiones

● Se usa dos niveles de paridad

11001Datos

1

Paridad Horizontal

11111 1

00110 0Paridad Vertical

Paridad PAR

Este bit participa a las paridadesvertical y horizontal

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2121

Paridad a 2-Dimensiones

● Mejor control de la errores– Mejor detección

● Se usa la paridad horizontal y vertical para detectar cual cambio

– Se puede corregir algunas errores● Cuando se detecta un cambio de paridad vertical y horozontal

● Problemas– No se puede detectar toda las errores– No se puede corregir todas las errores que se detectan

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2222

CRC -Cross Redundancy Codes

● El codigo CRC es el más usado– El todas las redes– En Compact Disc Audio y Video– En DVD– En redes de Celulares– En lectores MP3

● La idea– Los bit del Frame representan los coeficientes de un polinomio

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2323

CRC

M x =cn xncn−1 x

n−1...c1x1 c0x

0

M x =∑i=0

n

ci xi

Ejemplo: Si el Frame es: 111001

c0=1 , c1=0 , c2=0 , c3=1 , c4=1 , c5=1

M x=1⋅x51⋅x41⋅x30⋅x20⋅x11⋅x0

M x=x5x4x31

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2424

CRC

● Aritmética– Toda la aritmética es en modulo 2– Es decir que las sumas y restas son XOR (OR Exclusivos)

● Idea– Agregar al Frame un conjunto de bits llamado CRC de tal forma que

● El receptor recibe el Frame● Lo divide por G(x)● Si el resto es cero, no hay errores

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2525

Algoritmo para el calculo de CRC

● Sean– G(x) un polinomio generador de grado k– M(x) el polinomio que representa el mensaje M (Frame) de grado m

● Los cálculos se hacen en aritmética modulo 2● Se calcula

P x =xk⋅M x– P(x) es un polinomio de grado m+k

● Es igual que agregar k ceros a la forma binaria de M(x)● Garantiza que la sustracción entre P(x) y un polinomio de grado k es siempre

positiva

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2626

Algoritmo para el calculo de CRC

● Se calcula la parte entera de la división de P(x) por G(x):

P x G x

=Q x

P x =Q x⋅G xR x– El resto R(x) es un polinomio de grado k-1

T x=P x −R x=Q x⋅G x

T x=Q x⋅G x– El resto de T(x) / G(x) debe ser cero

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2727

Algoritmo para el calculo de CRC

● El emisor y el receptor– Se ponen de acuerdo sobre un polinomio generador G(x)

● El Emisor– Se transmite T(x) = P(x)- R(x)

● Las operaciones son equivalentes a OR Exclusivos (XOR)

● El receptor– Recibe los datos T(x)– Calcula T(x) / G(x)– Si el resto es cero, los datos son correctos– Si el resto no es cero, hay un error en la transmisión

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2828

Ejemplo de HDLC

● Polinomio Generador– HDLC usa un polinomio de grado 16, codificado con 17 bits:

G x=x16x12x51

● Ejemplo con G(x) de grado 2:– M(x) = 1011 y G(x) = x2 + 1 = 101– P(x) = M(x) * x2 , P(x) = 101100– P(x) / G(x) = 101100 / 101, R(x) = 100– T(x) = P(x) - R(x) = 101100 - 100 = 101000– 101000 / 101 = 1000 + 0

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 2929

Checksum

● Método usado por el protocolo IP● Idea

– Sumar toda las palabras que se transmiten y transmitir el resultado al final del mensaje

– La suma se realiza en complemento uno (modulo)– Es fácil de implementarlo con software– Existen circuitos ASIC para calcular checksums

● El receptor calcula el mismo checksum con los data recibidos– Si son iguales, se supone que no hay errores– Si son diferentes hay errores

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3030

Checksum

Datos

16bits

Suma en C-1

Checksum

Ese tipo de checksum

¿Es confiable?

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3131

Checksum

● Otros Checksums● MD5: 128 Bits fingerprint

– Propiedades● Computationaly infeasible

– Encontrar X1 y X2 diferentes con md5(X1) = md5(X2)

● SHA-1– Se usa en los algoritmos de claves privadas/publicas tipo

RSA/DSA, ...– 128 Bits usando técnicas de HashTables

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3232

Transmisión Confiable de Frames

● En una red– Los Frames se pueden perder o corromper– Un protocolo en enlace de datos debe ser capaz de recuperar los

frames perdidos o corruptos

● Para eso se usa dos mecanismos– Un Frame especial llamado ACK (Acknowledgment) sin parte datos– El TimeOut: Acción de esperar durante un tiempo razonable– Cuando el receptor no recibe un Frame ACK después de un tiempo

razonable, se retransmite el Frame original

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3333

Protocolos ARQ

● ARQ = Automatic Repeat Request– Estrategia general que usa el TimeOut y un Frame ACK para

retransmisión automática de Frames

● Existen Varios Protocolos de tipo ARQ– Stop & Wait

● El emisor usa un TimeOut cada vez que transmite un Frame● Protocolo básico pero seguro● No tiene un buen desempeño

– Ventanas Deslizantes● Se puede transmitir varios Frames antes de usar un TimeOut● Protocolo que tiene un mejor desempeño porque tiene un manejo del TimeOut

mucho mejor

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3434

Protocolo Stop & Wait

TX RX

Frame

ACK

TimeOut

t

Stop & Wait es el esquema más simple de un protocolo ARQ

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3535

Escenarios Posibles de Stop & Wait

t

TimeOut

TimeOut

Frame

ACK

Drop

Se pierde el Frame original

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3636

Escenarios Posibles de Stop & Wait

TimeOut

TimeOut

Drop

ACK

Se Genera Un FrameDuplicado

t

Se pierde el ACK

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3737

Escenarios Posibles de Stop & Wait

TimeOut

TimeOut ACK

t

El TimeOut está mal regulado

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3838

Discusión Stop & Wait

● Ancho de Banda– El protocolo permite solo un Frame en el Link– Baja el uso del ancho de banda

● Generación de Frames Duplicados– Cuando se pierde el ACK– Si el TimeOut está mal regulado

● Solución a los Frames Duplicados– Incorporar en el Header un número de secuencia– Se usa solamente un Bit– Se usa 0 y 1 alternadamente en cada Frame

● 0,1,0,1 ...

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 3939

Números de Secuencia

f0

f1

f0

ACK0

ACK1

ACK0

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4040

Eficiencia del Protocolo Stop & Wait

● Consideramos un Link– De 1.5 Mbits/s– Con un RTT (Round Time Trip) de 45 msec

45msec

1,5⋅106×45⋅10−3

...=1,5×45⋅103=67,5Kbps≃8Kbps

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4141

Eficiencia

● Si un Frame tiene un tamaño promedio de 1KB– La velocidad efectiva del transmisor es:

1024×80.045

=182 Kbps● Se envia un Frame por RTT● Uso del Link:

Capacidad del Link Capacidad usada

= 1,5×106

182×103=8.24

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4242

Discusión

● Con el protocolo Stop & Wait– Se usa 1/8 de la capacidad del Link– Para usar completamente el Link se necesita transmitir 8 Frames

antes de esperar un ACK

● Principio muy simple– Mantener la tubería llena

● Nuevo tipo de protocolos– Protocolos con Ventanas Deslizantes

● Se puede transmitir varios Frames antes de esperar un ACK● ¿Cuantos Frames?

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4343

Ventanas Deslizantes

● Consideremos un escenario con– RTT * BandWidth = 8KB– Frames de 1KB

ACK

8 Frames

Espera delACK

El transmisor podría transmitir el noveno frame en el mismo momentoque llega el ACK del primer frame.

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4444

Algoritmo de Ventanas Deslizantes

● Transmisor– Se asigna un número de secuencia a cada Frame: NumSec– Se Mantienen 3 Variables– TWS – Transmiter Window Size

● Número máximo de frames que el transmisor puede transmitir

– LRA – Last Received ACK● Número de secuencia que indica el ultimo ACK recibido

– LTF – Last Transmited Frame● Número de secuencia del ultimo Frame transmitido

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4545

Algoritmo de Ventanas Deslizantes

● Invariante para el Transmisor

LTF – LRA <= TWS

<= TWS

LRA LTF

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4646

Acciones del Transmisor

● Cuando llega un ACK, el transmisor mueve LRA a la derecha permitiendo transmitir un nuevo frame

● El Transmisor también asocia un timer a cada frame– Gestión del TimeOut

● En la ventana de transmisión se mantienen los frames transmitidos en un buffer a la espera de reconocimiento– El Buffer permite una nueva transmisión en caso de no recibir el

ACK que corresponde● Cuando el TimeOut expira

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4747

El Receptor

● Mantiene 3 Variables– RWS – Receptor Window Size

● Cota máxima de frames que se espera recibir

– LAF – Last Acceptable Frame● Número de secuencia del último frame aceptable

– NAF – Next Aceptable Frame● Número de secuencia del siguiente frame esperado

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4848

El Receptor

● Invariante para el receptor

LAF – NAF +1 <= RWS

<= RWS

NAF LAF

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 4949

Algoritmo del Receptor

● Al llegar un Frame

If( NumSec < SFE || NumSec > UFA )

El frame se descarta por estar fuera de la ventana

if( SFE <= NumSec <= UFA ) Se acepta

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 5050

Números de Secuencia Finitos

● Los números de secuencias no pueden ser infinitamente largos– En la práctica está limitado por el espacio disponible en el header

del frame– Con tres bits, los números posibles son: 0,1,..7

● Con números de secuencia finitos– Es necesario reutilizar números, lo cual obliga a distinguir entre

distintas encarnaciones de la misma secuencia de números– Esto significa que la secuencia debe ser mayor que los frames que

están en camino– Por ejemplo, Stop & Wait considera un frame en camino y dos

números de secuencia

Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa MarPr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María – Departamento de Informáticaía – Departamento de InformáticaSlide Slide 5151

Números de Secuencia Finitos

● ¿Cuántos números se necesitan?– Se puede demostrar que se debe cumplir que:

TWS≤Total Numeros de Secuencias Disponibles12

● Intuitivamente esto significa que el protocolo de ventana deslizante alterna entre las dos mitades del espacio de números de secuencia