Excited by the prospect for Steam for Linux I fired up Steam to download some games. The problem was that finding a mirror with the best speed for seeming problematic. So I decided to do some analysis. 😀

I am testing all of this from AS55836 Reliance Jio Infocomm Limited. I primarily use this for steam since the throughput is nice to have and I don’t use more than 4GB of download on Steam games per day. To choose a mirror goto Steam>Settings>Download>Download region in the menu.

Singapore mirror

Since Reliance Jio peers with their upstream AS64049 Reliance Jio Infocomm Pte Ltd Singapore in Singapore, I decided to try the Singapore mirror first. The results? Not bad. I’ve used iftop command on Linux to see from which IPs the download was being streamed from.

screenshot_2016-11-27_06-31-49

iftop and game download from Singapore

The throughput was decent at 2.5 MB/s.The only problem is that it would be affected badly during peak times, due to heavy strain on the international capacity. As you can see most of the IPs are from 103.10.124.0/24 network, which is announced by AS32590 Valve Corporation in Singapore. Let’s do a traceroute, shall we?

It times out after that probably because ICMP is disabled after that. The path taken is AS55836 Reliance Jio Infocomm Limited(India)>AS64049 Reliance Jio Infocomm Pte Ltd Singapore(Singapore)>AS9304 Hutchison Global Communications(Singapore)>???. Luckily AS9304 Hutchison Global Communications has a looking glass for us to peak into. You can find it here. Let’s do ping.

And a show ip bgp command.

So AS9304 Hutchison Global Communications peers with Valve. The next hop should be AS32590 Valve Corporation directly. The location is most probably Equinix Singapore if you have a look at Valve’s PeeringDB profile. The more important downstream path is hidden since Valve doesn’t have a looking glass. Let’s just assume that AS32590 Valve Corporation‘s router picks path through AS9304 Hutchison Global Communications as the best, which could be likely since they peer with them.

Path is AS9304 Hutchison Global Communications>AS15412 Reliance Glocalcom Limited(Singapore)>AS3491 PCCW Global(Singapore)>AS64049 Reliance Jio Infocomm Pte Ltd Singapore(Singapore)>AS55836 Reliance Jio Infocomm Limited(India). The same local preference means AS9304 Hutchison Global Communications is peering with AS15412 Reliance Glocalcom Limited. The long AS path length probably means AS32590 Valve Corporation‘s router may not choose to send traffic this way unless they are not peering with any network which is advertising a shorter one. Also probably AS18101 Reliance Communications Ltd‘s upstream AS15412 Reliance Glocalcom Limited is not announcing AS55836 Reliance Jio Infocomm Limited‘s IP pools in Singapore but is only used for local connectivity.

India(Mumbai) mirror

I am going to consider Mumbai since it is closest to me.

screenshot_2016-11-27_06-34-57

iftop and game download from Mumbai(India)

The throughput was better at about 2.6 MB/s and this would be better at peak times. This test was done at 6 AM so the results would have been different at different times of the day. Let’s do a trace.

It is directly from AS55836 Reliance Jio Infocomm Limited to AS18101 Reliance Communications Ltd. We are more interested in the return tho. AS18101 Reliance Communications Ltd‘s routers do not have looking glass to find out the return path.

Let’s trace to the other IP.

It times out after that. This is super interesting because if you look at NIXI‘s(AS24029 NIXI is an IXP in India) connected network list, 218.100.48.20 is the the AS9498 Bharti Airtel Ltd‘s IP at Delhi(Noida). So why is it flowing through Delhi(Noida) and not Mumbai? Both are connected at both places right? Well it turns out Airtel’s routers only share the regional routes for peering since they do not want to carry the traffic over their backbone. Here are NIXI’s LG results for Delhi(Noida):

And for Mumbai:

The path taken is AS55836 Reliance Jio Infocomm Limited(Goa)>AS24029 NIXI is an IXP in India(Delhi)>AS9498 Bharti Airtel Ltd(Delhi). It is interesting that AS9498 Bharti Airtel Ltd does not advertise all routes at all locations domestically but does so at international locations. Let’s see how the flow is in the other direction. Trace from AS9498 Bharti Airtel Ltd‘s LG on their Delhi router.

RELATED  How to start an Internet Service Provider in India

It times out after that. 218.100.48.31 is AS55836 Reliance Jio Infocomm Limited‘s IP on NIXI’s member list. So return path is similar and flows through NIXI as well. Which is good! show route 49.35.248.119 for AS9498 Bharti Airtel Ltd‘s Delhi router:

show route 49.35.248.119 for AS9498 Bharti Airtel Ltd‘s Mumbai router:

RELATED  Hybrid ECDSA and RSA certificates with Nginx and Let's Encrypt

AS55836 Reliance Jio Infocomm Limited is announcing 49.35.128.0/17 at both locations at NIXI and AS9498 Bharti Airtel Ltd‘s routers are learning that through them.

Conclusion

This seems to be kind of a stop gap measure by Valve. It would be nice if they start announcing their IPs in India. I think Cloudflare is doing an island POP here, with their upstreams not announcing IPs outside of India. If they peer with most eyeball networks I doubt they would have a pay much for transit. I think there would not be any serious international traffic as well.

I think there is a default option for the download mirror on the client as well but you can’t set it once you change it to something else. So I couldn’t test it out. Also I didn’t have time to test out the other mirrors.

Well that was a fun few hours of poking around. I hope you found this interesting. 🙂