n-Archives.net

ARPを利用したホスト状態判定方法の改善について

目次


 

ホストのOnline判定方法の改善について

nWOL Version1では、ホストのOnline/Offlineの判定方法は、単純に ping のレスポンスが返ってきたかによって判定を行っていました。

ただ、pingだけで判定する場合、そのホストが ping へのレスポンスを返さないように設定されている場合、Online判定ができませんでした。Windows10/11では、初期インストール状態では、pingを返さないようになっているため、nWOLでOnline判定できるようにするために、ファイアウォールの設定をpingを返すように変更しなければなりませんでした。

この問題を解決する方法として、nWOL Version2 では、ARPを用いた判定ロジックを実装しています。pingによる判定と、ARPによる判定を組み合わせることで、pingを返さないLAN内ホストについてもOnline判定ができるようになっています

 

ARPによる判定の概要と制約事項について

nWOL Version2で実装された ARPによるOnline/Offline判定は、ping送信による判定と同じタイミングで行われます。従来の「Ping Interval (Ping送信間隔)」の周期で行われます。

今回のARPによる判定と、従来のpingによる判定の動作の違いを以下にまとめます。

 

ARPによる判定はLAN内のホストのみ

ARPによる判定ができるのは、同じLAN内に接続されているホストのみになります。

 

Offline判定に時間がかかる

ARPによる判定は、一言でいうと、「ARPテーブルに対象ホストのエントリが存在すれば Onlineと判断する」というものなのですが、このARPキャッシュテーブルに保存されるレコードのライフタイムが15秒~45秒程度であるため、ホストがシャットダウンしてからも数十秒はキャッシュとして残り続けることになり、Offline判定できるまでに少し時間がかかることになります。

nWOL Version2では、一度でもpingレスポンスがあったホストに対してはpingによる判定、一度もpingレスポンスがないホストに対してはARPによる判定を行うようになっています。「pingを返さないホストのOffline判定は15秒~45秒程度遅れる」 と覚えておいていただけるとよいと思います。

従って、Offline判定を遅らせることなくリアルタイムに反映したい場合は、pingレスポンスを返すようファイアウォールの設定をしてください。(参考記事:Windows10 PCへのpingが通らない

 

動作まとめ

2つの判定方法の動作についてまとめると、以下の表のとおりです。

 nWOLにおける状態判定方法
適用ホスト Online判定方法 起動時判定(Online判定) 停止時判定(Offline判定)
pingレスポンスを返すホスト pingによる判定 起動し次第Onlineと判定される。 シャットダウンし次第Offlineと判定される。
pingレスポンスを返さないLAN内のホスト ARPによる判定 起動し次第Onlineと判定される。 シャットダウンした後、15秒~45秒程度してからOfflineと判定される。

 

 nWOLc における動作の違い

nWOLc においても、Version2から、ARPによる状態判定機能が追加されていますが、以下の点で nWOL(GUI版)の設定方法、動作が少し異なりますのでご注意ください。

 

-p, -w オプションだけの場合はARPによる判定は行われない

-p オプション、または、-w オプションのみが指定されている場合は、Version1と同じ動作となり、通常の ping レスポンスのみにより判定され、ARPによる判定は行われません。

ARPによるホスト状態判定を行う場合は、-p, -w に加えて -arp オプションを追加してください。

nwolc -p Server1 -arp

 

ARPによる判定の動作の違い

nWOLc では、-arp オプションが設定された場合、全てのホストに対してARPによる判定が行われます。pingを返すホストに対してもARPによる判定となります。nWOLが常駐型であるのに対して、nWOLc はコマンド型であり、ホストが ping を返すホストかそうでないかを判別できないため、そのような仕様となっています。

nWOL(GUI版)では、pingレスポンスを返すホストの場合は、秒単位で正しく online/offline判定が行われますが、nWOLcでは、pingレスポンスを返すホストの場合でも、offline判定が遅れることがありますので、ご注意願います。

詳細は、以下のまとめをご覧ください。

 

nWOLcの判定方法まとめ

 nWOLc (-p,-w のみ)の状態判定方法(Version1と同じ)
適用ホスト Online判定方法 起動時判定(Online判定) 停止時判定(Offline判定)
pingレスポンスを返すホスト pingによる判定 起動し次第Onlineと判定される。 シャットダウンし次第Offlineと判定される。
pingレスポンスを返さないLAN内のホスト (判定できません)
 nWOLc (-p,-w に -arp あり)の状態判定方法
適用ホスト Online判定方法 起動時判定(Online判定) 停止時判定(Offline判定)
pingレスポンスを返すホスト ARPによる判定 起動し次第Onlineと判定される。 シャットダウンした後、15秒~45秒程度してからOfflineと判定される。
pingレスポンスを返さないLAN内のホスト ARPによる判定 起動し次第Onlineと判定される。 シャットダウンした後、15秒~45秒程度してからOfflineと判定される。

 

参考記事

参考記事:Windows10 PCへのpingが通らない

 

 

Related Articles

 

コメントをお送りください
お名前:
コメント:
コメントの公開:



管理者より個人的に返信をご希望の方は、コメント中に必ずメールアドレスを記載してください。記載がないと返信できませんのでご注意ください。

If you want personal response from the author, please do not forget to write your email address in the comment. Otherwise, the author can not reply.

投稿されたコメントは手動で処理されるため、記事として登録されるまで1日程度かかります。

Submitted comments will be processed manually. So, please understand it will take about a day to publish your comment.