Windowsには、インターネット接続が制限されていたり、利用できない場合にそれを知ることができる機能が搭載されています。
通信が不安定な状況になると、システムトレイのアイコンなどで、インターネット接続に関する情報が通知されますが、これはどのような仕組みで実装されているのでしょうか。
Microsoftで25年以上Windowsの開発に携わってきたRaymond Chen氏は、この機能はとても簡単に実装しているとブログ記事「How does Windows decide whether your computer has limited or full Internet access?(Windowsは、コンピュータのインターネット接続が制限されているか完全であるかをどのように判断しているのですか?)」で説明しています。
同氏によると、Windowsは、Webサーバーからファイルを正しくダウンロードできるかどうかで、インターネット接続が正常に機能しているかどうかを判定しているそうです。
- http://www.msftncsi.com/ncsi.txt
- http://www.msftconnecttest.com/connecttest.txt
上記どちらかのファイルをダウンロードし、正しいコンテンツが含まれていれば、WindowsはPCが完全なインターネットアクセスを持っていると結論づけ、何か問題が発生した場合、Windowsは、何が問題だったかに応じて、インターネットアクセスが制限されているか、または無いかかのいずれだと判断するとのこと。
Windowsのネット接続が「制限あり」と表示さた場合、なんらかの原因で、これらのファイルがダウンロードできていない事になります。
Windowsのきの機能についてHacker Newsでも議論が交わされています。気になる方はこちらもチェックする事をおすすめします。