スイッチ(ブリッジとの違い 転送方式)

転送方式の種類

ブリッジでは、届いたフレームの転送方式はストア&フォワード方 式です。ストア&フォワード方式は、文字通りフレームをいったん メモリ上にためて(ストア)から、MACアドレステーブルを検索して 転送(フォワード)しています。 いったんメモリ上にフレームをためておくことによって、イーサネ ットフレームの最後にくっついているCRC を使ったエラーチェックを行うことができます。エラーチェックができるのはいいのですが、 いったんメモリにためなきゃいけない分、どうしても転送速度は遅 くなります。
それに対して、スイッチではストア&フォワード方式だけでなく、 カットスルー方式、フラグメントフリー方式という方式があります。

カットスルー方式

まず、カットスルー方式です。MACアドレステーブルを見て転送先の ポートを決めるためには、フレームのあて先MACアドレスだけわかれば事足ります。カットスルー方式は、フレーム全体を読み込むので はなく、先頭6バイトのあて先MACアドレスを読み込んだ時点で、MACアドレステーブルを検索し、転送先のポートを決定します。こうすることによって、ストア&フォワード方式よりもかなり高速にフレームの転送を行うことができます。もし、MACアドレステーブルを検索しても転送先が見つからなければ、ストア&フォワード方式と同じくフレーム全体を読み込んで CRC のエラーチェックを行ってから、 入ってきたポート以外のすべてのポートにフラッディングします。
しかし、欠点もあります。先頭6バイトしか見ないので、もしエラー があった場合でもわからずに転送してしまいます。エラーフレームが流れることで余計なトラフィックが発生するので効率が悪くなっ てしまいます。

フラグメントフリー方式

そして、フラグメントフリー方式はストア&フォワード方式とカッ トスルー方式のいいとこどりみたいな感じです。ある程度のエラー チェックを行いつつ、カットスルー方式よりは遅いですが、フレー ムの転送速度も速くなっています。

フラグメントフリー方式はどのタイミングでフレームの転送を始め るかというと、64バイト読み込んだ時点で転送を始めます。

64バイトという数字に特別な意味があるのか?

もちろん、意味があります。64バイトというのはイーサネットフレームの最小サイズです。64バイト以上のフレームは、「衝突が起こっていませんよ~!」というフレームです。ハブのカスケードの台 数やケーブルの長さなどが適切に構成されているネットワークでは、 64バイトのフレームを送信するとネットワーク上すべてに行き渡り、 他のコンピュータがキャリアセンスを行うと、ケーブルは使用中と判断します。このため、64バイト以上であれば衝突が起こっていな いということがわかるわけです。
でも、ハブのカスケード台数やケ ーブルの長さが規格を超えていると、64バイト以上のフレームでも 衝突の可能性があるので注意が必要です。この場合、衝突遅延と呼 んでいます。衝突遅延が起こってしまうネットワークは問題があるので、ネットワーク構成を考え直す必要があります。

前置きが長くなりましたが、つまり、フラグメントフリー方式では 衝突したフレームかどうかというエラーチェックを行うことができるわけです。イーサネットで起こりうるエラーのうち、だいたい70 %程度が衝突だといわれています。そのため、フラグメントフリー方 式では、イーサネットのほとんどのエラーをカバーできるというこ とになります。 また、64バイト読み込んだ時点で転送を開始するので、ストア&フ ォワード方式よりも高速です。

まとめ

転送方式についてまとめると、次のようになります。
























メリット デメリット
ストア&フォワード方式 エラーチェックを行うので信頼性が高いフレーム転送を 行うことができる。 フレームの転送速度が遅い
カットスルー方式 先頭6バイト読み込んだ時点でフレームの転送を行うので 高速に動作する エラーチェックを行わないので、信頼性が低くなる
フラグメントフリー方式 64バイト読み込んでから転送を開始することによって、 衝突が起こってしまったフレームを取り除くことができる。 (あんまりないけどあえて言うと)カットスルーよりは 転送速度が遅いし、衝突フレーム以外のエラーチェックは行えない

転送のタイミングをまとめると次の図のようになります。

どの転送方式を使っているかはスイッチの機種によって変わってき ます。最初はカットスルーにして、エラーが増えてきたら自動的に ストア&フォワードにするような機種もあったりします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA