OS X 10.9 bringt schnelle, aber abgehackte Thunderbolt-Netzwerke
Wenn Sie Ihre Netzwerkeinstellungen nach dem Upgrade auf OS X 10.9 „Mavericks“ in den Systemeinstellungen öffnen, werden Sie darüber informiert, dass dem System eine neue „Thunderbolt Bridge“ -Netzwerkschnittstelle hinzugefügt wurde. So ist es nun möglich, zwei Macs über Thunderbolt zu vernetzen. Nehmen wir unser neues Netzwerk für eine Spritztour.
Natürlich benötigen Sie ein Thunderbolt-Kabel, um zwei mit Thunderbolt ausgestattete Macs anzuschließen. Ich habe die 0.5 meter eines von Apple, das recht kurz ist, und mein Mitte 2011 MacBook Air mit einem brandneuen MacBook Pro verbunden („mit Retina Display“, aber das ist jetzt fast selbstverständlich). Das MacBook Pro verfügt über 20 Gbit / s Thunderbolt 2, während das Air mit dem regulären 10 Gbit / s Thunderbolt auskommen muss — aber bei beiden meldet das Netzwerkdienstprogramm eine Verbindungsgeschwindigkeit von 10 Gbit / s.
In der Luft kam jetzt die Netzwerkschnittstelle, aber nicht auf dem Pro. Der Grund dafür ist, dass die Thunderbolt-Bridge-Schnittstelle tatsächlich eine virtuelle Bridge-Schnittstelle ist, mit der Netzwerkpakete von einer physischen Netzwerkschnittstelle zu einer anderen übertragen werden können. Dies bedeutet auch, dass Pakete zu diesen Schnittstellen nun die Bridge-Schnittstelle durchlaufen sollten. Der einsame Thunderbolt-Anschluss des Air war standardmäßig Teil der Thunderbolt—Brücke, aber beim Pro war nur einer der Anschlüsse Teil der Brücke – und natürlich hatte ich mein Kabel an den anderen Anschluss angeschlossen. Dies war leicht zu beheben.
Nachdem die Thunderbolt Bridge-Schnittstelle auf beiden Computern ausgeführt wurde, habe ich Wi-Fi auf dem Pro deaktiviert, um sicherzustellen, dass ich nicht versehentlich eine drahtlose Verbindung herstelle. Ich habe mich dann von der Luft über den Finder mit dem Pro verbunden und die SSD des Pro als Netzwerkfreigabe montiert. Jetzt war ich in der Lage, Dateien hin und her zu kopieren und Zeit, wie lange das gedauert hat.
Das Ergebnis: viel länger als erwartet, zumindest in Pro-Luft-Richtung. Durch die Überwachung des Netzwerkdurchsatzes im Aktivitätsmonitor stellte sich jedoch heraus, dass beim Kopieren vom MacBook Pro auf das MacBook Air die Übertragungen extrem schnell sein konnten und manchmal Übertragungsgeschwindigkeiten von einem Gigabyte pro Sekunde zeigten. In zufälligen Intervallen würde die Übertragung jedoch für einige Sekunden zum Stillstand kommen und dann entweder mit sehr niedriger oder sehr hoher Geschwindigkeit fortgesetzt werden.
In die andere Richtung, vom älteren, langsameren MacBook Air zum brandneuen, viel schnelleren MacBook Pro, gab es keine derartigen Probleme. Hier zeigte Activity Monitor ziemlich konsistent einen Netzwerkverkehr von etwa 500 MB pro Sekunde. Diese Zahl entspricht jedoch nicht den Übertragungszeiten und Dateigrößen. Basierend auf diesen Daten betrug die Übertragungsgeschwindigkeit 200 MB / s. Ein Teil der Diskrepanz erklärt sich aus dem Netzwerk-Overhead und TCP, das einige Zeit benötigt, um auf Multi-Gbps-Geschwindigkeiten hochzufahren, aber ich bin mir ziemlich sicher, dass das System die Netzwerkaktivität sowohl der physischen Thunderbolt-Schnittstelle als auch der virtuellen Bridge-Schnittstelle zählt und somit doppelt so viel Netzwerkaktivität meldet wie wirklich stattgefunden hat.
Es bleibt unklar, warum die Transfers vom Pro zum Air so inkonsistent waren. Ein offensichtlicher Grund wäre, dass der Pro Pakete schneller sendet, als der Air verarbeiten kann, aber wenn man sich die Schnittstellenstatistiken (netstat -i en1 -ss) ansieht, stellt sich heraus, dass der Unterschied zwischen gesendeten und empfangenen Paketen nur 0,02 Prozent betrug — nicht wirklich genug, um das beobachtete Verhalten zu verursachen. Das Aussteigen von tcpdump und das Überprüfen des Datenverkehrs zeigten ebenfalls keinen Grund für die Verlangsamung: Ich konnte keine einzige Instanz von Sackblöcken finden, die auf verlorene Pakete während einer Übertragung hinweisen würden. Der einzige Hinweis darauf, dass etwas los ist, ist, dass es ab und zu einfach keine Pakete für 10 Millisekunden oder so gibt, ohne Grund, den ich finden konnte.
Vielleicht gibt es ein Softwareproblem oder einen Engpass in einer der Thunderbolt—Implementierungen – das MacBook Air Mitte 2011 war das erste Modell, das Thunderbolt erhielt. Mit Mavericks wechselte Apple zu SMB als Standardprotokoll, um Dateien lokal zu übertragen, aber die Verwendung von AFP machte keinen Unterschied.
Obwohl die Schnittstellen die standardmäßige Ethernet-Paketgröße oder MTU (Maximum Transfer Unit) von 1500 Byte angeben, erfolgten die SMB-Übertragungen in der Regel als vier 65212—Byte-Pakete und dann als 1556-Byte-Paket – was einer Nutzlast von 256 KB entspricht. Manchmal sind die Paketgrößen jedoch unterschiedlich.
Die Thunderbolt-Netzwerkschnittstelle gibt auch an, dass sie TCP-Segmentierungsoffloading für IPv4 und IPv6 (TSO4 und TSO6) unterstützt, aber vermutlich gibt es keine tatsächliche Netzwerkhardware in der Thunderbolt-Schnittstelle, die diese Funktion ausführen könnte. Die Idee hinter TSO ist, dass die Netzwerksoftware ein großes Paket oder Segment erstellt und die Netzwerkhardware dieses Paket in Teile aufteilt, die dem MTU-Limit entsprechen. Auf diese Weise können Netzwerke im Gigabit-Maßstab ohne übermäßige CPU-Zeit betrieben werden. Was hier zu passieren scheint, ist, dass das System das äußere Erscheinungsbild der Verwendung der Standard-MTU-Größe beibehält, sodass nichts Unerwartetes passiert, aber dann einfach das große TCP-Segment über Thunderbolt überträgt, ohne sich um die versprochene Segmentierung zu kümmern.
Da Apple Thunderbolt Networking tatsächlich als Ethernet über Thunderbolt und nicht als IP über Thunderbolt implementiert hat, ist es möglich, der Thunderbolt Bridge andere Ethernet- und Ethernet-ähnliche Schnittstellen (z. B. Wi-Fi) hinzuzufügen: Verwenden Sie „Virtuelle Schnittstellen verwalten“ im kleinen Zahnradmenü unter der Liste der Schnittstellen in den Netzwerkeinstellungen.
Ich ließ den Pro seine Wi-Fi-Schnittstelle über Thunderbolt mit dem Air verbinden, und aus der Sicht des Air war es genau so, als wäre er mit dem Wi-Fi-Netzwerk verbunden: Andere Computer tauchten im Finder auf und alles. Der Pro hatte jedoch eine Kernel-Panik und der Air hatte Schwierigkeiten, Dateien zu kopieren oder Webseiten zu laden. Könnte ein Nebeneffekt der kreativen Einstellung zu TSO sein, oder vielleicht ist etwas anderes los.
Unter der Annahme, dass Stabilität und Konsistenz verbessert werden, ist Thunderbolt Networking überhaupt nützlich?
Offensichtlich ist die Ausstattung von Macs mit Thunderbolt 10 Gigabit-Ethernet-Adaptern und deren Anschluss an einen 10GE-Switch die überlegene Lösung. Mit einem ebenso überlegenen Preisschild. In Situationen, in denen ein schnelles Netzwerk nur zum Kopieren von Dateien zwischen zwei Computern benötigt wird, ist die Verwendung eines Thunderbolt-Kabels für 30 oder 40 US-Dollar zu einem Bruchteil des Preises viel bequemer. Ich kann mir auch vorstellen, dass ein Mac Pro mit einem 10GE-Adapter ausgestattet ist und dann ein oder zwei andere Macs über eine Thunderbolt-Verbindung mit diesem Mac Pro eine Verbindung zum 10GE-Netzwerk herstellen. Und wenn sich Thunderbolt-Netzwerke durchsetzen, sehen wir möglicherweise sogar Thunderbolt-Ports auf NAS-Geräten.
Sagen Sie, was Sie über Apple wollen, aber sie haben keine Angst, etwas Neues auszuprobieren. Wie diese neue Funktion zeigt, lohnt es sich wirklich, in jedem Mac einen generischen Hochgeschwindigkeitsport zu haben. Ich kann es kaum erwarten zu sehen, was Thunderbolt sonst noch für uns bereithält.
IP über Thunderbolt sieht so aus, als hätte es viel Potenzial, aber andererseits war IP über Firewire vor einem Jahrzehnt auch ziemlich cool. Windows behandelt tatsächlich IP über Firewire in der gleichen Weise wie OS 10.9 Thunderbolt-Netzwerke behandelt, so dass Sie zwischen Firewire und Ethernet-Ports zu überbrücken. Aber dann wurde es in Vista fallen gelassen. Genießen Sie also Ihr schnelles Netzwerk, solange es dauert.
Aktualisieren: auf vielfachen Wunsch habe ich auch mit iPerf getestet, das die rohe TCP-Leistung testet, ohne auf die Festplatte zu lesen oder zu schreiben. iPerf überträgt Daten ohne den Overhead, der durch tatsächliche Filesharing-Protokolle entsteht, und diese Zahlen sind in den meisten Fällen nicht repräsentativ für die tatsächliche Leistung. Das Senden vom MacBook Pro zum MacBook Air erfolgte mit 5,3 Gbit / s, in die andere Richtung mit 5,7 Gbit / s etwas schneller.