IPv4

2023-10-15 (日) 20:24:53

IPv4 とは

  • ネットワーク層(OSI参照モデル)の通信プロトコル
  • IPのバージョン4
  • ヘッダは可変長

IPv4 のIPアドレス

  • IPアドレスのサイズは、4バイト(32bit)
    • 8bit × 4 = 32bit
    • 2^32(42億9496万7296)個の固有アドレスを識別できる。

IPv4 のIPアドレスの種類

(ローカル)ループバックアドレス

  • 自身のアドレス。127.0.0.1 (localhost)が一般的に使われる。
  • 127.0.0.0/8
    • (127.0.0.0 〜 127.255.255.254)

プライベートアドレス

クラスA:ネットワーク部(8bit:0~)、ホスト部(24bit)

  • 10.0.0.0/8
    • (10.0.0.0 〜 10.255.255.255)
    • サブネットマスク(255.0.0.0 〜 255.255.255.255)
  • 100.64.0.0/10
    • Shared Address Space
      • CGNで使われる
    • (10.64.0.0 〜 10.127.255.255)
    • サブネットマスク(255.0.0.0 〜 255.192.0.0)

クラスB:ネットワーク部(16bit:10~)、ホスト部(16bit)

  • 172.16.0.0/12
    • (172.16.0.0 〜 172.31.255.255)
    • サブネットマスク(255.255.0.0 〜 255.255.255.255)
    • 約65000台のホストの割り当てが可能

クラスC:ネットワーク部(24bit:110~)、ホスト部(8bit)

  • 192.168.0.0/16
    • (192.168.0.0 〜 192.168.255.255)
    • サブネットマスク(255.255.255.0 〜 255.255.255.255)
    • 約250台のホストの割り当てが可能

リンクローカルアドレス

  • DHCPサーバからIPアドレスを割り当てられなかった場合に自動的に設定する(APIPA
  • 同一リンク上でのみ有効なアドレス
  • 169.254.0.0/16
    • (169.254.0.0 〜 169.254.255.255)

テストネットワーク用アドレス

  • テストや例示で使うためのアドレス
  • 192.0.2.0/24
    • (192.0.2.0 〜 192.0.2.255)
  • 198.51.100.0/24
    • (198.51.100.0 〜 198.51.100.255)
  • 203.0.113.0/24
    • (203.0.113.0 〜 203.0.113.255)

マルチキャストアドレス

クラスD:ネットワーク部(4bit:1110~)、ホスト部(28bit)

  • ホストの全体を指すアドレス
  • 224.0.0.0/4
    • (224.0.0.0 〜 239.255.255.255)

実験用アドレス

クラスE:ネットワーク部(4bit:1111~)、ホスト部(28bit)

  • 240.0.0.0/4
    • (240.0.0.0~255.255.255.255)

制限ブロードキャストアドレス(リミテッドブロードキャストアドレス)

  • 同じサブネットの全てのホストを宛先として指定するブロードキャストアドレス
  • 255.255.255.255

ネットワークアドレス

  • 0.0.0.0/8

IP(IPv4)のデータ構造

IPヘッダ

  • 1〜32bit
    • バージョン(4) ※0x04(バージョン4)
    • ヘッダ長(IHL)(4) ※単位:4Byte(20Byteの場合、0x05)
    • サービスタイプ(ToS)(8)
    • 全長(16) ※IPヘッダを含めたIPパケットの長さ
  • 33〜64bit
    • 識別子(16)
    • フラグ(3)
    • フラグメントオフセット(13)
  • 65〜96bit
    • パケット生存時間(TTL)(8) ※通過可能なルータの最大数(0〜255)。ルータを経由する度にカウントダウンする
    • プロトコル番号(8)
    • チェックサム(16) ※IPヘッダの誤り検出に使われる
  • 97〜128bit
    • 発信元IPアドレス(32)
  • 129〜160bit(20Byte)
    • 宛先IPアドレス(32)
  • 161〜(+32×n bit)bit
    • オプション(可変長)
    • パディング(可変長)

フラグ

  • IPパケットの分割の制御に使われる
    • 1bit目:0(固定)
    • 2bit目:DFビット(0:分割可能、1:分割不可能)
    • 3bit目:MFビット(0:最後のフラグメント、1:後続フラグメントあり)

プロトコル番号

IPv4 で使われる機能

経路MTU探索(パスMTU探索)

  • フラグメント処理が行われないように送信元から送信先までの通信経路上の最小MTUを確認する機能
    • IPヘッダのフラグフィールドのDFビットとICMPメッセージを組み合わせて行われる
    • ICMP:タイプ3(宛先到達不可能通知)、コード4(フラグメント要求、DFフラフがセットされている)

IPv6 と比較したIPv4 の性質・特徴

  • ネットワーク機器の負担
    • ヘッダーが可変長であることが、ネットワーク機器に負担がかかることとなり、パフォーマンスを低下させる要因となっている。

IPv4の脆弱性

  • パケットの暗号化が標準的に装備されていない

IPv4 アドレス在庫枯渇問題

  • インターネットに接続する端末の増加により、IPv4 アドレスの中央在庫が枯渇して、新しいIPv4 アドレスが供給されなくなる問題。

対策

  • CIDR
  • NAT
  • プライベートアドレス

関連サイト

  • 予約されているIPアドレス
    • 例示で使うことが認められているIPアドレス(テストネットワーク用アドレス)(RFC5737)
    • IPv4 Address Blocks Reserved for Documentation
      https://tools.ietf.org/html/rfc5737

関連用語