Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Thomas Kaiser

macrumors newbie
Oct 24, 2013
12
0
So did you do this yet or not?

Nope :)

At first I forgot the cables in the office. Now I have the cables with me but my daughter took the MacBook Air and the Mini serves as an ESXi server again.

But I'm able to do some extensive testing at a customer's site tomorrow and on saturday when we tune their network (10 GbE core switch). We have a plenty of machines to play with. I get back to you with new findings soon.
 

TsunamiTheClown

macrumors 6502a
Apr 28, 2011
571
12
Fiery+Cross+Reef
Nope :)

At first I forgot the cables in the office. Now I have the cables with me but my daughter took the MacBook Air and the Mini serves as an ESXi server again.

But I'm able to do some extensive testing at a customer's site tomorrow and on saturday when we tune their network (10 GbE core switch). We have a plenty of machines to play with. I get back to you with new findings soon.

Sweet, looking forward to what you find out. I am planning to do some testing soon but I only have three macs with Maverix and TB ports and i am super busy on a deadline...

I did take a look at one of the links that you posted above and appreciated reading the epistle you wrote ;). However this diagram on one of the sites you linked has me scratching my head:

Figure-1-4_resized_600px.jpg


Does this diagram indicate that no Thunderbolt "traffic" is passed through the "Thunderbolt switch" without traversing the PCI switch? (I use quotes to help the strain on the terminology) Because in that case, the "Thunderbolt switch" is definitely not going to forward "Thunderbolt IP" traffic.

The other image on that site shows an alternative implementation diagram:

Figure-1-5_resized_600px.jpg


This looks more promising, but it seems like this implementation is theoretical at the moment. I think that this functionality would really change the TB/IP as it stands. Right now it seems to honestly be merely a novel file transfer protocol.
 

smithrh

macrumors 68030
Feb 28, 2009
2,722
1,730
Right now it seems to honestly be merely a novel file transfer protocol.

If you mean "really very very useful for some people" when you write "novel," I agree.

:^)

Picking up another Thunderbolt cable today just for this - it's going to fit a use case for me very very well indeed.
 

Thomas Kaiser

macrumors newbie
Oct 24, 2013
12
0
Sweet, looking forward to what you find out.

We had the time yesterday to do some testing involving one Mini (2012) and two Retina MacBook Pro (also 2012). I will call the Mini "Mac A", the MBP with 2 TB cables attached "Mac B" and the second MBP (only one cable connected) "Mac C".

We started with A connected to B. On both devices a bridge0 device got created automagically. Without any further tuning (increasing window sizes and the like) we got these results:

Code:
bash-3.2# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 169.254.116.108 port 5001 connected with 169.254.149.104 port 51356
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  8.81 GBytes  7.57 Gbits/sec
[  4] local 169.254.116.108 port 5001 connected with 169.254.149.104 port 51361
[  4]  0.0-10.0 sec  8.83 GBytes  7.58 Gbits/sec
[  4] local 169.254.116.108 port 5001 connected with 169.254.149.104 port 51362
[  4]  0.0- 6.8 sec  5.98 GBytes  7.60 Gbits/sec
[  4] local 169.254.116.108 port 5001 connected with 169.254.149.104 port 51363
[  4]  0.0-10.0 sec  8.84 GBytes  7.59 Gbits/sec
[  4] local 169.254.116.108 port 5001 connected with 169.254.149.104 port 51377
[  4]  0.0-10.0 sec  8.85 GBytes  7.60 Gbits/sec

7.6 GBits/sec translates to 906 MBytes/sec.

Then we connected B with C. The second TB interface on B has been assigned automatically also to bridge0:

Code:
en10: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=60<TSO4,TSO6>
	ether 32:00:15:d8:5e:80 
	media: autoselect <full-duplex>
	status: inactive
en11: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=60<TSO4,TSO6>
	ether 32:00:15:d8:5e:81 
	media: autoselect <full-duplex>
	status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=63<RXCSUM,TXCSUM,TSO4,TSO6>
	ether 22:c9:d0:44:1d:00 
	inet6 fe80::20c9:d0ff:fe44:1d00%bridge0 prefixlen 64 scopeid 0x7 
	inet 169.254.81.115 netmask 0xffff0000 broadcast 169.254.255.255
	Configuration:
		id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
		maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
		root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
		ipfilter disabled flags 0x2
	member: en10 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 5 priority 0 path cost 0
	member: en11 flags=3<LEARNING,DISCOVER>
	        ifmaxaddr 0 port 6 priority 0 path cost 0
	nd6 options=1<PERFORMNUD>
	media: autoselect
	status: active

