イーサネットにおけるデータリンク層の役割
イーサネットではデータリンク層での処理の方法も規定しています。データリンク層では、パケットをカプセル化し、物理層へ渡します。また、相手から届いた電気信号をデータに変換し、データが壊れていないかもチェックします。
LLC副層とMAC副層
データリンク層はLLC副層とMAC副層に分かれています。LLC副層はIEEE802.2という規格、MAC副層ではIEE802.3の規格が採用されています。LLC副層では、送信するデータを細かく分け、どの宛先にどのデータをいつ送信するかという部分を制御することで、複数の送信元から同時にデータを送信する機能を提供します。MAC副層ではフレームの作成を行い、フレームの開始と終わりを規定します。
MACフレームとは
MACフレームとはイーサネットで定められたフレーム構造です。MACフレームはヘッダ+データ+トレイラから成ります(カプセル化されている)。MACフレイムはデータリンク層のMAC副層で作られます。
MACヘッダには宛先・送信元の情報が書かれています。宛先・送信元にはMACアドレスが記されます。MACアドレスとは、コンピュータのLANアダプタに割り振られている固有のアドレスのことです。LANアダプタのROMに書き込まれており、変更はできません。
トレイラはフレームチェックシーケンスとも呼ばれ、CRCと呼ばれる値が格納されています。データ全体を生成多項式と呼ばれる特定の式によって計算した時の値がCRCであり、受信側でも同じ計算を行い、、CRCが一致するかどうかを確かめエラーの有無を判断します。
MACフレームを送る前の合図
MACフレームを送る前には、プリアンブルと呼ばれる7バイトのデータと、スタートフレームデリミタ(SFD)と呼ばれる1バイトのデータを送り、相手のコンピュータに受信の準備をさせます。
MACフレームの作り方
コンピュータ内部からデータリンク層にデータが送られると、LLC副層でタイプフィールドが追加されます。タイプフィールドは、データがどのようなプロトコルによって作成されたものであるかを示す値が書かれています。
また、MAC層ではアドレスフィールドが追加されます。アドレスフィールドでは宛先・送信元のMACアドレスが記されています。
その後、ドライバソフトを介して、LANカードのバッファにコピーされ、プリアンブルやトレイラが追加され、物理層に送られ、電気信号となります。