ネットワークスペシャリスト 2023年 午前2 問05
問題文
IPv4ネットワークでTCPを使用するとき、フラグメント化されることなく送信できるデータの最大長は何オクテットか。ここでTCPパケットのフレーム構成は図のとおりであり、ネットワークのMTUは1,500オクテットとする。また、( )内はフィールド長をオクテットで表したものである。

選択肢
ア:1,446
イ:1,456
ウ:1,460(正解)
エ:1,480
IPv4ネットワークでTCPを使用するときの最大データ長【午前2 解説】
要点まとめ
- 結論:TCPで送信可能な最大データ長は1,460オクテットです。
- 根拠:MTU1,500オクテットからMACヘッダー(14)、IPヘッダー(20)、TCPヘッダー(20)を差し引いた値が最大データ長となります。
- 差がつくポイント:各プロトコルヘッダーのサイズを正確に理解し、MTUから正しく引き算できるかが重要です。
正解の理由
ネットワークのMTUは1,500オクテットで、これはMAC層のフレーム全体の最大長です。
フレームは「MACヘッダー(14) + IPヘッダー(20) + TCPヘッダー(20) + データ + FCS(4)」で構成されます。
FCSはMTUに含まれないため、MTUからMACヘッダー、IPヘッダー、TCPヘッダーの合計54オクテットを引きます。
したがって、最大データ長は1,500 - 14 - 20 - 20 = 1,446オクテットとなるように見えますが、FCS(4)はMTUに含まれます。
正確にはMTUはMACヘッダーからFCSまでの全長なので、FCS(4)も含めて考慮し、データ部分は1,500 - 14 - 20 - 20 - 4 = 1,442オクテットと誤解されがちです。
しかし、FCSはフレームの末尾に付加されるため、MTUはMACヘッダーからFCSまでの長さであり、データ長はMTUからMACヘッダー、IPヘッダー、TCPヘッダーを引いた1,460オクテットが正解です。
よってウ: 1,460が正解です。
フレームは「MACヘッダー(14) + IPヘッダー(20) + TCPヘッダー(20) + データ + FCS(4)」で構成されます。
FCSはMTUに含まれないため、MTUからMACヘッダー、IPヘッダー、TCPヘッダーの合計54オクテットを引きます。
したがって、最大データ長は1,500 - 14 - 20 - 20 = 1,446オクテットとなるように見えますが、FCS(4)はMTUに含まれます。
正確にはMTUはMACヘッダーからFCSまでの全長なので、FCS(4)も含めて考慮し、データ部分は1,500 - 14 - 20 - 20 - 4 = 1,442オクテットと誤解されがちです。
しかし、FCSはフレームの末尾に付加されるため、MTUはMACヘッダーからFCSまでの長さであり、データ長はMTUからMACヘッダー、IPヘッダー、TCPヘッダーを引いた1,460オクテットが正解です。
よってウ: 1,460が正解です。
よくある誤解
MTUからFCSを引く必要があると誤解し、最大データ長を過小評価することがあります。
また、IPヘッダーやTCPヘッダーのサイズを固定値と認識せずに計算ミスをすることも多いです。
また、IPヘッダーやTCPヘッダーのサイズを固定値と認識せずに計算ミスをすることも多いです。
解法ステップ
- MTUの定義を確認し、1,500オクテットがMAC層のフレーム全体の最大長であることを理解する。
- フレーム構成要素のサイズを確認する(MACヘッダー14、IPヘッダー20、TCPヘッダー20、FCS4)。
- FCSはMTUに含まれるため、データ長計算からは除外しないことを認識する。
- 最大データ長 = MTU - MACヘッダー - IPヘッダー - TCPヘッダー = 1,500 - 14 - 20 - 20 = 1,446オクテットと計算。
- しかし、問題文の選択肢に1,446があるが、TCPの最大セグメントサイズ(MSS)はIP層のペイロード長であり、MTUからMACヘッダーとFCSを除いた長さであるため、1,460が正解となる。
- 選択肢の中で最も適切な値ウ: 1,460を選ぶ。
選択肢別の誤答解説
- ア: 1,446
MACヘッダー、IPヘッダー、TCPヘッダーを引いた値として誤解されやすいが、FCSの扱いを誤っている。 - イ: 1,456
TCPヘッダーのサイズを誤って16オクテットと考えた可能性がある。 - ウ: 1,460
正解。MTUからMACヘッダーとFCSを除いたIP層のペイロード最大長として正しい。 - エ: 1,480
IPの標準MTU(1,500)からMACヘッダーとFCSを除かずに計算した誤り。
補足コラム
MTU(Maximum Transmission Unit)はリンク層で定義される最大転送単位で、通常イーサネットでは1,500オクテットです。
TCPの最大セグメントサイズ(MSS)はIP層のペイロード最大長であり、MTUからIPヘッダーとTCPヘッダーを差し引いた値となります。
FCSはフレームの誤り検出用で、MTUに含まれるため計算時に注意が必要です。
TCPの最大セグメントサイズ(MSS)はIP層のペイロード最大長であり、MTUからIPヘッダーとTCPヘッダーを差し引いた値となります。
FCSはフレームの誤り検出用で、MTUに含まれるため計算時に注意が必要です。
FAQ
Q: MTUとMSSの違いは何ですか?
A: MTUはリンク層の最大フレームサイズ、MSSはTCPが送信できる最大データサイズ(IPペイロード)を指します。
A: MTUはリンク層の最大フレームサイズ、MSSはTCPが送信できる最大データサイズ(IPペイロード)を指します。
Q: FCSはなぜ計算に含めるのですか?
A: FCSはフレームの一部であり、MTUはフレーム全体の最大長なので含まれます。
A: FCSはフレームの一部であり、MTUはフレーム全体の最大長なので含まれます。
関連キーワード: MTU, TCP最大セグメントサイズ、IPヘッダー、MACヘッダー、フラグメント、ネットワーク層、トランスポート層

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

