POUR L'APPAREIL ENRACINÉ
(copié de la réponse de Mansour sur ce post )
Commander BradyBound . C'est un shaper / limiteur de vitesse de téléchargement à l'échelle du système. Peu de choses à noter:
- L'application nécessite un accès root.
- Il fonctionne en supprimant les paquets à l'aide de
iptables
. Cela gaspille un peu de trafic - combien dépend du type de trafic (par exemple, téléchargement à long terme, navigation sur le Web).
- La mesure du débit est effectuée par le nombre de paquets au lieu d'octets, de sorte que la limite de vitesse ne sera pas précise.
- Cela limite uniquement le trafic TCP (cela n'a aucun sens de supprimer les paquets UDP).
Notez également que je suis l'auteur de cette application.
Édition n ° 1:
Explication:
Les données sont divisées en petites parties appelées paquets à transmettre sur le réseau.
Il peut être transmis via TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol)
Prenons un exemple:
Supposons que vous soyez le serveur et que je suis l'hôte et que je souhaite télécharger un fichier, donc je vais d'abord vous envoyer une demande pour cela, après quoi vous traiterez, et au lieu d'envoyer le fichier entier, vous diviserez le gros fichier en petits paquets.
Désormais, chaque paquet créé contiendra des informations telles que l'adresse IP source (la vôtre) et l'adresse IP de destination (la mienne), ainsi que des données supplémentaires (numéro de séquence, taille des données, durée de vie, etc.)
Vous enverrez ces paquets et ils pourront me joindre via des routeurs.
Il n'est pas nécessaire que tous les paquets me parviennent par le même chemin. Ils peuvent me rejoindre via différents itinéraires disponibles.
Quand ils m'atteignent, TCP / UDP entre en image.
Si vous avez utilisé TCP pour la transmission, lorsqu'un paquet me parvient, un accusé de réception indiquant que le paquet m'est parvenu vous est renvoyé.
Cette fonctionnalité fait défaut dans UDP. Si vous avez utilisé UDP, contrairement à TCP, il ne vous envoie pas d'accusé de réception. Cela signifie que vous, en tant que serveur, n'avez aucune idée si les paquets me parviennent ou non. En cas de perte de transmission, elle est perdue pour toujours.
Suppression de paquets
La suppression de paquets signifie la suppression des paquets. Donc, fondamentalement, lorsque je laisserai tomber le paquet que vous avez envoyé, un accusé de réception vous sera envoyé (dans le cas de TCP) que le paquet a été perdu lors de la transmission, vous devrez donc le renvoyer.
De cette façon, cela gaspille du trafic et limite la vitesse en même temps que j'obtiens tout le fichier.
Si je laisse tomber les paquets UDP, je ne recevrai pas le fichier entier. C'est la raison pour laquelle l'application ne contrôle pas le trafic UDP.
Et oui, le privilège root est un must, car iptable est accessible uniquement avec un accès superutilisateur.