イーサネットネットワークでのデータ送信

2014年12月8日(月)
シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J
新CCENT/CCNA対応の公式ガイドブック 米国ベストセラーシリーズの翻訳書!Amazon詳細ページへ

この記事は、書籍『シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J』の内容を、Think IT向けに特別公開しているものです。

物理層の規格は大きく異なるものの、イーサネット規格の他の部分は、物理的なイーサネットリンクの種類にかかわらず、同じように動作します。ここでは、リンクの種類を問わずイーサネットが使用するさまざまなプロトコルとルールを説明します。具体的には、イーサネットのデータリンク層のプロトコルの詳細と、イーサネットノード、スイッチ、ハブがイーサネットLAN経由でイーサネットフレームを転送する方法について見ていきます。

イーサネットのデータリンクプロトコル

イーサネットのプロトコルファミリの最大の利点は、それらのプロトコルが同じデータリンク規格を使用することです。実際には、データリンク規格の中核部分は初期のイーサネット規格にさかのぼります。

イーサネットのデータリンクプロトコルは、イーサネットフレームを定義しています。イーサネットフレームは、先頭のイーサネットヘッダーと、中央のカプセル化されたデータ、末尾のイーサネットトレーラで構成されます。実際には、ヘッダーのフォーマットが何種類か定義されており、現時点では、図1に示すフレームフォーマットが最もよく使用されています。

一般的に使用されているイーサネットフレームフォーマット

図1:一般的に使用されているイーサネットフレームフォーマット

フレームを構成するフィールドはどれも重要ですが、本書で説明する内容にとってより重要なものがいくつかあります。表1は、ヘッダーおよびトレーラ内のフィールドと、それらの簡単な説明をまとめたものです。ここでは、いくつかのフィールドをさらに詳しく見ていきます。

表1:IEEE 802.3イーサネットのヘッダーおよびトレーラのフィールド

フィールドフィールドの
バイト長
説明
プリアンブル7同期
SFD(Start Frame Delimiter)1次のバイトから宛先MACアドレスフィールドが始まることを示す
宛先MACアドレス6このフレームの受信アドレスとして想定されているものを示す
送信元MACアドレス6このフレームの送信元を示す
タイプ2フレームに使用されるプロトコルの種類を定義する。現時点では、主にIPv4またはIPv6が指定される
データとパディング46〜1,500上位層のデータとして一般にL3PDU(通常はIPv4またはIPv6パケット)を含んでいる。このフィールドに最低限必要な長さ(46バイト)になるよう、送信元がパディングを追加する
FCS(Frame Check Sequence)4受信側のNICがフレームで送信エラーが発生したかどうかを判断するための手段を提供する

※ IEEE 802.3仕様では、802.3フレームのデータ部分は最小46バイト、最大1,500バイトに制限されている。MTU(Maximum Transmission Unit)は、メディアを通じて送信可能なレイヤ3パケットの最大サイズを定義する。レイヤ3パケットはイーサネットフレームのデータ部分に含まれるため、1,500バイトはイーサネットで許可されるIP MTUの最大値である。

イーサネットのアドレッシング

 イーサネットの送信元と宛先のアドレスフィールドは、CCENT/CCNA試験に出題されるイーサネット処理の大半で重要な役割を担っています。一般的な考え方は単純で、送信元のノードがそのアドレスを送信元アドレスフィールドに指定し、宛先として想定しているデバイスのアドレスを宛先アドレスフィールドに指定します。送信元のノードはフレームを送信し、イーサネットLAN全体がそのフレームを正しい宛先に届けてくれるものと考えます。

イーサネットアドレスは、MAC(Media Access Control)アドレスとも呼ばれる6バイト(48ビット)の2進数です。ほとんどのコンピュータは、MACアドレスを12桁の16進数として表示します。Ciscoのデバイスは、一般に、数字を読みやすくするためにピリオド(.)も追加します。たとえばCiscoのスイッチでは、MACアドレスが0000.0C12.3456のように表示されるかもしれません。

