47 votes

Limiter la bande passante du réseau par application sous Mac OS X

J'ai remarqué qu'iTunes semble aspirer toute ma bande passante et qu'il n'est pas compatible avec les autres applications qui utilisent le web lorsqu'il est en train de télécharger. En fait, il ne se donne même pas assez de bande passante lorsqu'il navigue sur l'iTunes Store tout en téléchargeant des fichiers volumineux ou nombreux (podcasts, émissions de télévision, applications volumineuses, etc.)

Je ne me soucie pas d'obtenir tous mes téléchargements le plus rapidement possible, ils ne sont pas vraiment prioritaires, et je préférerais ne pas avoir à le faire pendant que je suis éveillé, mais je ne peux pas appuyer sur le bouton d'actualisation si je suis au lit et que je l'ai déjà oublié.

Existe-t-il une application ou un outil via le terminal pour limiter la bande passante de téléchargement dont bénéficie iTunes sans entraver les navigateurs web ou d'autres applications ?

Les logiciels FOSS/GPL sont préférables, mais les logiciels payants peuvent également être acceptés.

14voto

Stefan Schmidt Points 578

GUI :

CLI (pas de filtrage spécifique au port mais peut être adapté) :

Ces outils s'appuient sur les ports ou les plages de ports comme critère de filtrage. Si vous ne connaissez pas les ports utilisés par votre application, vous pouvez consulter sa documentation ou utiliser l'outil lsof pendant que l'application est en cours pour révéler les numéros de ports.

sudo lsof -i -P

La plupart ou la totalité des outils utilisent ipfw qui est officiellement déprécié en faveur de pf Il n'est donc pas certain que ces solutions fonctionnent sur OS X 10.9 et au-delà.

7voto

omnix Points 530

Vieille question, mais je viens de me retrouver au cœur d'un problème similaire, alors j'ai pensé répondre.

Le problème est probablement dû à la mise en forme du trafic par votre fournisseur d'accès. Ils donnent la priorité au trafic des fournisseurs de contenu connus dans le but de fournir un meilleur service de streaming aux clients. Je dirais même qu'ils sont allés un peu trop loin dans certains cas - je viens de diagnostiquer un problème similaire où un téléchargement de photos iCloud en arrière-plan provoquait des temps de ping supérieurs à 45 000 ms.

Pour résoudre le problème, vous pouvez simplement réduire la quantité totale de bande passante utilisée par votre ordinateur afin d'empêcher la mise en forme du trafic du FAI de voler complètement la bande passante de toutes les autres applications. Ironiquement, cela améliorera les performances de navigation sur votre propre ordinateur, en plus d'améliorer évidemment les performances des autres ordinateurs de votre réseau. Si, par exemple, vous avez un plafond de 15 Mbps en aval, vous pouvez limiter l'utilisation de votre ordinateur à 12 Mbps, et l'algorithme du FAI ne verra plus la nécessité de modeler votre trafic de manière aussi agressive :

sudo ipfw pipe 1 config bw 12Mbits/s
sudo ipfw add 1 pipe 1 tcp from any to me

Dans mon cas, c'est la bande passante en amont (plafonnée à 1Mbps par mon fournisseur d'accès) qui était le facteur limitant, j'ai donc exécuté ce qui suit, ce qui a résolu mon problème :

sudo ipfw pipe 1 config bw 768Kbits/s
sudo ipfw add 1 pipe 1 tcp from me to any

Notez que ces commandes ne seront effectives que jusqu'à un redémarrage, mais pour annuler la règle, il suffit de faire ce qui suit :

ipfw delete 1

4voto

munchrazz Points 21

Pourquoi pas toit d'eau ? C'est un front-end facile pour IPFW. (Et open source.)

4voto

Akiva Weinberger Points 339

使用する Plancher de glace sur [Mountain] Lion

4voto

Chris Points 1148

En ce qui concerne les développements actuels de la OS X 10.10 El ipfw communément appelé, n'est plus disponible. Cependant, il existe un pf qui peut gérer des configurations de pare-feu similaires.

Il existe une interface graphique appelée "Murus" ( http://www.murusfirewall.com ), que vous pouvez utiliser pour configurer pf . D'après ce que j'ai compris, il prend également en charge activement la limitation de la bande passante (à partir de l'interface utilisateur).

[EDIT]

Dans le cas où une personne ne peut pas se passer de ipfw vous pouvez essayer de le compiler vous-même. Le code source (de FreeBSD) est disponible ici : http://www.freebsd.org/cgi/cvsweb.cgi/src/sbin/ipfw/

Apple publie également le code source des projets open source qu'elle utilise(d). ipfw est disponible ici : http://www.opensource.apple.com/source/network_cmds/network_cmds-329.2.2/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X