【IP編】プロトコルの基本を学ぶ

IPプロトコルについてのまとめです。OSI参照モデルではネットワーク層、TCP/IPではインターネット層として定義されています。上位層から受け取ったデータにIPアドレスを含むIPヘッダを付与し、相手先ノードとの通信を可能とするプロトコルです。

OSI参照モデルとTCP/IPプロトコル群

IPプロトコル

IP(Internet Protocol)は信頼性の高いノード(ポート)間の通信を提供し、HTTP、FTP、SMTP、SSH、Telnetなどのアプリケーション層プロトコルで利用されています。現状では主にIPv4が利用されていますが、世界的にIPアドレスの枯渇が懸念されており、徐々にIPv6への移行が進められています。

IPv4フォーマット

IPv4の標準フォーマット

以下はIPv4フォーマットの各項目の説明です。

  • バージョン
    IPプロトコルのバージョン
    IPv4では"4"、IPv4では"6"

  • ヘッダ長
    IPヘッダの長さを32bit単位で示す

  • サービスタイプ
    Type Of Serviceの値でパケットの優先順位や使われ方を定義
    0000:標準
    0001:最小
    0010:最大信頼性
    0100:最大スループット
    1000:最小遅延

  • パケット長
    全体のサイズ(ヘッダ+データ部)

  • 識別子
    分割されたパケットを結合する際の識別子

  • フラグ
    パケット分割(フラグメント化)に関する制御情報

  • フラグメントオフセット
    フラグメントされたパケットが元のパケットのどの位置であったかを示す

  • 生存回数(TimeToLive)
    パケットが通過できるL3スイッチとルータの数の合計値。
    他のプロトコルでは秒数[s] 

  • プロトコル
    上位のトランスポート層で使われたプロトコル
    1:ICMP
    6:TCP
    17:UDP

  • チェックサム
    IPヘッダのチェックサム値

  • 送信元IPアドレス

  • 宛先IPアドレス

  • オプション
    デバッグやテストの際に利用される
    ログや経路の指定など

  • パディング
    32bit単位となるように0埋めする

  • データ部
    32bit単位で可変長

IPv6フォーマット

IPv6の標準フォーマット

以下はIPv6フォーマットの各項目の説明です。

  • バージョン
    IPプロトコルのバージョン
    IPv4では"4"、IPv4では"6"

  • トラフィッククラス
    IPv4のType Of Serviceに該当
    Quality of Serviceとして利用が期待されている

  • フローラベル
    パケットの経路を統一するためのラベル。QoSに関わる。同じフローラベル、送信元IPアドレス、宛先IPアドレスをもつパケットは同じ経路で転送されるため、パケットが並び替えられることを防ぐことができる。

  • ペイロード長
    ヘッダ長は含まないペイロード部の長さ。
    なお、IPv6ヘッダは固定長であり、可変長の拡張ヘッダを利用した場合、その長さはペイロード長に含まれる。

  • ネクストヘッダ
    次に存在する拡張ヘッダーの種類を数字で示し、
    TCP/UDPなどの上位層ヘッダーも示すことができる
    複数の拡張ヘッダーを連結するために必要

  • ホップリミット
    IPv4の生存回数(TimeToLive)と同義。ルータを通過する度に1ずつ減算され、0になると該当パケットが破棄される

IPSec

IPSecはInternet Protocolに暗号化と認証の仕組みを追加したプロトコルです。まず、受信者と送信者の間でIKE(Internet Key Exchange Protocol)プロトコルを用いて、事前共有鍵(Pre-Shared Key)で通信路であるSA(Security Association)を確立します。この際、送信用と受信用の双方向のSAを確立する必要があります。

このSAが確立した状態で、実際のデータを運ぶのに必要になってくるプロトコルがAH or ESPというプロトコルです。情報漏洩や改ざんを防ぐ処理を行います。ESPが使われるケースが多いです。どちらもシーケンス番号を持ち、リプレイ攻撃の対策とされています。

AH(Authentication Header)認証ヘッダ
送信者認証データを含むヘッダーを追加するプロトコルです。パケットを受信した受信者はペイロードからの暗号化ハッシュ値をヘッダーと比較して、両方の値が一致することを確認し、データの完全性を保証します。HMACやAESに基づくC
MACが利用されることが多いです。データの暗号化は実施されていません。

ESP(Encapsulated Security Payload)カプセル可セキュリティペイロード
共通鍵暗号アルゴリズムによる暗号化に加えて、AHと同様に完全性を保証します。ESPヘッダにより、このヘッダ以降からESPトレーラまでが暗号化されていることが読み取れるようになるため、ESPヘッダは暗号化されません。

トランスポートモードとトンネルモード

IPSecのセキュリティ機能を担うAHとESPですが、どちらにもトランスポートモードとトンネルモードという通信モードが存在します。

各モードの認証、暗号化の範囲
  • トランスポートモード
    オリジナルデータのIPの後ろにAHヘッダかESPヘッダを付与するモードです。オリジナルのIPで通信が行われるため、IPsecが実装されたホスト間でのIPsec-VPNで主に利用されます。

  • トンネルモード
    オリジナルのIPパケット全体をカプセル化するモードです。IPsecが実装されたルータ間でのIPsec-VPNで主に利用されます。


この記事が気に入ったらサポートをしてみませんか?