The first thing we noticed was: less performance. Still testing between A (the Mini) and B:

Code:
bash-3.2# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 169.254.155.227 port 5001 connected with 169.254.81.115 port 49171
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  8.30 GBytes  7.13 Gbits/sec
[  4] local 169.254.155.227 port 5001 connected with 169.254.81.115 port 49179
[  4]  0.0-10.0 sec  7.77 GBytes  6.67 Gbits/sec
[  4] local 169.254.155.227 port 5001 connected with 169.254.81.115 port 49209
[  4]  0.0-10.0 sec  8.03 GBytes  6.90 Gbits/sec

Adding the second TB interface to bridge0 on Mac B seems to influence performance negatively. Then we tried out to use B as a 'bridge' between A and C. And we had to notice that the entire thing is done in Software:

Code:
bash-3.2# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 169.254.237.118 port 5001 connected with 169.254.155.227 port 49162
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  5.38 GBytes  4.62 Gbits/sec
[  4] local 169.254.237.118 port 5001 connected with 169.254.155.227 port 49163
[  4]  0.0-10.0 sec  5.37 GBytes  4.62 Gbits/sec
[  4] local 169.254.237.118 port 5001 connected with 169.254.155.227 port 49164
[  4]  0.0-10.0 sec  5.40 GBytes  4.63 Gbits/sec
[  4] local 169.254.237.118 port 5001 connected with 169.254.155.227 port 49165
[  4]  0.0-10.0 sec  5.39 GBytes  4.63 Gbits/sec
[  4] local 169.254.237.118 port 5001 connected with 169.254.155.227 port 49166
[  4]  0.0-120.0 sec  64.4 GBytes  4.61 Gbits/sec
[  4] local 169.254.237.118 port 5001 connected with 169.254.155.227 port 49167
[  4]  0.0-120.0 sec  63.5 GBytes  4.55 Gbits/sec

Mac B interconnecting the two other Macs that exchanged data had all the packets visible on his own bridge0 interface (where they would be 'dropped' by the OS' network stack since the target of the packets was not the local machine). And when we started the iperf runs between A and C (or vice versa) on Mac B one kernel_task process showed up which completely utilized a single CPU core (100% load).

So obviously using a Mac as "IP over Thunderbolt" bridge between two other Macs will not use lower TB layers but instead all this stuff will be handled by the new bridge code in Mavericks entirely inside the OS and excessivly using CPU ressources.

I did take a look at one of the links that you posted above and appreciated reading the epistle you wrote ;). However this diagram on one of the sites you linked has me scratching my head:

Image

Does this diagram indicate that no Thunderbolt "traffic" is passed through the "Thunderbolt switch" without traversing the PCI switch?

Yes. That's the way Apple/Intel currently implement it (using PCI fanout mapping instead of direct mapping). But this is an entirely different scenario because here you see one host controller (the one on the left) using daisy chaining with two other TB devices in endpoint mode.

IP over Thunderbolt is an implementation between two TB host controllers.

