最適ネットワーク機器選択術

2.イーサネットの基礎の基礎

2-2. イーサネットのフレーム形式とコリジョン ドメイン

河部 拓
2000/05/26

MACアドレスとフレーム形式

 イーサネットでは、前述のように各機器が1つの伝送メディアを共有している。つまり各機器は、伝送メディアの中を流れるデータの内容をすべて見ることができるということだ。では、各機器はどのようにして自分宛のデータとほか宛のデータを区別しているのだろうか? 実は、イーサネットでは各機器、正確にはイーサネットのインターフェイスに対して固有の番号が付けられている。データを送る際には、データに受取り手の番号を付け加えて、伝送メディアへと送り出すのである。この番号は、MAC(Media Access Control)アドレスと呼ばれ、6bytes(48bit)のデータ列から構成されている。表記するときには、16進数で各byteの間にハイフン、あるいはコロンを付けた形式とするのが一般的だ。たとえば、「00:00:E2:29:69:E0」や「00-00-E2-29-69-E0」といった具合である。6bytesのうち上位(表記では左側)の3bytesは、ネットワーク カードを製造しているベンダごとに異なる番号が割り当てられている。また、下位3bytesは、各ベンダごとに独自に管理することになっている。この上位3bytesと下位3bytesの組み合わせでできる番号は、世界で唯一でなければならない(実際には、ソフトウェアでMACアドレスを変更できるようになっているイーサネット カード/機器もあるので、本当の「唯一絶対」とはなっていないようだが)。前述のMACアドレスの例では、上位3bytesは「00:00:E2」となっており、このカードのベンダがAcer Technologiesであることを表している。

 Windowsを使っているなら、このMACアドレスは簡単に調べることができる。Windows 95/98の場合、[スタート メニュー]-[ファイル名を指定して実行]を選択し、「WINIPCFG.EXE」というプログラムを実行していただきたい。[IP設定]というウィンドウが表示されるが、このなかの[アダプタ アドレス]という項目が、PCに搭載されているネットワーク カードのMACアドレスだ。Windows 2000の場合、[スタート メニュー]-[管理ツール]から[コンピュータの管理]アプレットを起動し、[コンポーネント ツリー]から[システム情報]-[コンポーネント]-[ネットワーク]-[アダプタ]を選択する。すると[項目]にMACアドレスが表示されるはずだ。また、Windows 98/2000の場合は、コマンド ラインから「IPCONFIG.EXE」を「IPCONFIG /ALL」として実行することでも、MACアドレスを知ることができる。

WINIPCFG.EXEでMACアドレスを表示させたところ
WINIPCFG.EXEを実行することで、MACアドレスのほか、割り当てられているIPアドレスや設定されているサブネット マスク、デフォルト ゲートウェイを調べることができる。
  ここでいうアダプタ アドレスがMACアドレスのこと。このカードでは、Intel EtherExpress PRO PCI Adapter用ドライバが利用されているが、MACアドレスのベンダ部分が00-00-E2であることから、カード自体はAcer Technologies製であることが分かる。
 
[コンピュータの管理]アプレットでMACアドレスを調べる
[コンピュータの管理]アプレットを使うと、このように多くの情報を得ることができる。うまく通信が行えないといったときは、このアプレットを起動し、正しく設定が行われているか確認するとよい。
  このようにMACアドレスが表示される。このカードでは、ベンダが00-50-DAであることから3Com製であることが分かる。

 MACアドレスからカード ベンダを調べるには、IEEEのウェブページを参照し、各ベンダのMACアドレスの上位3bytesを調べればよい。

 さて、話を送信先の指定方法に戻そう。イーサネットでは、データの送信時にデータ本体の前後に各種の付加情報を付けて送り出している。こうして、最終的に組み上げられた送信単位は「フレーム」と呼ばれる。付加情報のうちここで取り上げるのは、データの先頭に付けられている送信先のMACアドレスと、送信元のMACアドレスの2つである。送信先のMACアドレスにはデータの受取り手のものが、送信元のMACアドレスにはデータの送り手のものがそれぞれ挿入される。この送信先のMACアドレスにより、データの送り先が指定されている。各機器は、自分が接続された伝送メディア上に流れるデータを常に監視し、送信先のMACアドレスが自分のものであるかどうかをチェックする。もし、自分宛のものであれば、そのデータをすべて取り込み、他人宛であれば無視するというわけだ(実際には「ブロードキャスト」という、データの送信先を指定せずに、不特定多数の相手に向けて同時に送信する方法もあるので、自分宛だけを取り込むわけではない)。

 イーサネットのフレームには、上述の各付加情報(「フィールド」という)のほか、さらにいくつかの情報が加えられる。フレーム全体の形式は以下の図のとおりだ。

