OS X 10.9 przynosi szybkie, ale niestabilne sieci Thunderbolt

jeśli otworzysz Ustawienia sieciowe w Preferencjach systemowych po aktualizacji do OS X 10.9 „Mavericks”, zostaniesz poinformowany, że nowy interfejs sieciowy” Thunderbolt Bridge ” został dodany do systemu. Teraz możliwe jest podłączenie dwóch komputerów Mac przez Thunderbolt. Weźmy naszą nową sieć na przejażdżkę.

oczywiście potrzebujesz kabla Thunderbolt do podłączenia dwóch komputerów Mac wyposażonych w Thunderbolt. Mam 0.5 Metr jeden od Apple, który jest dość krótki, i podłączył mój mid-2011 MacBook Air do zupełnie nowego MacBooka Pro („z wyświetlaczem Retina”, ale to już prawie oczywiste). MacBook Pro ma Thunderbolt 20 Gbps, podczas gdy Air ma do czynienia ze zwykłym Thunderbolt 10 Gbps—ale na obu narzędzi sieciowych zgłasza prędkość łącza 10 Gbps.

na antenie pojawił się interfejs sieciowy, ale nie na Pro. Powodem tego jest to, że interfejs Thunderbolt Bridge jest w rzeczywistości wirtualnym interfejsem mostu, który umożliwia przekazywanie pakietów sieciowych z jednego fizycznego interfejsu sieciowego do drugiego. Oznacza to takĹźe, Ĺźe Pakiety kierowane do tych interfejsăłw powinny teraz przechodziÄ ‡ przez interfejs mostka. Pojedynczy port Thunderbolt Air był częścią mostu Thunderbolt po wyjęciu z pudełka, ale na Pro tylko jeden z portów był częścią mostu – i oczywiście podłączyłem kabel do drugiego portu. To było łatwe do naprawienia.

po uruchomieniu interfejsu Thunderbolt Bridge na obu komputerach wyłączyłem Wi-Fi na Pro, aby upewnić się, że przypadkowo nie połączę się bezprzewodowo. Następnie podłączyłem się z powietrza do Pro za pomocą Findera, montując dysk SSD Pro jako udział sieciowy. Teraz byłem w stanie kopiować pliki tam iz powrotem i czas, jak długo to trwało.

wynik: znacznie dłużej niż oczekiwano, przynajmniej w kierunku Pro-to-Air. Jednak monitorując przepustowość sieci w Monitorze aktywności, okazało się, że podczas kopiowania z MacBooka Pro do Macbooka Air transfery mogą być bardzo szybkie, czasami pokazując prędkość transferu gigabajta na sekundę. Ale w losowych odstępach czasu transfer zatrzymywałby się na kilka sekund, a następnie kontynuowałby z bardzo niską lub bardzo dużą prędkością.

w przeciwnym kierunku, od starszego, wolniejszego MacBooka Air do zupełnie nowego, znacznie szybszego MacBooka Pro, nie było takich problemów. W tym przypadku Monitor Aktywności dość konsekwentnie wykazywał ruch sieciowy o wartości około 500 MB na sekundę. Jednak ta liczba nie odpowiada czasowi transferu i rozmiarom plików. Opierając się na nich, prędkość transferu wynosiła 200Mb/s. Część rozbieżności jest wyjaśniona przez napowietrzność sieci i TCP poświęcając trochę czasu na zwiększenie prędkości do wielu Gbps, ale jestem pewien, że tak naprawdę dzieje się tutaj to, że system zlicza aktywność sieciową zarówno fizycznego interfejsu Thunderbolt, jak i wirtualnego interfejsu mostu, raportując w ten sposób dwukrotnie większą aktywność sieciową niż to, co naprawdę miało miejsce.

pozostaje niejasne, dlaczego transfery z Pro do powietrza były tak niespójne. Oczywistym powodem byłoby to, że Pro wysyła pakiety szybciej niż Air może obsłużyć, ale patrząc na statystyki interfejsu (netstat-i en1-ss), okazuje się, że różnica między pakietami wysłanymi i odebranymi wynosiła tylko 0,02 procent—nie na tyle, aby spowodować obserwowane zachowanie. Wyjście z tcpdump i kontrola ruchu danych również nie wykazały żadnego powodu spowolnienia: Nie mogłem znaleźć ani jednej instancji bloków workowych, co wskazywałoby na utracone pakiety w środku transferu. Jedyną wskazówką, że coś się dzieje, jest to, że raz na jakiś czas, po prostu nie ma pakietów przez 10 milisekund lub tak, bez powodu, że mogłem znaleźć.

