インターネットプロトコルIP)は、ネットワークの境界を越えてデータを中継するための、インターネットプロトコルスイートの中で最も重要な通信プロトコルです。基本的にはインターネットを構築するものである。従来、IPは接続性を提供するものではなく、パケットをどのように生成するかを指定するだけでした。この機能は、TCP(Transmission Control Protocol)によって実現されていました。どちらか一方が欠けてもその役割を果たせないため、お互いに依存していることを示すためにTCP/IPと呼ばれるようになりました。

IPは、郵便システムのようなものだと思ってください。荷物に宛名を書いてシステムに投函することはできますが、あなたと受取人の間には実際の直接的なつながりはありません。その代わりに、相互に接続されたリンクの「ウェブ」があります。ここで登場するのがIPとTCPです。IPはパケットの宛先とそこへの行き方を伝え、TCPはパケットのエラーをチェックし、エラーを検出したら「再送」を要求することで、信頼できる接続を確保します。



IPの基本的な性質

  • コネクションレス(Connectionless):IP自体は接続を確立しない。各パケットは独立して送られ、経路や到着順はそれぞれ異なることがある。
  • ベストエフォート(Best-effort):IPはパケット配送を保証しない。パケットの遅延・損失・重複・順序の入れ替わりが起こる可能性があり、それらの補償は上位のプロトコル(例:TCP)が行う。
  • 階層構造:IPは「ネットワーク層」に位置し、下位のリンク層(イーサネットなど)と上位のトランスポート層(TCP/UDPなど)をつなぐ役割を持つ。

IPアドレスとアドレス体系

  • IPv4:従来の形式で、32ビットのアドレスを用いる。一般に「192.0.2.1」のようなドット区切りの10進表記(dotted decimal)で表される。アドレス枯渇を受け、CIDR(クラスレスドメイン間ルーティング)による柔軟なサブネット指定が広く使われている。
  • IPv6:128ビットのアドレスを用い、16進のコロン区切り(例:2001:db8::1)で表される。アドレス空間が大幅に拡張され、オートコンフィギュレーションや拡張ヘッダなどIPv4と異なる設計がある。
  • プライベートアドレスとNAT:IPv4の枯渇に対応して、社内ネットワーク向けのプライベートアドレス(例:192.168.x.x)が使われる。これらをインターネットに接続する際はNAT(Network Address Translation)で外部アドレスに変換することが多い。

パケット(IPパケット)とヘッダの構造(概略)

IPパケットは「ヘッダ」と「ペイロード(上位プロトコルのデータ)」から成る。ヘッダにはルーティングや制御に必要な情報が含まれる。代表的なフィールド(IPv4を例に簡略化):

  • バージョン(Version)
  • ヘッダ長(IHL)
  • サービス種別 / DSCP(QoS関連)
  • 全長(Total Length)
  • 識別 / フラグ / 断片化オフセット(フラグメンテーション関連)
  • TTL(Time To Live):ルータを通過するごとに減少し、0になると廃棄される(ループ防止)
  • プロトコル:上位に渡すプロトコルを示す(例:6=TCP、17=UDP)
  • ヘッダチェックサム(IPv4のみ)
  • 送信元/宛先IPアドレス

IPv6ではヘッダが簡素化され、チェックサムが廃止されるなどの違いがあり、拡張ヘッダでオプション機能を付加する方式を採る。

ルーティングと転送の仕組み

  • ネットワーク上の各ルータは「ルーティングテーブル」を持ち、宛先IPに基づいてどの外向きインターフェイスへ転送するかを決める。
  • 最適経路は静的ルート/動的ルーティングプロトコル(OSPF、BGP、RIPなど)により決定される。インターネットのバックボーンでは主にBGPが用いられる。
  • パケットは経路途中で分割(フラグメンテーション)されることがある。MTU(Maximum Transmission Unit)より大きいパケットは分割され、受信側で再構成される。

TCPとの関係(TCP/IP)および他のトランスポート層プロトコル

  • TCP(Transmission Control Protocol):信頼性のあるコネクション指向のプロトコル。順序制御、再送、フロー制御、コングestion制御を行い、HTTPやSMTPなど多くのアプリケーションで使われる。
  • UDP(User Datagram Protocol):簡易で遅延が小さいコネクションレスのプロトコル。DNS、音声・映像ストリーミング、DHCPなど遅延やオーバーヘッドの少なさが優先される用途で使われる。
  • IPはこれらトランスポート層のデータを「ペイロード」として運搬する役割を担うため、TCPとIPはセットで利用されることが多く、まとめて「TCP/IP」と呼ばれる。

補助プロトコルとセキュリティ

  • ARP(Address Resolution Protocol):IPv4アドレスをリンク層のMACアドレスに変換するための仕組み(同一ネットワーク内)。
  • NDP(Neighbor Discovery Protocol):IPv6でARPに相当する機能やアドレス自動設定を提供する。
  • ICMP(Internet Control Message Protocol):ネットワークのエラーメッセージや診断(pingやtracerouteに利用)を伝えるためのプロトコル。
  • IPsec:IP層での暗号化・認証を行い、VPNやセキュアな通信に用いられる。

実用例と注意点

  • ウェブ閲覧:アプリケーション(ブラウザ)→TCP(信頼と順序)→IP(ルーティング)→リンク層(Ethernet/Wi‑Fi)という流れでデータが送られる。
  • ストリーミングやVoIP:UDP+IPの組合せが多い。パケット損失を許容してでも遅延を抑える設計。
  • ネットワーク設計では、アドレス計画(サブネット割当)、MTU設定、NATやファイアウォールの挙動、ルーティングポリシーなどを総合的に考慮する必要がある。

まとめ

IPはインターネットの"道"を作るプロトコルであり、パケットを宛先まで運ぶためのルールと情報を提供する。一方で信頼性や順序保証を行わないため、その上で動作するTCPやUDPなどのトランスポート層プロトコルと組み合わされて初めて、さまざまな通信サービスが実現される。IPv4からIPv6への移行、NATやセキュリティ技術の適用など、実運用では多くの周辺技術と合わせて理解することが重要です。