Protocolos punto a punto

Anuncio
Protocolos punto a punto
Resolución de ejercicio de parcial
Esteban Lanzarotti
01.04.2015
1.
Ejercicio: Diseño de frames
Diseñe posibles conjuntos de frames de largo fijo para los siguientes tipos de protocolos,
asumiendo que se detectan errores usando CRC. (No hace falta explicitar el largo de los campos
ni del frame)
a. Stop & Wait
b. Sliding Window con GoBackN usando Piggybacking
c. Sliding Window con ACK Selectivo
1.1.
Resolución
a. Stop & Wait
En este caso podríamos usar dos tipos de frames: uno para Datos y otro para ACKs. Para
poder enviar datos en Stop & Wait evitando el problema de las reencarnaciones, cada frame
con datos debería tener un campo (1 bit) que especifica el ID de frame. Además, un campo
con los datos y un código detector de errores.
Emisor : #ID (1bit) | Datos | Paridad/Checksum/CRC/MD5
El receptor en cambio, sólo necesita anunciar reconocimientos, y además, se puede usar un
Padding para completar el frame a un largo fijo. Y, por supuesto, algún código detector de
errores para validar el 1bit del ACK.
Receptor : #ACK (1bit) | Padding | Paridad/Checksum/CRC/MD5
b. Sliding Window con GoBackN usando Piggybacking
El esquema de GoBackN se dá cuando el receptor no tiene buffers, por lo que todos los frames
recibidos después de uno con errores, debería ser retransmitido nuevamente. Es por esto que
usar ACK Selectivo no aportaría a la eficiencia del protocolo y sólo necesitamos anunciar un
ACK acumulado para informar los reconocimientos.
Por otro lado, se aclara que el protocolo debería aplicar la técnica de piggybacking que
consiste en incluir los reconocimientos en los paquetes con datos de usuario. Esto es muy
útil en protocolos en los que ambos extremos son emisores y receptores de informción.
Así que debería alcanzar para ambos extremos del enlace, con un sólo frame como el siguiente:
Ambos: #Seq | #ACK | Datos | CRC
El tamaño de los campos de #Seq y #ACK debería ser el mismo, y deberían definirse en
función de la capacidad del canal.
Ejercicio - Protocolos punto a punto
Redes - Primer cuatrimestre de 2015
c. Sliding Window con ACK Selectivo
En este caso, el emisor es análogo a los casos anteriores. En cambio, en el frame del receptor,
se agrega un campo de ACK Selectivo de manera de poder aclarar en un sólo paquete el reconocimiento acumulado además del anuncio explicito de recepción que informa el campo de
ACK Selectivo en caso de haber llegado un frame con errores seguido de frames sin errores
que puedan ser buffereados. Éste esquema es más eficiente que GoBackN, pero requiere de
espacio de almacenamiento en el receptor. Luego,
Emisor: #Seq | Datos | CRC
Receptor: #ACK | #SACK | (Padding) | CRC.
Nuevamente, el tamaño de los campos de #Seq, #ACK #SACK, debería ser el mismo, y
deberían definirse en función de la capacidad del canal.
2.
Ejercicio de Parcial
2.1.
Enunciado
Un protocolo confiable punto a punto que usa sliding window, opera sobre un canal de 10
Mbps, usa SACK y un frame emisor de 5kB como el siguiente:
#SEQ (8bits) ; Datos ; Checksum
a. Proponga un frame para el receptor.
b. ¿Cuál es el valor de latencia para el cual el protocolo presenta un 100 % de eficiencia?
c. Si la latencia fuera de 1 seg ¿Cuántos bits deberían ocupar los números de secuencia de
manera de maximizar la eficiencia?
2.2.
Resolución
a. Al no presentarse requerimientos que ameriten el uso de piggybacking, no vamos a usar esta
técnica para el framing. En ese sentido, el protocolo va a ser asimétrico, en el sentido de que
el frame emisor y el recetor van a ser distintos.
El número de secuencia del frame emisor ocupa 8 bits, esto implica que tanto el campo ACK
del receptor como el campo SACK deben ocupar la misma cantidad de bits: 8 bits para ACK
y 8 bits para SACK. Esto es porque es necesario poder referenciar en los reconociminetos
(ACKs) a cada frame que se envía el emisor.
El frame receptor propuesto sería:
#ACK (8bits) ; #SACK (8bits) ; Checksum
b. Para encontrar el valor de delay óptimo hay que tratar de llenar el canal sin que se desperdicie
tiempo bloqueado esperando. Veamos que datos tenemos:
Tengo 256 frames posibles porque el campo de #SEQ es de 8 bits.
- 2/3 -
Ejercicio - Protocolos punto a punto
Redes - Primer cuatrimestre de 2015
Pero, para evitar el problema de las reencarnaciones, sólo 128 frames podrán ser enviados
pues se usa SACK ⇒ SWS = 128 = RWS.
Luego, usamos los datos que tenemos en la formula de ventana de emisión óptima.
Ttx (SWS)/RTT (F) = 1,0
Ttx (F) ∗ SWS/RTT (F) = 1,0
(5kB/10Mbps) ∗ 128/2 ∗ Delay = 1,0
Resolviendo se obtiene que 0.032 segundos es el valor del Delay
c. Para resolver este ejercicio se recalcula el tamaño de la ventana de emisión para ajustar al
Delay requerido:
SWS = Vt x ∗ 2 ∗ Delay/|Frame|
Reemplazando los datos (ahora se conoce también el Delay) y resolviendo se obtiene que SWS
= 4000
Luego, #Frames ≥ 8000 y tomando el techo del log2 (8000) se obtiene que se necesitan 13
bits.
- 3/3 -
Descargar