基本情報技術者 2013年 春期 午前(科目A) 問35
問題文
TCP/IPのネットワークにおいて、TCPのコネクションを識別するために必要な情報の組合せはどれか。ここで、必要な情報は“○“で表し、不要な情報は“דで表す。

選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
TCPコネクション識別情報【午前解説】
正解の理由
正解は ウ です。TCPコネクションは送信元IPアドレス・送信元TCPポート・宛先IPアドレス・宛先TCPポート、すなわち4つの要素によって一意に識別されます(これを4タプルと呼びます)。MACアドレスはイーサネットなどのリンク層でフレームを配送するための情報であり、ルータを越えるごとに変わるため、エンドツーエンドのTCP接続の識別子としては使用できません。したがって、ウの表記(MACは×、IPと両ポートが○)が正しい組合せです。
解法ステップ
- 問題文で「TCPのコネクションを識別するために必要な情報」を問われていることを確認する。
- TCPがトランスポート層であり、識別に使うのはIPアドレスとポート番号であることを思い出す。
- MACはリンク層でルータを越えると変わるため不要と判断する。
- 表の各行が示す○×と比較して、送信元IP・送信元ポート・宛先IP・宛先ポートがすべて○になっている行を選ぶ(ウが該当)。
選択肢別の誤答解説
- ア:宛先IPと宛先ポートだけを○にしているが、送信元IPや送信元ポートがないため、双方向のコネクションを一意に識別できません。誤りです。
- イ:送受信のIPはあるがポート番号が示されていないため,同一ホスト間で複数の接続がある場合に区別できず誤りです。
- ウ:宛先/送信元のIPアドレスとTCPポート番号が全て○で、MACは×になっているため,TCPコネクション識別に必要十分な4タプルとなり正解です(ウ)。
- エ:MACアドレスまで含めているが,MACはホップごとに書き換わるためエンドツーエンド識別には不要であり過剰かつ不適切なので誤りです。
よくある誤解
- MACアドレスが必要だと考える誤解:同一LAN内の通信ではMACで宛先を特定するため混同しやすいが、TCPのコネクション識別には使えません。
- IPだけで識別できるとする誤解:同一ホスト上で複数のTCP接続が同じIPを使うことがあるため、ポート番号がなければ区別できません。
- UDPと混同する誤解:UDPも同様にIP+ポートでフローを特定しますが、プロトコル(TCP/UDP)も区別要素となる場合があり、状況によっては5タプルでの識別が必要です。
補足コラム
- 5タプルの概念:ネットワーク機器やファイアウォールでは「プロトコル番号(例:TCPかUDPか)」を含めた5タプル(プロトコル、送信元IP、送信元ポート、宛先IP、宛先ポート)でフローを識別することが多いです。これによりTCPとUDPとを区別できます。
- NATの影響:NATが介在すると、送信元IPや送信元ポートが変換されますが、NATルータは変換テーブルで内部接続を追跡し、外側から見た4タプル(+NATマッピング)で接続を管理します。
- ソケットAPI視点:プログラムから見れば、ソケットは(ローカルIP, ローカルポート, リモートIP, リモートポート)の組合せで接続を区別します。
FAQ
Q1: 同一サブネット内ならMACだけで接続を識別できませんか?
A1: サブネット内ではフレーム配送にMACが使われますが、TCPの「コネクション」を識別するには同一ホスト上の複数ソケットを区別するためのポート番号が必須です。MACは接続識別子ではありません。
A1: サブネット内ではフレーム配送にMACが使われますが、TCPの「コネクション」を識別するには同一ホスト上の複数ソケットを区別するためのポート番号が必須です。MACは接続識別子ではありません。
Q2: UDPではどうやって識別しますか?
A2: UDPも基本的にIPアドレス+ポート番号の組合せでフローを識別します(TCPと同様の4タプル)。プロトコル差を考慮する場合はプロトコル番号を加えた5タプルで区別します。
A2: UDPも基本的にIPアドレス+ポート番号の組合せでフローを識別します(TCPと同様の4タプル)。プロトコル差を考慮する場合はプロトコル番号を加えた5タプルで区別します。
Q3: NATがあるとき、4タプルはどう変わりますか?
A3: NATは送信元IPや送信元ポートを外向きに書き換えます。内部では内部アドレスとポートで接続を追跡し、外部ではNAT後のアドレス・ポートの4タプルで識別されます。NATの存在は識別方式自体を変えませんが、実際に使われる値は変わります。
A3: NATは送信元IPや送信元ポートを外向きに書き換えます。内部では内部アドレスとポートで接続を追跡し、外部ではNAT後のアドレス・ポートの4タプルで識別されます。NATの存在は識別方式自体を変えませんが、実際に使われる値は変わります。
関連キーワード: TCP、IPアドレス、TCPポート番号、4タプル、ソケット、MACアドレス、NAT、プロトコル番号

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

