OS X 10.9 brengt snel maar schokkerig Thunderbolt-netwerken

als u uw netwerkinstellingen opent in de Systeemvoorkeuren na het upgraden naar OS X 10.9 “Mavericks”, wordt u geïnformeerd dat een nieuwe “Thunderbolt Bridge” – netwerkinterface aan het systeem is toegevoegd. Dus het is nu mogelijk om twee Macs via Thunderbolt te netwerken. Laten we een ritje maken met ons nieuwe netwerk.

uiteraard heb je een Thunderbolt-kabel nodig om twee met Thunderbolt uitgeruste Macs aan te sluiten. Ik heb de 0.5 meter een van Apple, die vrij kort is, en mijn medio 2011 MacBook Air aangesloten op een gloednieuwe MacBook Pro (“met Retina Display”, maar dat is bijna vanzelfsprekend nu). De MacBook Pro heeft 20 Gbps Thunderbolt 2 terwijl de lucht het moet doen met de reguliere 10 Gbps Thunderbolt—maar op zowel het Netwerkhulpprogramma rapporteert een verbindingssnelheid van 10 Gbps.

op de ether, de netwerk-interface kwam nu, maar niet op de Pro. De reden hiervoor is dat de Thunderbolt Bridge interface eigenlijk een virtuele bridge interface is die het mogelijk maakt netwerkpakketten door te geven van de ene fysieke netwerkinterface naar de andere. Dit betekent ook dat pakketten naar die interfaces nu via de bridge interface moeten gaan. De Lone Thunderbolt poort van de Air was onderdeel van de Thunderbolt Bridge uit de doos, maar op de Pro slechts een van de poorten was onderdeel van de brug—en natuurlijk had ik mijn kabel aangesloten op de andere poort. Dit was gemakkelijk te repareren.

met de Thunderbolt Bridge-interface op beide computers heb ik Wi-Fi op de Pro uitgeschakeld om ervoor te zorgen dat ik niet per ongeluk draadloos verbinding zou maken. Ik vervolgens aangesloten van de lucht naar de Pro via de Finder, montage van de Pro SSD als een netwerk delen. Nu was ik in de positie om bestanden heen en weer te kopiëren en de tijd hoe lang dat duurde.

het resultaat: veel langer dan verwacht, tenminste in de richting Pro-to-Air. Door de netwerkdoorvoer in de activiteitsmonitor te bewaken, bleek dat bij het kopiëren van de MacBook Pro naar de MacBook Air de overdrachten extreem snel konden zijn, waarbij soms overdrachtsnelheden van een gigabyte per seconde werden weergegeven. Maar met willekeurige tussenpozen, de overdracht zou stoppen voor een aantal seconden, en dan doorgaan met ofwel zeer lage of zeer hoge snelheid.

in de andere richting, van de oudere, langzamere MacBook Air naar de gloednieuwe, veel snellere MacBook Pro, waren er geen dergelijke problemen. Hier, Activity Monitor vrij consequent toonde rond 500 MB per seconde ter waarde van netwerkverkeer. Dat aantal komt echter niet overeen met de overdrachttijden en bestandsgroottes. Een deel van de discrepantie wordt verklaard door netwerk overhead en TCP nemen enige tijd om op te stijgen tot multi-Gbps snelheden, maar ik ben er vrij zeker van wat er echt aan de hand is hier is dat het systeem telt de netwerkactiviteit van zowel de fysieke Thunderbolt-interface en de virtuele brug-interface, dus rapportage twee keer zo veel netwerkactiviteit als wat er echt plaatsvond.

het blijft onduidelijk waarom de transfers van de Pro naar de lucht zo inconsistent waren. Een voor de hand liggende reden zou zijn dat de Pro pakketten stuurt sneller dan de lucht aankan, maar kijkend naar de interface statistieken (netstat-i en1-ss), blijkt dat het verschil tussen pakketten verzonden en ontvangen pakketten was slechts 0,02 procent—niet echt genoeg om het waargenomen gedrag veroorzaken. Het krijgen van tcpdump en het inspecteren van het dataverkeer ook geen reden voor de vertraging tonen: Ik kon geen enkel exemplaar van ZAKBLOKKEN vinden, wat zou wijzen op verloren pakjes in het midden van een overdracht. De enige aanwijzing dat er iets aan de hand is, is dat er af en toe, er zijn gewoon geen pakketten voor 10 milliseconden of zo, zonder reden die ik kon vinden.

misschien is er een softwareprobleem, of misschien is er een knelpunt in een van de Thunderbolt—implementaties-de medio 2011 MacBook Air was het eerste model dat Thunderbolt kreeg. Met Mavericks, Apple overgestapt naar SMB als het standaardprotocol om bestanden lokaal over te dragen, maar het gebruik van AFP maakte geen verschil.

