SSブログ

UPnP on RTX1100 [ネットワーク機器]

RTX1100を含め、最近のルータはUPnPに対応しているからすごく便利ですね。DHCPなどは当たり前の技術として、なんと言ってもLAN向けの動的ポート解放が便利です。

通常、ルータがファイアウォール的な動きをする場合、中から外への通信は自由にさせても、外から中へ向かう通信は基本的に全て破棄します。中から外への通信に対する戻りパケットは例外として、外から中へ向かう通信をポリシとして静的に許可するのは、恐らく家庭内サーバを立てている時ぐらいでしょうね。
まぁ、今まではこれで問題なかったのです。今までは。

近年、SkypeのようにP2Pの通信形態を採用するアプリケーションが出てきました。そうするとほら、Skypeを利用している双方がNATルータの内側に存在する場合、うまく通信できません。なぜなら通信において、必ずどちらかは外から中への通信を許可しなければならないためです。
ところがUPnPを有効にし、パソコンからルータにちょいとあるUPnPメッセージを送ることによって、一時的に外から中へ通信を許可するポリシが自動生成されます。イメージとしてはルータに生成されるNATセッションテーブルのエントリみたいな感じです。基本的に全てアプリケーションがバックグラウンドで面倒を見てくれますので、ユーザは何も意識する必要はありません。

で、本題。こんなに便利なUPnPですが、RTX1100でちょっと問題が発生しました。
RTX1100のデフォルト設定ではARP解決可能な限り、つまりPCが起動している間、UPnPのエントリが残りキープアライブのような通信が流れ続けます。たくさんUPnPエントリを作成すると、裏で延々と膨大なキープアライブのパケットが流れ続けます。
これがパソコンとルータ間であればまだ良いのですが、なんとグローバルIPアドレスを送信元IPアドレスとするパケットが大量に自分のパソコンへ…非常に気持ち悪いですよね。(パケットキャプチャしてびっくりしました)
さらにキープアライブのせいでRTX1100のメモリ消費量は跳ね上がるわ、普段は5%しかないCPU負荷が20%付近で推移するわ、そのせいで通信のレスポンスが悪くなったりと。もう。

結局、RTX1100のUPnPに時限を設けました。600秒ぐらいだったかな。これで用済みのUPnPエントリは自動消滅していき、平穏な日々が帰ってきました。
うちでは上記のような症状が出たのですが、これって本当に正しい症状なのかな? UPnPの仕様については勉強不足なので、もしかしたら我が家だけの特別事例だったり? バグ?
タグ:RTX