【role 1】 root port
各スイッチにおいて、rootブリッジに一番近いポート。ルートブリッジ自身にはrootポートは存在しない。この「近い」はコストとしての距離であり、たとえ直接ルートブリッジに接続しているポートであってもそれが10Mで、もう一方の他のスイッチに接続している100Mのポートがあれば、それがroot portになる。(コストはデフォルトで10M=100、100M=19である場合。)ルートブリッジに直接接続されていてもroot portにならない場合があるわけだ。
下図でいうと、RPは、SW-Bの0, SW-Cの1となる。
【ルートポート】
SW-A: なし
SW-B: 0
SW-C: 1
pty:1 +----+(0) link-1: 10M |SW-A+--------------+ +--+-+ | (1)| link-3 | |100M | (0)| |(0) +--+-+ (1)+--+-+ |SW-B+-----------+SW-C| +----+(1) 100M +----+ pty:100 link-2 pty:100...
【role 2】 designated port
各リンクで、最上位のBPDUを送信できるポート。(ルートブリッジのポートはすべてdesignated portとなる。)DPは、スイッチごとではなく、リンク(セグメント)ごとに選出される。
上図では、以下のようになる。
【Designated port】
link1: SW-A-0
link2: SW-C-1
link3: SW-A-1
【role3】 blocking port
root portでも designated portでもないポートで使用不可になる。これはblockingという役割を持つというよりも、「何の役割もないポート」「いらないポート」である。だから使用不可にするのだ。
以上を総合すると、各スイッチの各ポートの役割は以下のようになる。
SW-A-0:DP
SW-A-1:DP
SW-B-0:RP
SW-B-1:Blocking
SW-C-0:Blocking
SW-C-1:RP
最上位BPDU決定要因
1. 最小ルートブリッジID ルートブリッジの持つブリッジID
2. ルートブリッジに至る最小パスコスト
3. 最小送信ブリッジID 各スイッチが持つブリッジID
4. 最小ポートプライオリティ ポートのプライオリティ値
5. 最小ポートID スイッチの持つポート番号
ルートブリッジIDが非常に重要になる。MACは変更できないからpriorityになるのか。priorityのほうがコストよりも優先されるから。
portfast, uplinkfast, backbonefast
portfastはわかった。uplinkfast, backbonefastがよくわからない。
uplinkfast....直接リンクの障害発生時、BPを即座にRPに変更する機能。
root bridgeにならないようにプライオリティが49153に変更され、ポートのパス・コストに3000が加わる。
なるほど、収束が早くなるのはわかる。しかし、逆に疑問なのは、どうして通常のSTPで即BPをRPに切り替えないのか、という事だ。まず考えられるのは、ルートブリッジにならないようにしていることから、ルートブリッジだった場合にこの動作が不具合を起こすことだ。
ルートブリッジではすべてのポートがdesignated portであり、ルートポートは存在しない。そしてblocking portも存在しない。そのため、不具合を起こすというよりも、この機能は不要ということになる。
BPが即座にRPに切り替わるとMACテーブルの情報との不整合を起こす、とある。
そのためuplinkfast有効時にはその更新を促すダミーパケットが送信されるらしい。しかしこれも、どうして普段からやらないのかという疑問がわく。
backbonefastは、間接リンクダウン発生時、max-ageを無視することで収束を高速化するものらしい。uplinkfastよりさらに情報が少ない。
察するに。
これらの機能は旧STP、802.1DのSTPの収束の遅さを改善するための苦肉の策であり、現在はRSTPなどの新プロトコルを使用するようになっているため、もうobsoleteなのであろう。そしてこのことは試験対策としては重要な意味を持つ。
おそらくそんな旧式のしかもCISCO独自のその場しのぎの技術を、深く問う事はないと予想される。この辺はこういう機能がありますよ、こんなとき使えますよ、程度把握していればよい。それよりもRSTPなどのほうをみっちり覚えるべきだ。
・・・というほどRSTPはSTPと変わらなかった。
RPでもDPでもないポートをすべてBPにするのではなく、一つはAlternatePortとしておく。例の三角形のトポロジであればルートの向かい側のリンクの、DPでないほうがAPになる。
この状態でAPでないポートがリンクダウンすると、瞬時にAPがforwardingになる。
・・・でも、これが効果を発揮するのはAPのあるポートが落ちたときだけだね。・・・その他のリンクが落ちてもどこかのポートがつながっているからいいのか・・・。STPだとあそこが落ちるとあのスイッチは隔絶されてしまうね、50秒も。
monitor session もできない。port securityもよくわからない。やっぱり29502台は必須だったな。もう遅い。落ちたら買いますよ。
スイッチは面白いね。ルータより面白い。なぜなら、スイッチはポジティブな装置だからだ。ルータはネガティブで意地悪な装置だ。ネットワーカーに嫌な奴が多いのはきっとそのせいだ。今後L3スイッチが普及していけばネットワーカーも少しはポジティブになってくるかもしれない。
2950が来た。configモードで do show が使える。すごい。なんか外観も今までのシスコとちょっと違う。これはまだまだ現役稼動できる機器だ。これが2万は安かったな。
自分のポートをクロスでつないでみると、デフォルトでトランクになる。
2924のポートとつなぐと、accessになる。こっちのデフォルトはaccessだ。
VLANを同期させようとVTPドメインを設定した。同期しない。そっかトランクリンクがないのか。トランクにする。まだ同期しない。2924にエラーメッセージが出ている。2950はislをサポートせず、2924はデフォルトislになっているためだ。2924のポートのencapをdot1qにする。・・・まだ同期しない。あれ?そうだ、VTPのインターバルは5分とけっこう長い。そこで2524で新しくvlanを作ってapplyした。ようやく同期した。2924でvtp modeを設定するのは vlan databaseモードなことを忘れていた。