Pretty straight forward question....L3 device with equal cost paths to destination. Both next hops are equal distance in terms of AD and metric (think shared segment with 3 devices). Traceroute will show both next hops when in the reply. Now, how does the router determine the first probe to send to? And how do you change this behavior?
For example, traceroute 188.8.131.52 will send probe to both 10.1.1.1 and 10.1.1.2 (equal cost next hops). Now, was 10.1.1.1 the first probe sent simply because its lower? How do you change this behavior such that 10.1.1.2 will be sent the first probe first?
1 - 10.1.1.1
Since they are equal cost, the router randomly pick one or the other. So the router will load balance the traffic between the 2 next hops. Now, this load balancing is not always 50/50. It could be 40/60 or 70/30 and so on. If you change the behavior by changing the metric or cost than that is not equal cost and so there is no load balancing, but rather active/stand-by.
It doesn't seem to be random as the traceroute will always pick the same next hop first no matter how many traceroutes you do.
Also, there MUST be a way to change this behavior so that the router will choose next hop option 2 first instead of next hop option 1 first. (This wasn't some random question I came up with)
By default the router does per destination load balancing. So, if the first destination is 184.108.40.206 the router may take 1.1 and if the second destination is 220.127.116.11 the router may take 1.2.
Have a look at these 2 docs for more info
If I do a traceroute to 18.104.22.168 multiple times, it will always choose 1.1 as you noted above. Now, again, the first question... how does IOS choose 1.1 as the first choice? it cant be random as the real question/scenario is to change this behavior and to use the second NH first.
Perhaps you can share with us what is your real question or real objective? Why would it be important to change which next hop is chosen first? If we knew that we might be able to offer better suggestions.
In the good old days when I learned Cisco networking there was a fairly simple answer (and the answer would have led to the behavior that each successive traceroute would have alternated which first hop was used). Back in the day when we had only process switching and fast switching, then for process switched packets (like traceroute generated from the router) the router would track which next hop had been most recently used and would use the other next hop for the next packet to that destination. Things changed as Cisco introduced CEF. I suspect that the answer to your question about which next hop is used first depends on the content of the CEF tables. My guess is that in the CEF table one route is listed first with the other route as an alternate and that for the traceroute it looks I the CEF table and begins with the first entry. It would require someone with more expertise in CEF than I have to tell you whether it is possible to change which of the next hops if listed first in the table.