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