Вы находитесь на странице: 1из 7

Redes y Telecomunicaciones II

-I

Asignacin N 03
1. Calcular la suma de comprobacin ( checksum) para un segmento
UDP dado los valores de la figura de abajo (la figura muestra un
datagrama UDP muy pequeo ms un pseudo-encabezado).
Nota: Observe que el nmero de bytes de datos es impar.
El campo Checksum debe ser inicializado a 0 a afectos del clculo
El pseudo-encabezado es para IPv4
(El ancho del formato de la estructura de un segmento UDP es de 32
bits)

pseudoencabezado

Datagrama
UDP

Ahora debemos sumar, con aritmtica complemento a uno, el seudoencabezado + el cabeza UDP + los datos UDP, como palabras de 16 bits
Suma con aritmtica complemento a uno del seudo-encabezado

Decima
l
153.18

Hexadecim
al
9912

8.105

869

171.2

AB02

14.10

EA0

Protocolo

17

11

Longitud
UDP
Suma

15

IP origen

IP destino

15B3D

Binario
10011001
00010010
00001000
01101001
10101011
00000010
00001110
00001010
00000000
00010001
00000000
00001111
1 01011011
00111101

Redes y Telecomunicaciones II

-I

En la aritmtica complemento a uno, cuando una operacin genera un acarreo


(carry) en el bit ms significativo, se debe incrementar el resultado.
[Hex]
[5B3D]
[5B3E]

Decimal
Binario
23357
01011011 00111101
1
23358
01011011 00111110

Suma con aritmtica complemento a uno del cabeza UDP


Nota: En este momento el campo de checksum est en 0000000000000000
[Hex]
[043F]
[000D]
[000F]
[0000]
[045B]

[Decimal]
[Binario]
1087
00000100
13
00000000
15
00000000
0
00000000
1115
00000100

00111111
00001101
00001111
00000000
01011011

Suma con aritmtica complemento a uno de los datos transportados


por UDP
Smbolo
T
E
S
T
I
N
G

[Hex]
[0054]
[0045]
[0053]
[0054]
[0049]
[004E]
[0047]
[021E]

Decimal
84
69
83
84
73
78
71
542

Binario
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000010

01010100
01000101
01010011
01010100
01001001
01001110
01000111
00011110

Y por fin, el checksum...


Para calcular el checksum debemos hacer dos cosas ahora, sumar los
resultados obtenidos con el seudo-encabezado, el encabezado UDP y los datos
y, finalmente, calcular el complemento a uno.
1. Suma de los resultados obtenidos con el seudo-header, el header UDP y los
datos
[5B3E]
[045B]
[021E]
[61B7]

01011011
00000100
00000010
01100001

00111110
01011011
00011110
10110111 = 25015 (Decimal)

El complemento a uno se obtiene convirtiendo todos los ceros en unos y todos


los unos en cero. De esta forma, el complemento a uno de 0110000110110111
es 1001111001001000. Que vendra a ser el checksum: el hexadecimal 9E48 y
40520 en decimal.
2

Redes y Telecomunicaciones II

-I

Asignacin N 04
1. Desarrollar los siguientes protocolos (caractersticas, funcionalidad,
diagramas FSM para los escenarios de errores en el canal subyacente que
puede manejar, etc.):
a. rdt2.2

1. Definicion

RDT2.2

Es un protocolo libre de NAK, donde es necesario mencionar que los


paquetes no se pierden (todava)por lo que se consideran las mismas
funcionalidades que rdt 2.1, pero utilizando solamente ACK. En lugar
de NAK, el receptor enva ACK para el ltimo paquete recibido OK. El
receptor debe incluir explcitamente el nmero de secuencia del
paquete que est ACKed. ACK duplicado (dos ACKs para el mismo
paquete) en el emisor resulta en la misma accin que el NAK, es
decir, retransmitir el paquete actual.
2. Caracteristicas
En lugar de enviar un NAK, el Rx renviar el ACK de la ltima
PDU que recibi correctamente. (Con esta estrategia, el Rx
debe incluir explcitamente en la PCI de todas las PDUs de
control ACK el nmero de secuencia de la PDU de datos de la
que se quiere dar acuse de recibo positivo.)
El Tx, al recibir un ACK duplicado (ya recibido) realiza la misma
accin que al recibir un NAK: retransmitir la PDU actual (que
an no ha sido reconocida).
No posee problemas, pero preparndonos para la prdida de
paquetes, es mejor prescindir de los NAK.
No podemos enviar NAK de un paquete que nunca llega.
La misma funcionalidad que rdt2.1, usando slo ACKs.
En lugar de NAK, el receptor re-enva ACK del ltimo paquete
recibido OK (Receptor debe explcitamente incluir # de
secuencia del paquete siendo confirmado con el ACK)
ACK duplicados en el Tx resulta en la misma accin que NAK:
retransmitir paquete actual
Si el canal es ideal, el mecanismo es simple. (rdt 1.0)
Si hay errores, pero no se pierden paquetes, usar ACK y NAK.
(rdt 2.0)
Si los ACK o NAK tambin pueden venir con errores, el tx reenva el paquete, entonces debemos usar nmero de
secuencia para eliminar duplicados. (rdt 2.1)
Se puede evitar NAK, enviando ACK duplicados en lugar de
NAK, entonces debemos usar nmero de secuencia para
3

