この用語をシェア
TCP/IPとは
TCP/IP(Transmission Control Protocol/Internet Protocol)は、現代のインターネット通信を支える最も重要なプロトコル群(プロトコルスイート)です。厳密には単一のプロトコルではなく、通信の役割ごとに階層化された複数のプロトコルの集合体を指す名称です。
起源は1960年代末に米国防総省高等研究計画局(ARPA)が構築したパケット交換ネットワーク「ARPANET」に遡ります。当初のARPANETはNCP(Network Control Program)という単純なプロトコルで運用されていましたが、性質の異なる複数のネットワークを相互接続する必要性から、Vinton CerfとRobert Kahnが1974年の論文でTCPの原型となる考え方を提示しました。その後、機能をトランスポート層(TCP)とネットワーク層(IP)に分離する設計が採用され、1981年にIP(RFC 791)とTCP(RFC 793)としてそれぞれ文書化されています。ARPANETが正式にTCP/IPへ全面移行したのは1983年1月1日で、この日は「フラッグデー」と呼ばれ、インターネットの実質的な誕生日の一つとされています。
TCP/IPは特定のベンダーに依存しないオープンな標準として策定されたため、異なるメーカーのコンピューターやOSが同一のルールで通信できる環境を実現しました。現在はIETF(Internet Engineering Task Force)が仕様の維持・更新を継続しており、TCPの仕様自体も2022年に発行されたRFC 9293として全面的に整理・統合されています(旧RFC 793と複数の追補文書を統合した現行仕様)。
TCP/IPとしばしば比較されるのが、国際標準化機構(ISO)が策定した「OSI参照モデル」です。OSI参照モデルは通信機能を7つの階層に理論的に分割したモデルであるのに対し、TCP/IPは実装を前提に4つの階層へ簡略化した、より実務寄りのモデルです。両者のおおまかな対応関係は次の通りです。
| OSI参照モデル(7層) | TCP/IPモデル(4階層) | 代表的なプロトコル |
|---|---|---|
| 第7層 アプリケーション層 第6層 プレゼンテーション層 第5層 セッション層 | アプリケーション層 | HTTP/HTTPS, FTP, SMTP, DNS, SSH |
| 第4層 トランスポート層 | トランスポート層 | TCP, UDP |
| 第3層 ネットワーク層 | インターネット層 | IP(IPv4/IPv6), ICMP, ARP |
| 第2層 データリンク層 第1層 物理層 | ネットワークインターフェース層 | イーサネット, Wi-Fi, PPP |
TCP/IPの階層構造
TCP/IPは、通信機能を4つの階層に分けて定義しています。各階層は独立した役割を持ち、下位層が提供する機能に上位層が乗る形で協調しながらデータの送受信を実現します。この階層分離により、たとえば物理的な回線がイーサネットからWi-Fiに変わっても、上位のTCPやアプリケーションの実装を変更する必要がないという柔軟性が生まれます。
アプリケーション層
アプリケーション層は、ユーザーに直接見える部分で、HTTP/HTTPS、FTP、SMTP、DNSなどのプロトコルが動作します。Webブラウザやメールソフトなど、私たちが日常的に使用するアプリケーションはこの層で動作しています。近年はこの層の上でRESTやGraphQL、gRPCといったAPI設計方式が広く使われ、WebSocketのような双方向通信プロトコルも普及しています。
トランスポート層
トランスポート層では、TCPとUDP(User Datagram Protocol)が動作します。TCPは信頼性の高い通信を保証し、データが正確に届くことを確認します。一方、UDPは到達確認や再送を行わない代わりに低遅延・低オーバーヘッドを実現しており、リアルタイム性が求められる通信や、後述するQUICのような新しいプロトコルの土台として使用されます。この層ではさらに0〜65535番のポート番号によって、同一ホスト上で動作する複数のアプリケーションを識別します。
インターネット層
インターネット層は、IPプロトコルが担当し、データパケットの配送経路を決定します。IPアドレスを使用して、送信元から宛先までデータを届けるためのルーティングを行うほか、ICMP(経路上のエラー通知やpingで使われる)、ARP(IPアドレスからMACアドレスを解決する)といった補助プロトコルもこの層に属します。
ネットワークインターフェース層
ネットワークインターフェース層は、物理的なネットワークとの接続を担当します。イーサネットやWi-Fiなど、実際のハードウェアレベルでのデータ送受信を行います。この層で扱われるフレームサイズの上限(MTU)は、上位のIP層でのパケット分割にも影響します。
TCPの特徴と役割
TCP(Transmission Control Protocol)は、コネクション型の通信プロトコルです。通信を開始する前に「3ウェイハンドシェイク」と呼ばれる手順で接続を確立し、データの到達確認・順序保証・再送制御・輻輳制御を行うことで、パケットの欠落や順序の入れ替わりが起きても最終的にアプリケーション側には正しい順序でデータが届くことを保証します。
3ウェイハンドシェイクは、クライアントとサーバーがそれぞれのシーケンス番号を交換して同期する手順です。簡略化すると次のような流れになります。
クライアント サーバー
|------------ SYN ------------->| (seq=100 で接続要求)
|<--------- SYN + ACK ----------| (seq=300, ack=101 で応答)
|------------ ACK -------------->| (ack=301 で確立完了)
| |
|======= 以降、データ転送 ========|
通信終了時も同様に「4ウェイクローズ」と呼ばれる手順(FIN→ACK→FIN→ACKの順にやり取りする切断処理)で、双方向の通信路を安全に閉じます。
接続確立後は、受信側のバッファ状況に応じて送信量を調整する「フロー制御(ウィンドウ制御)」と、ネットワーク経路の混雑状況に応じて送信量を調整する「輻輳制御」が働きます。輻輳制御にはスロースタート・輻輳回避といったアルゴリズムがあり、実装としてはLinuxで長らく標準だったCUBIC、Googleが提案し高遅延・高帯域幅の回線で有利とされるBBR系のアルゴリズムなどが使われています。どのアルゴリズムを使うかによって、同じネットワーク条件でも実効スループットが変わることがあります。
アプリケーション層のプロトコルは、慣習的に決まったポート番号(ウェルノウンポート)を使ってTCP上で待ち受けています。代表的なものは次の通りです。
| ポート番号 | プロトコル | 用途 |
|---|---|---|
| 80 / 443 | HTTP / HTTPS | Webサイトの閲覧 |
| 22 | SSH | サーバーへのリモートログイン |
| 25 / 587 | SMTP | メール送信 |
| 53 | DNS | 名前解決(TCP/UDP両方を使用) |
IPの特徴と役割
IP(Internet Protocol)は、パケットを宛先まで届けるためのアドレッシングとルーティング機能を提供します。IPヘッダーにはバージョン、TTL(Time To Live、パケットが経由できるルーターの上限回数)、上位プロトコル種別、ヘッダーチェックサム、送信元・宛先IPアドレスなどのフィールドが含まれ、ルーターはこれらの情報をもとに次の転送先を決定します。
下位のネットワークインターフェース層が扱えるフレームサイズには上限(イーサネットでは一般に1500バイト程度のMTU)があるため、これを超えるサイズのパケットはIP層で分割(フラグメンテーション)されてから送信され、宛先側で再構成されます。分割・再構成はオーバーヘッドになるため、実務ではMTUを適切に設定してフラグメンテーションをできるだけ避ける設計が定石とされています。
現在、IPには32ビットのアドレス空間を持つIPv4と、128ビットのアドレス空間を持つIPv6の2つのバージョンが併存しています。IPv4のアドレス空間(約43億個)は枯渇が進んでおり、家庭やオフィスのルーターがNAT(Network Address Translation)でプライベートIPアドレスをグローバルIPアドレスに変換して、限られたグローバルアドレスを共有する運用が一般的です。長期的にはIPv6への移行が進められており、モバイル回線を中心にIPv6 Only環境も拡大しています。
具体的な通信の流れ・ユースケース
TCP/IPは、インターネットの基盤技術として、電子メール、Webブラウジング、ファイル転送、リモートアクセスなど、あらゆるネットワーク通信を支えています。オープンスタンダードとして公開されているため、異なるメーカーの機器やシステムが相互に通信できる環境を実現しました。実際にWebサイトへアクセスするときの通信は、おおむね次のような手順で進みます。
1. DNS(UDP/TCP 53番)で www.example.com を名前解決 → 93.184.216.34 のようなIPアドレスを取得
2. 宛先ポート443へTCPの3ウェイハンドシェイクを実施し、コネクションを確立
3. TLSハンドシェイク(鍵交換・サーバー証明書の検証)で暗号化された通信路を確立
4. 確立したTCPコネクション上でHTTPリクエストを送信し、HTTPレスポンス(HTML/CSS/JS等)を受信
5. 通信終了時はTCPの4ウェイクローズ(FIN/ACK)で接続を解放
この一連の流れの中に、DNS・TCP・TLS・HTTPという複数の階層のプロトコルが組み合わさっていることが分かります。TCP/IPが具体的に利用されている代表的なユースケースには、次のようなものがあります。
- Webブラウジング:HTTP/HTTPSがTCP上で動作し、ページの取得やAPI通信を行う。近年はHTTP/2やHTTP/3による高速化も進んでいる。
- 電子メール:送信はSMTP、受信はPOP3やIMAPが、いずれもTCP上のコネクションでやり取りされる。
- ファイル転送・リモート運用:FTP/SFTPによるファイル転送、SSHによるサーバーの遠隔操作はTCPの信頼性に依存している。
- 拠点間・在宅勤務のセキュアな接続:VPNはTCP/IPネットワークの上に暗号化トンネルを構築し、社内システムへの安全なアクセスを実現する。
- IoT機器・センサーネットワーク:MQTTなど軽量なプロトコルがTCP上で動作し、多数のセンサーからのデータ収集に使われる。
- クラウドサービス・マイクロサービス間通信:REST APIやgRPCによるサービス間連携も、下位ではTCP/IPの信頼性の上に成り立っている。
TCPとUDPの比較・メリットとデメリット
TCP/IPというと「TCPを使う通信」という印象を持たれがちですが、トランスポート層にはTCPとUDPという性質の異なる2つのプロトコルが存在し、用途に応じて使い分けられています。
| 項目 | TCP | UDP |
|---|---|---|
| 接続方式 | コネクション型(3ウェイハンドシェイク) | コネクションレス型 |
| 信頼性 | 到達確認・再送制御あり | 到達保証なし(ベストエフォート) |
| 順序保証 | あり(シーケンス番号で並べ替え) | なし |
| ヘッダーサイズ | 20バイト以上(オプション含む) | 8バイト |
| 主な用途 | Web、メール、ファイル転送、SSH | DNS問い合わせ、動画・音声配信、オンラインゲーム、QUICの基盤 |
TCP/IPのメリット
- 相互接続性:オープンな標準であるため、メーカーやOSが異なる機器同士でも問題なく通信できる。
- 階層分離による拡張性:下位層(回線種別)と上位層(アプリケーション)が独立しているため、片方の技術が変わってももう片方への影響が小さい。
- 実績豊富なエコシステム:40年以上運用されてきた実績があり、監視ツールや診断コマンド、ライブラリ、教材が豊富に存在する。
- 信頼性の高いデータ転送(TCP):再送制御・順序制御により、アプリケーション側で欠落や順序の乱れを意識せずに実装できる。
TCP/IPのデメリット・注意点
- ヘッダーオーバーヘッド:TCPは信頼性を担保するための制御情報が多く、UDPに比べてヘッダーサイズや処理負荷が大きい。
- 高遅延回線でのスループット低下:輻輳制御の仕組み上、往復遅延(RTT)が大きい回線ではウィンドウサイズの拡大に時間がかかり、実効速度が伸びにくい場合がある。
- リアルタイム性が求められる用途には不向き:再送待ちによる遅延が発生しうるため、音声・映像のストリーミングやオンラインゲームではUDPベースの独自プロトコルが選ばれることが多い。
- IPv4アドレス枯渇問題:NATによる回避が一般化している一方、エンドツーエンドの透過性が失われるなどの副作用もある。
- 標準状態でのセキュリティの薄さ:TCP/IP自体には暗号化や認証の仕組みが組み込まれておらず、平文で通信されるため、別途TLSやIPsecなどを重ねる必要がある。
混同されやすい用語・類似技術との違い
TCP/IPモデルとOSI参照モデル
どちらも通信を階層化して説明するモデルですが、OSI参照モデルは通信機能を体系的に整理するための「理論上の7層モデル」であるのに対し、TCP/IPは実際にインターネットで使われているプロトコル群を4階層に整理した「実装ベースのモデル」です。用語解説や試験対策ではOSIの7層が使われ、実際の通信機器やパケット解析ではTCP/IPの4階層で語られることが多く、両者を混同すると層の数が食い違って見えるため注意が必要です。
TCPとUDPの混同
「TCP/IP」という名称から、TCP/IP=TCPだけを指すと誤解されることがありますが、正しくはTCPとIPという2つの代表的なプロトコルの名前を組み合わせた、プロトコル群全体の総称です。トランスポート層にはTCPだけでなくUDPも含まれます。
IPv4とIPv6
どちらもIP(インターネット層)の実装ですが、アドレス長・ヘッダー形式・NATの要否などが大きく異なります。詳細はIPv6の用語解説を参照してください。
QUIC・HTTP/3との違い
QUICはUDPの上に構築された比較的新しいトランスポートプロトコルで、TCPの3ウェイハンドシェイクとTLSハンドシェイクを合わせて1往復(初回接続時)に短縮できる点が特徴です。HTTP/3はこのQUICを土台にしたHTTPの新バージョンで、「TCP/IPを置き換える」というより「トランスポート層の選択肢としてUDPベースのQUICを追加する」という位置づけに近い技術です。
ソケット通信との違い
「ソケット」はTCP/IPなどのプロトコルスタックをアプリケーションから利用するためのOS/プログラミング言語側のAPI(インターフェース)であり、プロトコルそのものではありません。TCP/IPは通信のルールを定義し、ソケットはそのルールに従った通信をコードから扱うための窓口という関係になります。
VPNとの違い
VPNはTCP/IPを置き換える技術ではなく、既存のTCP/IPネットワークの上に暗号化されたトンネルを構築して、あたかも専用線のように安全な通信路を提供する技術です。
実務におけるポイント・注意点
TCP/IP自体にはセキュリティ機能が限定的であるため、実務ではSSL/TLS、IPsec、VPNなどの技術を組み合わせて通信を保護するのが定石です。また、QoS(Quality of Service)機能により、音声通話など遅延に敏感なトラフィックを優先的に処理するといった通信品質の制御も可能になっています。
ネットワーク設計・運用の現場では、次のようなポイントに注意が必要です。
- ファイアウォール・NAT越え:必要なポートだけを開放し、不要な待ち受けポートは閉じる。NAT配下のサーバーを外部に公開する場合はポートフォワーディングの設定漏れに注意する。
- MTU設定:VPNやトンネリングを利用する環境ではオーバーヘッド分だけ実効MTUが小さくなるため、フラグメンテーションによる性能劣化やタイムアウトが起きていないか確認する。
- 輻輳制御アルゴリズムの選択:Linuxではnet.ipv4.tcp_congestion_controlなどのパラメータで輻輳制御アルゴリズム(CUBIC、BBR等)を切り替えられる。高遅延・高帯域幅の回線を多用するサービスでは検証の価値がある。
- 診断・トラブルシューティング:ping、traceroute(tracert)で疎通と経路を、netstatやssでソケットの状態を、tcpdumpやWiresharkでパケットの中身を確認するのが基本的な切り分け手順となる。
- TCPキープアライブとタイムアウト設定:ロードバランサーやプロキシを挟む構成では、コネクションのアイドルタイムアウト値の不一致が原因で接続が意図せず切断されることがあるため、各コンポーネントの設定値を揃えておく。
2025〜2026年の最新動向
IPv6への移行が着実に進んでおり、モバイル回線を中心にIPv6 Only+NAT64環境を採用するキャリアが増えています。IPv4アドレスの実質的な枯渇が続く中、新規に大規模なIPv4アドレス確保が難しくなっていることも移行を後押ししています。
トランスポート層では、UDPをベースにしたQUICと、それを利用するHTTP/3の採用が主要なCDN・ブラウザ・クラウドサービスで広がっています。QUICはコネクション確立にかかるラウンドトリップを削減できるため、モバイル環境やパケットロスが発生しやすい回線で体感速度の改善が期待されており、TCP+TLSの組み合わせを置き換える選択肢として実運用が拡大しています。あわせて、Googleが提案した輻輳制御アルゴリズムBBRの後継世代(BBRv2/BBRv3)の採用検討も進んでいます。
5Gやローカル5Gのような低遅延・多数同時接続を前提とするネットワークでは、TCP/IPのトランスポート層のチューニングや、SDN・SRv6(Segment Routing over IPv6)によるパケット経路の柔軟な制御が重要なテーマになっています。また、ゼロトラストネットワークの考え方が広がる中で、TCP/IP自体には認証機能がないという前提に立ち、通信のたびに端末・ユーザーを検証する仕組みと組み合わせる設計が一般的になりつつあります。
関連用語
- IPv6 - TCP/IPのインターネット層を担う次世代アドレッシング方式
- DNS - IPアドレスとドメイン名を対応付ける名前解決の仕組み
- VPN - TCP/IPネットワーク上に構築する暗号化トンネル技術
- QUIC - UDPをベースにした次世代トランスポートプロトコル
- HTTP/3 - QUIC上で動作する最新のHTTP
- SDN - ソフトウェアでネットワーク経路を制御する技術
- WebSocket - TCP上で双方向のリアルタイム通信を行うプロトコル
外部リンク・参考資料
- RFC 791 - Internet Protocol(IETF)
- RFC 9293 - Transmission Control Protocol(IETF、TCPの現行仕様)
- IANA Service Name and Transport Protocol Port Number Registry
- Cloudflare Learning Center - What is the Internet Protocol?
TCPとUDPの違い
トランスポート層で動作する代表的なプロトコルには、信頼性を重視するTCPと、速度を重視するUDPがあります。用途に応じて使い分けられており、両者の違いを理解することはネットワーク設計において重要です。
| 項目 | TCP | UDP |
|---|---|---|
| 接続方式 | コネクション型(3ウェイハンドシェイク) | コネクションレス型 |
| 信頼性 | 再送制御・順序保証あり | 再送制御・順序保証なし |
| ヘッダサイズ | 20バイト以上 | 8バイト |
| 通信速度 | 制御のためオーバーヘッドがある | オーバーヘッドが少なく高速 |
| 主な用途 | Webアクセス(HTTP/HTTPS)、メール(SMTP)、ファイル転送(FTP) | DNS問い合わせ、動画・音声ストリーミング、オンラインゲーム |
具体例:TCP/IP通信を確認するコマンド
実際のTCP/IP通信は、OS標準のコマンドで確認できます。以下は代表的な確認コマンドの例です。
- ping:ICMPを使って対象ホストへの疎通を確認する(例:
ping 8.8.8.8) - traceroute(Windowsではtracert):宛先までの経路上のルーターを表示する(例:
traceroute example.com) - netstat:ローカルホストで確立しているTCP/UDPコネクションの一覧を表示する(例:
netstat -an) - curl / telnet:特定のポートに対してTCP接続を試み、アプリケーション層の応答を確認する(例:
curl -v https://example.com)
IPアドレスの表記にはIPv4(例: 192.168.1.1)とIPv6(例: 2001:0db8::1)があり、サブネットマスクやプレフィックス長(例: /24)でネットワーク範囲を指定します。
TCP/IPのメリット・デメリット
メリット
- ベンダーやOSに依存しないオープンな標準規格であり、異なる機器同士が相互に通信できる
- 階層構造になっているため、各層を独立して改良・置き換えできる(例: 物理層をWi-Fiから光回線に変更してもアプリケーション層は影響を受けない)
- 世界中で採用されている実績があり、豊富なツールやドキュメントが存在する
デメリット
- プロトコル自体には暗号化機能がなく、TLS/SSLやIPsecなど別の仕組みで補う必要がある
- IPv4アドレスの枯渇により、IPv6への移行やNAT(アドレス変換)といった対応が必要になる
- 階層をまたぐ通信のトラブルシューティングには、各層のプロトコルに関する知識が求められる
実務での活用シーンと導入時の注意点
TCP/IPはインフラ設計、サーバー構築、アプリケーション開発など、あらゆるIT業務の基盤知識として活用されます。社内ネットワークのIPアドレス設計、クラウド環境でのVPC(仮想ネットワーク)構築、APIサーバーの通信トラブルシューティングなどの場面で理解が求められます。
導入・設計時の注意点として、以下が挙げられます。
- IPアドレスの割り当て計画(サブネット設計)を事前に行い、将来の拡張性を考慮する
- ファイアウォールやセキュリティグループで、必要なポート・プロトコルのみを許可する最小権限の原則を徹底する
- IPv4アドレス枯渇に備え、新規システムではIPv6対応を検討する
関連用語
- DNS - ドメイン名をIPアドレスに変換する仕組み
- IPv6 - IPv4に代わる次世代インターネットプロトコル
- HTTP/2、HTTP/3 - TCP/IPの上位層で動作するWeb通信プロトコル
- QUIC - UDPをベースにした次世代トランスポートプロトコル
- VPN - TCP/IPネットワーク上に安全な通信路を構築する技術
- API - TCP/IP上で動作するアプリケーション間連携の仕組み
参考リンク
よくある質問(FAQ)
Q. TCP/IPとは何ですか
TCP/IP(Transmission Control Protocol/Internet Protocol)は、インターネットをはじめとするネットワーク通信の基盤となるプロトコル群です。TCPとIPという代表的な2つのプロトコルの名前を組み合わせた総称で、実際にはトランスポート層のTCP・UDPとインターネット層のIPなど、複数のプロトコルの集合体を指します。
Q. TCP/IPの階層構造はOSI参照モデルと何が違いますか
OSI参照モデルは通信機能を体系的に整理した理論上の7層モデルであるのに対し、TCP/IPは実際に使われているプロトコルを前提に4階層へ簡略化した実装ベースのモデルです。層の数え方が異なるため、対応表で読み替えると理解しやすくなります。
Q. TCPとUDPはどちらを使うべきですか
信頼性や順序保証が必要なWebサイト閲覧・ファイル転送・メールなどにはTCPが、低遅延を優先する動画配信・オンラインゲーム・DNS問い合わせなどにはUDPが適しています。用途に応じて使い分けるのが一般的です。
Q. TCP/IPは今後QUICやHTTP/3に置き換わりますか
完全な置き換えというより、UDPベースのQUICがトランスポート層の新しい選択肢として広がっている段階です。QUICはコネクション確立の往復回数を減らせる利点があり、主要なCDNやブラウザで採用が進んでいますが、TCP自体も多くの用途で使われ続けています。
Q. TCP/IPの主な用途・メリットは
電子メール、Webブラウジング、ファイル転送、リモートアクセス、VPN、IoT機器通信など幅広い分野で活用されています。オープンな標準であるため、メーカーやOSが異なる機器同士でも相互に通信できる点が大きなメリットです。
Q. 2025-2026年のTCP/IPの最新動向は
IPv6への移行拡大、QUIC/HTTP3の普及、BBR系輻輳制御アルゴリズムの採用検討、5G・ローカル5Gにおけるトランスポート層のチューニング、ゼロトラストの考え方に基づくセキュリティ強化などが進んでいます。
Q. TCPとUDPはどう違いますか
TCPはコネクション型で信頼性の高い通信を行い、UDPはコネクションレス型で速度を優先します。Webやメールなど正確性が求められる通信にはTCP、動画配信やオンラインゲームなど速度が求められる通信にはUDPが使われる傾向があります。
Q. TCP/IPモデルとOSI参照モデルは何が違いますか
TCP/IPモデルは4階層(アプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層)で構成される実装ベースのモデルです。一方OSI参照モデルは7階層で構成される概念的なモデルであり、実際のインターネット通信はTCP/IPモデルに基づいて実装されています。
