sábado, 22 de mayo de 2010

Cuestión 6


Primero cambiar la ruta para ir a Linux 1

route delete 172.20.41.241
route add 172.20.41.241 172.20.43.231

Segundo realiza conexión FTP a la máquina Linux 1, para enviar el fichero p3.txt

C:\ftp 172.20.41.241
- usuario: alumnos
- contraseña: alumnos
- bin
- put p3.txt
- quit

El valor de MSS se negocia en la conexión TCP y se visualiza en los paquetes IP intercambiados entre la máquina del alumno y el servidor 172.20.41.241. Por tanto, el valor de MSS corresponderá al menor valor observado en los paquetes, en este caso de 360 bytes. Este valor está sujeto a la MTU de 400 (enlace entre Cisco 1601 y Cisco 2513).

viernes, 21 de mayo de 2010

Cuestión 5

Realiza una conexión FTP a la máquina de un compañero de clase. ¿Qué obtienes en el Monitor de Red al intentar realizar esta conexión?
Para ello escribimos enMS-DOS:

C:\> ftp 172.20.43.199




 Como podemos observar en las capturas, sucede un proceso que se realiza 3 veces:
Intentamos la conexión con el ordenador destino de la conexión FTP con el flag SYN, a lo que el ordenador destino nos responde con otro mensaje con la respuesta RST (reset) que indica que la conexión no se ha podido producir y por ello se vuelve a intentar la comunicación.
El hecho de que obtengamos esta respuesta se debe a que el servicio TCP se encuentra deshabilitado en los ordenadores de los alumnos.

jueves, 20 de mayo de 2010

Cuestión 4


Utiliza el programa rexec para ejecutar el comando ‘cat ifconfig.txt’ en el servidor 10.3.7.0.

MSS = Datos máximos que podemos poner en el segmento
MTU = Datos máximos de Ethernet

Cálculo del MSS: MSS = MTU - CAB IP - CAB TCP

¿Qué valor de MSS se negocia entre los extremos de la comunicación?

Los valores de MSS entre los extremos son de 1460 y 460. Porque al principio se intenta enviar un MSS de 1460, pero como hay un tramo con MTU de 500, su MSS será de 460.

¿Cuál es el tamaño de los segmentos TCP transportados dentro de los paquetes IP?

El tamaño de los segmentos TCP es de 480 bytes (460 de datos y 20 de cabecera TCP)

¿Qué diferencia existe respecto al caso anterior?

La diferencia, es que en el caso anterior la MTU era de 1500 (MSS de 1460) y en este caso la MTU es de 500 (MSS de 460), por tanto, los segmentos TCP contienen menos datos.

miércoles, 19 de mayo de 2010

Cuestión 3

Utiliza el programa rexec para ejecutar el comando ‘cat file1.txt’ en el servidor 172.20.43.232 (Linux2). La información recibida es de varios miles de bytes y se recibirá en segmentos TCP de gran tamaño. ¿IP ha fragmentado estos segmentos? ¿Por qué ocurre esto? ¿Cuál es el tamaño de los segmentos TCP?

No, los segmentos no han sido fragmentados, ya que el protocolo TCP está concebido para no fragmentar los paquetes, de manera que estos sean más seguros durante la transmisión.


En cuanto al tamaño, viene determinado por la MTU (Unidad máxima de transferencia) en la que se trabaje, en TCP la MTU es de 1500 bytes, tamaño al que le debemos restar los bytes de cabecera (20 de cabecera IP y 20 de cabecera TCP), por lo que la MSS (Tamaño máximo de segmento) es de 1460 bytes.

martes, 18 de mayo de 2010

Cuestión 2

Rexec. Remote Shell es un servicio presente en un S.O. UNIX con TCP/IP que atiende el puerto TCP 512 en espera de peticiones de ejecución de comandos desde procesos remotos clientes. Utiliza TCP, por lo que trabaja con conexión. Para las prácticas se dispondrá de un programa para MS Windows (rexec.exe) que actúa como cliente. En una sesión de rexec.exe se pide inicialmente un nombre de usuario y password en la máquina servidora, y tras introducir estos, se pueden ejecutar comandos UNIX en dicha máquina. Nos servirá para estudiar una conexión TCP. Dentro de una máquina UNIX, el cliente es un programa de línea de comandos con esta sintaxis básica:

rsh (IP_SERVIDOR) (COMANDO_A_EJECUTAR)


