MacOS X: TCP/UDP Send- & Receive Puffer Optimierung und MTU Anpassung
Mit diesem AppleSkript werden die TCP/UDP Send- & Receive Puffer vergrössert, sowie der MTU Size von 'en0' auf 1414 angepasst. Hiermit wird die Netzwerkperformance massiv verbessert und bei einem DSL Internet Zugang zudem die Fragmentierung verhindert (MTU Size Anpassung).
---------------------
do shell script "sysctl -w net.inet.tcp.sendspace=65536" with administrator privileges
do shell script "sudo sysctl -w net.inet.tcp.recvspace=65536"
do shell script "sudo sysctl -w net.inet.udp.recvspace=73728"
do shell script "sudo sysctl -w net.inet.tcp.delayed_ack=0"
do shell script "sudo sysctl -w kern.ipc.maxsockbuf=524288"
do shell script "sudo ifconfig en0 mtu 1414"
---------------------
Leider setzt MacOS X diese Anpassungen bei jedem Neustart wieder auf die Standardwerte zurück. Durch das ablegen dieses Skriptes in die Startobjekte, kann man dieses Tuning jeweils "automatisch" ausführen lassen. Dieses Skript benötigt für die Ausführung Administrator Rechte .
Wer es eher "UNIX like" mag, der ergänzt via Terminal mit dem "pico" Editor das "Multi-user starup script" (welches unter "/etc/rc" zu finden ist) vor der letzten Zeile "exit 0" mit den gewünschten Anpassungen. Eine MTU Size Anpassung ist hier z.B. problemlos möglich (ab 10.3 kann man den MTU aber ja auch direkt in den Systemeinstellungen der jew. Netzwerkkarte definieren).
==> Vorteil dieser "UNIX like" Methode: hier bleibt auch alles nach einem Neustart so wie man es verändert hat.
Die aktuellen Werte können via Terminal mit "sysctl net.inet", "sysctl kern.ipc" und "ifconfig" abgefragt werden.
Interface Namen:
- "en0" ist i.d.R. die Eingebaute Netzwerkkarte
- "en1" ist i.d.R. die AirPort WLAN Netzwerkkarte
==> mit dem Terminal Befehl "ifconfig" erfährt man den Interface Namen welcher der Netzwerkkarte zugeteilt wurde.
*
Mehr zum genauen Aufbau von "StartupItems" direkt bei Apple (3.7MB PDF File):
http://developer.apple.com/techpubs/macosx/Essentials/SystemOverview/SystemOverview.pdf
MTU Fragmentierung testen:
- Windows:
„ping -l MTU Host -f -w 10000“
MTU = <1500, Host = Internet Host (z.B.
www.weisseseiten.ch)
- MacOS X:
OpenSource „hping“ od. „IPNetMonitorX“ ab der Version 1.2c4 verwenden (Download via Versiontracker)
==> leider ist im MacOS X BSD „ping“ das DF-Flag (Don‘t Fragment) noch nicht implementiert (Stand V 10.2.x)