Utiliza el programa rexec para ejecutar el comando ‘cat file1.txt’ en el servidor 10.3.7.0. ¿Qué valor de MSS se negocia entre los extremos de la comunicación? ¿Cuál es el tamaño de los segmentos TCP transportados dentro de los paquetes IP? ¿Qué diferencia existe respecto al caso anterior?
El valor que se negocia para cada extremo es:
Para la máquina que estamos, la MSS es de valor 1460 (la máxima).
Para la máquina Linux 1, la MSS es de valor460.
Por lo tanto, el tamaño de los segmentos TCP que se transportaran serán de 460 bytes de datos.
La diferencia fundamental respecto al ejercicio anterior es que en este caso los segmentos TCP contendrán menos datos.
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 se ve la fragmentación IP porque esta activado el byte Don’t Fragment.
Esto ocurre porque TCP crea sus segmentos respetando el tamaño máximo de la MTU.
El tamaño máximo de un segmento TCP es de 1460 bytes. Esto se consigue partiendo de los datos máximos de la MTU, que son 1500 bytes, e ir restándole 20 bytes de cabecera de IP y luego 20 bytes menos de cabecera de TCP. Otra forma de verlo ver es mirando el campo Maximum Segment Size que está en la pestaña Options del nivel TCP.
Aquí podemos ver una captura de lo comentado anteriormente:
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 .
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).
Según la captura que hemos realizado, se puede observar que tiene similitudes con lo que se detalla en la figura 6 de teoría.
Comprueba el valor de los puertos utilizados. Indica su valor.
Los puertos utilizados para los flags ACK son de valor 2170 para el puerto local y 512 para el puerto del servidor.
Los puertos utilizados para los flags SYN son de valor 3621 para el puerto local y 113 para el puerto del servidor.
Analizar los valores de la ventana de receptor. ¿Cuál es más grande?