Emplear el programa rexec para ejecutar el comando ‘ls –l’ en la maquina con dirección 172.20.43.232 (Linux2). Utiliza para ello el usuario ‘alumnos’ y la clave ‘alumnos’. Con el monitor de red, analizar y estudiar la secuencia de paquetes TCP intercambiados en el establecimiento de la conexión entre la máquina del alumno y la 172.20.43.232. Utilizar para ello el filtro adecuado (direcciones y protocolos).


• Comprueba las secuencias de conexión-desconexión TCP. ¿Son similares a las que se detallan en la figura 6? (Puede que observes que el cliente contesta a una solicitud de SYN del servidor con un RST. Esto ocurre porque el servidor trata de autentificar al cliente, algo que no permite el PC).


Comparando la imagen con la figura 6, se observa que las secuencias de conexión-desconexión TCP, son muy similares.

Primero se realiza el establecimiento de conexión, donde el alumno envía una solicitud SYN y el servidor responde con un único segmento SYN+ACK, seguidamente se establece la conexión entre máquinas y se confirma la recepción.

Una vez establecida la conexión, se efectúa la transmisión de datos entre la máquina del alumno (cliente) y el servidor, en esta parte hay una autentificación del cliente por parte del servidor, donde la solicitud SYN del servidor es contestada con la respuesta RST del cliente.

Para terminar se realiza una liberación de conexión con el segmento ACK y FIN con el que finaliza la conexión.

• Comprueba el valor de los puertos utilizados. Indica su valor.
Los puertos utilizados en la conexión son:
Puerto 3463
Puerto 512

• Analizar los valores de la ventana de receptor. ¿Cuál es más grande?
Receptor 172.20.43.232 (servidor), window size: 65535
Receptor 172.20.43.199 (cliente), window size: 5840

La ventana más grande es la del Servidor

lunes, 17 de mayo de 2010

Cuestión 1

Udp.exe. Este sencillo programa para MS Windows nos permitirá enviar y recibir paquetes UDP, especificando también su contenido, a un número de puerto y una IP destinos especificados para comprobar el funcionamiento de este protocolo.

a. Utilizar el programa udp.exe para realizar un envío de datos al puerto 7 (eco) o al puerto 13 (hora y día) del servidor Linux1 (10.3.7.0). Para ello basta especificar la dirección IP y el puerto del servidor, colocar algún texto en la ventana y pulsar el botón "Envía UDP". Con el monitor de red, analiza la secuencia de paquetes UDP que se desencadenan cuando se envía como datos una palabra, por ejemplo “hola”. Utiliza el filtro adecuado en el Monitor de Red (direcciones y protocolos).











Los datos más significativos son:
Tipo: IP
Longitud total: 34
Protocolo: UDP (0x11)


b. Prueba de nuevo udp.exe, pero enviando un texto mucho más grande (sobre 2Kbytes). Esto se puede hacer copiando parte de algún fichero de texto en la ventana de udp.exe. ¿Se produce fragmentación IP de los paquetes UDP? Estudia las longitudes del paquete UDP y las de los paquetes IP que aparecen. Detalla los paquetes (fragmentados o no) que observas en el Monitor (indica el valor del identificador, flags, tamaño, etc…)

 Envío:










Solicitud:










Respuesta (4º fragmento):











Como podemos observar, nuestra petición se ha dividido en 2 paquetes al poder disponer de un tamaño máximo de 1500 bytes, en cambio, los datagramas de la respuesta enviada por la máquina Linux 1 no pueden exceder el tamaño de 500 bytes y por ello recibimos 5 datagramas de respuesta.

sábado, 15 de mayo de 2010

Práctica 3 - Introducción


Los objetivos de la práctica 3 de la asignatura Redes es profundizar en el funcionamiento de los protocolos de transporte en la arquitectura de red. En particular, se pretende conocer las características del nivel de transporte, así como el formato de las estructuras de datos que circulan en este nivel. Se implementará una aplicación cliente/servidor que incorpore las funciones más típicas exigibles a un nivel de transporte TCP/IP.

viernes, 14 de mayo de 2010

Cuestión 7. Sobre direccionamiento IP y creación de subredes

7.a Dada la dirección de clase B 145.65.0.0, se desean 6 subredes. ¿Cuántos bits se tendrán que reservar para crear las subredes? Indica el valor decimal de las subredes, así como el valor de la nueva máscara de subred.

Deberíamos reservar 3 bits para la creación de 6 subredes, ya que con 2 bits no nos bastaría al posibilitarnos tan solo 4 subredes y el emplear 3 nos permitiría la creación de hasta 8 subredes.



