要約
- 対象はシーケンス番号の記憶を失った場合であり、すべての再起動ではない。
- RFC 793は、古い重複セグメントを排出するため1 MSLの沈黙を定めた。
- RFC 9293は安全上の境界を残しつつ、現在は条件が成立しにくいと説明する。
- 状態保持とPAWSは別の防御である。
ホストは忘れても、ネットワークは忘れない
クラッシュはTCPの揮発状態を消しても、送信済みセグメントをキューや経路、受信側から消すわけではない。同じアドレスとポートを再利用すると、古いセグメントが新しいデータに見える可能性がある。データ、SYN、FINは有限のシーケンス空間を占有するためである。
沈黙という代替証拠
RFC 793は、使用中の接続で使った番号の知識を失ったTCPに、最大セグメント生存時間のあいだ送信しないよう求めた。二分という値は工学上の選択であり、再送タイマーやRTTの推定ではない。古い痕跡がネットワークから消える時間を置くのである。
条件を満たす必要がある。最近の番号を保持していれば、既使用番号より後の番号を使って待たずに再開できる。また、すでに1 MSL以上稼働していれば、必要な時間境界は過ぎている。
現行仕様の判断
RFC 9293は、記憶を失った後に少なくとも1 MSL待つ原則を維持する。一方で、ISNとエフェメラルポートのランダム化、リンク高速化による実効MSLの短縮、そして再起動が1 MSLより長くなることが多い点から、危険な条件は現在ほとんど同時に起きないと説明する。
これは原理の撤回ではない。ランダム化は衝突確率を下げるが、実際の履歴を記憶することとは違う。高速通信では、TCPタイムスタンプとPAWSが、32ビット空間の急速な周回に対する別種の古い重複検出を提供する。
出典
会員向け解説
トレンド解説の全文を読む
会員は解説の全文と、すべての知見を裏付ける出典メモを読めます。
ストラテジックサークル
あなたの言語で毎日届く、私たちが確認した変化に基づくブリーフィング。
USD 20/月で参加いつでも解約できます。
会員はさらに、リサーチライブラリー全編、フォロー中のネットワークに関するデイリーブリーフィング、会員限定フォーラムを利用できます。






