Cisco Catalystに繋いだPCが通信可能になるまで時間がかかるのはSTPのせい

最近、有線LANで繋いでるMacBook Proをスリープから復帰させると、暫く通信できない状態となる現象に見舞われていた。今までは全く問題なかったファイルサーバへの再接続もタイムアウトしてマウントが解除されてしまい、著しく使い勝手が悪い。Skype先生も激おこの模様。

こんな表示、初めて見たわい。

暫く何でかなーと思ってたが、そういえばL2SWをSG200-08からCatalyst 2960G-8TC-Lに変えたことを思い出した。スイッチを変えただけで、再リンクアップ時の挙動が変わるかいな!と半信半疑でググってみたら、Catalystはデフォルトでスパニングツリーが有効となっていて、ポートがフォワーディング(通信可能)状態になるまで30〜60秒かかるそうな。ネットが使えるようになるまでの体感時間と一致するし、原因はこれで確定だなー。言われてみれば、ネスペの勉強でそれっぽいことやった気がする…。

というわけで、クライアントを繋ぐポートはスパニングツリー設定をportfastにすればおkっぽい。

spanning-tree portfast
spanning-tree bpduguard enable

2行目のbpdugurdは、当該ポートでBPDUを受信した場合にポートをブロックするための設定。間違ってL2SWが繋がれたりループ接続された時に、ループ構成になることを防止する。自宅ネットワーク程度なら設定しなくても大して問題ないだろうけどさ。

やっぱり、実際に状況に遭遇すると理解が一気に進むもんですな。

参考サイト