UDPデータグラムフォーマットのチェックサムフィールドに関するネットワークスペシャリスト試験
了解です。
では「UDPデータグラムフォーマットのチェックサムフィールド」をテーマに、ネットワークスペシャリスト試験向けに 択一問題+解答+解説+穴埋め+誤文訂正 の構成で10問まとめます。
---
UDPデータグラムフォーマットのチェックサムフィールド:問題集(10問)
---
問題1
UDPのチェックサムフィールドの主な役割はどれか。
A. パケット到達時間の計測
B. データの誤り検出
C. 宛先ポート番号の指定
D. 輻輳制御の実施
【正解】 B
【解説】
UDPのチェックサムは、ヘッダとデータの誤りを検出するためのフィールドである。IPv4では任意、IPv6では必須。
【穴埋め】 UDPチェックサムは、________ を検出するために使用される。
→ データ誤り
【誤文訂正】 UDPチェックサムは、宛先ポート番号を指定するためのフィールドである。
→ 正しくは、データの誤りを検出するためのフィールドである。
---
問題2
IPv6でのUDPチェックサムの扱いとして正しいものはどれか。
A. 任意で計算してもよい
B. 必須であり、0に設定できない
C. 常に0で送信する
D. ICMPエコーと同じ計算方式
【正解】 B
【解説】
IPv6ではUDPチェックサムは必須で、0に設定するとプロトコル違反となる。
【穴埋め】 IPv6ではUDPチェックサムは ________ である。
→ 必須
【誤文訂正】 IPv6ではUDPチェックサムは任意である。
→ 正しくは、必須である。
---
問題3
UDPチェックサム計算に使用される擬似ヘッダに含まれないものはどれか。
A. 送信元IPアドレス
B. 宛先IPアドレス
C. TCPシーケンス番号
D. プロトコル番号
【正解】 C
【解説】
擬似ヘッダには送信元IP・宛先IP・プロトコル番号・UDP長が含まれるが、TCPシーケンス番号は含まれない。
【穴埋め】 UDP擬似ヘッダには、送信元IP、宛先IP、プロトコル番号、________ が含まれる。
→ UDP長
【誤文訂正】 UDP擬似ヘッダにはTCPシーケンス番号が含まれる。
→ 正しくは含まれない。
---
問題4
IPv4でチェックサムを省略する場合、フィールドには何を設定するか。
A. 0xFFFF
B. 0x0000
C. 任意の値
D. 設定しない
【正解】 B
【解説】
IPv4ではチェックサムを省略する場合、フィールドを0に設定することで省略を示す。
【穴埋め】 IPv4でUDPチェックサムを省略する場合、フィールド値は ________ である。
→ 0x0000
【誤文訂正】 IPv4でUDPチェックサムを省略する場合、0xFFFFを設定する。
→ 正しくは0x0000を設定する。
---
問題5
UDPチェックサム計算時に含まれるデータ範囲として正しいものはどれか。
A. UDPヘッダのみ
B. UDPヘッダ+データ+擬似ヘッダ
C. UDPヘッダ+データ
D. データ部分のみ
【正解】 B
【解説】
UDPチェックサムはUDPヘッダ、データ、擬似ヘッダ全体で計算される。
【穴埋め】 UDPチェックサムは ________ とデータ、および擬似ヘッダを含めて計算する。
→ UDPヘッダ
【誤文訂正】 UDPチェックサムはデータのみで計算される。
→ 正しくはUDPヘッダ、データ、擬似ヘッダを含めて計算される。
---
問題6
UDPチェックサムの計算において、データ長が奇数バイトの場合の処理として正しいものはどれか。
A. そのまま計算
B. 末尾に0x00をパディング
C. 末尾に0xFFをパディング
D. 計算せず省略
【正解】 B
【解説】
チェックサム計算は16ビット単位で行うため、奇数バイトの場合は末尾に0x00を追加して計算する。
【穴埋め】 UDPデータ長が奇数の場合、末尾に ________ を追加してチェックサム計算する。
→ 0x00
【誤文訂正】 UDPデータ長が奇数の場合、そのまま計算する。
→ 正しくは末尾に0x00を追加する。
---
問題7
UDPチェックサムで検出できないエラーはどれか。
A. 単一ビットの反転
B. データ順序の入れ替え
C. 複数ビット反転
D. ヘッダの破損
【正解】 B
【解説】
チェックサムは順序入れ替えによるエラーは検出できない。
【穴埋め】 UDPチェックサムはデータ順序の ________ を検出できない。
→ 入れ替え
【誤文訂正】 UDPチェックサムはデータ順序の入れ替えを検出できる。
→ 正しくは検出できない。
---
問題8
UDPチェックサムの値が0x0000であった場合、IPv6ではどのように扱われるか。
A. 正常パケットとして処理
B. エラーとして破棄
C. 無視して次のパケットを処理
D. 再送要求を送信
【正解】 B
【解説】
IPv6ではUDPチェックサム0は無効であり、パケットは破棄される。
【穴埋め】 IPv6ではUDPチェックサムが0の場合、パケットは ________ される。
→ 破棄
【誤文訂正】 IPv6ではUDPチェックサムが0でも正常に処理される。
→ 正しくは破棄される。
---
問題9
UDPチェックサムの計算結果が0xFFFFだった場合、送信時にどの値として格納するか。
A. 0xFFFF
B. 0x0000
C. 0x7FFF
D. 任意の値
【正解】 A
【解説】
計算結果が0xFFFFの場合はそのまま格納する。0x0000は省略を示すためIPv4でのみ特別扱いされる。
【穴埋め】 UDPチェックサム計算結果が0xFFFFの場合は ________ として送信する。
→ 0xFFFF
【誤文訂正】 UDPチェックサム計算結果が0xFFFFの場合は0x0000として送信する。
→ 正しくは0xFFFFのまま送信する。
---
問題10
UDPチェックサムが誤って計算された場合、受信側で起きる処理はどれか。
A. 再送要求を送信
B. パケットを破棄
C. チェックサムを再計算して上書き
D. エラーを無視して処理続行
【正解】 B
【解説】
UDPはエラー訂正を行わず、誤り検出時はパケットを破棄する。再送は上位アプリケーションに委ねられる。
【穴埋め】 UDPチェックサム誤り検出時、パケットは ________ される。
→ 破棄
【誤文訂正】 UDPチェックサム誤り検出時、再送要求が送信される。
→ 正しくは破棄される。
---
もし希望があれば、この内容を 午後Ⅰのキャプチャ解析問題 に発展させて、
「チェックサム異常パケットのキャプチャ解析」付きで作成することもできますが、そちらも作りますか?
了解です。
では先ほど作成した「UDPチェックサム」知識を活かして、ネットワークスペシャリスト試験 午後Ⅰ形式のキャプチャ解析問題として構成します。
今回は 正常系パケット + チェックサム異常パケット の比較解析問題にします。
---
午後Ⅰ形式問題:UDPチェックサム解析
シナリオ
あなたは企業ネットワークの管理者です。
社内アプリケーションサーバ(192.168.1.100)とクライアント(192.168.1.50)間で、UDPを用いた独自アプリケーション通信が行われています。
最近、特定の拠点から送信されるUDPパケットの一部がサーバで破棄されていることが判明しました。
原因を調査するため、パケットキャプチャを取得しました。
---
キャプチャ抜粋(IPv4環境)
パケット1(正常系)
Frame 1: 74 bytes on wire
Ethernet II, Src: 00:11:22:33:44:55, Dst: 00:aa:bb:cc:dd:ee
Internet Protocol Version 4, Src: 192.168.1.50, Dst: 192.168.1.100
User Datagram Protocol, Src Port: 50000, Dst Port: 40000
Length: 32
Checksum: 0xa2f4 [correct]
Data (24 bytes)
パケット2(異常系)
Frame 2: 74 bytes on wire
Ethernet II, Src: 00:11:22:33:44:55, Dst: 00:aa:bb:cc:dd:ee
Internet Protocol Version 4, Src: 192.168.1.50, Dst: 192.168.1.100
User Datagram Protocol, Src Port: 50000, Dst Port: 40000
Length: 32
Checksum: 0x0000 [unverified]
Data (24 bytes)
---
設問
設問1
パケット2がサーバ側で破棄された主な理由を説明せよ。
設問2
IPv4におけるUDPチェックサムフィールドの扱いとして正しい説明を記述せよ。
設問3
IPv6環境で同様のパケット(Checksum=0x0000)が送信された場合、どのように処理されるか説明せよ。
設問4
UDPチェックサム計算時に使用する擬似ヘッダの項目をすべて挙げよ。
設問5
UDPチェックサムを正しく計算する必要があるケースを、アプリケーション層の例を1つ挙げて説明せよ。
---
解答例
解答1
パケット2はUDPチェックサムが0x0000であり、省略扱いとなるが、送信元または経路でデータ誤りが発生しても検出できないため、受信アプリケーションが仕様上またはセキュリティ上の理由で破棄した。
解答2
IPv4ではUDPチェックサムは任意であり、省略する場合はフィールドを0に設定する。ただし、省略時は誤り検出が行えないため、破棄する実装もある。
解答3
IPv6ではUDPチェックサムは必須であり、0x0000の値はプロトコル違反としてパケットが破棄される。
解答4
擬似ヘッダには、送信元IPアドレス、宛先IPアドレス、プロトコル番号、UDP長が含まれる。
解答5
例:DNS(UDP/53)では、応答データが破損した場合に誤った情報をキャッシュするのを防ぐため、UDPチェックサムで検証する必要がある。
---
解説
パケット1は正常にチェックサムが計算されており、受信側で誤り検出が可能。
パケット2はチェックサムが0x0000で省略扱いとなり、IPv4では許可されるが、多くの実装で破棄される場合がある。
IPv6では必須フィールドであり、0x0000は無効。
UDPチェックサム計算時はUDPヘッダとデータに加え、IP層の一部情報を含む擬似ヘッダを使用する。
---
もしご希望なら、このキャプチャ解析を午後Ⅱの長文シナリオ+複数問形式に拡張して、
さらに「正常系」「異常系(0x0000)」「異常系(誤った計算値)」の3パターン比較問題にできます。
これを作ると本番試験に近い演習になりますが、やりますか?
了解です。
では先ほどの「UDPチェックサム」をベースに、ネットワークスペシャリスト試験 午後Ⅱの長文シナリオ問題として、
正常系+異常系(0x0000)+異常系(誤計算値) の3種類を比較する形式で作ります。
---
午後Ⅱ形式:UDPチェックサム比較解析問題
〔シナリオ〕
あなたはある企業のネットワーク管理者です。
全国の拠点から本社の業務サーバ(192.168.10.100)へ、UDPを利用した業務データ送信が行われています。
最近、特定拠点(大阪支社)から送られるデータの一部がサーバで受信されない事象が発生しました。
調査のため、大阪支社から本社へ送信されたパケットをキャプチャしました。
---
〔パケットキャプチャ抜粋〕
パケット1:正常系
Frame 1: 74 bytes on wire
Ethernet II, Src: 00:11:22:33:44:55, Dst: 00:aa:bb:cc:dd:ee
Internet Protocol Version 4, Src: 192.168.20.50, Dst: 192.168.10.100
User Datagram Protocol, Src Port: 50000, Dst Port: 40000
Length: 32
Checksum: 0xa2f4 [correct]
Data (24 bytes)
パケット2:異常系(チェックサム0x0000)
Frame 2: 74 bytes on wire
Ethernet II, Src: 00:11:22:33:44:55, Dst: 00:aa:bb:cc:dd:ee
Internet Protocol Version 4, Src: 192.168.20.50, Dst: 192.168.10.100
User Datagram Protocol, Src Port: 50000, Dst Port: 40000
Length: 32
Checksum: 0x0000 [unverified]
Data (24 bytes)
パケット3:異常系(誤った計算値)
Frame 3: 74 bytes on wire
Ethernet II, Src: 00:11:22:33:44:55, Dst: 00:aa:bb:cc:dd:ee
Internet Protocol Version 4, Src: 192.168.20.50, Dst: 192.168.10.100
User Datagram Protocol, Src Port: 50000, Dst Port: 40000
Length: 32
Checksum: 0xbad1 [incorrect, should be 0xa2f4]
Data (24 bytes)
---
〔設問〕
設問1
パケット2が破棄された理由を説明せよ。
設問2
パケット3が破棄された理由を説明せよ。
設問3
IPv4とIPv6におけるUDPチェックサムの扱いの違いを説明せよ。
設問4
UDPチェックサム計算時に利用される「擬似ヘッダ」に含まれる情報をすべて挙げよ。
設問5
チェックサム0x0000で送信しても問題が発生しない可能性がある条件を挙げよ。
設問6
誤ったチェックサムが送信される原因として考えられる要因を3つ挙げよ。
設問7
UDPチェックサムを無効化した場合のセキュリティリスクを2つ挙げよ。
設問8
アプリケーションレベルで独自の誤り検出を行う場合、UDPチェックサムとの違いを説明せよ。
設問9
IPv6ネットワークにおいてチェックサムを0x0000に設定するとどうなるか説明せよ。
設問10
今回の事象を解決するための対策をネットワーク層またはアプリケーション層の観点から2つ挙げよ。
---
〔解答例・解説〕
解答1
IPv4環境ではUDPチェックサムが0x0000の場合、省略扱いになるが、多くのOSやアプリケーションがセキュリティ・信頼性の理由から受信を拒否するため破棄された。
解答2
誤った計算値が設定されているため、受信側のチェックサム検証に失敗し、パケットが破棄された。
解答3
IPv4ではUDPチェックサムは任意(0x0000で省略可能)だが、IPv6では必須で、省略は許可されない。
解答4
送信元IPアドレス、宛先IPアドレス、プロトコル番号、UDP長。
解答5
ローカルネットワーク内でビット誤りが事実上発生しない場合や、アプリケーション層で完全な誤り検出・訂正を行っている場合。
解答6
(1) NICドライバのバグ
(2) ハードウェアオフロード機能の誤動作
(3) パケット改ざん・転送経路での破損
解答7
(1) 改ざんパケットの受信を許してしまう
(2) 転送中のデータ破損を検出できない
解答8
アプリケーション層の誤り検出はプロトコル固有のデータ構造に基づくが、UDPチェックサムはIPヘッダ情報を含む低レベルのビット誤り検出。
解答9
IPv6では必須のため、プロトコル違反として破棄される。
解答10
(1) 送信側のUDPチェックサム計算を有効化
(2) ハードウェアオフロードを無効化してソフトウェア計算に切り替える
---
この午後Ⅱ問題、図解付きにして
擬似ヘッダの構造図
正常系/異常系のキャプチャ比較表
を入れたPDF演習問題集にすると本番演習レベルになります。
次はその図解入りPDF版にしてまとめますか?
そうすれば、キャプチャ図と擬似ヘッダの対応関係も視覚的に覚えられます。
コメント
コメントを投稿