👨‍🔧

イーサネットフレームを理解するための予備知識

2022/08/01に公開

この記事では、イーサネットフレームを理解するための予備知識をまとめます。紛らわしい用語をいくつか整理していきます。

名称 機能
イーサネット 有線LANの規格(プロトコル) or 有線LANケーブルそれ自体
(プロトコルは物理層、データリンク層にまたがって定義されている)
データリンク 隣接する機器との間に作る論理的な伝送路
データリンク層 (1)隣接機器との通信,(2)ビット列のエラーチェック を行う
パケット (一般的な意味で)細切れにされたデータのこと
ヘッダ 各層で付加する情報のこと
ペイロード (ヘッダが付与されていない)データ本体のこと
PDU 各層におけるデータの送受信単位の呼び名
(細切れにされている)
L2ヘッダ データリンク層で付加されるヘッダのこと
イーサネットヘッダ イーサネットのプロトコルに従って付与されるヘッダのこと
フレーム データリンク層におけるパケットのこと
(L2ヘッダによってカプセル化されている)
イーサネットフレーム イーサネットの規格に従ってカプセル化されるパケットのこと
フレームフォーマット フレームの大きさ・中身の定義のこと

データリンク層について

イーサネットフレームはデータリンク層における技術です。データリンク層はOSI参照モデルにおいてレイヤ2に相当します。

データリンク層の役割は主に2つあります。

(1)MACアドレスによる隣接ノードとの通信
(2)ビット列の整合性チェック・エラー修正

データリンクとは?

隣接する機器との間に作る論理的な伝送路のことです。データリンク層では「どの端末に対してデータリンクを作るか?」、「出来上がったデータリンクの中でビットが欠けていないか?」を判断するために、カプセル化の処理を行い、物理層の信頼性を確保します。

イーサネット

通信機器同士を接続するために利用するケーブル(=有線LAN)の規格です。元々は「規格」を意味する用語でしたが、「有線LANの規格といえばイーサネット」という認識が大きく広がったことから、有線LAN自体をイーサネットと呼んでいるケースもあります。イーサネットという言葉を聞いた時は、規格を意味するのか?ケーブルを意味するのか?に注意して下さい。

IEEE802.3

イーサネットはIEEE802.3で標準化されています。IEEE802.3では主に2つの内容が定義されています。物理層の技術と、物理層と連携して動作するデータリンク層の技術です。

物理層:有線LANの物理的な規格
データリンク層:カプセル化の形式、エラー検知について

今回学ぶのがIEEE802.3の中でもデータリンク層にまつわる技術となります。

パケット

インターネット通信ではデータを細切れにして情報をやり取りしています。細切れにされたデータのことを、広い意味でパケットと呼びます。


データを細切れにして送信

データを細切れにして扱うことには、2つのメリットがあります。

(1)1つの通信が回線を占有するのを防げる
(2)サイズが揃うで扱いやすくなる

イーサネットの基本的な考え方として、1本のケーブルを複数台のコンピュータや機器で共有する前提があります。1つのコンピュータがデータを区切らずに送ってしまうと,そのデータが送り終わるまで,ほかの機器はデータをまったく送信できなくなってしまいます。

また色々なサイズのデータが存在すると、それぞれをバラバラに扱うのが面倒になります。まとめて処理したり、特定の部分だけを見て簡易的に処理するのも難しくなります。コンピュータ的には、むしろ無駄なデータを入れてでもサイズをそろえた方が扱いやすいと考えます。

ヘッダ(カプセル化/非カプセル化)

コンピュータがデータを送信する際、送られるのはパケットだけではありません。物理的な仕様,送信相手の特定,パケットの転送,信頼性の確立,セキュリティの確保など、色々な情報がプラスで必要になります。

ヘッダとはパケットにプラスで付加される情報のことを指します。送信側では正しい通信を実現するため、各層でヘッダを付与していきます(物理層でヘッダは付与されないので注意して下さい)。逆に受信側ではそれぞれの層で付与されたヘッダを外して情報を読み取っていきます。送信側でヘッダを付加することをカプセル化と呼び、受信側でヘッダを外すことを非カプセル化と呼びます。

PDU

細切れにされたデータのことを、一般的な意味でパケットと呼びます。しかし正確にはカプセル化されることによって、各層でデータの構成は全く違うモノとなります。そのため一口に「パケット」と大雑把に呼ばれるのではなく、各層で違った名称が付いています。

データを細切れにして、ヘッダを付加した送受信単位のことをPDUといいます。

ペイロード

パケットなどと区別するため、覚えておきたいのがペイロードです。ペイロードとは、ヘッダなどの付加的情報を除いたデータ本体のことです。

階層 階層名 機能
第7層 アプリケーション層 メッセージ
第4層 トランスポート層 セグメント(TCP)、データグラム(UDP)
第3層 ネットワーク層 パケット
第2層 データリンク層 フレーム
第1層 物理層 ビット
- 名称 機能
- ペイロード データ本体

データの本体であるペイロードとその他名称がゴッチャにならないよう注意して下さい。

フレーム

データリンク層におけるPDUの名前をフレームと呼びます。連接するビット列を「枠で区切る」という意味合いがあります。


ビット列に区切りを入れてフレームへ格納

イーサネットフレームができるまで

フレームの役割は、上位の層でヘッダを付与されたデータを一定の"固まり"に切り分けることです。箱となるフレームにデータを詰めて、最後に0と1の電気信号に変換され、データはインターネット世界へ送り出されます。イーサネットで接続されている機器から機器へデータを送るとき、決められた長さに区切った“固まり”として送られます。そして送信や受信,廃棄など、通信上のすべての処理はこの固まりを単位に実行されます。


イーサネットフレームができるまで

イーサネットにおける通信の基本となる固まりがイーサネット・フレームです。LANでは最終的にはイーサネット・フレームの形にして全てのデータをやりとりをしています。データを詰める箱(=フレーム)の形式・機能を学ぶことがデータリンク層におけるテーマとなります。

Discussion