1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第169回 NCSI ~ネットワーク接続捜査班

マイナビニュース / 2024年6月7日 17時46分

画像提供:マイナビニュース

多くのオペレーティングシステムには、インターネット接続を検出するための機能がある。Windowsでも、コントロールパネルなどでインターネット接続があるかどうかを表示できる(写真01)。

Windowsのインターネット接続検出機能は、NCSI(Network Connection Status Indicator)と呼ばれる。タスクバーのネットワークアイコンで、インターネット接続がないことを「地球儀と禁止標識(丸に斜線)」のアイコン(写真02)で表示するのは、この機能を利用している。

インターネット接続の有無を検出することは、意外に面倒だ。まず、ネットワークデバイスが正常に動作しており、適切なIPアドレスが割り当てられ、一番手前にあるゲートウェイ(ルーター)に接続できる必要がある。そのほか、DNSで名前解決ができるかどうか、インターネット内で確実に動作しているサーバーに接続できるかどうかを調べなければならない。

Windowsでは、何をもってインターネット接続があるのかを判断しているのかというと、Windows 11はHTTPで、特定のWebサイトからテキストファイルが正しく入手できるかを調べている。過去には、専用のDNSサーバーを使ってアドレス解決ができるかどうかを調べることもあったが、現在では、HTTPのみでインターネット接続の有無を判定している。

具体的には、http://www.msftconnecttest.com/connecttest.txt (IPv4の場合)をアクセスして、テキストファイルを取得する。その中身が“Microsoft Connect Test”であるかどうかをテストしている。NCSIでは、このHTTPによるインターネット接続の検出をアクティブ・プローブと呼ぶ。NCSIは、ネットワーク接続を管理する「ネットワークリストマネージャー(netlistmgr)」サービス内で動作している。

アクティブプローブが成功したあと、通過パケットを定期的に検査して、インターネット接続が継続しているかどうかをチェックする(これをパッシブ・プローブと呼ぶ)。また、ネットワークリストマネージャーは、API(たとえばINetworkListManager::GetConnectivity)でも、インターネット接続の状態を提供する。

こうしたインターネット接続のチェックは、ネットワーク・インターフェースやTCP/IPスタック、プロキシー、LANやルーター、ファイアウォール、インターネット接続プロバイダ、DNSといったネットワークの下回りや通信経路にすべて問題がない場合のみに成功する。それぞれのコンポーネントでも個別のチェックはある。このインターネット接続の検出はネットワークの総合試験でもある。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください