Comment pourrais-je contourner l’étranglement sur Android ?


D'abord, vous devez garder à l'esprit que les fournisseurs peuvent chacun avoir leurs propres schémas d'étranglement propriétaires s'ils le souhaitent, donc quelque chose qui fonctionne pour un fournisseur ne fonctionnera pas nécessairement pour un autre.

Une méthode que j'ai vue pour améliorer les effets de l'étranglement est de distribuer les transferts de données sur plusieurs connexions TCP. (Une connexion TCP est une connexion virtuelle qui sert à transférer des fichiers, entre autres choses, et il peut en exister plusieurs à la fois entre un même client et un même serveur). Par exemple, un programme de transfert de fichiers utilise normalement une connexion TCP, mais en utilisant un logiciel spécial sur le client et le serveur, on peut répartir le trafic entre plusieurs connexions TCP. L'étranglement consiste généralement à fixer un plafond de vitesse de transfert sur une connexion TCP, plutôt que de considérer le total pour un utilisateur. Donc, par exemple, utiliser cinq connexions TCP accélérerait pas mal les choses.


Maintenant, votre question demande si un routeur peut faire cela. Je crois que le routeur peut améliorer la vitesse dans certains cas, mais il est limité par le fait qu'il ne peut pas changer le logiciel utilisé sur le serveur. Une chose qu'il pourrait faire est d'accélérer les accès aux sites Web. Si le navigateur garde une connexion TCP ouverte et fait plusieurs demandes au serveur web en séquence, le routeur pourrait décomposer cela en plusieurs connexions TCP travaillant en parallèle et obtenir un avantage en termes de vitesse.


La possibilité de le faire dans un cas donné dépend du protocole particulier. Le routeur serait-il assez intelligent pour prendre un téléchargement de fichier et le décomposer en morceaux et les télécharger en parallèle ? Il est possible que cela puisse se faire, mais cela dépendrait des capacités du logiciel de serveur particulier.

La question de savoir si cela peut se faire dans un cas donné dépend des capacités du logiciel de serveur particulier.