物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

dd-wrtでのSTP利用に関して

WZR-HP-G300NHなどを3台WDSで相互接続していました。STPを有効にしているためループはしていませんが、通信経路が自動で制御されているため、TVとHDDレコーダー間の通信が、接続しているWZR-HP-G300NH間のWDSでなく、他のWZR-HP-G300NHを経由していたりします。

WZR-HP-AG300などWDS接続する台数が増えたのですが、11aを優先して使いたいため、STPの調整を行うことにしました。
Spanning Tree Protocol - DD-WRT Wiki
DD-WRT Forum :: View topic - Unstable WDS Links

STP:スパニングツリープロトコルは、ネットワークがループしないために、ループしてしまう箇所を利用しないように制御されます。
また、利用中の経路が使えなくなった場合は、ループを防ぐために利用していなかった箇所を利用して、通信を継続できるように制御されます。
スパニング・ツリー完全理解 - Part1--意義スパニング・ツリーとは?どこで何のために使うのか:ITpro
スパニングツリープロトコル、動作の仕組み - @IT自分戦略研究所
スパニングツリープロトコル(概要)

基本的には名称のとおりに、ルートブリッジと呼ばれるブリッジからツリー形状になるようにネットワークが制御されます。
このため、APをWDSでメッシュ接続していても、通信経路がループされないように調整されますが、特定の機器への通信だけこの経路に流すなどはできません。

STPは、ルートブリッジの選定、ルートブリッジに最短経路(コスト)で到達するように利用する経路と利用しない経路を制御します。
スパニング・ツリー完全理解 - Part2--基本ループする道をふさぐそのしくみを解明する:ITpro
スパニングツリー -スパツリの基本動作- - ネットワークエンジニアを目指して



Internet接続用WZR-HP-AG300をルートブリッジにしたいのですが、ルートブリッジになるのはブリッジIDが最小のブリッジです。
ブリッジIDはプライオリティ.MACアドレスという形式で自動生成されるため、dd-wrtの場合はSetup>Networking>Bridging>Create Bridge>Bridge 0 で32768に設定されていますので、どの機器でもプライオリティが同じとなり、MACアドレスが最小となるブリッジがルートブリッジとなります。

このため、プライオリティを設定することで、ルートブリッジを指定することができます。
Internet接続用WZR-HP-AG300で下記コマンドを実行することで、ルートブリッジとなりました。
brctl setbridgeprio br0 1

下記コマンドでブリッジ情報を確認すると、変更されているのがわかります。
brctl showstp br0

変更前
br0
bridge id 8000.自身のMACアドレス
designated root 8000.他のブリッジのMACアドレス

変更後
br0
bridge id 0001.自身のMACアドレス
designated root 0001.自身のMACアドレス

これにより、全ての機器がInternet接続用WZR-HP-AG300に対して直接通信することになりました。


TVとHDDレコーダーを接続しているWZR-HP-G300NHでは、Internet接続用WZR-HP-AG300を経由することなく、相互に直接通信をして欲しいと考えています。
この場合、片方のWZR-HP-G300NHは、もう片方のWZR-HP-G300NHを経由してInternet接続用WZR-HP-AG300と通信をすることで問題ありませんが、ルートブリッジと直接WDS接続しているため、path costというものを利用してコストを直接接続する場合より下げるようにします。

デフォルトのコストは、どの経路でも100となっていますので、関係する経路のコストは次のようになっています。

WZR-HP-AG300---100---WZR-HP-G300NHa---100---WZR-HP-G300NHb
     +------------------------------100--------------------------------+

WZR-HP-G300NHbでWZR-HP-AG300へのコストを10、WZR-HP-G300NHaでWZR-HP-AG300とWZR-HP-G300NHbへのコストを10、WZR-HP-AG300でWZR-HP-G300NHaへのコストを10にすることで、WZR-HP-G300NHbからWZR-HP-G300aを経由したWZR-HP-AG300までのコストが20となり、直接接続する場合のコスト100よりも小さいため、こちらが利用されることになります。

WZR-HP-AG300---10---WZR-HP-G300NHa---10---WZR-HP-G300NHb
     +------------------------------100--------------------------------+


設定は、WZR-HP-AG300、WZR-HP-G300NHa、WZR-HP-G300NHbで行います。
設定パラメーターのath0やwds0などは、WDS接続で利用している経路の番号を指定します。

WZR-HP-AG300
brctl setpathcost br0 ath0.wds0 10

WZR-HP-G300NHa
brctl setpathcost br0 ath0.wds0 10

WZR-HP-G300NHb
brctl setpathcost br0 ath0.wds0 10
brctl setpathcost br0 ath0.wds1 10

これにより、WDS接続のpath costが10、ブリッジのpath costが20となり、root portがWZR-HP-G300NHaとの接続に利用する接続番号:ath0.wds0 (3) の括弧内番号となって、WZR-HP-G300NHaを経由して通信をしていることがわかります。

ath0.wds0 (3)
port id 8003 state forwarding
designated root 0001.WZR-HP-AG300のMACアドレス path cost 10
designated bridge 8000.MACアドレス message age timer 0.00
designated port 8003 forward delay timer 0.00
designated cost 10 hold timer 0.66
flags

br0
bridge id 8000.自身のMACアドレス
designated root 0001.WZR-HP-AG300のMACアドレス
root port 3 path cost 20
max age 20.00 bridge max age 20.00
hello time 2.00 bridge hello time 2.00
forward delay 1.00 bridge forward delay 1.00
ageing time 300.00
hello timer 0.00 tcn timer 1.63
topology change timer 0.00 gc timer 50.69
flags TOPOLOGY_CHANGE_DETECTED


dd-wrtのWeb管理画面でプライオリティを指定することは可能ですが、path costを指定する項目がないため、コマンドで設定する必要があります。
このため、プライオリティも含めWeb管理画面のCommands、startupにコマンドを追加して、起動時に設定するようにしました。

しかし、うまく設定されませんでしたので、何で設定するとよいか情報を捜してみることにします。

スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する
 

承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年07月25日(Fri)03:30 [EDIT]


承認待ちコメント

このコメントは管理者の承認待ちです

| | 2014年08月26日(Tue)06:34 [EDIT]


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。