Redes y Telecomunicaciones II

-I

detectad ACK duplicados (ver rdt 2.2)


El protocolo RDT/2.1 admite ser optimizado evitando tener
que hacer uso de los mensajes NAK de reconocimiento
negativo.
La idea es que el receptor indique qu paquete est
reconociendo al enviar un ACK(Debemos incorporar el nmero
de secuencia en los mensajes enviados por el receptor).
La recepcin por parte del emisor de un segundo ACK hace las
veces de un NAK(Se debe reenviar el ltimo paquete.)

3. Emisor y Receptor

3.1.

Descripcin
El receptor est esperando la llamada 0 desde arriba que sigue
siendo el mismo. Y el que recibe los datos de aplicacin crear un
paquete con 0 nmero de secuencia con suma de comprobacin y
as sucesivamente y se enviar el paquete a travs del canal poco
fiable. Dado que se espera la confirmacin y no es a la espera de
4

Redes y Telecomunicaciones II

-I

un acuse de recibo, pero est esperando confirmacin para 0 el


nmero de paquetes como el ltimo paquete enviado tiene un
nmero de secuencia 0. As que si recibe un paquete y el paquete
est daado o el reconocimiento recibido es para el nmero de
paquetes de 1, entonces se enviar el paquete de nuevo. En caso
de que fuera antes de NAK, pero ahora es ACK con el nmero de
secuencia equivocada. El primer paquete ser llevar a 0 el nmero
de secuencia a continuacin, a continuacin, 1 0 1 a continuacin,
y as sucesivamente. Y si el ACK es 0 y no est daado, entonces
ahora va a esperar a que llame al 1 de arriba. Esto es muy similar
a la figura 1. El tratamiento es exactamente el mismo. En la fig.
18,3 se nos muestra slo el nmero de secuencia de 0 y 1 que
puede ser duplicado.
En el extremo receptor el receptor est esperando a que el
paquete con nmero de orden 1 y si recibe un paquete con el
mismo nmero de secuencia y si no est daado, se va a extraer
los datos y entregar los datos. Tambin crear un ACK con el
nmero de paquetes de 1 y una suma de comprobacin y se
enviar el acuse de recibo al remitente. Y si el paquete est
daado, entonces se enviar el acuse de recibo es decir, anterior,
se reconoce el nmero de paquetes 1. Entonces, el paquete con
nmero de secuencia 0 ser transmitida de nuevo. Pero si el ACK
se corrompe, y el mismo paquete se enva una vez ms, la
confirmacin se enva de nuevo.
Tenemos que volver a enviar el paquete hasta que un buen ACK es
recibido. Esto significa que volvemos a enviar este paquete hasta
que nos convertimos en asegurarse de que este paquete sea
alcanzado. Despus de asegurarse de que el primer paquete es
recibido, vamos a por el segundo paquete, que es como si
estuviramos en otro estado. Luego cambiar a la siguiente estado.
Luego, cuando el primer paquete que enviamos est fuera de
contexto y se le puede llamar como 0 en lugar de llamar 0,1,2,3 y
as sucesivamente
4. Escenarios

Redes y Telecomunicaciones II

-I

2. Resolver el ejercicio:
Ejercicios
1. En el Protocolo rdt3.0: Dado el escenario de transmisin para
"datos corruptos". Enumerar en orden correlativo y en forma
conjunta tanto los estados como las transiciones por los que atraviesa
el emisor (hasta que se recibe el ACK1 final).
Pre-condicin: El protocolo rdt3.0 ya est en operacin por algn tiempo
El estado de inicio tiene el correlativo 1

Redes y Telecomunicaciones II

-I