イーサネット
IEEE 802.3として標準化された、有線LANで最も広く使われる通信規格である。OSI基本参照モデルの物理層とデータリンク層の一部を定め、MACアドレスで宛先を示すフレームを送受信する。媒体を共有する半二重ではCSMA/CD方式で送信を制御するが、現在はスイッチと1対1でつなぐ全二重が主流である。
イマシルちゃんの解説
会社や家でLANケーブルをつなぐと、たいていイーサネットという規格で通信しているんだ。
イーサネットは、ケーブルに流す信号の決まりと、データをフレームというまとまりで送る決まりをまとめた規格だよ。
フレームには宛先と送信元のMACアドレスが入っていて、届け先の機器を見分けられるの。
最後には誤りを調べるFCSという値も付けて、壊れたフレームを受け取った側が捨てられるようにしているよ。
昔は1本のケーブルを何台かで分け合っていたけど、今はスイッチと1対1でつないで送受信を同時に行うのが普通なんだ。
速さが何万倍にもなった今でも、同じ形のフレームを使い続けているのがすごいところだね。
この解説はわかりやすかったですか?
より深い解説
定義と位置付け
イーサネットは、有線LANの通信方式を定めた規格群である。現在の規格書はIEEE 802.3-2022で、正式な名前も「IEEE Standard for Ethernet」である。1Mbit/sから400Gbit/sまでの速度について、共通のMAC(媒体アクセス制御)の仕様と、速度・媒体ごとの物理層の仕様を定めている。
OSI基本参照モデルに当てはめると、イーサネットが扱うのは物理層と、データリンク層の下側にあるMAC副層である。ケーブルやコネクタ、信号の送り方は物理層、フレームの形式や送信の制御はMAC副層の仕事になる。IPなどの上位の通信は、イーサネットのフレームに入れて運ばれる。
イーサネットはもともとDEC・Intel・Xeroxの3社がまとめた仕様(DIX仕様)から広まった。その第2版の形式はEthernet IIと呼ばれ、フレームの中身のプロトコルを「タイプ」で示す。IEEE 802.3は同じ位置のフィールドを「長さ」として定めたが、後に値の範囲で両方を区別する「長さ/タイプ」として統合した。
| 値 | 解釈 |
|---|---|
| 1,500以下 | データの長さ |
| 1,536(16進数で0600)以上 | 上位プロトコルの種類(タイプ) |
IPv4は16進数で0800(RFC 894)、IPv6は86DD(RFC 2464)である。IPv4とIPv6で異なるフィールドを問われたら、このタイプの値が答えになる。無線LANはIEEE 802.11という別の規格であり、イーサネットとはフレームの形式も媒体へのアクセス方式も異なる。
フレームの形式
IEEE 802.3の基本的なフレーム(ベーシックフレーム)は次のフィールドで構成される。
| フィールド | 長さ(オクテット) | 役割 |
|---|---|---|
| プリアンブル | 7 | 受信側が信号のタイミングを合わせる |
| SFD | 1 | フレームの開始位置を示す |
| 宛先MACアドレス | 6 | 受け取る機器またはグループ |
| 送信元MACアドレス | 6 | 送った機器 |
| 長さ/タイプ | 2 | データの長さ、または上位プロトコルの種類 |
| データ(パッドを含む) | 46〜1,500 | IPパケットなど。短いときはパッドで埋める |
| FCS | 4 | CRCによる誤り検出用の値 |
フレーム長は、断りがなければ宛先MACアドレスからFCSまでで数える。プリアンブルとSFDは同期と開始の合図であり、フレーム長には含めない。その結果、ベーシックフレームの長さは最小64オクテット、最大1,518オクテットになる。IEEE 802.1QのVLANタグ(4オクテット)を挿入したフレームの最大長は1,522オクテットである。
データ部分の最大長1,500オクテットは、IPから見たイーサネットのMTUに当たる。この値にはMACヘッダーやFCSを含めない。IPヘッダーとTCPヘッダーとデータを合わせた、IPパケット全体の最大長である。
宛先からFCSまでの固定部分は、6+6+2+4で合計18オクテットである。独自の数値で計算すると次のようになる。
データ1,200オクテットの場合 = 18 + 1,200 = 1,218オクテット
データ20オクテットの場合 = 18 + 20 + パッド26 = 64オクテット
データが最小の長さに満たないときは、パッドを足してデータ部分を規定の長さにそろえる。IPv4ヘッダーの全長の値にはパッドを含めないので、受信側は余分な部分を取り除ける。各フィールドの詳細はベーシックフレーム、プリアンブル、FCS、長さ/タイプの各記事で扱う。
MACアドレスと宛先の種類
イーサネットのアドレスは48ビットのMACアドレスである。宛先MACアドレスによって、フレームの届く相手が決まる。
| 宛先の種類 | 届く相手 | 例 |
|---|---|---|
| ユニキャスト | 特定の1台 | 端末からデフォルトゲートウェイへの通信 |
| マルチキャスト | 同じグループに参加した機器 | 一部のルーティングプロトコル |
| ブロードキャスト | 同じネットワークの全機器 | ARPの要求、DHCPの最初の要求 |
ブロードキャストの宛先は48ビットすべてが1のFF-FF-FF-FF-FF-FFである。レイヤ2スイッチはこれを全ポートへ流し、ルータは別のネットワークへ中継しない。
媒体を共有していた時代のアクセス制御
初期のイーサネットは1本の同軸ケーブルを複数の機器で共有していた。リピータハブで接続する10BASE-Tなども、信号が全ポートへ流れるので同じ状況になる。同時に2台が送れば信号がぶつかる。これを衝突(コリジョン)という。この制御方式がCSMA/CD(Carrier Sense Multiple Access with Collision Detection)である。
- 送信したい機器は、ほかの機器が送信中でないか媒体の信号を確かめる(キャリアセンス)。
- 空いていれば送信を始める。
- 送信中に衝突を検出したら送信をやめ、ジャム信号を送ってほかの機器へ衝突を知らせる。
- 乱数で決めた時間だけ待ってから再送する。衝突が続くほど待ち時間の範囲を広げる指数バックオフを使う。
衝突の検出は、自分がまだ送信している間にしかできない。そのため、送信時間がネットワークの往復の伝搬時間より長くなるように、最小フレーム長が決められた。この基準の時間をスロットタイムといい、10Mbit/sと100Mbit/sでは512ビット時間(64オクテット分)である。
同じ衝突が起こり得る範囲をコリジョンドメインという。リピータハブをつなぐと範囲がそのまま広がり、往復の時間も延びる。このため半二重の構成では、リピータの段数やケーブルの長さに上限が設けられていた。その範囲を超えると、衝突を正しく検出できず通信に失敗する。
1Gbit/sでは同じ距離を保つため、半二重のときだけ短いフレームの後ろに信号を付け足すキャリアエクステンションが考案された(IEEE 802.3zの提案資料)。10Gbit/sイーサネットは最初から全二重だけを対象にした(IEEE 802.3aeの目標)。なお、この目標でもフレームの形式と最小・最大長は従来のままとされた。
全二重とスイッチ
現在のLANでは、端末とレイヤ2スイッチのポートを1対1でつなぐ。送信と受信に別の信号経路を使えば、両方向へ同時に送れる。これを全二重という。全二重では衝突が起きないので、CSMA/CDによる送信の制御は働かない。
| 観点 | 半二重 | 全二重 |
|---|---|---|
| 送受信 | 交互に行う | 同時に行う |
| 衝突 | 起こり得る | 起きない |
| 主な接続 | リピータハブ、古い同軸ケーブル | スイッチとの1対1の接続 |
| 実効速度 | 衝突と待ち時間で下がる | 各方向で規格の速度を使える |
全二重で受信側の処理が追い付かないときは、送信の一時停止を求めるPAUSEフレームによるフロー制御を使える。スイッチがフレームを中継する仕組みはレイヤ2スイッチの記事で扱う。
伝送媒体と速度の規格
規格名は「速度+伝送方式+媒体」の順に読む。例えば100BASE-TXは、100Mbit/sの速度、変調せずに送るベースバンド方式、ツイストペアケーブルを表す。
| 規格 | 速度 | 媒体 | 押さえる点 |
|---|---|---|---|
| 10BASE-T | 10Mbit/s | UTPケーブル | 2対を使う。リピータハブの時代の代表的な方式 |
| 100BASE-TX | 100Mbit/s | カテゴリ5のUTPケーブル | 2対を使い、1区間は最大100m |
| 1000BASE-T | 1Gbit/s | カテゴリ5eのUTPケーブル | 4対すべてで送受信し、1区間は最大100m |
| 1000BASE-SX | 1Gbit/s | マルチモード光ファイバ | 短波長の光で、建物内などの短い距離に使う |
| 1000BASE-LX | 1Gbit/s | 主にシングルモード光ファイバ | 長波長の光で、SXより長い距離に使う |
| 10GBASE-T | 10Gbit/s | カテゴリ6AのUTPケーブル | 1区間は最大100m |
| 10GBASE-SR/LR | 10Gbit/s | マルチモード/シングルモード光ファイバ | 短距離向け/10km級 |
ツイストペアの方式は、どれも1区間が原則100mまでである。光ファイバの方式は、光の波長とファイバの種類を両端でそろえる必要がある。SXのモジュールとLXのモジュールを対向させても通信できない。ケーブルのカテゴリや光ファイバの種類はツイストペアケーブル、光ファイバ、10GBASE-Tの各記事で扱う。
PoEのように、ツイストペアケーブルで電力を供給する規格もIEEE 802.3に含まれる。
通信条件をそろえる仕組み
ツイストペアの方式では、つないだ機器同士が対応する速度と通信モードを知らせ合い、共通する最良の条件を自動で選べる。これをオートネゴシエーションという。1000BASE-Tでは、この仕組みが必須である。
一方だけを自動、もう一方を「100Mbit/s・全二重」に固定すると、自動側は相手の通信モードを知ることができず、半二重を選ぶ。両側の通信モードが食い違う状態をデュプレックスミスマッチという。リンクは上がるのに、衝突やFCSエラーが増えて極端に遅くなる。設定は両側とも自動にするか、両側とも同じ値に固定する。
送信と受信の線の対応を自動で合わせるAuto MDI/MDI-Xも、多くの機器が備える。これにより、ストレートケーブルとクロスケーブルを使い分ける必要が少なくなった。
周辺の規格との関係
イーサネットの上には、IEEE 802.1で定める機能が重なる。規格番号を取り違えないように整理する。
| 規格 | 内容 | イーサネットとの関係 |
|---|---|---|
| IEEE 802.1Q | VLANタグ | フレームの送信元MACアドレスの後ろに4オクテットを挿入する |
| IEEE 802.1D | ブリッジとスパニングツリー | 複数のスイッチで経路のループを防ぐ |
| IEEE 802.1X | ポート単位の認証 | 接続した端末を認証してからLANの利用を許す |
| IEEE 802.3ad | リンクアグリゲーション | 複数の物理リンクを1本の論理リンクとして使う(現在はIEEE 802.1AXへ移行) |
広域イーサネットは、通信事業者の網をイーサネットのフレームのまま通す拠点間接続サービスである。社内LANと同じ考え方で拠点同士を結べるが、拠点をまたぐ1つのブロードキャストドメインが大きくなりすぎないよう設計する必要がある。
設計と障害の切り分け
イーサネットの障害は、物理的な接続、通信条件、フレームの中身のどこで起きているかを分けて考える。
| 観測した状態 | 確認すること |
|---|---|
| リンクが上がらない | ケーブルの断線や長さ、光モジュールの種類と波長、速度の固定設定 |
| リンクは上がるが極端に遅い | デュプレックスミスマッチ。片側に衝突やレイトコリジョンの記録がないか |
| FCSエラーが増える | ケーブルの品質、雑音、コネクタの接触不良、通信モードの食い違い |
| 小さいデータは通るが大きいデータだけ失敗する | 経路上のMTUの不一致。ジャンボフレームの設定が一部の機器だけにないか |
| ブロードキャストが急増して全体が止まる | スイッチ間のループ。スパニングツリーの設定 |
9,000オクテット程度のデータを運ぶジャンボフレームは、製品が独自に拡張した機能であり、IEEE 802.3の最大長を超える。使う場合は経路上のすべての機器で同じ値に設定する。
午後での問われ方
午後問題では、イーサネットそのものよりも、フレームの形式や通信条件を前提とした設計・障害の説明が問われる。
| 問われる場面 | 押さえるポイント |
|---|---|
| フレームとMTU | VLANタグの挿入位置、フレーム長の計算、MTUとMSSの関係 |
| 速度とケーブルの選定 | 距離と速度から、ツイストペアか光ファイバか、どの規格かを選ぶ |
| 通信条件の不一致 | オートネゴシエーションと固定設定を混在させたときの症状と対策 |
| ループと冗長化 | スパニングツリーやリンクアグリゲーションで冗長な経路を扱う |
| 性能の計算 | フレームの送出時間をビット単位に直して求める |
計算では、伝送速度はビット毎秒、フレーム長はオクテットで示されることが多い。例えば1,518オクテットのフレームを1Gbit/sで送り出す時間は、1,518×8÷1,000,000,000で約12.1マイクロ秒になる。プリアンブルなどを含めるかどうかは問題の条件に従う。
参考資料
- IEEE 802.3-2022:IEEE Standard for Ethernet
- RFC 894:A Standard for the Transmission of IP Datagrams over Ethernet Networks
- RFC 2464:Transmission of IPv6 Packets over Ethernet Networks
- IEEE 802.3ae:10Gbit/sイーサネットの目標
実際の試験ではここに出る!全6問
ネットワークスペシャリスト
テクニカルエンジニア(ネットワーク)
- 午前