イーサネットのフレームの構成
  プリアンブル。フレームの送受信のタイミングをとるための部分。1010...というビット列が7bytes分続く
  フレーム開始デリミタ。フレームの開始を示す部分。10101011という固定ビット列
  FCS(フレーム チェック シーケンス)。データの正当性をチェックするためのフィールド

 データ本体は、フレーム内で46bytes〜1500bytesの範囲に収まるようになっている。データが1500bytesより大きい場合は、1500bytes以下に分割して送信を行うようになっている。逆に、データが46bytesより小さい場合は、46bytesになるように「Pad(パッド)」と呼ばれるダミー データが付け足され、合計フレーム長が64bytesになるよう調整される。こうした調整の作業は、イーサネットより上位層(上位層としてTCP/IPを使用している場合はIP層)の役目だ。ここでいう上位層とは、ネットワークの世界ではよく使われる「OSI参照モデル(開放型システム相互接続)の7階層モデル」に基づくものだ。OSI7階層モデルについては、ネットワーク関連の書籍に詳しく解説されているので、そちらを参照されたい。

 ところで、「データを送ろうとしている機器は、どうやって送信先のMACアドレスを知るのか?」という疑問を持つ方もいるだろう。実は、これはイーサネットの仕組みだけでは説明できない。送信先のMACアドレスを知るための手段は、やはり上位層の役割であるからだ。IPパケットの送信の際に、ARP(Address Resolution Protocol)という仕組みより、送信先のIPアドレスからMACアドレスを得るのだ。詳細については、本記事の範疇を越えるので説明を省略するが、いろいろな仕組みによって、IPアドレスなどから通信相手いのMACアドレスを取得できると思っていただきたい。このあたりの仕組みについては、ほとんどの「TCP/IP」の解説書にて説明がされているが、ここでは参考文献として「マスタリングTCP/IP応用編(Philip Miller著 苅田 幸雄訳 オーム社刊)」を紹介しておこう。この書籍では、先ほどのOSI7階層モデルの説明も含めて、ネットワーク技術に関して全般的に説明がなされている。

コリジョン ドメインと伝送距離

 CSMA/CDでは、コリジョンの検出が重要なポイントとなる。発生したコリジョンは確実に検出され、再送が実行されなければならないからだ。しかし、LANの大きさがある規模以上になると、これが困難になる。これはフレームの長さとも関連する。

 イーサネットの最小のフレーム長は、前述のように64bytes(512bits)である。インターフェイスがこの64bytesを伝送メディアへと送り出すのに要する時間は、10BASE-Tの場合、伝送速度が10Mbits/sであることから51.2μsec(10のマイナス6乗秒)になる。この時間内に、ほかの機器のインターフェイスが送り出した信号が届かなければ、コリジョンは検出できない。逆にいえば、この時間内に信号が届く範囲にネットワークの大きさが制限されるということになる。このコリジョンが検出可能なネットワークの大きさを「コリジョン ドメイン」と呼び、10BASE-Tではこれが2500mとなっている。ただし、10BASE-Tではコリジョン ドメインとは別に、セグメント長(UTPケーブルで接続された機器間の距離)が100mという制限が存在する。またハブでは、ケーブルよりも信号の伝達時間がかかるため、4段までのカスケード接続に制限され、5セグメント(セグメント長は最大100メートル)までしか保証できないことになっている。

コリジョンの検出
10BASE-Tのコリジョンの検出が可能な距離は、51.2μsecでデータが進む距離の2倍である。規格では、2500mに定められている。

 

 更新履歴

【2000/07/26】 「MACアドレスとフレーム形式」の段落に、

「前述のMACアドレスの例では、上位3bytesは「00:40:26」となっており、このカードのベンダがインテルであることを表している。」

とありますが、正しくは、

「前述のMACアドレスの例では、上位3bytesは「00:00:E2」となっており、このカードのベンダがAcer Technologiesであることを表している。」

の誤りでした。また、その下にあります画面「WINIPCFG.EXEでMACアドレスを表示させたところ」のキャプションに、

「ここでいうアダプタ アドレスがMACアドレスのこと。このカードでは、ベンダが00-00-E2であることから、インテル製であることが分かる。」

とありますが、正しくは、

「ここでいうアダプタ アドレスがMACアドレスのこと。このカードでは、Intel EtherExpress PRO PCI Adapter用ドライバが利用されているが、MACアドレスのベンダ部分が00-00-E2であることから、カード自体はAcer Technologies製であることが分かる。」

の誤りでした。お詫びして訂正させていただきます。


 
     
 INDEX
  [特集]最適ネットワーク機器選択術
  1. イントロダクション
  2. イーサネットの基礎の基礎
    2-1. イーサネットの基本はCSMA/CD方式にある
      コラム:IEEE802の各種規格
  2-2. イーサネットのフレーム形式とコリジョン ドメイン
    2-3. 現在の主流、100BASE-TXを知る
      コラム:10BASE/100BASE以外のLAN規格
  3.
    3-1. デスクトップPCには100BASE-TX PCIカードが最適
      コラム:できれば避けたいISAイーサネット カード
    3-2. 一般的な100BASE-TX PCIカードの選択ポイント
    3-3. 100BASE-TX PCIカードの付加機能をチェックする
      コラム: イーサネット カードにおけるサーバ用とクライアント用の違い
    3-4. ノートPC用にはPCカードから選ぶ
    3-5. 100BASE-TX CardBusか、10BASE-T 16bit PCカードか?
    3-6. PCカードならケーブルの接続方式がポイント
    3-7. イーサネット ケーブル直結方式は便利か?
      コラム:USBによるイーサネット接続
    3-8. デバイス ドライバは重要な選択ポイント
    3-9. もう1つのソフトウェア サポート − ユーティリティ
      コラム:Linuxのためのイーサネット カード選び
  4.
    4-1. ハブ/スイッチの種類と機能
    4-2. ハブ/スイッチ選択の基礎知識
      コラム:そのほかのネットワーク機器
    4-3. ハブ/スイッチ選択のポイント

「PC Insiderの特集」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間