El valor decimal de las subredes sería:


1ª subred: 145.65.0.0 (000)
2ª subred: 145.65.32.0 (001)
3ª subred: 145.65.64.0 (010)
4ª subred: 145.65.96.0 (011)
5ª subred: 145.65.128.0 (100)
6ª subred: 145.65.160.0 (101)


Esto es así porque además de los 3 bits empleados, para calcular el valor decimal debemos añadir los 5 bits restantes hasta completar los 8 (P. ej. 010 --> 01000000 = 64).


Para la creación de la máscara debemos tener en cuenta que a todos los bits ya utilizados se les asigna el valor "1" en binario, por tanto en decimal la máscara queda con el valor:
255.255.224.0 (224 al pasar de la palabra binaria 11100000 a decimal).

7.b Sea la dirección de red IP 125.145.64.0 con máscara asociada 255.255.254.0. Ampliar la máscara de subred en dos bits, indicando el nuevo valor. Determina el rango de direcciones IP que puede emplearse para numerar máquinas en cada una de las subredes obtenidas en la ampliación.

Podemos formar cuatro subredes distintas empleando los dosprimeros bits con valor 0 en la máscara  (11111111.11111111.11111110.00000000), proporcionándonos de esta manera la posibilidad de crear 4 nuevas subredes, con las combinaciones 00, 01, 10 y 11.

De esta manera nos quedarían 7 bits libres para nombrar máquinas, lo que hace un total de 124 posibles máquinas, ya que a las 128 combinaciones de elevar 2 a 7, hay que restarle los casos en los que todos los bits son 0 y cuando todos son 1, ya que estos valores están designados identificar la subred y la dirección de broadcast, respectivamente.

viernes, 7 de mayo de 2010

Cuestión 6. Mensaje ICMP “Fragment Reassembly Time Exceeded”


En esta cuestión se analizará el mensaje ICMP tipo 11 código 1. Para ello, se va a intentar “saturar” a una determinada máquina del laboratorio enviándole un número elevado de peticiones Ping. Este elevado número de peticiones puede producir un error si la máquina destino tiene que realizar un reensamblado excesivo de de paquetes en un tiempo limitado.

Iniciar el programa monitor de red. A continuación ejecutar el comando “Ping” en varias ventanas (en paralelo) de MSDOS, así lograrás mayor número de peticiones:

C:\>ping -n 80 -l 20000 10.3.7.0

Detener la captura y determinar:

6.a.¿De qué máquina proceden los mensajes ICMP “Fragment Reassembly Time Exceded”? (identifica la máquina en la topología del anexo)



IP: 10.3.7.0
MAC: 00:07:0E:8C:8C:FF

6.b.¿Por qué crees que pueden proceder de esa máquina y no de otra?

Porque el mensaje de error se da a nivel IP, sin embargo, la dirección MAC se da a nivel MAC, es decir, la de la RED LOCAL, en este caso, la MAC corresponde a la puerta de enlace predeterminada del laboratorio.

jueves, 6 de mayo de 2010

Cuestión 5. Mensaje ICMP “Time Exceeded”

Dentro del mensaje ICMP Time Exceeded se analizará el de código 0: Time to Live exceeded in Transit (11/0). En primer lugar, inicia el monitor de red para capturar paquetes IP relacionados con la máquina del alumno y ejecuta el comando:

C:\> ping –i 1 –n 1 10.3.7.0







5.a. Finaliza la captura e indica máquina que envía el mensaje “ICMP Time to Live exceeded in Transit”… ¿Puedes saber su IP y su MAC? (identifica la máquina en la topología del anexo)



IP: 172.20.43.230
MAC: 00:07:0E:8C:8C:FF


Como se puede apreciar en el esquema, la máquina que envía el mensaje de error se trata de la puerta de enlace por defecto.


Inicia de nuevo la captura y ejecuta a continuación el comando:

C:\> ping –i 2 –n 1 10.3.7.0

5.b. Finaliza la captura y determina qué máquina envía ahora el mensaje “ICMP Time to Live exceded in Transit”… Averigua y anota la IP y la MAC origen de este mensaje de error. ¿Pertenecen ambas direcciones a la misma máquina? (identifica las máquinas en la topología del anexo)



IP: 10.4.2.5
MAC: 00:07:0E:8C:8C:FF


No, no pertenecen a la misma máquina, ya que IP y MAC se corresponden respectivamente con los routers Cisco 2513 y 1720 (puerta de enlace predeterminada).

