MirrorManager’s primary aim is to make sure end users get directed to the “best” mirror for them. ”Best” is defined in terms of network scopes, based on the concept that a mirror that is network-wise “close” to you is going to provide you a better download experience than a mirror that is “far” from you.
In a pure DNS-based round robin mirror system, you would expect all requests to be sent to a “global” mirror, with no preference for where you are on the network. In a country-based DNS round robin system, perhaps where the user has specified what country they are in, or perhaps it was automatically determined, you’d expect most hits in countries where you know you have mirrors.
MirrorManager’s scopes include clients and mirrors on the the same network blocks, Autonomous System Numbers, jointly on Internet2 or its related regional high speed research and education networks in your same country, then falling back to GeoIP to find mirrors in the same country, and same continent. In only the rarest of cases does the GeoIP lookup fail, we have no idea where you are, and you get sent to some random mirror somewhere.
But, how well does this work in practice? MM 1.4 added logging, so we can create statistics on how often we get a hit for each scope. Raw statistics:
|Global (any mirror)||1.38%||99.88%|
In the case of MirrorManager, we take it three steps further than pure DNS round robin or GeoIP lookups. By using Internet2 routing tables, ASN routing tables, and letting mirror admins specify their Peer ASNs and their own netblocks, we are able to, in nearly 22% of all requests, keep the client traffic completely local to the organization or upstream ISP, and when adding in Internet2 lookups, a whopping 30% of client traffic never hits the commodity Internet at all. In 88% of all cases, you’re sent to a mirror within your own country – never having to deal with congested inter-country links.