ほとんどのMACアドレスは1つのNICまたはイーサネットポートを表すため、よくユニキャストイーサネットアドレスと呼ばれます。ユニキャストは、そのアドレスがイーサネットLANの1つのインターフェイスを表すという意味にすぎません。対照的に、ブロードキャストやマルチキャストと呼ばれるイーサネットアドレスもあります。これらについては、後ほど説明します。

データをユニキャストMACアドレスに送信するこの方法自体はうまくいきますが、すべてのユニキャストMACアドレスが一意であることが前提となります。2つのNICが同じMACアドレスを使用しようとした場合は、混乱状態に陥るおそれがあります。同じイーサネット上の2台のPCが同じMACアドレスを使用しようとした場合、そのMACアドレスに送信されたフレームはどちらのPCに届けられるでしょうか(あなたと筆者が同じ住所を使用しようとした場合に郵便サービスが混乱するのと同じような問題が発生します。郵便サービスは手紙をあなたの家に届けるでしょうか、筆者の家に届けるでしょうか)。

イーサネットには、この問題を解決するための管理プロセスがあります。このプロセスにより、すべてのイーサネットデバイスの製造時に全世界で1つしかないMACアドレスが割り当てられるようになります。イーサネット製品を製造するベンダーは、OUI(Organizationally Unique Identifier)の割り当てをIEEEに申請しなければなりません。OUIは、全世界で一意な3バイトのコードです。そのベンダーは、割り当てられた3バイトのOUIで始まるMACアドレスをNICなどすべてのイーサネット製品に割り当てることに同意します。また、ベンダーは最後の3バイトに一意な値(ベンダーがそのOUIにまだ使用していない数字)を割り当てます。結果として、世界中のすべてのMACアドレスが一意になります。

IEEEでは、これらのユニバーサルMACアドレスをグローバルMACアドレスとも呼んでいます。図2は、OUIを含んでいるユニキャストMACアドレスの構造を示しています。

ユニキャストイーサネットアドレスの構造

図2:ユニキャストイーサネットアドレスの構造

イーサネットアドレスの呼び名は、LANアドレス、イーサネットアドレス、ハードウェアアドレス、焼き付けアドレス、物理アドレス、ユニバーサルアドレス、MACアドレスなど、さまざまです。たとえば焼き付けアドレスは、永続的なMACアドレスがNICのROMチップに焼き付けられていることを意味します。またIEEEは、ベンダーがNICに割り当てたアドレスが世界中のすべてのMACアドレスにおいて一意であることを強調するために、ユニバーサルアドレスという言葉を使用しています。

イーサネットでは、ユニキャストアドレスに加えて、グループアドレスも使用します。グループアドレスは、複数のLANインターフェイスカードを識別するアドレスです。グループアドレスに送信されたフレームは、LAN上の一部のデバイスに届けられるかもしれませんし、LAN上のすべてのデバイスに届けられるかもしれません。実際には、IEEEはイーサネットのグループアドレスを次の2つのカテゴリに分けて定義しています。

  • ブロードキャストアドレス…このアドレスに送信されたフレームは、イーサネットLAN上のすべてのデバイスに転送される。このアドレスの値はFFFF.FFFF.FFFFである。
  • マルチキャストアドレス…このアドレスに送信されたフレームはコピーされ、特定のマルチキャストアドレスに送信されたフレームを受信するように設定されたLAN上の一部のデバイスに転送される。

MACアドレスに関する詳細を表2にまとめています。

表2:LANのMACアドレスの用語と機能

LANのアドレッシング用語または機能説明
MAC(Media Access Control)IEEEイーサネットのMACサブレイヤは802.3(イーサネット)で定義されている
イーサネットアドレス、NICアドレス、LANアドレスMACアドレスの代わりにしばしば使用される呼び名。LANインターフェイスカードの6バイトのアドレスを定義する
焼き付けアドレスカードの製造者が割り当てる6バイトのアドレス
ユニキャストアドレス単一のLANインターフェイスを表すMACアドレスの呼び名
ブロードキャストアドレス「現時点でこのLAN上に存在するすべてのデバイス」を意味するアドレス
マルチキャストアドレスイーサネットにおいて、現在イーサネットLANに存在するすべてのデバイスのうちの一部を意味する

イーサネットのタイプフィールドに基づくネットワーク層プロトコルの特定

