ブリッジ(フィルタリング)
| フィルタリング 前回でブリッジがMACアドレステーブルによって自分のどこのポートにどんなコンピュータがつながっているのか?ということを学習していく様子を見ていきましたね。 今回は、そのMACアドレステーブルを利用してブリッジがどのようにポート間でフレームの転送をする・しないの判断をしているのかということを見ていきます。 まず、コンピュータAからコンピュータBへの通信を考えます。フレームに入っている情報はもう何度も出てきているので、おわかりですよね? あて先に"B"、送信元に"A"という情報が入っています。これがブリッジに届くと、ブリッジはあて先MACアドレスをMACアドレステーブルの中で検索します。 そうするとあて先の"B"はポート1につながっています。このフレームはポート1からブリッジに入っていますので、ポート2に転送する必要はないと判断して転送を行いません。 ![]() 次にもうひとつ例をあげて、コンピュータCからDへの通信の場合です。あて先に"D"、送信元に"C"というフレームがブリッジのポート2に届きます。ブリッジはMACアドレステーブルを検索すると、"D"はポート2につながっているということがわかります。じゃぁ、ポート1に転送する必要はないわけですね。ここでフレームを止めます。 ![]() あとはコンピュータAからCという場合を考えてみましょう。あて先には"C"、送信元に"A"というフレームがブリッジのポート1に届きます。 同じようにMACアドレステーブルを検索します。すると、"C"はポート2につながっているのでこのフレームはポート2の方に転送されることになります。 ![]() このように学習していったMACアドレステーブルとブリッジに届くあて先MACアドレスを見て、フレームの転送する・しないということを判断しています。そうすると同じセグメント同士の通信はそのセグメント内に限定される、つまりコリジョンドメインを分割することになるわけですね。 |
| フラッディング ただし、ブロードキャストまたはマルチキャストのフレームは必ず転送されてしまいます。このことを「フラッディング」といいます。 「flood」は洪水という意味ですが、洪水のようにフレームを転送することからフラッディングと言われます。もともとMACアドレステーブルには送信元のMACアドレスが登録されるわけですから、必ずユニキャストのMACアドレスのはずなんですね。 ブロードキャスト・マルチキャストアドレスはMACアドレステーブルには存在しないので、転送先を決めることができないのです。で、「わからなければ、とりあえず送っちゃえ〜」という感じでフラッディングします。この動作は、MACアドレステーブルに何も登録がない状態もそうですね。 ブロードキャストはそのまま通してしまうので、ブリッジではブロードキャストドメインを分割することはできません。 |
| 移動してしまったら・・・ ここまで読んで行くと、「もし、コンピュータが移動してしまった場合どうなるんだろう・・・?」って思いますよね?(思わない?思ってくださいね(笑)) そういうときのために、ブリッジのMACアドレステーブルの各情報には制限時間があります。ずっと見てきた図で、コンピュータBがポート2のセグメントに移動したとします。 コンピュータAからBに通信するとき、ブリッジは先ほど見たようにそのフレームを転送しませんね。"B"はポート1にあると思っているから。だから、AとBは通信ができなくなってしまうのです。しかし、送信元が"B"というフレームをポート1から制限時間内に受け取らなければ、"B"がポート1にあるというエントリを削除します。 そうするとAからBへの通信は、ブリッジは転送先がわからないのでフラッディングしてBに届くことになります。そしてBから何らかの通信が起こると、ブリッジは"B"はポート2にいるということを学習します。 また前回でMACアドレステーブルの学習、今回でフレームのフィルタリングという風に2回にわけて書いたのですが、MACアドレステーブルが完全にできてからフィルタリングを行うわけではないです。この2つの処理は平行して行われていきます。 つまりMACアドレステーブルに何もない状態でのAからBの通信は、フラッディングされてポート2に転送されますが、その返事としてBからAへの通信があった場合は、ブリッジはすでに"A"のMACアドレスを学習しているので、そのフレームはポート2に転送されません。 |
(C) Copyright 2000 Gene All Right Reserved