Network Service Order

Discussion in 'OS X Yosemite (10.10)' started by bxs, Dec 19, 2014.

  1. bxs macrumors 6502

    Joined:
    Oct 20, 2007
    #1
    In the Network panel one can arrange the various networks

    Selecting the gear widget we get "Set Service Order...". Selecting this displays a Service Order panel where the network services can be moved about such that the top/1st one is the preferred service, the 2nd one preferred if the 1st one is off/down/not-available, and so on.

    In my case I have set the order as shown below (I show just the top three services).

    Thunderbolt Bridge
    Ethernet
    Wi-Fi
    .
    .
    .

    I have two Macs that have Thunderbolt-1 ports, and I want to understand how this Network Service order is used by Mac OS X Yosemite.

    Let's say your have two Macs or say a Mac and a AirPort Extreme or Time Capsule connected via

    1) Thunderbolt Bridge (Can be used exclusively for MacA to MacB)
    2) Ethernet (Can be used for MacA to MacB and MacA or MacB to AirPort Extreme or Time Capsule)
    3) Wi-Fi (Can be used for MacA to MacB, and MacA or MacB to AirPort Extreme or Time Capsule)

    Now let's say the Service Order for BOTH Macs is set to following order of use (the first three being mentioned here)

    Thunderbolt Bridge
    Ethernet
    Wi-Fi

    For a MacA to MacB connection there are three choices for the system to employ. It can use Thunderbolt, Ethernet or Wi-Fi.

    Scenario

    1) A file transfer is initiated from one MacA to MacB and initially there's no other MacA to MacB data transfer taking place at the time this is started. The Thunderbolt Bridge connection will be used, right ?

    2) While the file transfer taking place in step 1) another MacA to MacB file transfer is initiated. Will it try to use the Thunderbolt Bridge or will it move to use the Ethernet ? Let's say the system attempts or does use Ethernet because Thunderbolt is being used by 1).

    3) While 1) and 2) are underway another file transfer from MacA to MacB is initiated. We now have 3 file transfers taking place. Let's say the system uses Wi-Fi for this third file transfer because Thunderbolt and Ethernet are being used by 1) and 2).

    So at this point we have Thunderbolt, Ethernet and Wi-Fi connections fully occupied moving data from MacA to MacB.

    4) While 1), 2) and 3) are underway another file transfer from MacA to MacB is initiated. What connection media does the system use for this 4th file transfer ?

    Is it possible that the system will attempt or will in fact use Thunderbolt Bridge for 1), 2), 3) and 4) at same time ?

    Let's also introduce file transfer taking place from MacB to MacA while 1) 2) 3) and 4) are taking place. What connection media will be used ?

    If the system does in fact use Thunderbolt for all file transfers taking place will the Thunderbolt Bridge cater to this for handling the 4 simultaneous file transfers from MacA to MacB, AND the file transfer from MacB to MacA. That is, Thunderbolt is handling 5 file transfers with 4 going from MacA to MacB and 1 going from MacB to MacA at the same time ?

    Will the system simply 'stack' the file transfer requests such that it allows 1) to complete before stating 2) and then allow 2) to complete before starting 3), and so on ?

    Thanks for your insights. :)

    =======================

    I will do some testing as I have this scenario at my disposal using an iMac13,2 and MBP8,3 both of which have Thunderbolt-1, Ethernet and Wi-Fi along with a Time Capsule.

    My first test was to run 3x 20GB file transfers across Thunderbolt.

    1) All three transfers took place at same time and shared the Thunderbolt Bridge connection. This is good IMO.

    I started first transfer, then started the second transfer and then the 3rd, All three used the Thunderbolt connection.

    When I ran a single transfer the write data rate was around 350 MBytes/sec. I noted that the system took around 8 secs of wall time getting prepared with little to no data transferring, and then it picked rapidly and showed periodic peak rates at just over 1 GByte/sec.

    When I ran all 3 transfers side by side they all shared the Thunderbolt connection with the same 8 second pause with nothing happening then periodic rates of 1.5 GBytes/sec.

    The three concurrent transfer yielded rates of 118.2 MBytes/sec, 116.8 Mbytes/sec and 125.1 MBytes/sec. Summing these we get 360.1 MBytes/sec which correlates almost identically to a single transfer of 350 MBytes/sec mentioned above.

    This shows the system does honor the Service Order and that Thunderbolt is preferred exclusively for MacA to MacB for multiple concurrent data transfer requests, and that multiple data transfer share the single Thunderbolt bandwidth connection for one-way traffic.

    I was hoping for this result and I'm pleased.

    =======================

    During my testing I noted something that puzzled me.

    I had all three networks active, Thunderbolt Bridge, Ethernet and W-Fi. THIS ASPECT IS IMPORTANT I BELIEVE

    In order to transfer data from my iMac13,2 to my MBP8,3 I first brought up a Finder window on the iMac and navigated to the MBP8,3 in the sidebar under Shared devices and then mounted the location I wanted to transfer data to.

    Having done this I used Terminal to execute a dd command for transferring data from the iMac to the MBP. Doing this I observed 1GbE ethernet write rates of around 105 MBytes/sec. What puzzled me was that the Thunderbolt network was somehow not being employed.

    Can it be that when I used Finder to mount the MBP's location I wanted to write to with the dd command that ethernet protocol was used by the Mac OS X ?

    I repeated the test several times and each time I observed 1GbE write rates.

    So, here's what I did.

    Starting the test over again, I first disabled ethernet and Wi-Fi on the iMac and then used Finder to mount the location on the MBP I wanted to write to. Having done this, I now enabled ethernet and Wi-Fi on the iMac.

    Now, using dd in Terminal on the iMac, I performed the write test. This time I observed Thunderbolt Bridge write rate of around 350 MBytes/sec. I repeated the test several times and the 350 MBytes/sec was pretty consistent.

    So from all this I'm apt to believe that in order for me to consistently employ the Thunderbolt network between my iMac and MBP I MUST first mount the MBP's location on my iMac with ethernet and Wi-Fi networks off. Maybe it's sufficient to simply disable ethernet and leave Wi-Fi enabled... but have not test that as of yet.

    ========================

    Can others who have an interest and have the needed hardware confirm this for me ?

    Also, is what I discovered correct ? That is, will Finder always use ethernet (if it's available) to 'bind' a mount point as described above and force i/o traffic using ethernet even though other networks have higher priority for being used per the Set Service Order in the Network panel ?
     
  2. SlCKB0Y macrumors 68040

    SlCKB0Y

    Joined:
    Feb 25, 2012
    Location:
    Sydney, Australia
    #2
    What was the exact dd syntax?
     
  3. bxs, Dec 19, 2014
    Last edited: Dec 19, 2014

    bxs thread starter macrumors 6502

    Joined:
    Oct 20, 2007
    #3
    Example...

    Duncans-Saturn-2:~ bxs$ dd bs=1000000 count=10000 if=/dev/zero of=/Volumes/bxs/test_file
    10000+0 records in
    10000+0 records out
    10000000000 bytes transferred in 32.244681 secs (310128670 bytes/sec)
     

    Attached Files:

  4. SlCKB0Y macrumors 68040

    SlCKB0Y

    Joined:
    Feb 25, 2012
    Location:
    Sydney, Australia
    #4
    In your testing you could explicitly choose what connection to use by mounting using the IP address of the target interface.

    Keep in mind that these links will never be load balanced... By default os x will just send multiple concurrent connections over the one link.

    Most of what you are trying to determine through testing are not os x specific but instead are explained by basic networking concepts.
     
  5. bxs thread starter macrumors 6502

    Joined:
    Oct 20, 2007
    #5
    Thanks for replying.... :)

    What I'm trying to establish is that when say Thunderbolt Bridge, Ethernet and Wi-Fi are setup in that order in the Network panel, that Thunderbolt Bridge will ALWAYS be used exclusively for moving file data between my Macs that are connected to each other via a Thunderbolt cable.

    I want ethernet to be used for Internet access, and Ethernet or Wi-Fi used for Time Machine backups to a Time Capsule.

    I want user to simply use Finder for mounting a target Mac's shared resource to get or send data.
     

Share This Page