Escolar Documentos
Profissional Documentos
Cultura Documentos
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
Redes de Ordenadores
Práctica 2: Medición de rendimiento en redes TCP/IP
Duración: 3 sesiones
En función del propósito de las medidas hay dos tipos de herramientas, herramientas
de monitorización (monitoring tools) y herramientas de comparación (benchmarking
tools). Las herramientas de monitorización se emplearon inicialmente para ayudar en
la implementación de protocolos, pero actualmente también se utilizan para la gestión
de redes. Dos herramientas de monitorización muy utilizadas son tcpdump y tcpstat.
Las herramientas de comparación generan tráfico inyectándolo en la red a analizar,
permitiendo medir diferentes índices de rendimiento como la velocidad de
1
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
Dependiendo del nivel de las tareas llevadas a cabo, una herramienta se puede
clasificar en dos categorías: recopilador (collector) y analizador (analyzer). Un
recopilador captura y guarda datos originales (raw data), e.g. tcpdump. Un analizador
procesa los datos capturados y realiza un resumen de dichos datos. Además de estas
categorías, se pueden utilizar herramientas complementarias como gnuplot que
permiten representar los resultados en gráficas.
1. Tcpdump
Funcionamiento La función principal de tcpdump es monitorizar paquetes y mostrar sus
cabeceras y cuerpos en un formato legible para una persona. Para ello,
tcpdump utiliza el modo promiscuo del interfaz de red para capturar todos los
paquetes que son transmitidos por la red. Utiliza la librería Packet Capture
(libpcap), que proporciona un interfaz de programación para cualquier sistema
tipo UNIX y soporta el filtrado de los paquetes capturados. Desarrollada por Van
Jacobson en los 90, tcpdump sigue siendo una de las herramientas de
monitorización de red más popular.
Análisis de
tcpdump los paquetes
información
de los
paquetes Captura y filtrado
libpcap de paquetes
Red Red
Utilización y opciones
Tcpdump se ejecuta desde la línea de comandos. Para ver todas las opciones
disponibles se puede utilizar:
tcpdump --help
Para ver una descripción del significado de las diferentes opciones se puede
utilizar su manual:
man tcpdump
2
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
Src y dst son las direcciones IP y los puertos TCP de la fuente y el destino. Los
flags se forman como combinación de S (SYN), F (FIN), P (PUSH), R (RST) ó
“.” (sin flags). Data-seqno indica el número de secuencia de los datos enviados.
Ack es el número de secuencia del próximo byte de datos que se espera recibir.
Window es el número de bytes disponibles en el buffer receptor. Urgent indica
si hay datos urgentes en el paquete. Options son las opciones TCP, escritas
entre ángulos (<…>). Los tres primeros campos estarán presentes en cualquier
paquete, mientras que el resto dependerán del tipo de paquete.
Cuestiones y Las tareas a realizar con tcpdump son las siguientes:
tareas
1. Capturar todo el tráfico entrante y saliente del ordenador, de forma
independiente para cada interfaz. Identificar el tráfico existente cuando
no hay ninguna aplicación generando tráfico.
2. Guardar en un fichero las trazas de una conexión telnet, para un
análisis posterior de los paquetes enviados. Diferenciar entre la
conexión inicial, mostrado del contenido del directorio raíz y la
desconexión final. Realizar un filtrado de forma que sólo salgan los
paquetes relacionados con esta conexión telnet.
3. Volver a capturar las trazas de una conexión telnet, realizando diversas
acciones (e.g. mirando el contenido de varios directorios). En esta
ocasión sólo se capturarán el comienzo y el final de las conexiones
TCP.
4. Capturar el tráfico entre dos redes diferentes (e.g. dos islas
adyacentes). Se puede utilizar ping, telnet y ftp para generar tráfico
entre dichas redes.
Comando/s tcpdump
NOTA: Los paquetes TCP utilizados al principio y al final de una conexión TCP
son paquetes SYN y FIN, en los que se activan los flags correspondientes.
3
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
NOTA: Para la utilización de ftp, se puede utilizar el servidor gssftpd que está
instalado en los equipos del laboratorio. Este servidor funciona a través del
superservidor xinetd (fichero de configuración /etc/xinetd.d/gssftpd).
Hay que deshabilitar que el servidor requiera autenticación, por lo que la línea
server_args = -l -a deberá quedarse como server_args = -l.
Además, hay que habilitar el servicio (disable = no) y reiniciar el
superservidor xinetd.
4
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
2. Tcpstat
Funcionamiento Tcpstat proporciona estadísticas del protocolo TCP en un interfaz de red dado,
incluyendo ancho de banda usado, número de paquetes transmitidos, tamaño
medio de los paquetes TCP, etcétera. Al igual que tcpdump, tcpstat utiliza la
librería libpcap, por lo que los parámetros de filtrado serán similares. La
estructura funcional de tcpstat es la siguiente:
Conteo de
tcpstat paquetes
estadísticas
de
tráfico Captura y filtrado
libpcap de paquetes
Red Red
Utilización y opciones
El funcionamiento de tcpstat consiste en encontrar el interfaz de red a
monitorizar, capturar los paquetes en dicho interfaz, y finalmente presentar un
resumen de las estadísticas cada 5 segundos. Al igual que tcpdump, tcpstat
utiliza el modo promíscuo del interfaz de red, por lo que ha de ser ejecutado con
privilegios de superusuario. Por defecto busca un interfaz activo, pero se puede
especificar el interfaz concreto a monitorizar.
tcpstat --help
Para ver una descripción del significado de las diferentes opciones se puede
utilizar su manual:
man tcpstat
5
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
Comando/s tcpstat
man gnuplot
Observaciones Este programa no se encuentra instalado en las máquinas del laboratorio. Para
ello, hay que bajar el código fuente de la página oficial, descomprimirlo y
finalmente instalarlo.
NOTA: Suponiendo que el formato elegido para las trazas obtenidas con
tcpdump en la cuarta tarea mostrara los siguientes datos:
6
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
3. Ttcp
Funcionamiento Desarrollado durante la mitad de los años 90, ésta es una herramienta clásica
de comparación para redes TCP/IP. Utilizando ttcp (test TCP) se puede medir la
velocidad de transferencia a nivel TCP de cualquier segmento de red. Para ello,
es necesario tenerlo instalado en dos ordenadores; uno actuará de transmisor y
el otro de receptor. Éste último calcula la velocidad efectiva entre ambos
ordenadores. Además, ttcp tiene la ventaja de no requerir privilegios de
superusuario.
estadísticas estadísticas
de tráfico de tráfico
Red
Transmisor Receptor
ttcp ttcp
Utilización y opciones
Para medir la velocidad de transferencia, primero se ejecuta ttcp en el receptor
en modo pasivo. A continuación, se ejecuta en el transmisor en modo activo. A
partir del tráfico generado y recibido, ttcp calcula los siguientes indicadores de
rendimiento:
Tiempo total de CPU enviando datos
Cantidad total de datos enviados
Velocidad de transferencia basada en el tiempo de CPU
Velocidad de transferencia basada en el tiempo real (desde que
se envió el primer paquete hasta que se procesó el último)
7
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
Comando/s ttcp
4. Ethereal
Funcionamiento Este programa es un analizador de paquetes de red, presentando los datos de
cada paquete de una forma muy detallada y permitiendo la obtención de
estadísticas y resultados gráficos.
8
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
9
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
fichero. Utilizar para ello los ficheros entregados por el profesor (los tamaños de
estos ficheros serán 100KB, 1MB, 10MB).
Comando/s ethereal
Guía de usuario:
http://www.ethereal.com/docs/#usersguide
Observaciones NOTA: En el apartado de análisis de ficheros con trazas se pretende ver, entre
otros detalles, el mecanismo slow start al inicio de la transmisión TCP y tras los
posibles errores a nivel TCP. Slow start permite adaptar la velocidad del
transmisor en función de la congestión de la red, aumentando su velocidad si
llegan correctamente los paquetes y reduciéndola si hay errores.
10
Ingeniería telemática Redes de Ordenadores
Dpto. de Teoría de la señal, telemática y comunicaciones Práctica 2: Medición de rendimiento en redes TCP/IP
Universidad de Granada
18071 - GRANADA
Ventana de congestión
Expiración de temporizador
por congestión o fallo
slow-start
tiempo
Figura 3. Funcionamiento del mecanismo slow start de TCP.
11