令和7年度春期 応用情報技術者試験 午前 問30
MTU (Maximum Transmission Unit)が1,500バイトに設定されたIPv4ネットワークで,2,000バイトのデータをTCPを用いて送信するときに,二つ目に送信されるパケットに含まれるデータは何バイトか。ここで,TCPヘッダー長は20バイト,IPヘッダー長は20バイト,イーサネットのヘッダー長とトレーラー長は,それぞれ14バイトと4バイトとする。また,データを複数パケットに分割して送信するときは,先に送信するパケットに格納できる上限までデータを含めて送信するものとする。
- ア 500
- イ 540
- ウ 580
- エ 598
解答・解説を見る
正解:イ
AI解説
TCPはMTU(1500バイト)からIPヘッダー(20バイト)とTCPヘッダー(20バイト)を差し引いた1460バイトを1セグメントの最大データ量として送信する。2000バイトのデータのうち、1つ目のセグメントで1460バイトを送ると、残り2000-1460=540バイトが2つ目のセグメントのデータ量となる。 ア: 誤り。500バイトは、ヘッダー長の扱いを誤って計算した場合などに生じやすい値であり、正しい計算結果とは一致しない。 イ: 正しい。1セグメントの最大データ量は1500-20(IP)-20(TCP)=1460バイトであり、1つ目で1460バイト送信後、残り2000-1460=540バイトが2つ目のセグメントに含まれるデータ量となる。 ウ: 誤り。580バイトは、イーサネットのヘッダー・トレーラー長を誤ってデータ量の計算に含めた場合などに生じやすい値であり、正しい計算結果とは一致しない。 エ: 誤り。598バイトも同様に、ヘッダー長の扱いを誤った場合に生じやすい値であり、正しい計算結果とは一致しない。 💡 MTUからの実データ量の計算は「MTU-IPヘッダー-TCPヘッダー=1セグメントの最大データ量」という式をまず立て、それを基準に総データ量を分割していくと迷わない。イーサネットのヘッダー・トレーラーはMTUの外側にあるため計算に含めない点に注意する。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。