イーサネットの仕組み


  1. 目的
    ここでは、同じイーサケーブルに接続したアダプタの間で、フレームと呼ばれるデータを送信/受信する仕組みを紹介します。
  2. イーサネットの特徴
    まず、、イーサネットの特徴をまとめておきましょう。
    1. イーサネットの能力
      1. 速度
        現在、イーサネットの伝送速度は最大100Mbps(M:メガ、bps:秒あたりのビット数)あります。これは少し遅いディスクと同程度の伝送速度で、USB1.1の12Mbpsの10倍の速度です。また、10Mbpsのアダプタカードも利用可能です。
        1. 10baseTと100baseTX
          正確には、イーサネットのアダプタにも2種類あり、10Mbpsの10baseTのアダプタと、100Mbpsの100baseTXがあります。接続するハブにも、専用と共用可能なタイプがあります。bpsは秒あたりのビット数(bits per second)です。最初のMは100万の単位です。 G:10億、M:100万、K:千
        2. USB
          最近のパソコンで広く利用されているシリアル(直列)接続インターフェースです。ハブを用いて階層的に接続する方式はイーサネットと同じですが、分散型の制御を行うイーサネットに対しハブはCPUによる集中的な制御を行います。また、USBには小容量の電源を供給する機能があります。
      2. 距離
        イーサネットケーブルの長さは最大100mまでです。光ケーブルやリピータを利用すれば、さらに長距離の接続が可能です。最近では、長距離の接続には光ケーブルが多く利用されます。
      3. 利用効率
        次に紹介する衝突対策を調停する特別な制御機構を必要としない、簡単な仕組みで動いています。ネットワークの負荷(利要率)があがると、ネットワークの利用効率が「がた落ち」になりますが、逆に負荷が低い場合は、非常に効率的にネットワークを利用できます。
  3. フレームの送信
    1. フレーム
      イーサネットでは、フレームと呼ばれるひとかたまりのデータとして信号が流れます。フレームの長さには制限があり、一定の長さ以上のデータは複数のフレームに分割して送る必要があります。
      1. フレームの分割

    2. 多重アクセス
      リピータハブで接続されたイーサケーブルは内部で相互に結合されて、実質的に同じLANケーブルに接続されます。一本のケーブルに複数のネットワークカードが接続されるため、ネットワークの使用に関するルールが必要です。特定のアダプタが長時間独占したり、あるアダプタが送信中に他のアダプタが送信を始めては困るからです。
    3. 送信待ち
      以下A,B,C3台のカードが接続されたLANを例にします。誰もネットワークを使用していなければ、自由にネットワークを利用できます。このとき、ネットワークにはキャリアと呼ばれる信号が流れます。ネットワークにキャリアが流れていなければ、ネットワークにフレームを流すことができます。
      したがって、Aがフレームを送信中はB,Cは送信できません。
      1. 図 送信待ち

    4. 衝突検出
       Aが送信終了すると、送信待ちの装置が送信を開始できます。このとき、複数の装置(B,C)が同時に送信を開始すると複数のフレームが同時に流れ「衝突」します。衝突を検出すると、双方は送信を停止し、ランダムな時間待ってから送信待ちに入ります。
      1. 図 衝突

      2. CSMA/CD方式
        このように、キャリアを検知(Sence)して複数の機器が多重アクセスする方式を Carrier Sence Multiple Access方式といいます。これだけでは衝突(Collisoin)をさけられませんから、 with Collision Detection が必要になります。Carrier Sence Multiple Access with Collision の略が、CSMA/CDとなり、これがイーサネットを特徴づける方式になります。衝突を予め避けるのではなく、「衝突したら、その対策をすればよい」との考え方です。
      3. 衝突の影響
        この衝突現象のため、ネットワークの利用率が20%を越えると、急激に伝送効率が悪化します。ただし、衝突が少ない(他のアダプタが利用をしていない)場合は、ケーブルを継続して利用できるため、効率的にネットワークを利用できます。これを、Best Effort 方式と呼ぶことがあります。
        1. 時分割方式
          衝突をさけるため、時分割方式や利用する権利を循環させる方式も考えられています。これらの方式は、システムの運用が複雑になり、他の利用者がいない場合は利用効率が悪くなります。
        2. 発表当のCSMA/CD
          現在ネットワークで広く利用されているイーサLANも発表当時は、「実用にならない」と酷評されたようです。この方式が広く利用されるようになったには、イーサLANの容量が大きくなった(伝送速度が高い)ことが大きな要因だったと思います。
      4. 衝突ランプ
        ハブによってはcollisionランプがあります。衝突が起こると点灯します。
      5. スイッチングハブで衝突は減る
        ハブにはリピータハブとスイッチングハブがあります。スイッチングハブは、MACアドレスを利用して指定した相手だけにデータを流しますから、衝突を減らすことができます。ただし、すべてのPCが同一のサーバーにアクセスするような場合はあまり効果はありません。
         また、スイッチングハブはソケットの位置でMACアドレスを記録しますから、線をつなぎ変えると一時的にデータが送れなくなる場合があります。このような場合、ハブのリセットスイッチで回復する場合があります。
  4. ネットワークカードとMACアドレス
    1. MACアドレス
      イーサ方式のLANは1本のLANケーブルに複数のネットワークアダプタ(以後アダプタ)を接続する方式です。
      アダプタを区別するため、カードは固有のMAC(Media Access Control)アドレスが与えられています。MACアドレスは6バイトのデータで、製造企業が責任を持って異なるアドレスのカードを出荷しています。MACアドレスの上位3バイトが製造企業の番号、残り3バイトが企業が付与する番号です。MACアドレスは、多くの場合各バイト単位を十進数で表記し、間に[.]をつけます。
    2. MACアドレスを調べる
      1. ネットワークの設定を調べる
        設定したネットワークカードの状態は、コマンドプロンプトウインドウから、以下のようなコマンドを打ち込みます。Physical Address..がMACアドレスに相当します。その他の項目は、後で紹介します。 00-90-99が企業番号、14-40-D1は企業が付与した製造番号です。
        1. winNTの場合
          \>ipconfig /all
          Windows 2000 IP Configuration
          Host Name . . . . . . . . . . . . : makoto
          Connection-specific DNS Suffix . : aitai.ne.jp
             ......
          Physical Address. . . . . . . . . : 00-90-99-14-40-D1
          DHCP Enabled. . . . . . . . . . . : Yes
          Autoconfiguration Enabled . . . . : Yes
        2. win95/98の場合
          コマンドプロンプトで、
           \>winipcfg
          コマンドでネットワークアダプタの詳細を表示することができます。複数のアダプタが存在する場合、先頭のリストボックスで目的のアダプタを選択します。
          1. IP設定ウインドウ
            このウインドウで、詳細ボタンを押す。

          2. 詳細
            アダプタアドレスがMACアドレスです。

    3. フレームの構成(フォーマット)
      フレームの先頭には、送り主のMACアドレス(FromMAC)とあて先のMACアドレス(ToMAC)を記録し、続けて後述するIP形式のデータを付加してフレームを構成し、これをLANに流します。また、フレームの最後には伝送誤りチェック用のコード(FCS)を追加します。宛先と同じMACアドレスをもつアダプタのみがこのデータを受け取ります。IPデータの前のデータをイーサネットヘッダと呼びます。ヘッダのサイズは14オクテット(バイト)になります。
      1. フレームの形式

      2. オクテット
        通信分野で8bitをオクテットと呼びます。1バイトも8bitなので、両者は同じビット数です。
  5. IPアドレス
    1. IPアドレス
      フレームの送り先をMACアドレスにすると、「どのアダプタがどのLANに属するか」を知らないと、宛先が同じイーサネットに接続しているかどうか判断出来ません。そこで、MACアドレスの代わりにIPアドレスが登場します。IPは0から255の正数を4個をドットで区切って表現します。ここでは、最初の3バイトをネットワークアドレスとし、残りの1バイトでネットワーク内部のアダプタを識別する番号とします。
       同じイーサケーブルに接続するアダプタのIPのネットワークアドレスは同じ番号を付けます。ネットワークアドレスに続けて、アダプタの番号を付与します。

      1. たとえば、ネットワークアドレスを192.168.1とします。このネットワークに接続するアダプタの番号1,2,3をネットアドレスに続けます。したがって、IPアドレス:192.168.1.1、192.168.1.2、192.168.1.3 の最後の桁がアダプタ番号となります。
    2. サブネットマスク
      4バイトのIPアドレスのうち、ネットワークアドレスとアダプタの番号を区別するのがサブネットアドレスです。サブネットアドレスが255.255.255.0の場合、先頭の3バイト(2進表記したとき1となるビット)がネットワークアドレスです。IPとサブネットマスクを2進数で表現したとき、各ビットを論理ANDすると同じネットワークアドレスを持つIPは同じ値にあります。
      1. IPアドレスとサブネットマスク

    3. IP番号のMACを探す(ARP)
      送り先が同じイーサネットに接続されている場合、そのIPに対応するMACアドレスを知る必要があります。当初、IP番号を知っているアダプタは、本人だけです。したがって、他のアダプタのIP番号を知る手段が必要です。この手段を ARP(address Resolution Protocol)といいます。この手法で重要なのは、ブロードキャストアドレスです。これはすべてのビットが1( 255. 255. 255. 255 )のIPアドレスで、このアドレスにはイーサネットに属するすべてのアダプタが応答します。
      1. MACブロードキャストアドレス
        アダプタは自分と同じMACアドレスを宛先とするフレームのみを受け取りますが、宛先がブロードキャストアドレスの場合もそのフレームを受け取り、必要な処理を行います。ブロードキャスト(放送の意味です)アドレスは通常、すべてのビットが1のIPアドレス(FF.FF.FF.FF)です。
      2. 関係の取得
        自サブネットのIPに対応するMACアドレスを知りたい場合、そのIPを指定したarp形式のフレームをブロードキャストアドレスに送ります(ブロードキャストする)。対応するIPアドレスをもつアダプタはarp応答フレームとして、自分のMACアドレスを返します。
         一度調べたIPアドレスはしばらくの間記録をしておきますが、一定期間を経過すると記録を削除します。これは、IPとMACアドレスの関係が普遍ではなく、変化する場合があるからです。
        1. 対応関係を調べるコマンド:arp
          NTではarpコマンドが実行できます。

          1. 先に、IPアドレスをpingなどで指定します。
            L:\>ping 192.168.2.11
            Pinging 192.168.2.11 with 32 bytes of data:

            Reply from 192.168.2.11: bytes=32 time<10ms TTL=128
            Reply from 192.168.2.11: bytes=32 time<10ms TTL=128
            ...
            次に、arpコマンドで対応関係を調べます。
            L:\>arp -a
            Interface: 192.168.2.10 on Interface 0x1000003
            Internet Address Physical Address Type
            192.168.2.11 00-00-0e-2c-d4-19 dynamic
  6. アダプタのIPアドレスを取得する:DHCP
    1. 他のブロードキャスト
      ブロードキャストを利用するフレームにDHCPがあります。DHCPを利用するには情報を提供するDHCPサーバーが必要です。
    2. DHCPプロトコル
      IPアドレスは手動で設定することもできますが、割り当て可能なIPアドレスを知らないと、勝手に設定することはできません。そこで、要求に応じて、自動的にIPアドレスやサブネットマスクなどの情報を提供する機能が組み込まれるようになりました。この手法を DHCP: Dynamic Host Configuartion Protocol といいます。
    3. DHCPの手法
       利用可能なIPを知りたいアダプタ(PC)は、まず、DISCOVERと呼ばれるフレームをブロードキャストします。これに、応答したDHCPサーバーに、DHCPREQUEST形式のフレームを返して、必要な情報を入手します。サーバーの一般的な意味については、後のTCPアプリケーションの項で紹介します。
    4. DHCPの設定
      DHCPによる情報の取得をするは、IPアドレスを設定するウインドウで、IPの設定ウインドウで「自動取得」を指定します。
    5. 複数のDHCPサーバー
      同じ、イーサケーブルに複数のDHCPサーバーがいたり、適切な設定がされていない場合、実際には利用できないIPアドレスを取得する場合があります。また、通常、DHCPの有効範囲はサーバーが直接接続するイーサケーブルの範囲に限定されます。
  7. まとめ
    1. MACアドレス
      アダプタは固有のMACアドレスを持ちます。イーサネット上のデータ(フレーム)の宛先には、このMACアドレスが指定され、宛先のアダプタのみがデータを受け取ります。
    2. IPアドレス
      同じイーサネットに接続されるアダプタのMACアドレスはサマザマです。これでは、管理がやっかいなので、アプリケーションで宛先を指定するときはIPアドレスを指定します。IPアドレスのネットアドレスが等しい場合、そのIPアドレスのアダプタは同じイーサネットに接続されています。
    3. ARP
      IPアドレスに対応するMACアドレスを問い合わせるための規約です。
    4. フレーム
      イーサネットを流れるデータの形式です。フレームには宛先と送り主のMACアドレスが書かれています。
    5. 衝突対策:CSMA/CD
      同時に複数のアダプタがフレームの送信を始めてしまう可能性があります。送信を行うアダプタはこの衝突を検知した場合、規約にしたがった回避処置をする必要があります。
    6. DHCP
      利用可能なIP情報などを入手するための規約です。
  8. 課題
    以下の質問に答えなさい。
    1. なぜだろう
      10台の計算機が1つのハブ(レピータ型)に接続している。これらの計算機は、起動するときネットワークから大量のファイルを読み込む必要があるものとする。10台を同時に起動したら、全部が立ち上がるのに1分かかった。ところが、5台づつ2回に分けて起動したら、それぞれ20秒で立ち上がり、合計40秒であった。この原因を説明しなさい。
    2. MACを変える
      IPとMACと二つのアドレスを使う利用はなんだろう。MACアドレスをIP番号のように設定して利用してはいけないのだろうか?
    3. pingの応答がない
      接続したい相手のアダプタのIP設定が間違っていた。この場合、pingの応答がないが、その理由は?
       1.相手がフレームを受け取れない? 2.フレームを送るMACアドレスがわからない? 3.その他
    4. arpがおかしい
      pingでは他のアダプタの応答があるのに、arp -a では自分の情報しか表示されない。なぜだろう。
  9. ホームページ
    下のurlにテキストのホームページがあります。
     http://www.ccad.sccs.chukyo-u.ac.jp/~mito/syllabi/network01/index.htm
    テキストの追加や訂正はここで行います。

トップに戻る