BTW: On Mac C we added an Ethernet interface to the bridge0 device because we wanted to have a look whether the new bridge code in 10.9 (well not really new because it seems that's the plain bridge code many *BSDs use since decades) is really bridging between the devices (layer 2) and whether Ethernet frames containing data from different protocol families (AppleTalk for example) will be passed through the TB devices connected to the bridge.

But due to problems with the "Thunderbolt Ethernet" adapters we used and our "AppleTalk packet generator" (sitting in a virtual machine on one of the Macs that can't be assigned to the bridge device -- looks like VMWare Fusion 6 ist not fully compatible with Mavericks at the moment regarding this sort of sophisticated network experiments) we didn't suceed with testing. Maybe we can continue later today.
 

Thomas Kaiser

macrumors newbie
Oct 24, 2013
12
0
Right now it seems to honestly be merely a novel file transfer protocol.
If you mean "really very very useful for some people" when you write "novel," I agree.

In fact this is not a 'file transfer protocol' at all. The new things in Mavericks regarding faster file exchange are:

- 'IP over Thunderbolt': This makes use of 'cheap' Thunderbolt cabling for interconnections and adds Thunderbolt as a new opportunity for the lower networking layers (compare with http://en.wikipedia.org/wiki/OSI_model)

- Bridge devices. Useful to extend the somewhat limited 'point-to-point' topology of 'IP over Thunderbolt' and to interconnect 'classic' Ethernet like networks with TB networks

- SMB2: This is in fact a novel file sharing protocol on the Mac (in my opinion not useable in Mavericks because Apple's implementation lacks the whole POSIX stuff. You can interchange data but there's no way to adjust ownerships/permissions over SMB2)
 

smithrh

macrumors 68030
Feb 28, 2009
2,722
1,730
Picked up the TB cable yesterday (2m length), popped it in on both sides, turned it on via the control panel (no tweaking), and off to the races.

Impressed and happy.

Note, this was a simple Mac <-> Mac Server setup, which is all I wanted/needed.
 

fortysomegeek

macrumors regular
Original poster
Oct 9, 2012
248
1
I tried 3-way Thunderbolt bridging.

13" Macbook and 27" iMac both connected to a 15" Retina (acting as a hub).

The 13" could easily see the 27" Imac which was on the other end.
There was a small degradation loss but it works. It is all plug-n-play. I did not have to do any routes or anything special to make the 13" see the iMac. It just worked.

This means a Thunderbolt switch/hub is in the realm of possibility.

IMG_0076.JPG


First two iPerfs are 13" connecting to the imac.
Last two iPerfs are 13" connecting directly to the 15" Retina

Screen+Shot+2013-11-02+at+11.47.44+AM.png



IP addresses are re-assigned automatically when you plug and unplug Thunderbolt cable. E.G. I unplug the 13" from the 15" and re-connected to the iMac directly.

There is more, you can google my username and IP Thunderbolt to get more information.
 

Thomas Kaiser

macrumors newbie
Oct 24, 2013
12
0
I tried 3-way Thunderbolt bridging.

13" Macbook and 27" iMac both connected to a 15" Retina (acting as a hub).

The 13" could easily see the 27" Imac which was on the other end.

That's due to Bonjour (service propagation/location) working even with 'link local' addresses (169.254.0.0/16 -- they are by design self-assigned when there is neither a DHCP server available nor the settings have been configured manually: http://en.wikipedia.org/wiki/Zero-configuration_networking)

In case you would let one of the three Macs bridge to an already existing Ethernet-like net (by simply assigning a Wi-Fi or Ethernet connection to one of the bridge devices of one of the machines) where a DHCP server is available then DHCP would also work on the other connected Macs and the machines wouldn't have temporary IP addresses but instead dynamically assigned ones from the DHCP server and could be reached from the rest of the network.

http://arstechnica.com/apple/2013/10/os-x-10-9-brings-fast-but-choppy-thunderbolt-networking/

There was a small degradation loss but it works. It is all plug-n-play. I did not have to do any routes or anything special to make the 13" see the iMac. It just worked.

Yes, but that's due to the bridging capabilities in Mavericks and has nothing to do with Thunderbolt. 'IP over Thunderbolt' devices are just one sort of 'network adapters' that can be added to a bridge device in Mavericks. And after doing this all (IP) traffic will be bridged between the members of the bridge.

You could also use a Mavericks machine to act like a Wi-Fi bridge (by simply adding its Wi-Fi interface in client-mode to the same bridge device as its Ethernet interface): All packets would then be bridged between Wi-Fi and Ethernet.

And there is a caveat: All this bridging happens at the network layer of OS X. Every packet arriving at one of the members of the bridge device has to be processed by Mavericks' kernel, possibly fragmented due to different MTUs and delivered to every other member of the bridge device. This is why we see a performance loss in these situations. And in my testings this degradation wasn't small: from 7.6 Gbits/sec down to 4.6 Gbits/sec is a massive loss. And I would suspect if you add in other Macs in such a 'Thunderbolt based mesh network' then you would see even more degraded performance between Machines not just 2 'hops' away. And every Mavericks machine in between acting as a software bridge would spend massive CPU ressources on this 'layer 3 switching' thing.

This means a Thunderbolt switch/hub is in the realm of possibility.

What we both did in our testings (interconnecting 3 Mavericks machines with 2 TB cables) has nothing do to with something one would call "Thunderbolt switch/hub".

We had two independent "IP over Thunderbolt" point-to-point connections that have been combined by the bridge device of the Mac in the middle. What happened at the different layers:

- IP packets on the source Mac have been processed by the networking stack, handed over to the 'IP over Thunderbolt' pseudo NIC driver which will split the packets into the size of raw Thunderbolt packets and sends it over the wire to the next TB host controller available on the TB cable

- on this Machine (the bridge) all the raw TB packets will be reassembled to IP packets, handed over to the higher network layers of OS X, will there be examined (Source MAC address, target MAC address), potentially fragmented if MTU sizes of the source and target bridge member don't match and then be forwarded to the correct bridge member

- if the bridge member is also an 'IP over Thunderbolt' device now the same stuff happens as on the source Mac: IP packets will be split apart to fit into raw TB packets, sent from the TB host controller on the bridge Mac to the TB host controller on the target Mac where the same thing happens as on the bridge Machine: TB packets will be reassembled to IP packets and arrive at the networking layer of the OS

All this stuff is 'expensive' in terms of CPU useage and many times slower compared to direct switching of TB packets especially in case there is not just one Mac acting as a bridge between two others but you would interconnect a few more Macs in this way because all this packet wrapping/unwrapping stuff has to happen on each Mac acting like a bridge.

If one could utilize a Thunderbolt switch then the whole thing would be completely different: On the source Mac IP packets would still be split into raw TB packets of fixed size. But then they would be simply sent to the TB switch and directly delivered to another Port on this switch to reach the target Mac. So way less overhead compared to the current 'software bridge' solution possible with Mavericks.

The downsides of this approach: It wouldn't be easily possible to mix this sort of TB internetworking with other networking (Wi-Fi or Ethernet) due to different packet sizes. And if such a TB switch should interconnect 10 TB devices it must be implemented as a non-blocking switch providing a bandwidth of at least 200 Gpbs which will have a certain price tag. If you add the cost of the cables 10GBase-T might be cheaper.
 

TsunamiTheClown

macrumors 6502a
Apr 28, 2011
571
12
Fiery+Cross+Reef
IP addresses are re-assigned automatically when you plug and unplug Thunderbolt cable. E.G. I unplug the 13" from the 15" and re-connected to the iMac directly.

There is more, you can google my username and IP Thunderbolt to get more information.

Great stuff! This was what i was curious about. I read your blog post too, nice stuff.

Thanks for the information and the detailed testing.
 

Macalway

macrumors 68040
Aug 7, 2013
3,857
2,369
just for giggles I hooked up a cable between my 2012 Mini and my rMBP. It was sooo easy.

I was using ethernet for an Audio slave/host app which is rather taxing, but now i can screen share, file share, and run this app all at the same time. Its like a single computer.

Nice to get rid of those nasty ethernet cables :D

I havent tested it extensively, but i'm liking it

OFF TOPIC:

BTW anyone reading this ever figure out how to run headless without the idiotic VGA dongle hack? (for screen sharing). I can solved this by using a virtual driver (Splashtop), but the app needs to be running, which makes it redundant. Apple says you can run headless with Remote Desktop, but i haven't tried it, and no one seems to mention it as a fix for screen sharing. the reason i mention this is that this connection might be optimal if there was an option for a single display.
 

James101

macrumors newbie
Dec 3, 2013
2
0
Noob question

I've a 2012 mac mini with a 256G SSD and a 750G 7200 drive, and I'm considering getting a nMP. I'd be grateful if someone could answer these questions:

1/ Would networking via TB allow me to automatically mount these two drives in the nMP when the computers are connected, or if not is this a relatively straightforward process?

2/ The other option I was considering is using the mini in target mode, but I understand that would only allow me to see the SSD drive. It seems that TB networking basically makes target mode redundant, or am I missing something (i.e. is the disk access speed the same)?

3/ Under either scenario I would have to first log in to the mac mini. If I only have one monitor, the process would seem to be that I connect the mini to the monitor, log in, then connect the monitor to the pro and then connect the computers together. This is feasible, but is there a more elegant solution?

Thanks!
 

smithrh

macrumors 68030
Feb 28, 2009
2,722
1,730
BTW anyone reading this ever figure out how to run headless without the idiotic VGA dongle hack? (for screen sharing). <snip> Apple says you can run headless with Remote Desktop, but i haven't tried it, and no one seems to mention it as a fix for screen sharing. the reason i mention this is that this connection might be optimal if there was an option for a single display.

I'm assuming you're referring to your mini being headless? If so, yeah I never used the dongle hack on either my 2009 or 2012 minis, I've used VNC in the past but now Apple seems to have RD working pretty well, I don't even use VNC anymore.

I've a 2012 mac mini with a 256G SSD and a 750G 7200 drive, and I'm considering getting a nMP. I'd be grateful if someone could answer these questions:

1/ Would networking via TB allow me to automatically mount these two drives in the nMP when the computers are connected, or if not is this a relatively straightforward process?

Yes, very straightforward. To automate it, you can have the nMP mount the drives in your Users preferences so they show up when you log in. Otherwise, it's trivial to mount them (just have file sharing turned on, on the mini side).

2/ The other option I was considering is using the mini in target mode, but I understand that would only allow me to see the SSD drive. It seems that TB networking basically makes target mode redundant, or am I missing something (i.e. is the disk access speed the same)?
I'd say target disk mode still has it's uses, but it sounds like you'd be happy with file sharing.


3/ Under either scenario I would have to first log in to the mac mini. If I only have one monitor, the process would seem to be that I connect the mini to the monitor, log in, then connect the monitor to the pro and then connect the computers together. This is feasible, but is there a more elegant solution?

You only need one monitor, hooked up to whatever computer you use the most.

Let's say that's the nMP. You'd then use Remote Desktop to do whatever you needed to do on the mini.

No switching cables - just leave the mini running.

Ahhh - this does raise a question. I wonder if TB networking will wake a Mac...
 

AFITgrad86

macrumors newbie
Jul 22, 2012
26
5
Thunderbolt Bridging

Not only will the Thunderbolt bridging technique enable fast file transfers but I see a potential application for Xgrid or other cluster computing solution to enhance inter-process communications. Comments?
 

jsalicru

macrumors regular
Oct 27, 2004
116
69
Austin, TX
Currently if you want to move large files between machines on a network your best option is 1Gb ethernet. This new ethernet over Thunderbolt connection give you ten times that speed. It will be really nice for migrating settings over to new machine using Migration Assistant also.

I did exactly this. The speed difference was unbelievable. I migrated an entire MacBook Pro into a new Mac Pro in less than 10 minutes.
 

DavoDavo

macrumors newbie
Jan 14, 2013
10
0
Ulladulla, NSW, Australia
Need a simple explanation please

Hi All,
I have just bought a new iMac 21.5" with latest Mavericks 10.9.2.
I opened the Network system preference and got a message 'New Interface Detected. Thunderbolt Bridge. Please verify that it is configured correctly, then press Apply to activate it.'

I have no idea what it is talking about. :confused:

I have a Belkin USB3 four port hub (bought from Apple) plugged into one Thunderbolt port and the only thing plugged into that is an old Apple Cinema 21" display USB hub with nothing plugged into that (as a side note, the display is still working beautifully via a MiniDisplay port to DVI adapter :)),
a standard wired mouse is plugged into another Thunderbolt port and an 'EyeTV' USB TV stick is plugged into another Thunderbolt port.
I also have an Apple superdrive plugged into another Thunderbolt port.

I am connected to an Apple Time Capsule (which is in bridge mode) via ethernet which is in turn connected to my ADSL2 modem via ethernet.

Don't think I've forgotten anything.

Status of Thunderbolt Bridge in Network pref is Not Connected.

So,
Why am I getting that message? and
What is it referring to? and
Do I need to go ahead and click Apply? If I do, what difference will it make to what?

Many thanks,
Davo.
 

Weaselboy

Moderator
Staff member
Jan 23, 2005
34,136
15,598
California
Hi All,
I have just bought a new iMac 21.5" with latest Mavericks 10.9.2.
I opened the Network system preference and got a message 'New Interface Detected. Thunderbolt Bridge. Please verify that it is configured correctly, then press Apply to activate it.'

I have no idea what it is talking about. :confused:

Status of Thunderbolt Bridge in Network pref is Not Connected.

So,
Why am I getting that message? and
What is it referring to? and
Do I need to go ahead and click Apply? If I do, what difference will it make to what?

You are fine and this is normal... just click apply and leave it alone after that. It is just telling you that your system is capable of the IP over Thunderbolt connection described in this thread. It is saying not connected because you are not currently using that connection for IP traffic.
 

redmac

macrumors regular
Apr 7, 2008
215
239
San Francisco
Does anyone think using an Apple Thunderbolt Display as a bridge will work for Thunderbolt network?

I mean, a MBP on one end, connected through the built in cable and a Mac Mini running OS X server on the other end, connected through a separate TB cable. If Apple releases a new Mac Mini with double TB ports, this will be an ideal home server setup for fast access speeds. Am I being too optimistic for thinking it may be possible.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.