【ネットワーク基礎】フレーム構造とパケット構造

2021年5月18日ネットワーク基礎知識TCP/IP,ネスペの基礎力,パケット,フレームネットワーク基礎知識,ネスペの基礎力,パケット,フレーム

イーサネットのフレーム構造、IPパケット構造を書けますか?と言われると僕もググって調べることが多いです。すぐに確認出来るように整理します。

イーサネットのフレーム構造

イーサネットのフレーム構造です。他にも細々とありますが僕が普段意識する範囲は下記です。ネットワークスペシャリスト試験を目指している方もこれが意識出来ていれば十分です(筆者の主観です)。

イーサネットフレーム構成
イーサネットのフレーム構造
階層ヘッダ説明
L2宛先MACアドレスパケットは複数の機器を経由して相手先IPアドレスに到着します。パケットを配送するたびに変更されパケット配送先となる次の機器のMACアドレスを格納します。宛先IPアドレスにパケットが到着した際は宛先IPアドレスの機器のMACアドレスと一致します。
L2送信元MACアドレスパケットは複数の機器を経由して相手先IPアドレスに到着します。パケットを配送するたびに変更されパケット配送元の機器のMACアドレスを格納します。パケットが送信元IPアドレスから送出される際は送信元IPアドレスの機器のMACアドレスと一致します。
L2タイプフレームのタイプを示します。代表的なタイプ番号は下記です。※値は16進数
0800:Internet IP(IPv4)
0806:Address Resolution Protocol (ARP)
8035:Reverse Address Resolution Protocol (RARP)
86DD:IP version 6 (IPv6)
9000:Loopback (Configuration Test Protocol)
L3送信元IPアドレスパケットの送信元IPアドレスを示します。送信元IPアドレスはNATやロードバランサなどを経由すると書き換わります。
L3宛先IPアドレスパケットの宛先IPアドレスを示します。宛先IPアドレスもNATやロードバランサなどを経由すると書き換わります。
L3プロトコルL4データが何であるかを示します。代表的なプロトコル番号は下記です。
1:Internet Control Message Protocol(ICMP)
6:Transmission Control Protocol(TCP)
17:User Datagram Protocol(UDP)
89:Open Shortest Path First(OSPF)
115:Layer Two Tunneling Protocol(L2TP)
L3バージョンや生存期間などを格納します。
L4送信元ポート番号パケットを送信する送信元のポート番号を格納します。
L4送信先ポート番号パケットを送信する送信先のポート番号を格納します。
L4その他TCPとUDPで中身が異なります。シーケンス番号や確認応答番号などを格納します。
L5~L7データ配送したいアプリケーションデータを格納します。
L2FCSフレームに損失がないかどうかを確認するための情報。送信側によってフレームデータをチェックサムによって計算し格納。受信側機器は受け取ったフレームデータからチェックサムで計算し、受信したFCSと計算結果を比較する。

OSI基本参照モデル各層で見るフレーム構造

それではイーサネットのフレームが作成される手順を順番に見ていきましょう。OSI基本参照モデルを意識して説明します。

OSI基本参照モデル

第7層~第5層:アプリケーションデータ

第7層:アプリケーション層、第6層:プレゼンテーション層、第5層:セション層でアプリケーションデータを生成します。各層で扱うデータの形式は異なりますがネットワーク視点で考える場合はこの3層はセットで考えて構いません。メールソフトならメールのヘッダや本文、Webブラウザならhttpリクエストヘッダ、DNSなら問合せするFQDNの情報などを格納します。アプリケーションが暗号化に対応している場合は暗号化されたデータが格納されますが、httpやftpなど非暗号データは平文(非暗号)のまま格納されます。

アプリケーションデータ

第4層:トランスポート層

アプリケーションデータの先頭にTCPまたはUPDのポート情報であるトランスポート層(L4)ヘッダを付与します。L4ヘッダとアプリケーションデータを含めたL4データをセグメントと呼びます。

L4パケット

第3層:ネットワーク層

L4データの先頭にIP情報であるL3ヘッダを付与します。セグメントにL3ヘッダを付与したL3データをパケットと呼びます。

L3パケット

第2層:データリンク層

L3データの先頭にL2スイッチ間でパケットを転送するためのMACアドレス情報(L2ヘッダ)を付与します。また末尾にFCS(フレームチェックシーケンス)を付与します。これをフレームと呼びます。

L2データリンク層フレーム

参考図書

本記事を執筆するにあたり参考にした書籍を紹介します。

※後日記載予定※

最後に

最後まで記事をお読みいただきありがとうございます。文中の間違い、ご要望等ありましたらコメント欄にお願いします。