hoewel de interfaces rapporteren met behulp van de standaard Ethernet-pakketgrootte of MTU (maximum transfer unit) van 1500 bytes, gebeurde de SMB-overdrachten in werkelijkheid meestal als vier 65212—byte-pakketten en vervolgens een 1556-byte-pakket-wat zorgt voor een 256kB payload. Soms zouden de pakketgroottes echter anders zijn.

de Thunderbolt – netwerkinterface geeft ook aan dat het TCP-segmentatie-offloading ondersteunt voor zowel IPv4 als IPv6 (TSO4 en TSO6), maar vermoedelijk is er geen daadwerkelijke netwerkhardware in de Thunderbolt-interface die deze functie kan uitvoeren. Het idee achter TSO is dat de netwerksoftware één groot pakket of segment creëert, en de netwerkhardware splitst dat pakket in stukken die voldoen aan de MTU-limiet. Hierdoor kunnen netwerken op gigabit-schaal werken zonder overmatige hoeveelheden CPU-tijd te gebruiken. Wat hier lijkt te gebeuren is dat het systeem onderhoudt een uiterlijk uiterlijk van het gebruik van de standaard MTU grootte, zodat er niets onverwachts gebeurt, maar dan gewoon stuurt de grote TCP segment over Thunderbolt zonder lastig te vallen met de beloofde segmentatie.

aangezien Apple Thunderbolt-netwerken heeft geïmplementeerd als Ethernet over Thunderbolt in plaats van IP over Thunderbolt, is het mogelijk om andere Ethernet-en Ethernet-achtige interfaces (zoals Wi-Fi) toe te voegen aan de Thunderbolt-brug: gebruik “virtuele interfaces beheren” in het menu kleine versnelling onder de lijst met interfaces in de netwerkinstellingen.

ik had de Pro zijn Wi-Fi-interface met de Air via Thunderbolt laten overbruggen, en vanuit het perspectief van de Air was het net alsof het verbonden was met het Wi-Fi-netwerk: andere computers verschenen in de Finder en alles. Echter, de Pro had een kernel paniek en de lucht had een harde tijd het kopiëren van bestanden of het laden van webpagina ‘ s. Kan een neveneffect zijn van de creatieve kijk op TSO, of misschien is er iets anders aan de hand.

ervan uitgaande dat de stabiliteit en consistentie zullen worden verbeterd, is Thunderbolt-netwerken in de eerste plaats nuttig?

het is duidelijk dat het uitrusten van Macs met Thunderbolt 10 Gigabit Ethernet-adapters en ze aansluiten op een 10GE-switch de superieure oplossing is. Met een even superieur prijskaartje. In situaties waar een snel netwerk alleen nodig is om bestanden te kopiëren tussen twee computers, is het gebruik van een $30 of $40 Thunderbolt-kabel veel handiger voor een fractie van de prijs. Ik kan me ook voorstellen dat een Mac Pro wordt uitgerust met een 10GE-adapter, en dan een of twee andere Macs aansluiten op het 10GE-netwerk via een Thunderbolt-verbinding met die Mac Pro. En als Thunderbolt-netwerken aanslaat, kunnen we zelfs Thunderbolt-poorten zien op NAS-apparaten.

Zeg wat je wilt over Apple, maar ze zijn niet bang om iets nieuws te proberen. Zoals deze nieuwe functie laat zien, loont het echt om een generieke high speed-poort in elke Mac te hebben. Ik kan niet wachten om te zien wat Thunderbolt nog meer voor ons in petto heeft.

IP over Thunderbolt lijkt veel potentieel te hebben, maar aan de andere kant was IP over Firewire ook een decennium geleden behoorlijk cool. Windows daadwerkelijk behandeld IP via Firewire op vrijwel dezelfde manier als OS 10.9 behandelt Thunderbolt netwerken, zodat u een brug tussen Firewire en Ethernet-poorten. Maar toen werd het gedropt in Vista. Dus geniet van uw snelle netwerk zolang het duurt.

bijwerken: op populaire vraag, heb ik ook getest met iPerf, die ruwe TCP-prestaties test, zonder te lezen of te schrijven naar de schijf. iPerf transfers gegevens zonder de overhead opgelopen door de werkelijke file-sharing protocollen, en deze nummers zullen niet representatief zijn voor de werkelijke prestaties in de meeste gevallen. Verzenden van de MacBook Pro naar de MacBook Air gebeurde op 5.3 Gbps, in de andere richting iets sneller op 5.7 Gbps.