「AP過去問 令和7年度春期 午前 問30」の版間の差分

提供:yonewiki
(ページの作成:「AP過去問 令和7年度春期 午前 問題に戻る AP過去問 令和7年度春期 午前 問29前の問題へ AP過去問 令和7年度春期 午前 問31次の問題へ   =='''問30(問題文)'''==   ア  イ  ウ  エ    =='''回答・解説'''==   AP過去問 令和7年度春期 午前 問29前の問題へ AP過去問 令和7年度春期 午前 問31次の問題…」)
 
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
<freescript></script><script type="text/x-mathjax-config">
  MathJax.Ajax.config.path["Contrib"]="https://wiki.yo-net.jp/mathjax/";
  MathJax.Hub.Register.StartupHook("TeX Jax Ready",function (){
    MathJax.Hub.Insert(
      MathJax.InputJax.TeX.Definitions.macros,{
        cancel: ["Extension","cancel"],
        bcancel: ["Extension","cancel"],
        xcancel: ["Extension","cancel"],
        cancelto: ["Extension","cancel"]
      }
    );
  });
  MathJax.Hub.Config({
    tex2jax:{
      displayMath: [['', ''],['\\[', '\\]']],  //displayスタイル数式に利用する記号の指定
      inlineMath:  [['\\@', '\\@'],['\\(', '\\)']],//inlineスタイル数式に利用する記号の指定
                                                  //ここは使う人が自由に設定する部分です。
      processEscapes: true
    },
    TeX:{
//    equationNumbers:{autoNumber: "AMS"},
      extensions: ["[Contrib]/physics/physics.js","[Contrib]/siunitx/siunitx.js", "color.js", "cancel.js"]
    },
    "HTML-CSS": {
      availableFonts: [],
      preferredFont: null,
      webFont: "Neo-Euler"
    },
  });
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML-full"></script>
<script></freescript>
<freescript></script>
<style>
.table-container {
    display: inline-block;
    text-align: left;
    margin: 20px;
}
.table-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}
</style>
<style>
div.imadake-left mjx-container[jax="CHTML"][display="true"]{text-align: left;}
.imadake-left .MathJax_Display {
  text-align: left !important;
  font-size: 0.9rem;
}
</style>
<script></freescript>
[[AP過去問 令和7年度春期 午前#問題|AP過去問 令和7年度春期 午前 問題]]に戻る
[[AP過去問 令和7年度春期 午前#問題|AP過去問 令和7年度春期 午前 問題]]に戻る


8行目: 62行目:


=='''問30(問題文)'''==
=='''問30(問題文)'''==
 
 MTU(Maximum Transmission Unit)が 1,500バイトに設定されたIPv4ネットワークで、2,000バイトのデータをTCPを用いて送信するときに、二つ目に送信されるパケットに含まれるデータは何バイトか。ここで、TCPヘッダー長は20バイト、IPへッダー長は20バイト、イーサネットのヘッダー長とトレーラー長は、それぞれ14バイトと4バイトとする。また、データを複数パケットに分割して送信するときは、先に送信するパケットに格納できる上限までデータを含めて送信するものとする。




ア 
ア 500


イ 
イ 540


ウ 
ウ 580


エ 
エ 598


 
 


=='''回答・解説'''==
=='''回答・解説'''==
 この問題では、MTU(Maximum Transmission Unit)が1,500バイトに設定されたIPv4ネットワークで、2,000バイトのデータをTCPを使用して送信する場合に、2番目に送信されるパケットに含まれるデータ量を求める問題です。条件として、TCPヘッダー長は20バイト、IPヘッダー長は20バイト、イーサネットのヘッダー長は14バイト、トレーラー長は4バイトとされています。
送信されるパケットの構造についての計算
最初のパケット
MTUは1,500バイトであり、これにはイーサネットのヘッダー(14バイト)とトレーラー(4バイト)、IPヘッダー(20バイト)、TCPヘッダー(20バイト)が含まれます。
よって、最初のパケットに使用できるデータのサイズは以下のように計算できます。
イーサネットヘッダー: 14バイト
イーサネットトレーラー: 4バイト
IPヘッダー: 20バイト
TCPヘッダー: 20バイト
 MTUはIPヘッダーとTCPヘッダーの合計が含まれているので、<span style="font-size: 0.9rem;"> 20 + 20 = 40 \text{[バイト]} </span>を指し引きます。。 1,500バイトから引くと、<span style="font-size: 0.9rem;"> 1,500 - 40 = 1,460 \text{[バイト]} </span>がデータとして利用できる領域となります。
最初のパケットには、1,460バイトのデータが含まれます。
2番目のパケット
残りのデータは、<span style="font-size: 0.9rem;"> 2,000 - 1,460 = 540 \text{[バイト]} </span>です。
したがって、2番目のパケットに含まれるデータは540バイトです。
 したがって
<span style = "background:linear-gradient(transparent 75%, #7fbfff 75%); font-weight:bold; ">
イ</span>
 が答えです。
この問題においては、イーサネットのヘッダー長(14バイト)とトレーラー長(4バイト)は演算には不要です。以下にそれぞれの意味と位置づけ、なぜ計算に含めないのかを説明します。
■各ヘッダー・トレーラーの役割と位置づけ
1. イーサネットヘッダー(14バイト)
データリンク層で使われる情報です。
宛先MACアドレス、送信元MACアドレス、タイプなどが含まれます。
OSI基本参照モデルの'''第2層(データリンク層)'''に該当します。
ハードウェアに近い通信のための付加情報で、MTUの定義には含まれません。
2. イーサネットトレーラー(4バイト)
フレームチェックシーケンス(FCS)と呼ばれる誤り検出用の値が入っています。
こちらもデータリンク層の一部で、同様にMTUの計算には関係しません。
3. IPヘッダー(20バイト)
OSIの'''第3層(ネットワーク層)'''における制御情報です。
宛先IPアドレスやパケットの分割情報などが含まれます。
MTUに含まれるため、MTUから差し引く対象です。
4. TCPヘッダー(20バイト)
OSIの'''第4層(トランスポート層)'''で、通信の信頼性を確保するための情報を含みます。
これもMTUに含まれるため、実データの容量を求める際には差し引きます。
■なぜイーサネットのヘッダー・トレーラーはMTUに含まれないのか?
 MTUは、IP層(ネットワーク層)で扱える最大のパケットサイズを表します。これは通常、IPヘッダー+上位層データ(TCPやUDPのヘッダー含む)+アプリケーションデータの合計で構成されます。
つまり、イーサネットヘッダーやトレーラーは物理的な送信に必要な情報であり、IP層から見たパケットサイズには含まれません。


そのことがわかっているかを問う問題であり、余計な情報はひっかけです。やられましたね。


 
 

2025年4月29日 (火) 23:17時点における最新版

AP過去問 令和7年度春期 午前 問題に戻る

AP過去問 令和7年度春期 午前 問29前の問題へ

AP過去問 令和7年度春期 午前 問31次の問題へ

 

問30(問題文)

 MTU(Maximum Transmission Unit)が 1,500バイトに設定されたIPv4ネットワークで、2,000バイトのデータをTCPを用いて送信するときに、二つ目に送信されるパケットに含まれるデータは何バイトか。ここで、TCPヘッダー長は20バイト、IPへッダー長は20バイト、イーサネットのヘッダー長とトレーラー長は、それぞれ14バイトと4バイトとする。また、データを複数パケットに分割して送信するときは、先に送信するパケットに格納できる上限までデータを含めて送信するものとする。


ア 500

イ 540

ウ 580

エ 598

 

回答・解説

 この問題では、MTU(Maximum Transmission Unit)が1,500バイトに設定されたIPv4ネットワークで、2,000バイトのデータをTCPを使用して送信する場合に、2番目に送信されるパケットに含まれるデータ量を求める問題です。条件として、TCPヘッダー長は20バイト、IPヘッダー長は20バイト、イーサネットのヘッダー長は14バイト、トレーラー長は4バイトとされています。


送信されるパケットの構造についての計算

最初のパケット

MTUは1,500バイトであり、これにはイーサネットのヘッダー(14バイト)とトレーラー(4バイト)、IPヘッダー(20バイト)、TCPヘッダー(20バイト)が含まれます。


よって、最初のパケットに使用できるデータのサイズは以下のように計算できます。

イーサネットヘッダー: 14バイト

イーサネットトレーラー: 4バイト

IPヘッダー: 20バイト

TCPヘッダー: 20バイト


 MTUはIPヘッダーとTCPヘッダーの合計が含まれているので、 20 + 20 = 40 \text{[バイト]} を指し引きます。。 1,500バイトから引くと、 1,500 - 40 = 1,460 \text{[バイト]} がデータとして利用できる領域となります。


最初のパケットには、1,460バイトのデータが含まれます。


2番目のパケット 残りのデータは、 2,000 - 1,460 = 540 \text{[バイト]} です。


したがって、2番目のパケットに含まれるデータは540バイトです。


 したがって



 が答えです。


この問題においては、イーサネットのヘッダー長(14バイト)とトレーラー長(4バイト)は演算には不要です。以下にそれぞれの意味と位置づけ、なぜ計算に含めないのかを説明します。


■各ヘッダー・トレーラーの役割と位置づけ

1. イーサネットヘッダー(14バイト)

データリンク層で使われる情報です。

宛先MACアドレス、送信元MACアドレス、タイプなどが含まれます。

OSI基本参照モデルの第2層(データリンク層)に該当します。

ハードウェアに近い通信のための付加情報で、MTUの定義には含まれません。

2. イーサネットトレーラー(4バイト)

フレームチェックシーケンス(FCS)と呼ばれる誤り検出用の値が入っています。

こちらもデータリンク層の一部で、同様にMTUの計算には関係しません。

3. IPヘッダー(20バイト)

OSIの第3層(ネットワーク層)における制御情報です。

宛先IPアドレスやパケットの分割情報などが含まれます。

MTUに含まれるため、MTUから差し引く対象です。

4. TCPヘッダー(20バイト)

OSIの第4層(トランスポート層)で、通信の信頼性を確保するための情報を含みます。

これもMTUに含まれるため、実データの容量を求める際には差し引きます。

■なぜイーサネットのヘッダー・トレーラーはMTUに含まれないのか?

 MTUは、IP層(ネットワーク層)で扱える最大のパケットサイズを表します。これは通常、IPヘッダー+上位層データ(TCPやUDPのヘッダー含む)+アプリケーションデータの合計で構成されます。


つまり、イーサネットヘッダーやトレーラーは物理的な送信に必要な情報であり、IP層から見たパケットサイズには含まれません。


そのことがわかっているかを問う問題であり、余計な情報はひっかけです。やられましたね。

 

AP過去問 令和7年度春期 午前 問29前の問題へ

AP過去問 令和7年度春期 午前 問31次の問題へ

AP過去問 令和7年度春期 午前 問題に戻る