ブリッジによる冗長リンク
目次
冗長リンクって?
基本的なブリッジの機能について前回まででお話しました。このブリッジを使ってネットワークを構築していく上で気をつけないといけない点があります。それは「冗長リンク」のネットワーク構成です。
「冗長リンク」とはどういったものでしょうか?「冗長」という言葉の意味は「余分な」とか「無駄な」といった意味になります。ネットワークにおける冗長さとは、あて先に到達するための複数の経路があることです。障害が起こったときにもネットワークを止めずに運用を続ける、つまりネットワークの可用性を高めるのにとても大事なものです。また、冗長リンクではトラフィックの負荷分散なども行うことができます。簡単な例をあげると下の図のようになります。
この図では、コンピュータAからコンピュータBに到達する経路が2つ存在しています。1つが直接同じセグメントを通じて到達するケースです。そして、もう1つがブリッジA、Bを経由して到達するケースです。
ブリッジで冗長リンクを構成した場合、ネットワークが正常に動作できないことが考えられます。その原因として、次のようなことが挙げられます。
- ブロードキャストストーム
- 同一データを複数受信
- MACアドレステーブルの不安定
これらについて、順を追ってみていきます。
ブロードキャストストーム
まず、ブロードキャストストームです。「ブロードキャストの嵐」ですね。(昔、「ゲームセンター嵐」とかいうマンガを思い出しますが・・・そんなことはどうでもいいけど)
これはそのまんまの意味で、ブロードキャストが大量に発生してネットワークがダウンしてしまうことです。
図を使ってその様子を見ていきましょう。
ブリッジはブロードキャストをそのままフラッディングして通してしまうということでしたよね?この図で、コンピュータAがブロードキャストを出したとします。そうすると、このブロードキャストのフレームはブリッジAにもブリッジBにも到達します。ブリッジAはフラッディングして、下のセグメントにブロードキャストを転送します。(図の赤い線)転送されたブロードキャストはブリッジBにも到達し、またフラッディングされます。
最初にブリッジBに届いたブロードキャストもフラッディングされて下のセグメントに転送され、それがブリッジAに到達するとまたフラッディングされます。(図の緑の線)
こうやって、延々とブロードキャストのフレームが転送されつづけることになります。ブロードキャストがネットワークの帯域幅を使い切ってしまって、正常に通信ができなくなりついにはネットワークがダウンしてしまいます。これがブロードキャストストームです。
実際に流れている電気信号は、電子のスピードなのでネットワークを瞬時に伝播します。ですからブロードキャストストームが発生すると、ネットワークは一瞬のうちにダウンしてしまいます。
これを解消するにはどうしたらいいでしょう?
そのためには、4つあるうちのどこかのポートを使わないようにして複数の経路をなくしてしまえばえばいいわけですね。つまりループ構造をなくします。
同一データの複数受信
続いて、同一データを複数受信してしまう場合です。ブリッジにはまだMACアドレステーブルにエントリが何も入っていない状態とします。
そして、コンピュータAからコンピュータBへユニキャストの通信を行った場合を考えます。このフレームはコンピュータBに届くのですが、ブリッジAにも届きます。(もちろんブリッジBにも届きますが、話を簡単にするためブリッジAだけに注目してください)
ブリッジAにはまだMACアドレステーブルのエントリがないので、送信先アドレスを検索してもあて先がどこにいるのかわかりません。そうすると、フラッディングして、下のセグメントにフレームを転送してしまいます。転送されたフレームはブリッジBに到達します。ブリッジBにもMACアドレステーブルのエントリがないのでフレームを上のセグメントに転送してしまうことになります。
コンピュータBは同じ内容のフレームを2つ受信することになってしまうわけです。
MACアドレステーブルの不安定性
最後のMACアドレステーブルの不安定性は上記のことにかかわってきます。コンピュータAからBのユニキャストは、ブリッジA、B両方に到達しフラッディングされます。そのときブリッジA、BはともにコンピュータAは上のセグメントにいるということを学習します。
フラッディングされたフレーム(送信元は”A”)がまたブリッジA、Bに到達します。このときコンピュータAが下のセグメントにいるという情報を学習してしまいます。さっきと逆になっちゃいますね?MACアドレステーブルの不安定性というのはこのことを指しています。
3つの問題点の解消方法は?
これを解消するにはどうしたらいいでしょう?
さっきも同じことを問い掛けましたが、どこかのポートを使わないようにしてループをなくしてしまえばいいわけですね。
そのための仕組みとして、「スパニングツリー」があります。