このページの本文へ

前へ 1 2 次へ

Windows Info第40回

Windows 8のネットワーク自動接続機能の仕組みを詳しく見る

2015年01月22日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

Windows 8ではWindows Connection Managerで
自動的に接続するネットワークを決定する

 Windows 8から、Windowsではネットワークの選択を自動で行なうようになった。これを司っているのがWindows Connection Manager(以下WCMと略す)だ。

Windows 8ではあらかじめ決められた順に自動的にネットワークに接続する

 Windows 7では無線LANの接続先指定に対して優先順位をユーザーが付けていたが、この仕組みはWindows 8で廃止された。Windows 8では、ユーザーが手動でネットワークを選択しない限り、WCMがネットワークを自動的に選択する。

 たとえば、起動直後にどのネットワークを使うのか、スタンバイから復帰したとき、これまで接続していたネットワークに接続できなくなったときなどには、WCMが自動的にネットワークを決定する。

 WCMでは、「有線LAN」「無線LAN」「モバイルブロードバンドネットワーク(WWAN、無線WAN)」という「インターフェース」を扱う。なお、Windowsは複数のネットワークインターフェースを管理することができる。実際にはこのほかにBluetoothによるネットワーク接続もあるが、Windows 8のWCMはBluetooth経由のネットワークに対しては接続の管理はしていない。また、USB経由のインターネット接続、具体的にはスマートフォンでのUSBテザリングもあるが、これもWCMは管理していない。

 なお、アイコンなどを見るとBluetoothやUSBによるネットワーク接続は、有線LANと同じ扱いになっているようだ。WCMでは有線LANは最も優先度が高いため、WCMがBluetoothやUSBによるネットワーク接続を勝手に他のネットワークに切り替えることはない。

有線LANを接続するWindows Connection Manager
Bluetooth/USBテザリングも有線扱いなので要注意

 また、有線LANに対しては何も制御しないため、自動的に接続されることも接続先を選ぶこともない。このためBluetoothやUSB経由の接続では「従量制課金接続」を設定できない。現実にはモバイルルーターやスマートフォンをBluetoothやUSBで接続して利用することは多いはずだが、従量制課金接続としての設定が不可能なために、Windows UpdateやOneDriveの同期などが有線LANなどと同様に実行されることに注意する必要がある。

 Windowsでは、無線LANインターフェースおよびモバイルブロードバンドインターフェースの接続先を「プロファイル」という情報として管理する。これは1つのインターフェースが複数のネットワークに接続する可能性があるからだ。プロファイルにはSSIDや暗号化キーなどの接続に関する情報と、自動的に接続するかどうか、あるいは接続中にもスキャンを行って他の接続先への切り替えを行なうかどうかといったWindows側の設定が含まれている。

 「インターフェース」は「プロファイル」を使って「ネットワーク」に接続する。接続されている状態では、インターフェースには、ネットワークに応じたアドレスが割り当てられ、ネットワークの一部となる。つまり、Windowsでは「ネットワーク」とは「インターフェース」と「プロファイル」の組み合わせになる。

Windows Connection Managerの動作を詳しく見ていく

 WCMは、簡単にいうと、ネットワーク(インターフェースとプロファイルの組)に優先順位を付け、その優先順位に従って上位のもので接続が可能なものをネットワークとして選択するという仕組みだ。

 基本的なルールとしては、複数のネットワークへの同時接続を避け、以下のような方針でネットワークを1つ選択する。

1:有線LAN(イーサーネット)
2:現在のセッション中にユーザーが手動で接続したネットワーク
3:インターネット接続に最も適したネットワーク
4:ドメインとインターネットの両方に接続可能なネットワーク(ドメイン運用時)

 有線LANは優先度が一番高く、これが利用可能な状態にあるならばWCMは有線LANを必ず選択する。次に優先度が高いのは、ユーザーが手動で選択したネットワークだ。こうしたネットワークがない場合、あるいは接続中のネットワークでインターネット接続ができい場合には、WCMは別のネットワークへの切り替えを行なう。

 なお、Microsoftのサイトにある解説では、有線LANがインターネット接続可能など、接続するインターフェースが切り替わったとき、それ以外のインターフェースに対しては、「ソフト切断」が行なわれるとある。

 複数のネットワークインターフェースを持つWindowsでは、このようにネットワークインターフェースが自動で切り替わる可能性がある。しかし、ソフトウェア側は以前のネットワークで割り当てを受けたネットワークアドレスなどを使ったまま通信しようとする。

 このため、ネットワークが切り替わった場合、それまで使っていたネットワークを簡単に切断することはできない。たとえば、無線LANを使っているときに、イーサーネットケーブルを接続すれば、有線LANの優先度が最も高いため、WCMは、イーサーネットをネットワーク接続として選択するが、無線LANのほうをすぐには切断せず、以下の手順を用いて「ソフト切断」状態に切り替える。

1. 他のプロファイルが選択されるなどで、利用しないことが決まった接続中のインターフェースは、ソフト切断状態とされる
2. ソフト切断が設定されると、該当のインターフェースがもう利用出来なくなったことがTCPスタックに通知される
3. 既存のTCPセッションは、切断されないが、新しいTCPセッションはこのインターフェースを使わなくなる
4. ただし、新しいセッションがこのインターフェース(アドレス)を指定していて、他のネットワークでは指定された宛先へ接続できない(経路がない)場合には、ソフト切断が指定されたネットワークが利用されることがある
5. TCPスタックは、ネットワーク状態に変更があったことをアプリケーションに通知する
6. アプリケーションはネットワーク状態の変更イベントを受け取ったとき、可能なら既存の接続を新しいネットワーク向けに切り替える
7. Windowsはソフト切断したインターフェースで行われる転送を30秒ごとにチェックして、転送量が一定の閾値以上ならばなにもしない
8. 一定の閾値以下になったとき、Windowsはインターフェースを切断する

 このようなルールで「ソフト切断」が行なわれ、最終的にはインターフェースが切断される。すぐに切断せずに「ソフト切断」になるのは、通信中にケーブルが接続される(あるいは抜ける)ことがあるなど、インターフェースの切り替えとアプリケーションの動作には関連がなく、できるだけアプリケーションに動作を継続させるためだ。

 ただし、無線LANのネットワークの変更などは、インターフェースとしては同一になるため、「ソフト切断」は発生しない。

前へ 1 2 次へ

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン