最終更新日:2026年8月12日
fe fe-technology network tcp-ip
まず結論
TCPコネクションは、送信元IPアドレス・送信元TCPポート番号・宛先IPアドレス・宛先TCPポート番号の4つの組合せで識別します。
送信元IPアドレス
+
送信元TCPポート番号
+
宛先IPアドレス
+
宛先TCPポート番号
↓
TCPコネクションを識別
この4つの組合せは、4タプル(four-tuple)と呼ばれます。
基本情報技術者試験では、次のように切り分けると判断しやすくなります。
MACアドレス
→ TCPコネクションの識別には不要
IPアドレスが送信元・宛先の両方ある
+
TCPポート番号が送信元・宛先の両方ある
→ TCPコネクションを識別できる
直感的な説明
TCP通信は、「どのコンピュータの、どのアプリケーションから、どのコンピュータの、どのアプリケーションへ通信しているか」を区別する必要があります。
IPアドレス
→ どのホストか
ポート番号
→ そのホスト内のどのアプリケーションか
たとえば、1台のPCから同じWebサーバへ複数のTCP通信を行うことがあります。
192.168.1.10:50001 → 203.0.113.10:443
192.168.1.10:50002 → 203.0.113.10:443
192.168.1.10:50003 → 203.0.113.10:443
宛先IPアドレスと宛先ポート番号は同じでも、送信元ポート番号が異なるため、別々のTCPコネクションとして区別できます。
つまり、宛先だけを見るのではなく、送信元と宛先の両方を見ることがポイントです。
定義・仕組み
IPアドレスの役割
IPアドレスは、ネットワーク上のホストを識別するために使います。
送信元IPアドレス
→ どのホストから送られたか
宛先IPアドレス
→ どのホストへ届けるか
IPアドレスだけでは、同じホスト上で動いている複数のアプリケーションを区別できません。
TCPポート番号の役割
TCPポート番号は、ホスト内の通信先となるアプリケーションやプロセスを区別するために使います。
IPアドレス
→ 建物を特定するイメージ
ポート番号
→ 建物の中の部屋を特定するイメージ
そのため、TCPコネクションを識別するには、IPアドレスとポート番号の両方が必要です。
送信元と宛先の両方が必要
TCPでは、同じサーバの同じサービスへ複数のクライアントが同時に接続できます。
また、同じクライアントから同じサーバへ複数のコネクションを確立することもできます。
そのため、次の4つを組み合わせて区別します。
| 情報 | 役割 |
|---|---|
| 送信元IPアドレス | 送信側のホストを識別 |
| 送信元TCPポート番号 | 送信側の通信を識別 |
| 宛先IPアドレス | 受信側のホストを識別 |
| 宛先TCPポート番号 | 受信側のサービスや通信を識別 |
MACアドレスはなぜ含まれない?
MACアドレスは、主に同一リンク上でフレームを届けるための情報です。
ルータを越える通信では、リンクごとにフレームが作り直されるため、送信元MACアドレスと宛先MACアドレスは途中で変わります。
PC
↓ MACアドレスA・B
ルータ
↓ MACアドレスC・D
ルータ
↓ MACアドレスE・F
Webサーバ
一方、TCPコネクションを識別する4つの情報は、TCP/IP通信の端点を表します。
したがって、MACアドレスはTCPコネクションを識別する情報には含めません。
MACアドレスとIPアドレスをネットワーク機器の役割とあわせて整理したい場合は、ルータ・ブリッジ・リピータ・ゲートウェイの違いも確認しておくと理解しやすくなります。
科目Aでどう出る?
科目Aでは、MACアドレス・IPアドレス・ポート番号のうち、TCPコネクションの識別に必要な情報を選ばせる問題が出ます。
試験中の判断手順
1. MACアドレスが必要とされていないか確認
2. 送信元IPと宛先IPがあるか確認
3. 送信元ポートと宛先ポートがあるか確認
次の4つがそろっていれば、TCPコネクションを識別できます。
送信元IP
送信元ポート
宛先IP
宛先ポート
選択肢を切る判断表
| 選択肢の特徴 | 判断 |
|---|---|
| MACアドレスまで必須としている | TCPコネクション識別には不要 |
| 宛先IPだけ | 送信元を区別できない |
| 送信元・宛先IPだけ | 同じホスト内の複数通信を区別できない |
| IPは両側あるがポートが片側だけ | 情報不足 |
| 送信元・宛先のIPとポートが全てある | 正解候補 |
「宛先だけ分かればよい」に注意
パケットを宛先へ届けることと、TCPコネクションを識別することは別です。
パケットを宛先ホストへ届ける
→ 宛先IPアドレスが重要
TCPコネクションを区別する
→ 送信元・宛先のIPとポートが必要
問題文が「TCPのコネクションを識別する」と聞いている場合は、4タプルを思い出します。
どんな場面で使う?
TCPでは、Web閲覧、メール、ファイル転送など、多数の通信を同時に扱います。
たとえばWebサーバでは、多数の利用者が同じTCPポート443へ接続します。
利用者A:51001 → Webサーバ:443
利用者B:52001 → Webサーバ:443
利用者C:53001 → Webサーバ:443
宛先ポートが同じでも、送信元IPアドレスや送信元ポート番号が異なるため、それぞれ別のTCPコネクションとして管理できます。
この仕組みによって、サーバは多数の通信を同時に区別して処理できます。
よくある誤解・混同
MACアドレスも通信相手を表すので必要
TCPコネクションの識別には不要です。
MACアドレスはデータリンク層で使われ、ルータを越えるたびに通信区間に応じた値へ変わります。
MACアドレス
→ 近くの通信区間で使う
IPアドレス
→ ネットワーク上のホストを識別
ポート番号
→ ホスト内のアプリケーションを識別
IPアドレスが2つあれば通信を一意に識別できる
同じ2台のホスト間でも複数のTCP通信を同時に行えるため、IPアドレスだけでは不足します。
ポート番号まで含めて区別します。
宛先ポート番号だけ分かればよい
同じサービスへ複数のクライアントが接続できるため、宛先ポート番号だけでは区別できません。
送信元側のIPアドレスとポート番号も必要です。
ポート番号はコンピュータそのものを識別する番号
誤りです。
IPアドレス
→ ホスト
ポート番号
→ ホスト内の通信先
この役割の違いを押さえます。
まとめ(試験直前用)
- TCPコネクションは4つの情報の組合せで識別する
- 送信元IP・送信元ポート・宛先IP・宛先ポートの4つが必要
- IPアドレスはホスト、ポート番号はホスト内の通信先を識別する
- MACアドレスはTCPコネクション識別には使わない
- MACアドレスはルータを越える通信では区間ごとに変わる
- 「TCPコネクションを識別」と出たら4タプルを思い出す
送信元IP+送信元ポート+宛先IP+宛先ポート = TCPコネクション。