TCP/IPモデル入門:4層構造と代表的プロトコル、歴史と最新動向を徹底解説

TCP/IPモデルとは

TCP/IPモデルは、インターネットやIPネットワーク上でデータ通信を行うための概念的な階層モデルです。正式な名前は「TCP/IPプロトコルスイート」ですが、階層構造を説明するために「TCP/IPモデル」と呼ばれます。主に4層(リンク層、インターネット層、トランスポート層、アプリケーション層)で説明され、各層が担当する役割と代表的なプロトコルが定義されています。

歴史的背景と位置づけ

TCP/IPは1970年代に米国防総省の研究プロジェクト(ARPANETの発展)から生まれ、RFC(Request for Comments)として標準化されました。OSI参照モデル(7層モデル)とは異なり、TCP/IPモデルは実装志向であり、インターネット上で広く採用された結果、事実上の標準として定着しました。

  • 初期の主要RFC: RFC 791(IPv4)、RFC 793(TCP)、RFC 768(UDP)、RFC 826(ARP)など。
  • 現代のIPv6仕様はRFC 8200で定義されています。
  • OSIモデルは教育的な参照フレームとして有用だが、インターネットの実装はTCP/IPを中心に発展している。

TCP/IPモデルの4層構造(概要)

  • リンク層(Link layer): 物理的・データリンク的なフレームの送受信を扱う。Ethernet、Wi‑Fi、ARPなど。
  • インターネット層(Internet layer): ホスト間ルーティングと論理アドレッシング(IPアドレス)を担う。IPv4、IPv6、ICMPなど。
  • トランスポート層(Transport layer): アプリケーション間の通信の信頼性、流量制御、ポートによる多重化を提供。TCP、UDP、SCTPなど。
  • アプリケーション層(Application layer): 実際のアプリケーションプロトコル。HTTP、DNS、SMTP、SSHなど。

各層の詳細と代表的プロトコル

リンク層(Link layer)

物理メディアでのフレーム伝送やMACアドレスによる識別を扱います。ネットワークインターフェースカード(NIC)、スイッチ、ブリッジなどが関連する領域です。

  • 代表的プロトコル: Ethernet(IEEE 802.3)、Wi‑Fi(IEEE 802.11)、PPP、ARP(アドレス解決プロトコル)
  • 役割: フレームの成形、エラーチェック(FCS)、MACアドレスの処理、ブロードキャスト/マルチキャストのレイヤ
  • 注意点: MTU(最大転送単位)に関する制約とフラグメンテーションの影響

インターネット層(Internet layer)

ネットワーク間ルーティングと論理アドレッシング(IP)を提供します。IPは「パケット(データグラム)」単位で処理し、最適経路の選択やルータによる転送が行われます。

  • 代表的プロトコル: IPv4(RFC 791)、IPv6(RFC 8200)、ICMP(RFC 792)
  • 主要機能: IPアドレスによる宛先指定、経路選択(ルーティング)、断片化(IPv4でルータが可能、IPv6では原則ホスト側でPMTUで対応)
  • 重要な概念: サブネット、CIDR(プレフィックス長)、NAT(Network Address Translation)

トランスポート層(Transport layer)

アプリケーションプロセス間の論理通信を提供し、信頼性や多重化(ポート番号)を扱います。トランスポート層の選択はアプリケーションの要求(信頼性、遅延、オーバーヘッド)に依存します。

  • 代表的プロトコル: TCP(RFC 793)、UDP(RFC 768)、SCTP
  • TCP: コネクション指向、信頼性(再送)、順序制御、フロー制御、輻輳制御(例: AIMD, Reno, Cubic)
  • UDP: コネクションレス、低遅延でオーバーヘッド小、リアルタイム通信やDNSなどに利用
  • ポート番号: 0–65535、Well-knownポート(0–1023)、登録済みポート(1024–49151)など

アプリケーション層(Application layer)

ユーザが直接利用するプロトコル群で、データの表現と通信の語彙を定義します。多くはトランスポート層の上で動作しますが、QUICのようにUDP上で独立して動く新しいトランスポートを用いる例もあります。

  • 代表的プロトコル: HTTP/HTTPS、DNS、SMTP、FTP、SSH、TLS(トランスポートのセキュリティ)
  • 近年の動向: HTTP/3とQUIC(QUICはUDP上に独自のトランスポートと暗号化を実装、RFC 9000)

パケットのカプセル化と呼称

