P3 - Consulta ejercicio 1b y 5

P3 - Consulta ejercicio 1b y 5

de NEHUEN PEREYRA -
Número de respuestas: 7

Hola, tengo dos consultas de la práctica 3 que son las siguientes:

1.VLSM

b. Dada la red IP 100.0.0.0/16 se podría dividir en:


100.0.0.0/21 (para los 2000 host que pide, en total podría haber 2046 host)

100.0.8.0/21 (para los 2000 host que pide, en total podría haber 2046 host)

100.0.16.0/23 (para los 500 host que pide, en total podría haber 510 host)

100.0.18.0/23 (para los 500 host que pide, en total podría haber 510 host)

100.0.20.0/23 (para los 300 host que pide, en total podría haber 510 host)

… (serían 19 redes)

100.0.80.0/23 (para los 300 host que pide, en total podría haber 510 host)

100.0.82.0/24 (para los 200 host que pide, en total podría haber 254 host)

.... (serian 49 redes)

100.0.132.0/24 (para los 200 host que pide, en total podría haber 254 host)

Para las 74 direcciones de la red backbone

100.0.133.0/25


¿Sería correcto esto? Si es así, en el punto 2 sería solo calcular la nueva cantidad de host por cada red y determinar nuevamente la máscara para cada red no?


5. Fragmentación

Se debe enviar un datagrama de IPv4 de 1100 Bytes con un encabezado sin opciones a través de un link que solo soporta datagramas de 200 bytes. Determine el offset y los bits de fragmentación de cada datagrama.

Entonces si lo maximo es 200 bytes para el datagrama IP y la cabecera es de 20 bytes para esta caso, transportarán 180 bytes cada uno y se requerirían 6 datagramas de 200 bytes (20 byte de cabecera + 180 byte de datos) y 1 de 40 bytes (20 byte de cabecera y 20 bytes de datos) para poder enviar el datagrama de 1100 bytes.

La duda que me genera es el offset de fragmentación, ya que tengo entendido que se calcula como:

[(tamaño total del paquete IP anterior - Header IP)/8]+Sumatoria de offset de fragmentación anteriores.


Secuencia - tamaño total(bytes) - FLAG D - FLAG B - Fragmentación offset

0                          200                         0           1                  0

1                          200                         0           1         [(200-20)/8]+0=22.5

6                           40                          0           0


Por lo que tengo entendido se tiene que ser un número divisible por 8 para que quede un valor entero. ¿Cómo se solucionaría este caso?



Desde ya gracias, espero las respuestas.

Nehuen



En respuesta a NEHUEN PEREYRA

Re: P3 - Consulta ejercicio 1b y 5

de Matías Robles -

Hola Nehuen, el ejercicio 1b por lo que veo está correcto. 

En cuanto al de fragmentación, en cada fragmento tenés que poner una cantidad de bytes que sea múltiplo de 8, por lo cual no podés poner 180 bytes en el fragmento, deberías colocar el mayor valor posible que sea múltiplo de 8 (esto no es necesario en el último paquete) 

En respuesta a Matías Robles

Re: P3 - Consulta ejercicio 1b y 5

de NEHUEN PEREYRA -

Entonces si el máximo es 200 bytes se podrían enviar (200-20)/8=22.5 el numero entero es 22 entonces 22*8=176 bytes más la cabecera serian 196 bytes (20 bytes de cabecera y 176 de datos). 

La tabla quedaría:

Secuencia - Tamaño total - Flag D - Flag B - Fragmento offset

0                        196              0              1              0

1                        196              0              1              22

2                        196              0              1              44

3                        196              0              1              66

4                        196              0              1              88

5                        196              0              1              110

6                        64(*1)          0              0              132

(*1) 20 bytes de cabecera + 44 bytes  de datos.

Seria así?

En respuesta a NEHUEN PEREYRA

Re: P3 - Consulta ejercicio 1b y 5

de ANDRES BARBIERI -