Por último, inicia de nuevo la captura y realiza un ping a la siguiente dirección:

C:\> ping –i 50 –n 1 10.3.7.12

5.c. Finaliza la captura y observa el mensaje de error ICMP que aparece en el monitor de red. ¿Qué tipo y código tiene asociado ese mensaje? ¿Qué crees que está sucediendo al intentar conectarte a esa máquina y obtener ese mensaje de error? ¿En qué subred estaría ubicada?



 Tipo: 11
Código: 0

Sucede que intentamos acceder a una máquina inexistente, por lo que el mensaje viaja entre routers intentando encontrarla hasta que expira su tiempo de vida (TTL).

Dicha máquina en caso de existir formaría parte de una subred ubicada entre el router 2513 y el ordenador Linux 1

martes, 4 de mayo de 2010

Cuestión 4. Mensaje ICMP “Redirect”

Inicia el Monitor de Red. A continuación ejecutar los comandos:

C:\>route delete 10.4.2.1 (si ya ha sido borrada la ruta, avisa con un error)

C:\>ping -n 1 10.4.2.1 (antes de contestar debes confirmar que en MSDOS el resultado del Ping es correcto: paquetes enviados:1 , paquetes recibidos:1, sino debes repetir los dos comandos anteriores y el proceso de captura en el Monitor de Red)

En base a los paquetes capturados, filtra sólo los datagramas que contengan tu dirección IP y contesta a las siguientes preguntas:

4.a.¿Cuántos datagramas IP están involucrados en todo el proceso? Descríbelos…(tipo, código y tamaño)


Datagramas IP involucrados:

Petición/Request
Redirección/Redirect
Respuesta/Reply

4.b.¿Las direcciones MAC e IP de todas las tramas capturadas con el Monitor de Red hacen referencia al mismo interfaz de red? Indica en qué casos la respuesta es afirmativa y en qué casos la dirección IP especifica un interfaz de red que no se corresponde con el mismo interfaz indicado por la MAC.

La última trama no representa al mismo interfaz porque no está en la misma red local.

4.c. ¿Qué máquina o interfaz de red envía el mensaje ICMP Redirect?

Cisco 1720 (Puerta de enlace)
4.d.¿Qué dato importante para tu PC transporta en su interior ese mensaje de Redirect?

El mensaje de Redirect transporta el mensaje original que causó el error de redirección, enviándolo a la puerta de enlace alternativa (cisco 1601) para que pueda pasar el paquete, sin necesidad de pasar por la puerta de enlace predeterminada (cisco 1720), y llegar al destino deseado, por la ruta más directa.


4.e.Observa los campos “Identificación”, “TTL” y “Cheksum” del datagrama que se envió originalmente. A continuación, analiza el contenido del mensaje Redirect. ¿Puedes encontrar la misma identificación dentro de los datos (no cabecera) del mensaje ICMP Redirect? ¿Qué ocurre con los campos TTL y Cheksum del datagrama transportado por el Redirect?

Original
Redirect



¿?

lunes, 26 de abril de 2010

Cuestión 3. Mensaje ICMP “Destination Unreachable”

Dentro del mensaje ICMP Destination Unreachable se analizará el de código 4: Fragmentation Needed and Don't Fragment was Set (3/4). En primer lugar ejecuta el comando:

C:\>route delete 10.3.7.0 ( si ya ha sido borrada la ruta, avisa con un error)



¿Por qué ejecutar este comando? En MS Windows, con route se modifican las tablas de encaminamiento de una máquina. Con la opción delete eliminamos un camino o ruta a la dirección especificada. Al eliminarlo, borramos también cualquier información asociada a esa dirección, incluida la información sobre errores previos al acceder a ese destino. A continuación, poner en marcha el Monitor de Red en modo captura y ejecutar el comando ping:

C:\>ping -n 1 –l 1000 -f 10.3.7.0 (…la opción –f impide la fragmentación de los datagramas en la red)

En base a los paquetes capturados, indicar:

3.a. Identifica las direcciones IP/MAC de los paquetes IP involucrados. ¿A qué equipos pertenecen? (identifica la máquina con la topología del anexo)











Petición:
Dirección IP origen: 172.20.43.200
Dirección IP destino: 10.3.7.0
Dirección MAC origen: 00:0a:5e:77:04:3a
Dirección MAC destino: 00:07:0e:8c:8c:ff

Respuesta:
Dirección IP origen:10.4.2.5
Dirección IP destino: 172.20.43.200

