上限を超えた TTL(2147483648)の扱い
上限の 2147483647 をちょうど 1 超えた値は、最上位ビットが立つため 0 として扱われます。誤って大きな値を入れたときに、実際は 0 秒の扱いになる点を警告で知らせます。
入力
TTL(秒)。1 行に 1 つ
2147483648
レコードを変更した日時
2026-10-28 12:00
結果
エラー 0 件・警告 1 件・情報 1 件
指摘(エラー・警告・情報)
- 警告 1 行目 2147483648 は上限 2147483647(2 の 31 乗 - 1)を超えています。最上位ビットが立った TTL は 0 として扱う決まりなので、キャッシュされない(0 秒)と読みました(RFC 2181 8 節)。
- 情報 全体 TTL は「その時間まではキャッシュに残してよい」という最大の目安で、必ず残るという意味ではありません。実際の保持は実装によって短くなることがあります(RFC 2181 8 節)。
| 変更した日時 | 2026-10-28 12:00:00(水) JST / 2026-10-28 03:00:00(水) UTC |
|---|
古い値が残りうる最長の時刻
| TTL(秒) | 長さ | 古い値が残りうる最長の時刻(日本時間) | 同(UTC) |
|---|---|---|---|
| 2147483648(0 として扱う) | 0 秒 | 2026-10-28 12:00:00(水) JST | 2026-10-28 03:00:00(水) UTC |
検算(この結果になる理由)
2147483647 は 2 の 31 乗 - 1 で、2147483648 は最上位ビットが立つ最小の値です。RFC 2181 8 節はこの範囲の値を 0 として扱うと定めるため、警告が 1 件出て、終了時刻は変更時刻と同じ 12:00 になります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 実際のキャッシュの保持は実装しだいで、TTL より短く捨てられることがあります。ここで出すのは仕様上の最長の目安です。
- 変更前に TTL を下げてある場合、下げる前の TTL が残る期間までは考慮しません。変更前の TTL の履歴を入れて計算してください。
- 他社の DNS サーバーや、ブラウザ・OS・ルーターが独自に持つキャッシュの動作は判定しません。
ご利用にあたって
- 結果は仕様上の最長の目安で、実際に古い値が消える時刻を保証するものではありません。
- 本番の切り替えでは、複数の場所から実際の応答を確かめてから旧環境を止めてください。