może jest problem z Oprogramowaniem, a może jest wąskie gardło w jednej z implementacji Thunderbolt-MacBook Air był pierwszym modelem, który zyskał Thunderbolt w połowie 2011 roku. W przypadku Mavericks Apple przełączyło się na SMB jako domyślny protokół przesyłania plików lokalnie, ale użycie AFP nie miało znaczenia.

chociaż interfejsy raportują przy użyciu standardowego rozmiaru pakietu Ethernet lub MTU (maksymalna Jednostka transferu) 1500 bajtów, w rzeczywistości transfery SMB zwykle miały miejsce jako cztery pakiety 65212-bajtowe, a następnie pakiet 1556-bajtowy – co daje ładunek 256 Kb. Jednak czasami rozmiary pakietów byłyby różne.

interfejs sieciowy Thunderbolt wskazuje również, że obsługuje odciążanie segmentacji TCP zarówno dla IPv4, jak i IPv6 (TSO4 i Tso6), ale prawdopodobnie nie ma rzeczywistego sprzętu sieciowego w interfejsie Thunderbolt, który mógłby wykonywać tę funkcję. Ideą TSO jest to, że oprogramowanie sieciowe tworzy jeden duży pakiet lub segment, a Sprzęt sieciowy dzieli ten pakiet na kawałki, które są zgodne z limitem MTU. Pozwala to sieciom gigabitowym na pracę bez zużywania nadmiernej ilości czasu procesora. Wydaje się, że dzieje się tutaj, że system zachowuje zewnętrzny wygląd używania standardowego rozmiaru MTU, więc nic nieoczekiwanego się nie dzieje, ale po prostu przesyła duży segment TCP przez Thunderbolt bez zawracania sobie głowy obiecaną segmentacją.

ponieważ Apple faktycznie wdrożyło sieć Thunderbolt jako Ethernet przez Thunderbolt, a nie IP przez Thunderbolt, możliwe jest dodanie innych interfejsów Ethernet i podobnych do Ethernet (takich jak Wi-Fi) do mostu Thunderbolt: użyj „Zarządzaj wirtualnymi interfejsami” w menu małego koła zębatego pod listą interfejsów w ustawieniach sieci.

miałem Pro bridge jego interfejs Wi-Fi do powietrza przez Thunderbolt, a z perspektywy Air było tak, jakby był podłączony do sieci Wi-Fi: inne komputery pojawiły się w Finderze i w ogóle. Jednak Pro miał panikę jądra i powietrze miało trudności z kopiowaniem plików lub ładowaniem stron internetowych. Może to efekt uboczny kreatywnego podejścia do TSO, a może dzieje się coś innego.

zakładając, że poprawi się stabilność i spójność, czy sieć Thunderbolt jest w ogóle przydatna?

oczywiście najlepszym rozwiązaniem jest wyposażenie komputerów Mac w karty Thunderbolt 10 Gigabit Ethernet i podłączenie ich do przełącznika 10GE. Z równie doskonałą ceną. W sytuacjach, gdy szybka sieć jest potrzebna tylko do kopiowania plików między dwoma komputerami, użycie kabla Thunderbolt za 30 lub 40 usd jest znacznie wygodniejsze za ułamek ceny. Mogę również wyobrazić sobie, że Mac Pro jest wyposażony w adapter 10GE, a następnie jeden lub dwa inne komputery Mac łączące się z siecią 10GE poprzez połączenie Thunderbolt z tym komputerem Mac Pro. A jeśli sieć Thunderbolt się włączy, możemy nawet zobaczyć porty Thunderbolt na urządzeniach NAS.

mów co chcesz o Apple, ale nie boją się spróbować czegoś nowego. Jak pokazuje ta nowa funkcja, naprawdę opłaca się mieć ogólny Port dużej prędkości w każdym komputerze Mac. Nie mogę się doczekać, co jeszcze Thunderbolt ma dla nas w zanadrzu.

IP over Thunderbolt wygląda na to, że ma duży potencjał, ale z drugiej strony, IP over Firewire też był całkiem fajny dekadę temu. System Windows faktycznie obsługiwał IP przez Firewire w taki sam sposób, jak system OS 10.9 obsługuje sieć Thunderbolt, umożliwiając mostek między portami Firewire i Ethernet. Ale potem został porzucony w Vista. Ciesz się szybką siecią, póki trwa.

aktualizacja: na popularne zapotrzebowanie testowałem również z iPerf, który testuje wydajność raw TCP, bez odczytu lub zapisu na dysk. iPerf przesyła dane bez kosztów ponoszonych przez rzeczywiste protokoły udostępniania plików, a liczby te nie będą reprezentatywne dla rzeczywistej wydajności w większości przypadków. Wysyłanie z MacBooka Pro do Macbooka Air nastąpiło z prędkością 5,3 Gb / s, W przeciwnym kierunku nieco szybciej przy 5,7 Gb / s.