作成:2018年11月03日
技術士第一次試験(情報工学)では、通信プロトコルに関する問題もチラホラ出題されます。中でもTCPに関する問題が頻出です。TCPヘッダのフォーマットは以下のとおりです(RFC793より引用)。
普段からパケット解析をバリバリやってる人はともかく、TCPヘッダの各フィールドの詳細まで覚えるのはしんどいですよね。
技術士一次試験対策の観点では、上記ヘッダフォーマットの横幅が32ビットで、だいたいこんなフィールドがあるんだなぁ程度を理解した上で、「3ウェイハンドシェイク」や「フロー制御」の概要を理解しておけば十分だと思います。
TCPパケットに関する問題は、平成30年度、平成26年度、および平成16年度で出題されています。
年度によっては適切なものを選んだり、不適切なものを選んだりといった違いがありますが、選択肢で問われている内容はほぼ同じです。
そこで、過去3年分の過去問をマージして、一問一答形式にしてみました。
【平成30年度、平成26年度、平成16年度の技術士第一次試験問題を基に作成】
IPv4のTCPパケットに関する次の記述のうち、正しいものは○、間違っているものは×を答えよ。
IPv4のTCPパケットに関する次の記述のうち、正しいものは○、間違っているものは×を答えよ。
- TCPヘッダにはチェックサムフィールドがない
- TCPヘッダにはパケット長やデータ長を表すフィールドが存在する
- TCPヘッダのSYNビットは、3ウェイハンドシェイクにおける最初のパケットでは0になっている
- TCPヘッダのウィンドウの値を0に設定すると、送信側は送信を中断し、次に0以外の値が返されるまで待機する。
- TCPヘッダは送信ポート番号フィールドと受信ポート番号フィールドを含み、それぞれ32ビット長である。
- TCPパケットのデータフィールドは、IPパケットのヘッダ内容を含む
上のTCPヘッダフォーマットが頭に入っていれば、1,2,5,6はすぐにわかりますね。
1,2,5,6全て誤りです。
3については、3ウェイハンドシェイクの流れを理解しておく必要があります。
ざっくり書くと
① 通信要求側 → 通信相手: SYN
② 通信相手 → 通信要求側: SYN ACK
③ 通信要求側 → 通信相手: ACK (コネクション成立)
という流れとなります。
通信要求側が最初にSYNパケットを投げる際、SYNパケットであることを示すためTCPヘッダのSYNビットは1となるので、問題文の記述は誤りです。
4について。確認応答(ACK)なしに一度で送信可能な最大のデータ量をウィンドウサイズと言います。
ウィンドウサイズの値が0の場合、これ以上受信できないことを表しており、送信側は送信を中断します。
したがって、問題文の記述は正しいです。
解答:
1. × 2.× 3.× 4.○ 5.× 6.×
0 件のコメント:
コメントを投稿