学習機能付きブリッジ

宛先ステーションの配置を学ぶブリッジ

 すでに、利用者に存在を意識させないブリッジは、パケット中のデータリンク層の宛先アドレスを調べ、 そのアドレスと一致するものを内部テーブルから探し、どのポートに送るかを−送るべきポートがあれば−決定すると述べました。 ここでは、ブリッジ内部のテーブルが、どのようにして作られるかを説明します。

 学習機能付きブリッジがネットワークに接続されると、そのブリッジは人手を介さずにネットワークトポロジーを学習します。 ステーションが移動されると、ブリッジはそれを認識し、テーブルを適切に更新します。 学習機能のないブリッジもかつてはありましたが、今では「利用者に存在を意識させないブリッジ」は、 「学習機能付きブリッジ」と言うことができます。


学習アルゴリズム

 学習機能付きブリッジは発信元アドレスを突き止めます。ブリッジは、どのアドレスがどのポートから来るのかを知っており、 どのポートに対してパケットを送るのかを知っています。 学習のアルゴリズムは次のように書き表すことができます。

 テーブルにアドレスがあるなら、
  送るべきポートにパケットを送る。

 テーブルにアドレスがないのなら、
  来たポート以外のすべてのポートにパケットを送る。
   そうすれば宛先にきちんと届く。
  そのパケットがどのポートから来たパケットであるかを見極め、
   発信元アドレスをテーブルに加える。


 ここでは、ポートが4つあり、ステーションが5つ接続されているブリッジを考えます。 ポートとステーションに下図のように名を付けます。(図1参照) ブリッジは接続されたばかりで、テーブルには情報がありません。



 ステーションBがステーションCにパケットを送ろうとします。 ブリッジはステーションBがどのポートについているのか、まだ知らないので、 ポート1(パケットはポート1から来たので、ブリッジはそのパケットがポート1上のステーションであることは知っています) 以外のすべてのポートにパケットを送ります。 この動作のことを「洪水」と呼びます。 ブリッジはそのパケットの発信元を調べ、ステーションBがポート1に接続されていることを知ります。 テーブルに情報が反映されます。(図2参照)



 ブリッジはステーションBがどこにあるかを知っており、ステーションB行きのパケットをポート1だけに送ります。 ステーションが通信をするたびに、ブリッジは次々と各ステーションの位置を知り、 最後には、ポートに接続されているすべてのステーションの位置を知ることになります。 ブリッジがステーションの位置を知らなくても、パケットは目的地に送られ、 無駄はほんのわずかしか生じない、というのがこの仕組みのすぐれたところです。

 あるステーションからのパケットを受取らなくなって一定の時間が過ぎたら、ブリッジはエントリを消します。 これは、ブリッジのテーブルを最新のものに保つための余分な安全策のようなものです。