イーサネットヘッダーのアドレスフィールドには、イーサネットLANにおいて重要かつ明白な役割がありますが、タイプフィールドの役割はそれほど明白ではありません。イーサネットフレームのタイプフィールド(EtherType)は、イーサネットのデータリンク層のヘッダーに含まれていますが、その目的は、ルータやホストでのネットワーク処理を直接手助けすることです。タイプフィールドは、基本的には、イーサネットフレームのネットワーク層(レイヤ3)パケットの種類を特定します。

まず、図1で示したイーサネットフレームのデータ部分に含まれているものについて考えてみましょう。通常、この部分には、ネットワーク上のデバイスのネットワーク層プロトコルによって作成されたレイヤ3パケットが含まれています。年月を重ねるに従い、IBMのSNA(Systems Network Architecture)、Novell NetWare、Digital Equipment CorporationのDECnet、Apple ComputerのAppleTalkがこれらのプロトコルの仲間入りをしました。現在、最も一般的なネットワーク層プロトコルは、TCP/IPのIPv4とIPv6の2つです。

イーサネットフレームにカプセル化されたパケットの種類を特定する値(16進数)を挿入する場所は、送信側のホストが持っています。しかし、IPv4パケットをEtherTypeとして識別するためには、ヘッダーにどのような数字を追加すればよいのでしょうか。IPv6パケットの場合はどうでしょうか。IEEEは、一意なEtherType値を必要とするすべてのネットワーク層プロトコルに番号を割り当てることができるよう、EtherType値を管理しています。送信側のホストは、そのリストを知っていればよいだけです。IEEEのサイトにアクセスして「EtherType」を検索すれば、誰でもリストを見ることができます。

たとえば、IPv4パケットが含まれたイーサネットフレームを送信し、次にIPv6パケットが含まれたイーサネットフレームを送信することが可能です。各イーサネットフレームのタイプフィールドには、IEEEによって予約されている値に基づいて異なる値が追加されます(図3)。

イーサネットフレームのタイプフィールドの使用

図3:イーサネットフレームのタイプフィールドの使用

FCSによるエラー検出

イーサネットでは、イーサネットリンクの通過中にフレームのビットが変更されたかどうかをノードが検出するための方法も定義されています。通常、ビットが変化するのは、何らかの電気干渉やNICの不具合が原因です。CCNA試験で出題されるほとんどのデータリンクプロトコルと同様に、イーサネットはエラー検出にデータリンクトレーラのフィールドを使用します。

受信側のノードは、イーサネットトレーラの唯一のフィールドであるFCS(Frame Check Sequence)フィールドを使って結果を送信元と比較することで、フレームでエラーが発生したかどうかを確認できます。送信側のノードは、フレームを送信する前に複雑な計算式を適用し、式の結果をFCSフィールドに格納します。受信側のノードは、受信したフレームに同じ計算式を適用し、その結果を送信元の結果と比較します。結果が同じであれば、フレームは変化していません。結果が異なる場合は、エラーが発生しているため、受信側のノードはそのフレームを廃棄します。

これはエラー検出であってエラーリカバリではないことに注意してください。イーサネットでは、エラーになったフレームを廃棄すべきであることが定義されていますが、失ったフレームのリカバリを試みるわけではありません。これに対し、TCPなどのプロトコルは、データが失われたことを検出し、データを再送することで失われたデータを取り戻します。

この記事のもとになった書籍
APIデザインの極意 Java/NetBeansアーキテクト探究ノート

Wendell Odom 著/株式会社クイープ 訳
価格:4,400円+税
発売日:2014年03月05日発売
ISBN:978-4-8443-3553-5
発行:インプレスジャパン

シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J

本書は、シスコ技術者認定のうち、CCENT/CCNAの認定を目指す人のための公式ガイドブックです。2013年に改訂されたICND1の試験内容に対応しています。新ICND1は、旧ICND1からトピックの削除と追加が行われています。ICND1の合格により、CCENT認定を受ければ、CCNA認定への最初のステップをクリアしたことになります。本書を携えつつCiscoプロフェッショナル認定試験突破に向けて大きな一歩を踏み出しましょう。

Amazon詳細ページへImpress詳細ページへ

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています