This memo specifies the incorporation of Death (DTH) flag to TCP, including DTH's use of one bit in the TCP header. The flag is designed to make TCP session narratives smooth and attractive.
本文書は、TCPヘッダー内の1ビットの使用を含め、TCPにDeath(DTH)フラグを組み込むことを指定しています。このフラグは、TCPセッションの物語をスムーズで魅力的にするために設計されています。
This document is not an Internet Standards Track specification; it is published for informational purposes.
本文書は、インターネット標準トラック仕様書ではありません。情報提供のために公開されています。
This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not candidates for any level of Internet Standard; see Section 2 of RFC 7841.
これは、他のRFCストリームとは独立して、RFCシリーズへの貢献です。 RFCエディターは、この文書を自己の裁量で公開することを選択し、実装または展開のためのその価値についての声明を行いません。 RFCエディターによって承認された文書は、インターネット標準のどのレベルの候補にもなりません。 RFC 7841のセクション2を参照してください。
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9401.
この文書の現在の状況、正誤表、およびこれに関するフィードバックの提供方法に関する情報は、https://www.rfc-editor.org/info/rfc9401 で入手できます。
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
この文書は、この文書の発行日に有効なBCP 78およびIETFトラストのIETF文書に関する法的規定(https://trustee.ietf.org/license-info)に従うものとします。これらの文書は、この文書に関するあなたの権利と制限を記述していますので、注意深く確認してください。
The proposed Death flag, or DTH for short, uses the fourth flag bit in the TCP header to indicate likely termination of the TCP session.
提案されたDeath(略してDTH)フラグは、TCPヘッダーの4番目のフラグビットを使用して、TCPセッションの終了を示します。
The flag allows applications to prepare for abrupt session terminations. Network engineers find this feature helpful in identifying the one or more root causes of TCP RSTs. Critical end users can use the information to better understand TCP narratives.
このフラグにより、アプリケーションは突然のセッション終了に備えることができます。ネットワークエンジニアは、TCP RSTの1つ以上のルート原因を特定するためにこの機能が役立つと考えています。重要なエンドユーザーは、TCPの物語をよりよく理解するためにこの情報を使用できます。
For example, the DTH flag of an evil scientist is set when they express too much confidence in their deadly invention. The scientist is often killed by their own invention. This type of narrative is also common in conventional films. A notable example is a solider in a trench. The soldier's flag is set to 1 immediately after they share a photograph of their fiancé and tell about the upcoming marriage that will take place after returning from battle. Another example is setting the flag for a couple sneaking out from an isolated cabin for a late-night excursion. Commonly, the excursion is violently terminated by an individual with a chainsaw.
たとえば、悪の科学者のDTHフラグは、彼らが自分の致命的な発明に対してあまりに自信を持ちすぎたときに設定されます。その科学者は自分自身の発明で殺されることがよくあります。このような物語は、一般的な映画でもよく見られます。兵士が塹壕にいる場合がその一例です。兵士のフラグは、彼らが自分の婚約者の写真を共有し、戦闘から帰還した後に行われる予定の結婚について話した直後に1に設定されます。また、人里離れた山小屋から夜の散策に出るカップルのフラグを設定することもあります。一般的には、散策はチェーンソーを持った人物によって荒々しく終了します。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
キーワード「しなければなりません(MUST)」、「してはなりません(MUST NOT)」、 「要求されています(REQUIRED)」、 「することになります(SHALL)」、「することはありません(SHALL NOT)」、 「すべきです(SHOULD)」、「すべきではありません(SHOULD NOT)」、 「推奨されます(RECOMMENDED)」、「推奨されません(NOT RECOMMENDED)」、 「してもよいです(MAY)」、「選択できます(OPTIONAL)」は、 BCP 14 [RFC2119] [RFC8174]に記載されているとおりに解釈されるものとします。 ただし、ここに示すようにすべて大文字で表示される場合に限ります。
The DTH flag uses the fourth bit in the Control bits field in TCP header as depicted in Figure 1 [RFC9293]. The fourth bit was intentionally selected because "four" in Chinese is Sì; it has a similar sound to Sǐ, which means "die".
DTHフラグは、図1[RFC9293] に示すように、TCPヘッダーのControl bitsフィールドの4番目のビットを使用します。4番目のビットが選択されたのは意図的なものです。なぜなら、中国語で「4」は「Sì」であり、「死」という意味の「Sǐ」と似た音を持つためです。
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data |D| |C|E|U|A|P|R|S|F| | | Offset|T| Rsr |W|C|R|C|S|S|Y|I| Window | | |H| vd |R|E|G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | [Options] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | : : Data : : | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Note that one tick mark represents one bit position.
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Acknowledgment Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data |D| |C|E|U|A|P|R|S|F| | | Offset|T| Rsr |W|C|R|C|S|S|Y|I| Window | | |H| vd |R|E|G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Urgent Pointer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | [Options] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | : : Data : : | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1つのチェックマークは1ビット位置を表します。
A TCP session peer SHOULD transmit a DTH segment when the TCP session will likely be terminated soon. It can be sent from both the server and client. The application or TCP stack MAY elect not to send DTH segments, even if it knows that the session will be terminated. This results in a dramatic surprise for the peer; however, the end users may perceive the end too convenient or overly simplistic. Use of the DTH segment that is not associated with the session termination is not encouraged but it is permitted. (This is often referred to as "teasing" or a false-positive DTH flag.)
TCPセッションのピアは、TCPセッションがまもなく終了する可能性がある場合、DTHセグメントを送信すべきです(SHOULD)。これはサーバー側、クライアント側の両方から送信されることができます。アプリケーションまたはTCPスタックは、セッションが終了することを知っていても、DTHセグメントを送信しないことを選択してもよいです(MAY)。これにより、ピアにとっては劇的な驚きが生じますが、エンドユーザーにとっては終了があまりに便利または過度に単純化されたものに感じられるかもしれません。セッション終了と関連付けられていないDTHセグメントの使用は推奨されていませんが、許可されています。(これはしばしば「からかい」または偽陽性のDTHフラグと呼ばれます)。
The DTH flag is informational. TCP software that does not implement this feature can safely ignore this flag. However, to fully appreciate the session, users should be aware of the subtle signs of the session narratives.
DTHフラグは情報提供のためのものです。この機能を実装していないTCPソフトウェアは、安全にこのフラグを無視できます。ただし、セッションの全体像を把握するためには、ユーザーはセッションのストーリーの微妙な兆候に気を配る必要があります。
The DTH flag itself does not change the sequence or acknowledgment number. It does not require any acknowledgement.
DTHフラグ自体はシーケンス番号や確認応答番号を変更しません。また、確認応答を必要としません。
The recipient of the flag is not required to act differently upon reception; however, it is RECOMMENDED that information be conveyed to the application layer, so the end user can be notified of the incident. The recipient of a DTH segment SHOULD NOT close the socket immediately upon reception; it SHOULD wait for a RST or FIN segment.
フラグの受信側は受信時に異なる操作を行うことは必須ではありません。ただし、エンドユーザーに通知するためにアプリケーション層に情報が伝えられることが推奨されます(RECOMMENDED)。DTH セグメントの受信者は、受信後すぐにソケットをクローズすべきではありません(SHOULD NOT)。RSTまたはFINセグメントを待機すべきです(SHOULD)
This specification does not stipulate the maximum number of DTH segments permitted in one TCP session; however, limiting them to a few is RECOMMENDED to maximize the dramatic effect.
この仕様書は、1つのTCPセッションで許容されるDTHセグメントの最大数を定めていません。ただし、劇的効果を最大限に引き出すためには、数を制限することが推奨されます(RECOMMENDED)
DTH can be used any time the sender considers it important to signal its inevitable end to the TCP peer. The example scenarios below illustrate when to send DTH segments.
DTHは、送信者がTCPピアに必然的な終了を知らせることが重要だと考える場合に、いつでも使用できます。以下のシナリオ例では、DTH セグメントを送信するタイミングを説明しています。
A malicious actor can send the flag when it suddenly repents; for example, when a sender suddenly regrets their part in a DDoS attack and unexpectedly ceases the attack. The archvillain generally terminates the sender cruelly and mercilessly soon after the change in behavior (or they are killed for protecting the hero). The timing of DTH transmission is implementation dependent. It can be sent anytime from the early signs of betrayal to just prior to the behavioral change.
悪意のある攻撃者は、たとえばDDoS攻撃に参加したことを後悔し、攻撃を思いがけず中止する場合に、DTHフラグを送信できます。大悪党は一般に、行動の変化の直後に送信者を残酷かつ無慈悲に終了させます(または、ヒーローを保護したために殺されます)。DTHの送信タイミングは実装に依存します。DTHの送信タイミングは、実装に依存します。裏切りの初期の兆候から行動の変化直前まで、いつでも送信できます。
The flag can be sent when the sender stops using cryptographic protections and reveals its plain-text content, for example, a mysterious character with a mask that often dies after they expose their face. In this example, the DTH segment would be sent just before sending the redirect (30x) from HTTPS to HTTP [RFC9110]. Similarly, the flag can be set when the forged User-Agent or Server HTTP header field is changed to the actual value, when their true identity would be revealed (for example, "I am your long-lost twin", "I am a spy", etc.). This occasionally leads to the death of the character.
送信者が暗号による保護をやめて平文のコンテンツを公開したときこのフラグが送信される場合があります。たとえば、謎めいたマスクのキャラクターは顔を晒した後にしばしば死にます。この例では、DTHセグメントは、HTTPSからHTTPへのリダイレクト(30x)を送信する直前に送信されます[RFC9110] 。同様に、偽造されたUser-AgentまたはServer HTTPヘッダーフィールドが実際の値に変更され、その真の正体が明らかになる(たとえば、「私は長い間行方不明だったあなたの双子です」「私はスパイです」等)ときに、このフラグを設定できます。これにより、キャラクターが死亡する場合があります。
The TCP peer is RECOMMENDED to send the flag when it notices resource issues, e.g., diminishing memory space or bandwidth. An AI bot, cyborg, sorcerer application with forbidden protocols, etc., SHOULD consider sending the flag when it starts to heavily cough error messages.
TCPのピアは、リソースの問題が発生した場合、たとえばメモリスペースや帯域幅が減少した場合、フラグを送信することが推奨されます(RECOMMENDED)。AIボット、サイボーグ、禁断のプロトコルを持つ魔術師アプリケーションなどは、エラーメッセージを大量に吐くようになったら、フラグの送信を検討すべきです(SHOULD)。
An application less capable of performing its task MAY send the flag from time to time. It will be killed by the OS (the archvillain) or CTRL-C (the end user) sooner or later due to its inefficiency. The same is likely to occur with a memory-hogging application, for example, an unscrupulous character that attempts to take all the treasure often dies accidentally (e.g., falls from a cliff).
タスクを実行できないほど能力が低いアプリケーションは、時折フラグを送信してもよいです(MAY)。それは、その非効率性により、遅かれ早かれOS(大悪党)またはCTRL-C(エンドユーザー)によって殺されるでしょう。メモリを大量に消費するアプリケーションでも同様のことが起こります。たとえば、すべての財宝を手に入れようとする不正なキャラクターは、偶然死亡することがあります(たとえば、崖から落ちるなど)。
An application SHOULD really think twice before accessing a "honeypot" or haunted server. If your choices are limited (e.g., your favorite server breaks down in the middle of nowhere and the dark server that is not on the DNS is the only place you can shelter), sending the flag periodically is a good idea. The session is most likely cursed.
アプリケーションは、「ハニーポット」やお化けサーバーにアクセスする前に、本当によく熟考すべきです(SHOULD)。選択肢が限られている場合(たとえば、お気に入りのサーバが人里離れた場所で故障し、DNSにないダークサーバが唯一の避難場所である場合など)、定期的にフラグを送信するのは良い考えです。セッションが呪われている可能性が高いです。
The DTH flag SHOULD NOT be piggybacked on the FIN flag. If present, the recipient SHOULD silently ignore DTH flag. The only exception is when the recipient is an expert at Hokuto-Shinken ("Big Dipper Divine Fist") [WIKI-FNS]. In that circumstance, the sender is already dead but remains active for a few seconds (which is unofficially called the "half-zombie open" state).
DTHフラグは、FINフラグに便乗して送信すべきではありません(SHOULD NOT)。もし存在しても、受信者はDTHフラグを黙って無視すべきです(SHOULD)。ただし、受信者が北斗神拳([WIKI-FNS] )の達人である場合は例外です。このような場合、送信側はすでに死亡していますが、数秒間はアクティブな状態になっています(これを非公式に「半ゾンビオープン」と呼びます)。
Use of the flag in the early state of a TCP session is NOT RECOMMENDED. Characters that die in the early stage are considered nonessential, hence their death does not contribute to the quality of the session. (Obviously, there are exceptions.)
TCPセッションの初期状態でのこのフラグの使用は推奨されません(NOT RECOMMENDED)。早い段階で死亡するキャラクターは必要不可欠ではないと考えられるため、彼らの死亡はセッションの質に貢献しません。(もちろん例外もあります。)
Some experimental implementations use the Evil bit [RFC3514] of the IP header to indicate if the session portrays an evil character. The DTH flag is not designed to characterize a TCP session. It is intended to show the fate of the session irrespective of the nature of the session. When both Evil bit and DTH flag are present, they MUST be interpreted independently.
実験的な実装では、IPヘッダーのEvilビット[RFC3514]を使用して、セッションが邪悪なキャラクターを描いているかどうかを示すものもあります。DTHフラグはTCPセッションを特徴付けるために設計されたものではありません。セッションの性質に関係なく、セッションの運命を示すことを意図しています。EvilビットとDTHフラグの両方が存在する場合、それらは独立して解釈しなければなりません(MUST)。
Precursors to the inevitable death (often violent) of a TCP session are useful for upper-layer applications and end users; however, the security vs. usability balance should also be considered. Since DTH flags may expose the internal state of the TCP session, they can be exploited by attackers (e.g., naming the murderer before the detective points out the suspect). Spoilers are an act of evil. Those who wish to keep the story secret should use the flag mildly.
TCPセッションの避けられない(しばしば暴力的な)終了の前兆は、上位層のアプリケーションとエンドユーザーにとって有用ですが、セキュリティーと使いやすさのバランスも考慮する必要があります。DTHフラグはTCPセッションの内部状態を暴露する可能性があるため、攻撃者に悪用される可能性があります(たとえば、探偵が容疑者を指摘する前に殺人犯を名指しするようなものです)。ネタバレは悪の所業です。ストーリーを秘密にしたい人は、フラグを控えめに使用する必要があります。
This document defines the behavior of the one of the currently reserved (Rsrvd) control bits in the TCP header. It is used as an informative indicator of the fate of a TCP session. The fourth bit (counting from the beginning of the thirteenth octet in a TCP header) is intentionally selected to signify its meaning; however, a change in the bit position does not cause any functional deterioration.
このドキュメントでは、TCPヘッダーの現在予約済み(Rsrvd)のコントロールビットの1つの動作が定義されています。これはTCPセッションの運命の情報を示す情報的な指標として使用されます。第4ビット(TCPヘッダーの第13オクテットの先頭から数えて)は、意図的に選択されてその意味を示していますが、ビットの位置の変更は機能の低下を引き起こしません。
This feature may already be implemented in different manners in Hollywood and/or Japanese animation studio networks; however, to the author's knowledge, the technology is not yet patented.
この機能は、すでにハリウッドや日本のアニメーションスタジオネットワークで異なる方法で実装されている可能性がありますが、筆者の知る限り、この技術はまだ特許申請されていません。