死亡フラグ (コンピュータ)
死亡フラグ(しぼうふらぐ、英: Death Flag、略号 DTH)は、セッションの突然の終了を事前に伝えるTCPヘッダのフラグである。
これは2023年のエイプリルフールにRFC 9401として発行されたジョークRFCで提案されたものである[1]。
概要
[編集]新たに提案された死亡フラグ(DTH フラグ)は、TCPセッションの終了が近いことを通知する情報提供の役割を果たし、通信プロセスに物語性を与える。
この DTH フラグの使用は任意であり、正常な TCP の動作に影響を与えるものではない。このフラグに対応していない TCP ソフトウェアは、このフラグを安全に無視することができる。
フラグを受信した場合には、エンドユーザに通知ができるように情報をアプリケーション層に伝達することを推奨されている。
このフラグの名前には、アニメ、漫画、ライトノベルなどで使われる「死亡フラグ」からとられている。
プロトコル詳細
[編集]DTH フラグは TCP ヘッダーの制御ビットフィールドの4番目を使用する。4番目のビットが選択された理由として、著者は中国語の「四」の発音が Sì であり、「死」を意味する Sǐ に似た音を持っているからだと説明している。
オクテット | +0 | +1 | +2 | +3 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ビット | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
+0 | 送信元ポート | 送信先ポート | |||||||||||||||||||||||||||||||
+4 | シーケンス番号 | ||||||||||||||||||||||||||||||||
+8 | 確認応答番号 | ||||||||||||||||||||||||||||||||
+12 | データ オフセット |
D T H |
予約 | C W R |
E C E |
U R G |
A C K |
P S H |
R S T |
S Y N |
F I N |
ウィンドウサイズ | |||||||||||||||||||||
+16 | チェックサム | 緊急ポインタ | |||||||||||||||||||||||||||||||
+20 ... |
[オプション] | ||||||||||||||||||||||||||||||||
... | データ |
TCP セッションピアは、TCP セッションがもうすぐ終了する可能性がある場合に、DTH セグメントを送信する。これは送信側からも受信側からも送ることができる。DTH フラグ自体は、シーケンスや確認応答番号を更新しない。
受信側は ACK 応答する必要はない。また、受信直後にソケットをクローズする必要はない。RST または FIN セグメントが来るまでは待機する必要がある。
その他、どのようなときにこのフラグを設定すべきか、どのようなときに使用すべきでないか、悪意ビットとの併用案などについて、RFC本文に記載がある。
脚注
[編集]出典
[編集]- ^ The Addition of the Death (DTH) Flag to TCP (英語). 1 April 2023. doi:10.17487/RFC9401. RFC 9401。