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

シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J
新CCENT/CCNA対応の公式ガイドブック 米国ベストセラーシリーズの翻訳書!
この記事は、書籍『シスコ技術者認定試験 公式ガイドブック 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などのプロトコルは、データが失われたことを検出し、データを再送することで失われたデータを取り戻します。
この記事のもとになった書籍 | |
---|---|
![]() Wendell Odom 著/株式会社クイープ 訳 |
シスコ技術者認定試験 公式ガイドブック Cisco CCENT/CCNA ICND1 100-101J本書は、シスコ技術者認定のうち、CCENT/CCNAの認定を目指す人のための公式ガイドブックです。2013年に改訂されたICND1の試験内容に対応しています。新ICND1は、旧ICND1からトピックの削除と追加が行われています。ICND1の合格により、CCENT認定を受ければ、CCNA認定への最初のステップをクリアしたことになります。本書を携えつつCiscoプロフェッショナル認定試験突破に向けて大きな一歩を踏み出しましょう。 |
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 仮想LAN(Virtual LAN)の基本[ドメイン/サブネット/トランキング]
- ネットワーク層の機能(前編)―パケット転送時の役割―
- ネットワーク層の機能(後編) ―IPアドレスとルーティングプロトコル―
- OSIネットワーキングモデル(後編)
- 現代PCの基礎知識(11):現代のPCには欠かせない!ネットワーク
- Cisco認定試験の概要、OSIネットワーキングモデル(前編)
- クラスフルIPv4ネットワークアドレスの分析[クラスフルアドレスの種類と規模]
- OSI参照モデルを紐解いていこう ー第2層(データリンク層) ①イーサネット
- IPv4の高度なACL[拡張ACLの設定ガイドライン]
- IPv4のサブネット化の概要[サブネットをサイジング/プライベートアドレスとパブリックアドレスを見分ける]