IPヘッダチェックサム(アイピーヘッダチェックサム)とは | 意味や読み方など丁寧でわかりやすい用語解説
IPヘッダチェックサム(アイピーヘッダチェックサム)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
IPヘッダチェックサム (アイピーヘッダチェックサム)
英語表記
IP header checksum (アイピーヘッダーチェックサム)
用語解説
IPヘッダチェックサムは、インターネットプロトコル(IP)を用いて通信を行う際に、IPパケットのヘッダ部分が通信途中で破損していないかを確認するための仕組みである。TCP/IPモデルにおけるネットワーク層で機能し、データの宛先や送信元などの重要な制御情報が記録されているIPヘッダの完全性を保証する役割を担う。IPパケットは、データを運ぶ本体であるペイロード部分と、そのデータをどこにどのように届けるかを制御するヘッダ部分から構成される。このヘッダ情報が少しでも破損すると、パケットが正しい宛先に届かなくなったり、ネットワーク上で正しく処理されなくなったりする可能性がある。IPヘッダチェックサムは、このような事態を防ぐための単純かつ効果的なエラー検出機構として、特にIPv4において重要な役割を果たしてきた。送信側の機器はIPパケットを送信する際に、IPヘッダの内容に基づいて特定の計算を行い、その結果をチェックサムフィールドに格納する。パケットを受信した中継機器(ルーターなど)や最終的な宛先機器は、送信側とまったく同じ計算を行い、その結果とヘッダ内のチェックサムフィールドの値を照合することで、ヘッダに破損がないかを検証する。もし破損が検出された場合、そのパケットは信頼できないものとして破棄される。
IPヘッダチェックサムの計算は、IPヘッダ全体を対象とし、データ部分であるペイロードは含まない。これは、ペイロードのデータ完全性は、より上位の層であるトランスポート層のプロトコル、例えばTCPやUDPが持つ独自のチェックサム機能によって担保されるためである。これにより、各層がそれぞれの役割に専念し、効率的なエラー検出を実現している。計算方法は、まずIPヘッダのチェックサムフィールドの値を一時的に0にする。次に、IPヘッダ全体を16ビット(2バイト)ごとのブロックに分割する。そして、これらすべてのブロックの値を加算していく。この加算は「1の補数和」と呼ばれる特殊な方法で行われ、計算途中で16ビットを超える桁あふれ(キャリー)が発生した場合は、その桁あふれ分を計算結果の最下位ビットに加算する。すべてのブロックの加算が終わったら、得られた合計値の「1の補数」をとる。1の補数をとるとは、すべてのビットを反転させる(0を1に、1を0にする)操作のことであり、この反転後の値が最終的なチェックサムとして、ヘッダのチェックサムフィールドに書き込まれる。
パケットを受信した側での検証プロセスも、この計算方法に基づいている。受信側は、受信したIPヘッダ全体(送信側が計算したチェックサムの値が含まれた状態)を、送信時と同様に16ビットごとのブロックに分割し、すべてのブロックの1の補数和を計算する。もしIPヘッダに一切の破損がなければ、この計算結果はすべてのビットが1(16進数でFFFF)になる。この状態は、1の補数をとると0になることと同義であり、この結果をもってヘッダが正常であると判断する。もし計算結果がすべてのビットが1にならなければ、通信経路のどこかでヘッダ情報が破損したと判断し、そのパケットを破棄する。
IPパケットがインターネット上を旅する間、ルーターを経由するたびにIPヘッダの一部が書き換えられることがある。その代表的な例がTTL(Time To Live)フィールドである。TTLは、パケットがネットワーク内を永久にループし続けることを防ぐための仕組みで、ルーターを一つ通過するごとに値が1ずつ減少される。TTLの値が変更されるということは、IPヘッダの内容が変わることを意味するため、元のチェックサムは無効となる。そのため、TTLを書き換えたルーターは、新しいヘッダの内容に基づいてチェックサムを再計算し、チェックサムフィールドを更新してから次のルーターへとパケットを転送する義務がある。この再計算処理は、パケットが経由するすべてのルーターで行われるため、ルーターの処理負荷の一因となっていた。
なお、後継プロトコルであるIPv6では、このIPヘッダチェックサムは廃止されている。その背景には、Ethernetなどのデータリンク層の技術が向上し、ビット誤り率が劇的に低下したことや、TCPやUDPといった上位層プロトコルがより強力なエラー検出機能を提供していることがある。IP層でのチェックサムは冗長であると判断され、これを廃止することで、ルーターがパケットを中継する際の再計算処理が不要となり、ネットワーク全体の処理性能の向上と高速化に貢献している。このように、IPヘッダチェックサムはIPv4環境における通信の信頼性を支える基本的な技術であるが、技術の進化とともにその役割は変化している。