Dirección MAC origen: 00:07:0e:8c:8c:ff
Dirección MAC destino: 00:0a:5e:77:04:3a

 Equipos involucrados:


3.b. ¿Qué máquina de la red envía el mensaje ICMP “Fragmentation Needed and Don't Fragment was Set” (3/4)? (identifica la máquina con la topología del anexo)



10.4.2.5

Cuestión 2. Sobre la fragmentación de datagramas IP

Empleando el programa Monitor de Red de la misma forma que en la situación anterior, ejecutar:

C:\>ping –n 1 –l 2000 172.20.43.230 (…la opción –l especifica la cantidad de datos a enviar)

2.a. Filtra los paquetes en los que esté involucrada tu dirección IP. A continuación, describe el número total de fragmentos correspondientes al datagrama IP lanzado al medio, tanto en la petición de ping como en la respuesta. ¿Cómo están identificados en el Monitor de Red todos estos paquetes (ICMP, IP, HTTP, TCP…)? ¿qué aparece en la columna ‘info” del Monitor de Red?













Observamos 4 paquetes fragmentados, 2 paquetes identificados con el protocolo ICMP, tanto de petición ‘echo request’, como de respuesta ‘echo reply’, y otros 2 paquetes de protocolo IP, en los cuales, aparece en la columna “info”, ‘Fragmented IP protocol’.



2.b. ¿En cuántos fragmentos se ha “dividido” el datagrama original?

El datagrama original se divide en 2 fragmentos, uno de protocolo ICMP y otro de protocolo IP; para la petición (ICMP y IP request) y para la respuesta (ICMP y IP reply).Esto se debe, a que, el datagrama original supera los 1500bytes que caben en Ethernet.





Cab. IP
Cab. ICMP
Datos puros
20
8
2000


Primer Fragmento
Cab. IP
Cab. ICMP
Datos puros
20
8
1472


Segundo Fragmento
Cab. IP
Datos puros
20
528


Como podemos observar el primer fragmento se completa con los 1500bytes, mientras que el segundo fragmento, se llena de residuos, esto se puede comprobar con las imágenes aportadas en el punto 2a.



2.c. Analiza la cabecera de cada datagrama IP de los paquetes relacionados con el “ping” anterior. Observa el campo “identificación”, “Flags” y “Fragment offset” de los datagramas. ¿Qué valor tienen en estos campos en los datagramas anteriores? Indica en la columna “dirección” si son de petición o respuesta. Muestra los datagramas en el orden de aparición del Monitor de Red.


Flag 0x01 --> nos indica que existen más fragmentos



Datagrama nº
Protocolo
Dirección
Flags
Frag. Offset
Identificación
232
ICMP
petición
0x01
0
14018
233
IP
petición
0x00
1480
14018
234
ICMP
respuesta
0x01
0
14018
235
IP
respuesta
0x00
1480
14018


2.d. ¿Qué ocurre en la visualización de los fragmentos de datagramas si introduces un filtro para ver únicamente paquetes de “icmp” en el Monitor de Red? ¿qué fragmentos visualizas ahora?


   
Solo visualizamos la primera parte fragmentada (ICMP) de la petición y de la respuesta.

2.e. ¿Para qué se pueden emplear los campos “Identificación”, “Flags” y “Fragment offset” de los datagramas IP?
   
Identificación --> para saber que las diferentes partes corresponden a un mismo paquete
    Flags --> nos indica si necesitamos alguna parte más
    Frag. Offset --> nos indica cual es la posición del último dato enviado del fragmento anterior

2.f. A continuación, se pretende observar que los datagramas pueden fragmentarse en unidades más pequeñas si tienen que atravesar redes en las que la MTU es menor a la red inicial en la que se lanzaron los paquetes originales. Inicia el Monitor de Red y captura los paquetes IP relacionados con el siguiente comando:

C:\>ping –n 1 –l 1600 10.3.7.0 (antes de contestar debes confirmar que en MSDOS el resultado del ping es correcto: paquetes enviados:1 , paquetes recibidos:1)









Indica el número total de datagramas en la red e identifica si son de petición o de respuesta (dirección):



Datagrama nº
Protocolo
Dirección
Flags
Frag. Offset
Identificación
108
ICMP
petición
0x01
0
17053
109
IP
petición
0x00
1480
17053
120
IP
respuesta
0x00
1440
168
124
IP
respuesta
0x01
960
168
128
IP
respuesta
0x01
480
168
130
ICMP
respuesta
0x01
0
168