Microsoft is heavily using something called GeoIP, to optimize Internet data routing for its services, including Skype, Office 365, and all of the others.
All of the code below is within ‘nslookup’, running in CMD on Windows.
The way this works, basically, is different IP sets are reported by DNS lookups, depending on the upstream DNS server being polled. So if, like many right now, you were using Google’s DNS (8.8.8.8 and 8.8.4.4) on your LAN, and did nslookup on the recommended test hostname, outlook.office365.com, you would see this:
> outlook.office365.com Server: google-public-dns-a.google.com Address: 8.8.8.8 Non-authoritative answer: Name: outlook-namsouth2.office365.com Addresses: 2603:1036:0:26::2 2603:1036:102:90::2 2603:1036:404:a4::2 2603:1036:102:107::2 2603:1036:102:b8::2 2603:1036:404:11b::2 2603:1036:404:3f::2 2603:1036:3:12e::2 2603:1036:102:3e::2 2603:1036:404:11c::2 40.97.170.162 40.97.30.130 40.97.170.178 40.97.142.18 40.97.41.98 40.97.162.130 40.97.154.66 40.97.166.178 40.97.117.242 40.97.119.178 Aliases: outlook.office365.com outlook.ha.office365.com outlook.office365.com.g.office365.com >
But on the other hand, if you were using OpenDNS (208.67.220.220/222.222), you would see this:
> outlook.office365.com Server: resolver1.opendns.com Address: 208.67.222.222 Non-authoritative answer: Name: outlook-namsouth4.office365.com Addresses: 2603:1036:d01:2::2 2603:1036:101:2::2 2a01:111:f400:31ab::2 2603:1036:902:a3::2 2603:1036:906:4d::2 2603:1036:405:2::2 2603:1036:405:15::2 2603:1036:404:67::2 2603:1036:100::2 40.97.142.18 40.97.41.98 40.97.162.130 40.97.154.66 40.97.166.178 40.97.117.242 40.97.119.178 40.97.170.162 40.97.30.130 40.97.170.178 Aliases: outlook.office365.com outlook.ha.office365.com outlook.office365.com.g.office365.com >
The most important thing to observe in the above, is that the IP set is different. And if you try pings from your test PC to each of the above IPs, you will notice major differences. In recent testing, most of Google’s results ping much slower (higher, in milliseconds) than OpenDNS’s. But we found OpenDNS’s pings noticeably slower than our current known best of breed, Level3 (209.244.0.3/4):
> outlook.office365.com Server: resolver1.level3.net Address: 209.244.0.3 Non-authoritative answer: Name: outlook-namsouth.office365.com Addresses: 2603:1036:404:16::2 2603:1036:404:b6::2 2603:1036:102:16::2 2603:1036:405:29::2 2603:1036:906:4f::2 2603:1036:d00::2 2603:1036:102:8f::2 2603:1036:405:4a::2 2603:1036:4:4c::2 40.97.133.130 40.97.132.194 40.97.125.114 40.97.132.226 40.97.126.50 40.97.31.50 40.97.164.146 40.97.136.194 40.97.166.34 Aliases: outlook.office365.com outlook.ha.office365.com outlook.office365.com.g.office365.com >
We have also noticed that the lists of IPs do not correspond to names, i.e., outlook-namsouth3 does not return the same IP list each time. So there is a lot of highly complex geographically-centered IP routing by DNS, going on, by Microsoft, and Level3 seems to cooperate best.
The upshot is, if you see any Microsoft cloud-based services being slow, hesitating, freezing up, or losing connection regularly, switch your LAN’s DNS forwarders to Level 3, and you may well knock the problem out most easily. CloudFlare’s DNS works as well if not better.