OS X 10.9 apporte un réseau Thunderbolt rapide mais saccadé

Si vous ouvrez vos paramètres réseau dans les Préférences système après la mise à niveau vers OS X 10.9 « Mavericks », vous serez informé qu’une nouvelle interface réseau « Pont Thunderbolt » a été ajoutée au système. Il est donc maintenant possible de mettre en réseau deux Mac sur Thunderbolt. Prenons notre nouveau réseau pour un tour.

Évidemment, vous avez besoin d’un câble Thunderbolt pour connecter deux Mac équipés de Thunderbolt. J’ai le 0.un mètre 5 d’Apple, ce qui est assez court, et a connecté mon MacBook Air mi-2011 à un tout nouveau MacBook Pro (« avec écran Retina », mais cela va presque de soi maintenant). Le MacBook Pro a 20 Gbit / s Thunderbolt 2 tandis que l’Air doit se contenter du Thunderbolt 10 Gbit / s ordinaire — mais sur les deux, l’utilitaire Réseau signale une vitesse de liaison de 10 Gbit /s.

À l’antenne, l’interface réseau est maintenant apparue, mais pas sur le Pro. La raison en est que l’interface Thunderbolt Bridge est en fait une interface de pont virtuel qui permet de transmettre des paquets réseau d’une interface réseau physique à une autre. Cela signifie également que les paquets vers ces interfaces doivent maintenant passer par l’interface de pont. Le seul port Thunderbolt de l’Air faisait partie du pont Thunderbolt prêt à l’emploi, mais sur le Pro, un seul des ports faisait partie du pont — et bien sûr, j’avais connecté mon câble à l’autre port. Cela a été facilement corrigé.

Avec l’interface Thunderbolt Bridge opérationnelle sur les deux ordinateurs, j’ai désactivé le Wi-Fi sur le Pro pour m’assurer de ne pas me connecter accidentellement sans fil. Je me suis ensuite connecté de l’Air au Pro via le Finder, montant le SSD du Pro en tant que partage réseau. Maintenant, j’étais en mesure de copier des fichiers d’avant en arrière et de déterminer le temps que cela prenait.

Le résultat : beaucoup plus long que prévu, dans le sens Pro-Air, du moins. Cependant, en surveillant le débit du réseau dans le Moniteur d’activité, il s’est avéré que lors de la copie du MacBook Pro vers le MacBook Air, les transferts pouvaient être extrêmement rapides, affichant parfois des vitesses de transfert d’un gigaoctet par seconde. Mais à intervalles aléatoires, le transfert calerait pendant un certain nombre de secondes, puis se poursuivrait à une vitesse très faible ou très élevée.

Dans l’autre sens, du MacBook Air plus ancien et plus lent au tout nouveau MacBook Pro beaucoup plus rapide, il n’y avait pas de tels problèmes. Ici, le moniteur d’activité a montré de manière assez cohérente environ 500 Mo par seconde de trafic réseau. Cependant, ce nombre ne correspond pas aux temps de transfert et à la taille des fichiers. Sur cette base, la vitesse de transfert était de 200 Mo / s. Une partie de l’écart s’explique par la surcharge du réseau et le TCP qui prend un certain temps pour atteindre des vitesses de plusieurs Gbps, mais je suis presque sûr que ce qui se passe vraiment ici, c’est que le système compte l’activité réseau de l’interface Thunderbolt physique et de l’interface de pont virtuel, rapportant ainsi deux fois plus d’activité réseau que ce qui s’est réellement passé.

On ne sait toujours pas pourquoi les transferts du Pro à l’air étaient si incohérents. Une raison évidente serait que le Pro envoie des paquets plus rapidement que l’Air ne peut gérer, mais en regardant les statistiques d’interface (netstat-i en1-ss), il s’avère que la différence entre les paquets envoyés et les paquets reçus n’était que de 0,02% — pas vraiment assez pour provoquer le comportement observé. Sortir de tcpdump et inspecter le trafic de données n’a pas non plus montré de raison pour le ralentissement: Je n’ai pas trouvé une seule instance de blocs SACK, ce qui indiquerait des paquets perdus au milieu d’un transfert. La seule indication que quelque chose se passe est que de temps en temps, il n’y a tout simplement pas de paquets pendant environ 10 millisecondes, sans raison que je puisse trouver.

