IPパケットヘッダー:フォーマット、フィールド
⚡ スマートサマリー
IPヘッダーは、すべてのIPパケットの先頭に配置されるメタデータであり、バージョン、ヘッダー長、全長、TTL(Time To Live)、プロトコル、チェックサム、およびルーターがデータを配信するために読み取る送信元アドレスと宛先アドレスなどのフィールドが含まれています。
IPヘッダーとは何ですか?
IPヘッダーは、IPパケットの先頭にあるメタ情報です。IPバージョン、パケット長、送信元、宛先などの情報が表示されます。
IPv4 ヘッダー形式は 20 ~ 60 バイトの長さで、ルーティングと配信に必要な情報が含まれています。バージョン、ヘッダー長、全長、識別子、フラグ、チェックサム、送信元 IP アドレス、宛先 IP アドレスなどのフィールドで構成されています。これらのフィールドは、ルーティングと配信に必要な重要なデータを提供します。 transmit パケットをあるホストから別のホストへ確実に送信する。
IPv4 ヘッダーのコンポーネント/フィールド
下の図は、IPv4ヘッダーの完全なフォーマットを示しており、各フィールドは正しい位置とビット幅で描かれています。
IPパケットヘッダーの様々な構成要素/フィールドは以下のとおりです。
- バージョン: 最初のIPヘッダーフィールドは4ビットのバージョンインジケータです。IPv4では、この4ビットの値は0100に設定され、これは2進数で4を表します。ルーターが指定されたバージョンをサポートしていない場合、パケットは破棄されます。
- インターネットヘッダーの長さ: インターネットヘッダー長(IHL)は、4ビットのサイズです。HELEN(ヘッダー長)とも呼ばれます。このIPコンポーネントは、ヘッダーに含まれる32ビットワードの数を示します。
- サービスの種類: サービスの種類は差別化サービスとも呼ばれます Code ポイント、またはDSCP。このフィールドは、データストリーミングやVoIP通話のサービス品質に関連する機能を提供します。最初の3ビットは優先度ビットです。また、データグラムの処理方法も指定します。
- 全長: 全長はバイト単位で測定されます。IPデータグラムの最小サイズは20バイト、最大サイズは65,535バイトです。HELENと全長を使用してペイロードのサイズを計算できます。すべてのホストは576バイトのデータグラムを読み取る必要があります。ただし、ネットワーク内のホストにとってデータグラムが大きすぎる場合は、フラグメンテーション方式が広く用いられます。
- 識別: 識別子は、IPデータグラムのフラグメントを一意に識別するために使用されるフィールドです。パケット情報の追加など、他の目的でこのフィールドを使用することを推奨する人もいます。 tracる。
- IP フラグ: フラグは、フラグメントの制御と識別に役立つ3ビットのフィールドです。設定可能な値は次のとおりです。ビット0は予約済みで、必ず0に設定する必要があります。ビット1はフラグメント化しないことを意味します。ビット2はフラグメントを増やすことを意味します。
- フラグメントのオフセット: フラグメントオフセットは、特定のデータグラム内の特定のフラグメントより前のデータバイト数を表します。8バイト単位で指定され、最大値は65,528バイトです。
- 有効期間: これは、データグラムがインターネットシステム内に存在できる最大時間を示す8ビットのフィールドです。データグラムが処理されるたびに、TTL値は1ずつ減少します。TTL値がゼロになると、パケットが無限に配信されないように、データグラムは破棄されます。TTL値の範囲は0から255です。
- プロトコル: このIPv4ヘッダーフィールドは、データグラムの後半部分で伝送されるインターネットプロトコルを示します。例えば、6はTCPプロトコルを、17はUDPプロトコルを示します。
- ヘッダーチェックサム: 次の要素は16ビットのヘッダーチェックサムフィールドで、ヘッダーにエラーがないかを確認するために使用されます。IPヘッダーはチェックサムの値と比較されます。ヘッダーチェックサムが一致しない場合、パケットは破棄されます。
- 送信元アドレス: 送信元アドレスは、IPv32 パケットに使用される送信元の 4 ビット アドレスです。
- 宛先アドレス: 宛先アドレスも32ビットのサイズで、受信者のアドレスを格納します。
- IP オプション: これは IPv4 ヘッダーのオプションフィールドで、IHL (インターネット ヘッダー長) の値が 5 より大きい場合に使用されます。セキュリティ、レコード ルート、タイム スタンプなどのオプションに関連する値と設定が含まれます。オプションのリストは通常、オプション リストの終了 (EOL) マーカーで終わります。
- 日付: このフィールドには、プロトコル層からIP層にデータを引き渡したデータが格納されます。
IPv4ヘッダーの長さを計算する方法
インターネットヘッダー長(IHL)フィールドは、ヘッダーの正確な長さをルーターに伝え、ヘッダーの終わりとデータの始まりをルーターが認識できるようにします。このフィールドは幅がわずか4ビットであるため、長さをバイト単位で直接格納しません。代わりに、ヘッダーを32ビットワード単位でカウントします。各ワードは4バイトに相当します。
IHL値をバイトに変換するには、4を掛けます。
- 最小: 国際高等法院(IHL)で認められる最小値は5なので、5 × 4 = 20バイトとなります。これはオプションのないヘッダーです。
- 最大: IHLの最大値は15なので、15×4=60バイトとなります。残りの40バイトはオプションフィールド用です。
具体的な例を考えてみましょう。パケットがIHL値6で到着した場合、ヘッダー長は6×4=24バイトとなり、標準の20バイトのヘッダーの後に4バイトのオプションが存在することを意味します。ペイロードのサイズを求めるには、trac合計長さフィールドからヘッダーの長さを取得します。合計長さが1,500バイトでヘッダーが24バイトの場合、ペイロードは1,500 - 24 = 1,476バイトになります。
この計算はフラグメンテーション時に重要となる。なぜなら、ルーターはヘッダーサイズを知って、ネットワークの最大容量を超えずに各フラグメントがどれだけのデータを伝送できるかを計算する必要があるからだ。 Transmission ユニット(MTU)。
IPv4とIPv6のヘッダー比較
IPv6ヘッダーは、IPv4ヘッダーよりも処理が簡単で高速になるように再設計されました。固定長を使用し、使用頻度の低いオプションを別の拡張ヘッダーに移動することで、ルータはパケットを回線速度で転送できます。以下の表は、2つのヘッダーをフィールドごとに比較したものです。
| 機能 | IPv4ヘッダー | IPv6ヘッダー |
|---|---|---|
| ヘッダーサイズ | 20~60バイト(可変) | 40バイト(固定) |
| フィールド数 | 13のフィールドとオプション | 8フィールド |
| アドレスの長さ | 32ビットのソースとデスティネーション | 128ビットのソースとデスティネーション |
| ヘッダーチェックサム | Present | 削除済み |
| 断片化フィールド | 基本ヘッダー(識別子、フラグ、オフセット) | フラグメント拡張ヘッダーに移動しました |
| オプション | ヘッダー内に収納 | 拡張ヘッダーに記録されます |
| 長さフィールド | 全長(ヘッダー+データ) | ペイロードの長さ(ペイロードのみ) |
IPv6はチェックサムと可変長オプションを省略するため、ヘッダーに含まれるフィールドが少なくなり、ホップごとの再計算なしにハードウェアで処理できる。
IPヘッダーが重要な理由
IPヘッダーのすべてのフィールドは、ルーターとホストが、互いに恒久的な接続を持たなくても、複数のネットワーク間でパケットを転送できるようにするために存在します。ヘッダーこそが、パケット交換を機能させる鍵なのです。
- ルーティング: 宛先アドレスは各ルーターにパケットを転送する場所を指示し、送信元アドレスは応答やエラーメッセージを受信するために使用されます。
- ループ防止: タイムトゥライブフィールドはホップごとに減少するため、経路を誤ったパケットはインターネット上を永遠に循環するのではなく、破棄されます。
- 適切なプロトコルに従って配送する: プロトコルフィールドは、受信ホストに対し、ペイロードをTCP、UDP、またはその他のプロトコルのいずれに渡すかを指示します。
- Integrity そして再組み立て: チェックサムはヘッダーの破損を防ぎ、識別子、フラグ、フラグメントオフセットの各フィールドによって、断片化されたデータグラムを正しい順序で再構築することができます。
ネットワーク エンジニアにとって、これらのフィールドを読むことは、 TCP / IP キャプチャは、パケットのドロップ、ルーティングループ、設定ミスを診断する最も速い方法であることが多い。 IPアドレス.