データが通信を進める際、各層でヘッダ(時にトレイラ)が付加されます。呼称は層ごとに変わりますが、流れを把握することが重要です。

  • アプリケーションデータ(例: HTTPメッセージ)
  • トランスポート層: セグメント(TCP)/データグラム(UDP)
  • インターネット層: パケット(IPパケット)
  • リンク層: フレーム(Ethernetフレーム)

IPアドレッシングとルーティング

IPアドレスはホストを一意に識別します。IPv4は32ビット、IPv6は128ビットアドレス空間を持ちます。ルータはルーティングテーブルに基づいてパケットを転送し、BGPなどのプロトコルで経路情報が交換されます。

  • IPv4の枯渇とIPv6の必要性(アドレス空間の拡張)
  • BGP(Border Gateway Protocol)はインターネットのバックボーンでAS間の経路を制御(RFC 4271)
  • ルーティングアルゴリズム: 最短経路、距離ベクトル、リンク状態など

信頼性・輻輳制御・フロー制御

トランスポート層(特にTCP)は信頼性(再送、確認応答)、順序制御、フロー制御(受信ウィンドウ)、輻輳制御(ネットワークの混雑緩和)を提供します。輻輳制御はネットワーク全体の安定性に重要で、TCPのアルゴリズム進化(Reno、Cubicなど)が行われてきました。

セキュリティと脅威

TCP/IPモデル固有の脆弱性と対策を理解することは重要です。

  • IP偽装(IPスプーフィング)、SYNフラッド(DoS攻撃)などのトランスポート層攻撃
  • DNSキャッシュポイズニング、BGPハイジャックによる経路乗っ取り
  • パケット盗聴や改竄に対する対策: TLSによる暗号化、IPsecによるネットワーク層の保護
  • NATによるアドレス変換は利便性があるが、プロトコル互換性やエンドツーエンドのセキュリティに影響を与える

デバッグと運用で使うツール

  • ping: ICMPエコーで到達性確認
  • traceroute/tracert: 経路の可視化(ICMP/UDP/TCPの利用差)
  • tcpdump / tshark / Wireshark: パケットキャプチャと解析
  • netstat / ss: ソケットと接続状態の確認
  • dig / nslookup: DNS問い合わせの検査

実際の通信フロー(例: Webブラウジング)

HTTP over TLS(HTTPS)での典型的なパケット流れを簡略に示します。

  • 1) DNSルックアップ(UDPあるいはDNS over HTTPS/TLS)でサーバのIP取得
  • 2) TCPハンドシェイク(SYN → SYN/ACK → ACK)で接続確立
  • 3) TLSハンドシェイク(暗号ネゴシエーションと鍵交換)
  • 4) HTTPリクエスト送信(暗号化されたデータがトランスポート層でセグメント化)
  • 5) サーバ応答受信、必要に応じて再送やウィンドウ調整
  • 6) 通信終了後にTCPの4ウェイ/3ウェイ終了手続き

進化と最新動向

  • QUIC(HTTP/3): UDP上で動作する新しいトランスポート、接続確立の高速化と組み込み暗号(RFC 9000)
  • IPv6の普及: アドレス空間と拡張ヘッダ、セキュリティ機能の注意点
  • SDN(Software Defined Networking)やネットワーク仮想化(NFV)による運用の変化
  • 暗号化の普及(TLS 1.3など)によるパケットの中身の可視化困難化と新たな監視手法の必要性

運用上のベストプラクティス

  • 適切なサブネット設計とIPアドレス管理(IPAM)の導入
  • モニタリングとログ収集による可観測性の確保(フロー収集、パケットキャプチャの計画)
  • セキュリティ対策: パッチ適用、ファイアウォールルール、TLSの強制、BGPセキュリティ(RPKIなど)
  • 性能対策: MTUの調整、CDNやキャッシュの活用、適切な輻輳制御の理解

まとめ

TCP/IPモデルはインターネット通信の中心的概念であり、各層の役割を理解することはネットワーク設計・運用・トラブルシューティングに不可欠です。OSIモデルほど細かく層分けされてはいないものの、実装と運用に密接に結びついた実務的なモデルとして広く使われています。近年はQUICやIPv6、SDNといった技術が登場し、モデルの上位・下位に新たな変化をもたらしていますが、基本原理(アドレッシング、ルーティング、信頼性、暗号化など)は今も変わらず重要です。

参考文献