Cómo monitorear el ancho de banda disponible de mi conexión sin afectar una transmisión saliente

Estoy de acuerdo con todo lo que dijo Westley Julio: realmente no se puede monitorear el ‘ancho de banda disponible’. Pero puede hacer una suposición estadísticamente educada si razonablemente puede esperar tener todo lo que necesita.

100 Kb / s no es mucho ancho de banda (aunque no estoy seguro de cómo interpretar “y más” … ¿eso significa que realmente necesita más? … o eso significa que el mínimo es de 100 Kb / s, y algo más que eso realmente no importa, se puede usar para otras cosas, pero ¿tengo que estar seguro de que 100Kb / s está disponible para lo que estoy haciendo?)

18 comandos para monitorear el ancho de banda de la red en el servidor Linux

Aquí hay un montón de herramientas de Linux que puede usar para monitorear el uso en sus interfaces / sockets de red. Esto no afectará su flujo saliente en términos de uso de la red, pero sí consume algunos recursos en su PC Linux, por lo que puede ralentizar las cosas en términos de su poder de procesamiento para hacer lo que su aplicación está haciendo.

Los usaría así:

  • Tome una muestra del tráfico de red para su aplicación a lo largo del tiempo.
  • Tome una muestra del tráfico de red para todo lo demás a lo largo del tiempo.

Luego adivine si, en su conexión de # Mb / s, necesita hacer algo para asegurarse de que sus 100Kb / s estén disponibles. Tal vez simplemente no tiene tanto que hacer, por lo que es razonable suponer que, en su servicio de ISP de 10Mdown / 2Mup, es probable que siempre tenga al menos 100Kb / s disponibles para su aplicación.

SI cree que necesita hacer algo, puede canalizar todo a través de su PC LINUX (u otra) y convertirlo en un enrutador de configuración de tráfico para garantizar sus 100 Kb / s contra todo lo demás que se ejecuta en su red.

Puede usar iptables para hacer esto o puede ejecutar algo como Quagga.

Cómo convertir un servidor Linux en un enrutador para manejar el tráfico de forma estática y dinámica – Parte 10

Hablando prácticamente, la solución como se describe no existe. Hay algunas maneras de averiguar cuántos datos está enviando / recibiendo en un momento dado. Sin embargo, esto probablemente no te ayudará.

Sabes cuando te quedas sin ancho de banda; no puede pasar datos de ingreso / egreso a una velocidad mayor; lo sabes cuando llegas allí. Sin embargo, predecir cuánto ancho de banda está “disponible” no es una pregunta corta y seca.

La mayoría de las conexiones de banda ancha en estos días están sobre suscritas. Esencialmente, no todos los clientes en un área pueden obtener sus velocidades máximas suscritas cuando hay mucha actividad en la red del ISP. Esto significa que su ancho de banda máximo no es un valor fijo, sino un rango. Por lo tanto, está tratando de averiguar qué tan cerca está de un objetivo en movimiento y no hay forma de estar informado de ese objetivo por adelantado. Además, esta es SOLAMENTE la velocidad entre usted y el ISP.

Entonces también tiene variaciones en el ancho de banda entre redes en Internet. Es posible que tenga 100 mbps y 20 mbps entre su ubicación y su ISP, aunque eso no significa que las redes intermedias y / o de destino estarán disponibles a esas tarifas. ¡Esto ni siquiera está garantizado dentro de la red del ISP!

El enlace entre usted y el ISP será mucho menos variable en tecnologías como T1 / DS3, etc., que son enlaces tradicionalmente dedicados (pero dudo que esto sea a lo que se refiere).

Su pregunta parece indicar que tiene una aplicación que tiene un ancho de banda de salida mínimo requerido de 100 kb / s o falla.

Puede que sea mejor manejar esto en la red con un cortafuegos / enrutador que le permita dar forma al ancho de banda de modo que 100 kb / s para este programa (casi) siempre estén disponibles.

Supongamos que ha suscrito una tarifa de Internet de 10 mbps hacia abajo y 2 mbps hacia arriba. Haría una política que diga algo como: “Si envío tráfico general a Internet, limite la tasa agregada a 1.5mbps. Sin embargo, si envío tráfico a [Red a la que se conecta el programa], no coloque ningún límite en este tráfico “.

Parece que estamos recortando ~ 400 kbps de potencial, ¿verdad? Estamos. Sin embargo, lo estamos haciendo para tener en cuenta el hecho de que es probable que exista alguna variabilidad al máximo. Por lo tanto, configuramos el tráfico general de Internet en MENOR que nuestra tasa de margen suscrita. Tampoco queremos establecer ningún límite en las conexiones a la red de destino del programa, ya que eso es lo que tiene el requisito de ancho de banda. Si la red remota cambia / es variable, deberá hacer que la política identifique algún otro factor de diferenciación, como la IP LAN del remitente, el puerto de destino, etc.

Sin embargo, incluso esto no está garantizado. Cuando implementa una configuración como esta, esencialmente está retrasando un poco de tráfico mientras prioriza otros. Esto deja de funcionar tan bien una vez que los buffers relacionados, etc. están llenos.

Si es REALMENTE importante que tenga estos 100 kb / s para este programa, considere una conexión dedicada explícitamente para él (2 conexiones de internet en total). Si tiene un enrutador que admite dos interfaces WAN, puede hacer una ruta que obligue a enviar cierto tráfico a través de un enlace específico.

Ancho de banda es un término a menudo mal utilizado. Significa la cantidad de tráfico que potencialmente puede pasar a través de un canal. Ese número generalmente es fijo, pero es compartido por otros usuarios. Lo mejor que puede hacer es medir su propio rendimiento. Hago esto minuto a minuto en muchos hosts Linux usando algunas reglas de iptables de no hacer nada para que coincidan con todo el tráfico (o un subconjunto específico), y uso la contabilidad de filtro de red de bytes y paquetes, que puede ser extraído usando los comandos de iptables ( iptables -L -v ). Utilizo un simple Perl scsript en un cronjob de un minuto para registrar el byte y el conteo de paquetes para visualizar y solucionar problemas. No estoy seguro de que responda a su pregunta, pero tal vez ayude