Wie stellen Sie den TCP-Überlastungskontrollalgorithmus unter OS X ein?

Ich möchte den TCP-Überlastungskontrollalgorithmus auf Westwood+ setzen . Ist das unter OS X möglich?

Mac OS X verwendet SACKs, und ich kann mir nicht vorstellen, dass Sie das ändern können. SU-Thread .

Antworten (1)

Laut http://www.macgeekery.com/gspot/2006-03/mac_os_x_network_tuning_guide können Sie die von Mac OS X verwendeten Algorithmen tatsächlich mit dem Befehl sysctl ändern, aber Sie können nichts anderes als den New Reno-Algorithmus verwenden:

net.inet.tcp.newreno implementiert die New Reno-Modifikation des TCP Fast Recovery Protocol (RFC 2582). New Reno ist der Name einer Erweiterung von TCP-Teilbestätigungen, die verwendet wird, wenn kein Stack vorhanden ist, der SACKs unterstützt. Denken Sie daran, dass dies zwar im Normalfall keine Probleme verursachen sollte, aber nur über einen überlasteten Link wie beispielsweise das Abrufen von E-Mails beim Streamen von NPR oder ähnlichem wirklich nützlich ist. Selbst dann ist es kein Wundermittel. Es schadet nicht, es einzuschalten, aber verstehen Sie zuerst, was es ist und was nicht. Es ist standardmäßig deaktiviert.

Der Befehl ist sysctl -w net.inet.tcp.newreno=1, mit dem Sie umkehren könnten, sysctl -w net.inet.tcp.newreno=0wenn Sie Probleme damit hätten.

Ich weiß, dass dies eine dreieinhalb Jahre alte Frage ist, aber gibt es einen neuen Befehl für OS X Yosemite? Als ich den obigen Befehl eingab, bekam ich:sysctl: unknown oid 'net.inet.tcp.newreno'
Tut mir leid, Behdad, ich habe den OSX-Stack verlassen, aber angesichts der vorherigen Informationen und Fehler, die Sie gepostet haben, denke ich, dass sie diese Option entweder umbenannt oder vollständig entfernt haben. Ich würde prüfen, ob Sie die über die sysctl-Manpage verfügbaren Optionen aufzählen können.
@Behdad Die net.inet.tcp.use_newrenoVariable aktiviert oder deaktiviert die Verwendung des New Reno-Algorithmus. Die net.inet.tcp.newreno_socketsVariable zeigt die Anzahl der Sockets unter Verwendung des New-Reno-Algorithmus.