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

Universidad de las Amricas Puebla

ESCUELA DE INGENIERIA Y CIENCIAS Computacin, Electrnica y Mecatrnica Redes de Computadoras IE-432-04 Primavera 2010

Redes de Computadoras I

Profesor: Vicente Alarcn Aquino

No Velasco de la Cruz Israel Gonzlez Cinta

132725 123390

Tarea #4

IE-432-04

Resumen Se implementarn los algoritmos para el clculo de fragmentos de datagramas con ayuda del software MATLAB.

Introduccin

Fragmentacin

El tamao para un datagrama debe permitir la encapsulacin, lo cual se refiere a enviar un datagrama completo por medio de una trama fsica. La capacidad mxima de transferencia de datos de una red fsica se le conoce como MTU (el tamao de MTU en Ethernet es 1500 bytes por trama). Al momento de que un datagrama se transfiere de una red a otra con un MTU menor a su tamao es necesario fragmentarlo.

Identificador: Nmero que consta de 16 bits para identificar al datagrama, permite reconocer los diferentes fragmentos de un mismo datagrama. Banderas: Campo de tres bits donde el primero est reservado. El segundo, llamado bit de nmero; cuando es= 0 puede fragmentarse el datagrama si es= 1 no puede fragmentarse el datagrama. El tercer bit es llamado Ms fragmentos y significa: 0 = nico fragmento o ltimo fragmento, 1 = aun hay ms fragmentos.

Offset: Campo que indica el tamao del desplazamiento en bloques de fragmento con respecto al datagrama original.

Pruebas y Resultados

Prueba #1

Fig. 1 Prueba 1

En la pantalla se muestra una prueba realizada teniendo como datos un datagram size = 2400 bytes y un MTU=1000 Bytes, se muestran el nmero de fragmentos as como su valor, las banderas de los mismos, un identificador de datagrama y su respectivo offset.

Prueba #2

Fig. 2 Prueba 2

Se muestra un datagram size= 4000 bytes con un MTU= 1500 bytes.

Se muestra parte del cdigo que se us para implementar el algoritmo:

%longitud total %checar si el paquete es exactamente divisible entre 8 if mod(mtu,8)==0 LT=mtu; %si si lo es, se asigna como variable else %si no lo es va restando valores hasta que lo sea while mod(mtu,8)~=0 mtu=mtu-1; end

LT=mtu; end while ds2>=mtu fragmento(pos) =LT; %lo guarda como longitud ds2=ds2-mtu; %dice cuantos fragmentos sern pos=pos+1; end

Algo que nos cost un poco de esfuerzo fue el offset:

%Offset del paquete if r==1 offset=0; else %calcula los offset dependiendo de la posicin de r y el tamao de paquetes anteriores offset=fragmento(r-1)*(r-1)/8; end fprintf('%d\n', offset)

Conclusiones La tarea nos sirvi para conocer ms el funcionamiento de la fragmentacin de datagramas, se concluy satisfactoriamente probando nuestro cdigo con dos ejemplos vistos en clase y por nuestra cuenta con dems ejemplos.

Fuentes de Informacin

http://www.see-my-ip.com/tutoriales/protocolos/ipv4.php Apuntes proporcionados por el Dr.Vicente Alarcn Aquino

Вам также может понравиться