PARA DISPOSITIVO ENRAIZADO
(copiado de la respuesta de Mansour en esta publicación )
Pagar BradyBound . Es un modelador / limitador de velocidad de descarga de todo el sistema. Pocas cosas a tener en cuenta:
- La aplicación requiere acceso de root.
- Funciona soltando paquetes usando
iptables
. Esto desperdicia algo de tráfico: cuánto depende del tipo de tráfico (por ejemplo, descarga de larga duración, navegación web).
- La medición de la velocidad se realiza por número de paquetes en lugar de bytes, por lo que el límite de velocidad no será preciso.
- Esto solo limita el tráfico TCP (no tiene sentido descartar paquetes UDP).
Tenga en cuenta también que soy el autor de esta aplicación.
Editar # 1:
Explicación:
Los datos se dividen en pequeñas partes llamadas paquetes que se transmiten a través de la red.
Se puede transmitir utilizando TCP (Protocolo de control de transmisión) o UDP (Protocolo de datagramas de usuario)
Tomemos un ejemplo:
Supongamos que usted es el servidor y yo soy el anfitrión y quiero descargar un archivo, así que primero le enviaré una solicitud, luego de lo cual procesará, y en lugar de enviar el archivo completo, dividirá el archivo grande en Pequeños paquetes.
Ahora cada paquete que se ha creado contendrá información como la IP de origen (la suya) y la IP de destino (la mía), junto con algunos datos adicionales (número de secuencia, tamaño de los datos, tiempo de vida, etc.)
Enviarás esos paquetes y pueden comunicarse conmigo a través de enrutadores.
No es necesario que todos los paquetes me lleguen por la misma ruta. Pueden venir a mí a través de diferentes rutas disponibles.
Cuando me alcanzan, TCP / UDP aparece en la imagen.
Si ha utilizado TCP para la transmisión, cuando me llega un paquete, se le envía un acuse de recibo que indica que me llegó el paquete.
Esta característica carece de UDP. Si ha utilizado UDP, a diferencia de TCP, no le enviará acuses de recibo. Eso significa que usted, como servidor, no tiene idea de si los paquetes me llegan o no. En caso de que se pierda en la transmisión, se pierde para siempre.
Dejar caer paquetes
Descartar paquetes significa descartar paquetes. Básicamente, cuando descarte el paquete enviado por usted, se le enviará un acuse de recibo (en el caso de TCP) de que el paquete se perdió en la transmisión, por lo que deberá enviarlo nuevamente.
De esta manera, desperdicia el tráfico y limita la velocidad al mismo tiempo que obtengo el archivo completo.
Si descarto los paquetes UDP, no recibiré el archivo completo. Esa es la razón por la cual la aplicación no controla el tráfico UDP.
Y sí, el privilegio de root es obligatorio, ya que solo se puede acceder a iptable con acceso de superusuario.