Peut—être qu’il y a un problème logiciel, ou peut-être qu’il y a un goulot d’étranglement dans l’une des implémentations Thunderbolt – le MacBook Air de mi-2011 a été le premier modèle à gagner Thunderbolt. Avec Mavericks, Apple est passé à SMB comme protocole par défaut pour transférer des fichiers localement, mais l’utilisation de l’AFP n’a pas fait de différence.

Bien que les interfaces rapportent en utilisant la taille de paquet Ethernet standard ou MTU (unité de transfert maximale) de 1500 octets, en réalité, les transferts SMB se sont généralement produits sous la forme de quatre paquets de 65212 octets, puis d’un paquet de 1556 octets – ce qui représente une charge utile de 256 Ko. Cependant, parfois, les tailles de paquets seraient différentes.

L’interface réseau Thunderbolt indique également qu’elle prend en charge le déchargement de la segmentation TCP pour IPv4 et IPv6 (TSO4 et TSO6), mais il est probable qu’aucun matériel réseau réel dans l’interface Thunderbolt ne puisse exécuter cette fonction. L’idée derrière TSO est que le logiciel réseau crée un gros paquet ou segment, et le matériel réseau divise ce paquet en morceaux conformes à la limite MTU. Cela permet aux réseaux à l’échelle gigabit de fonctionner sans utiliser des quantités excessives de temps CPU. Ce qui semble se passer ici, c’est que le système conserve une apparence extérieure d’utilisation de la taille MTU standard pour que rien d’inattendu ne se produise, mais transmet simplement le grand segment TCP sur Thunderbolt sans se soucier de la segmentation promise.

Comme Apple a effectivement implémenté la mise en réseau Thunderbolt en Ethernet sur Thunderbolt plutôt qu’IP sur Thunderbolt, il est possible d’ajouter d’autres interfaces Ethernet et de type Ethernet (telles que le Wi-Fi) au pont Thunderbolt: utilisez « gérer les interfaces virtuelles » dans le petit menu gear sous la liste des interfaces dans les paramètres réseau.

J’avais le Pro bridge son interface Wi-Fi à l’Air sur Thunderbolt, et du point de vue de l’Air, c’était comme s’il était connecté au réseau Wi-Fi: d’autres ordinateurs sont apparus dans le Finder et tout. Cependant, le Pro a eu une panique du noyau et l’Air a eu du mal à copier des fichiers ou à charger des pages Web. Cela pourrait être un effet secondaire de la vision créative du TSO, ou peut-être qu’il se passe autre chose.

En supposant que la stabilité et la cohérence seront améliorées, le réseau Thunderbolt est-il utile en premier lieu?

De toute évidence, équiper les Mac d’adaptateurs Thunderbolt 10 Gigabit Ethernet et les connecter à un commutateur 10GE est la solution supérieure. Avec un prix tout aussi supérieur. Dans les situations où un réseau rapide n’est nécessaire que pour copier des fichiers entre deux ordinateurs, l’utilisation d’un câble Thunderbolt de 30 ou 40 is est beaucoup plus pratique à une fraction du prix. Je peux également imaginer un Mac Pro équipé d’un adaptateur 10GE, puis d’un ou deux autres Mac se connectant au réseau 10GE via une connexion Thunderbolt à ce Mac Pro. Et si le réseau Thunderbolt s’active, nous pouvons même voir des ports Thunderbolt sur les périphériques NAS.

Dites ce que vous voulez sur Apple, mais ils n’ont pas peur d’essayer quelque chose de nouveau. Comme le montre cette nouvelle fonctionnalité, il est vraiment rentable d’avoir un port haut débit générique dans chaque Mac. J’ai hâte de voir ce que Thunderbolt nous réserve d’autre.

IP sur Thunderbolt semble avoir beaucoup de potentiel, mais d’un autre côté, IP sur Firewire était également assez cool il y a dix ans. Windows a en fait géré IP sur Firewire de la même manière que OS 10.9 gère la mise en réseau Thunderbolt, vous permettant de faire le pont entre les ports Firewire et Ethernet. Mais ensuite, il a été abandonné dans Vista. Alors profitez de votre réseau rapide pendant qu’il dure.

Mise à jour: à la demande générale, j’ai également testé avec iPerf, qui teste les performances TCP brutes, sans lecture ni écriture sur disque. iPerf transfère des données sans les frais généraux occasionnés par les protocoles de partage de fichiers réels, et ces chiffres ne seront pas représentatifs des performances réelles dans la plupart des cas. L’envoi du MacBook Pro vers le MacBook Air s’est produit à 5, 3 Gbps, dans l’autre sens légèrement plus rapide à 5, 7 Gbps.