2010-07-26 8 views
8

Estoy trabajando para obtener los parámetros de rendimiento de una conexión tcp y uno de estos parámetros es el ancho de banda. Tengo la intención de utilizar la estructura tcp_info compatible con Linux 2.6 en adelante, que contiene los metadatos sobre una conexión tcp. La información se puede recuperar utilizando la llamada a la función getsockopt() en tcp_info. He pasado mucho tiempo buscando una buena documentación que explique todos los parámetros en esa estructura, pero no pude encontrarla.Buena documentación sobre la estructura tcp_info

También probé un pequeño programa para recuperar los valores de tcp_info para una conexión tcp donde encontré los valores MSS medidos la mayor parte del tiempo como cero. Para abreviar, ¿hay un enlace para seguir que tiene complete los detalles en tcp_info y también es confiable usar estos valores.

Respuesta

10

Aquí es una fairly comprehensive write-up de la estructura y el uso de la tcp_info Linux por René Pfeiffer, pero hay un par de cosas dignas de mención:

  • El autor necesario para mirar estos datos repetidos con el tiempo debido a que hay no hay estadísticas agregadas en esa estructura.
  • El autor lo dirige a la fuente tcp.c como autoridad final sobre el significado de cualquiera de esos datos.
  • No estoy seguro de lo que esperaba obtener del Tamaño de segmento máximo, pero supongo que pensó que significaba algo más.

Si está realmente interesado en medidas exactas de ancho de banda que necesita utilizar un dispositivo de medición que está fuera del sistema que está siendo probado, ya que incluso tirando de la ioctls afectará el fenómeno está interesado en conocer. Un sniffer de alambre pasivo es la única forma de obtener resultados verdaderamente precisos. Finalmente, dependiendo de su aplicación, "ancho de banda" es un paraguas realmente amplio que aplana muchas mediciones (por ejemplo, latencia, tiempo de ida y vuelta, variabilidad, fluctuación, etc.) en una categoría.

Cuestiones relacionadas