Los invito a que programen en algún lenguaje en el que estén familiarizados una simulación del algoritmo de fragmentación. Les mando la salida del mio:

./a.out 
**************
 1080 TotalDataSent=  176 packetPayloadLength=  176 OffsetBytes=    0 SentOffset=    0  DF=0 MF=1
  904 TotalDataSent=  352 packetPayloadLength=  176 OffsetBytes=  176 SentOffset=   22  DF=0 MF=1
  728 TotalDataSent=  528 packetPayloadLength=  176 OffsetBytes=  352 SentOffset=   44  DF=0 MF=1
  552 TotalDataSent=  704 packetPayloadLength=  176 OffsetBytes=  528 SentOffset=   66  DF=0 MF=1
  376 TotalDataSent=  880 packetPayloadLength=  176 OffsetBytes=  704 SentOffset=   88  DF=0 MF=1
  200 TotalDataSent= 1056 packetPayloadLength=  176 OffsetBytes=  880 SentOffset=  110  DF=0 MF=1
   24 TotalDataSent= 1080 packetPayloadLength=   24 OffsetBytes= 1056 SentOffset=  132  DF=0 MF=0
Fragments=7 TotalBytesIN/OUT=1100/1220

Esto es para los parámetros:

input datagram total = 1100B

hlen = 20B

MTU = 200B

En respuesta a NEHUEN PEREYRA

Re: P3 - Consulta ejercicio 1b y 5

de Luis Marrone -

1b.-


100.0.20.0/23 (para los 300 host que pide, en total podría haber 510 host)

… (serían 19 redes)

100.0.80.0/23 (para los 300 host que pide, en total podría haber 510 host)

Fijate que tenés más de las 20 redes que te piden.

100.0.82.0/24 (para los 200 host que pide, en total podría haber 254 host)

.... (serian 49 redes)

100.0.132.0/24 (para los 200 host que pide, en total podría haber 254 host)

Acá también te sobran (acordate de los árabes)

Correcto el enfoque para el punto 2

5. Tené en cuenta que no pueden ser datagramas de máximo 180 bytes de payload porque 180 no es divisible por 8. Tenés que encontrar el múltiplo de 8 más cercano a 180 por debajo. Calular cuántos te hacen falta ay el último tendrá los bytes que tenga que tener.



En respuesta a Luis Marrone

Re: P3 - Consulta ejercicio 1b y 5

de Agostina Bernardette Correa -

Hola profe, para el 1b tengo que tener en cuenta los cambios que voy haciendo con cada red que vos definiendo? 

Por ejemplo, 

Para la red que me pide 2000 hosts, Nehuen definió la red 100.0.8.0/21 y para la que pide 2 redes de 500 hosts definió la red 100.0.16.0/23, para la segunda tengo que tener en cuenta los cambios que hice en la red anterior o los valores que le da son aleatorios?


En respuesta a Agostina Bernardette Correa

Re: P3 - Consulta ejercicio 1b y 5

de Luis Marrone -

La verdad no me queda claro que querés decir por cambios en la red.

Vos disponés de la dirección 100.0.0.0/16.

Para las redes de 2000 hosts considerando que definis las redes limitándolas por cantidad de hosts, deberías tomar un prefijo de /21. Con la dirección dada significa que los primeros 16 bits están fijos, o sea que tenés un rango de 5 bits para variar dentro de los primeros 5 bits del tercer campo:

100.0.0.0/21 a 100.0.248.0/21. De las 32 combinaciones posibles tomas 2 que necesitas, p. ej.:

100.0.0.0/21 y 100.0.8.0/21.

Para las redes de 500 hosts deberías tomar /23 es decir que tenés disponibles los 7 primeros bits del tercer campo, pero no podés considerar las combinaciones que tengan los 5 primeros bits en 00000 y 00001 porque las usaste en la asignación anterior.

Acordate que también tenés que asignar dirección a la red de backbone.

Te ayudó esto????