web-dev-qa-db-ja.com

最近、ネームサーバーの何パーセントがTTL=を尊重していますか?

数年前、機器の一部を1つのデータセンターから別のデータセンターに移動したため、数週間にわたってDNSをいくつか変更する必要がありました。私がこれを行った当時、世界のネームサーバーの約95%はTTLの値を尊重していたようで、約5%が私たちのものを無視して独自のものを作りました。つまり、95 15分以内に移動したトラフィックの割合TTL。最初の1時間でさらに3%、最初の日に1%、いくつかのストラグラーには最大3日かかりました。

(はい、わかりました。トラフィックの割合とネームサーバーの割合を混同しています。ハンドウェーブを挿入してください。)

しかし、これは2001年頃で、恐竜を使ってチューブを介してパケットを送信していました。私の推測では、今日のネームサーバーはより良い振る舞いをしており、ストラグラーの問題は少ないでしょう。定義されたTTL最近、トラフィックの何パーセントが切り替わるのかという感触はありますか?TTLを無視するネームサーバーはまだたくさんありますか?

29
user10501

最近引っ越してきて、DNSに関していろいろな問題がありました。

振り替えると、ほとんどの顧客がすぐに新しいIPにアクセスし始めました。しかし、何週間かはまだ古いIPを攻撃していました。サーバーを1か月ほど放置しました。最終的に、IISログを古いマシンに記録し、そこにある会社またはISPのDNSサーバーでDNSをフラッシュするように顧客に指示しました。これにより、最後のサーバーに移動しました。

古いIPを維持していたのは少数の人々でした。 2万人の顧客のうち、おそらく50人が初日後に問題を抱えていました。

15
mrdenny

(非常に)長いTTL週の値は、2011年5月に、最大2週間までのほとんどのDNS解決ネームサーバーによって尊重されます。

Just-dnslookup.comを使用したテストでは、50のグローバル分散アクティブ測定ポイントがあり、AレコードTTLが99.999.999に設定= 165週間(正確:165週間2日9時間46分39秒)、およびデフォルトのTTL 2週間(= SOA + NS TTL))。

最初の検索は次を返します:

  • a TTL 1週間、50点のうち3点
  • a TTL 165週間、50の測定点のうち47の場合

連続検索戻り値(元の値に変換TTL値):

  • a TTL 1週間、50点のうち3点
  • a TTL 2週間、50の測定ポイントのうち46の場合
  • a TTL 165週間、50点のうち1点

2番目のテスト(別のドメインを使用)で、デフォルトTTLは4週間に設定されています(= SOA + NS TTL )結果は以下のとおりです。

最初の検索は次を返します:

  • a TTL 1週間、50点のうち3点
  • a TTL 2週間、50の測定点のうちの1つ
  • a TTL 165週間、50点のうち46点

連続ルックアップ戻り(フルに変換TTL長さ):

  • a TTL 1週間、50点のうち3点
  • a TTL 2週間、50の測定ポイントのうち47の場合
  • a TTL 165週間、50の測定点のうち0の場合

最もよく知られている/最も接続されているパブリックリゾルバーサービスから:

  • GoogleパブリックDNS [8.8.8.8および8.8.4.4]は1日に短縮されます。
  • UltraDNS [rdns(1 | 2).ultradns.net]は、165週間完全に名誉を与えられます。
  • Sprintlink [ns(1 | 2 | 3).sprintlink.net]は、165週間にわたって名誉を与えられます。
8
Pro Backup

私は最近、個人サイトとプロジェクトサイトをホストするいくつかのドメインのDNSをGoDaddyから社内DNSに移動しました(そう、文字通り私のhouse)。全体として、私がリモートアクセスできるすべてのサイトはTTL=を尊重し、うまく移行しました。同じことが、固定電話と携帯電話の両方を介して確認するよう依頼したすべての友人から報告されました。唯一の問題皮肉なことに、私が働いている$ UniversityのメインキャッシングDNSサーバーでした。これは、キャッシュされたクエリではTTLを完全に無視しているようです(TTL valueキャッシュされた結果に割り当てられていました)。

全体的に、TTLは敬意を払う必要があります。 。comおよび.netドメインに対して権威のあるサーバーの56% はBINDを実行しており、明らかにケーブルビジョン/オプティマム(少なくともNJでは)は、TTLを尊重するNominum CNSを使用しているようです。

3
Jason Antman

これは具体的にあなたの質問に対する答えではありません。むしろ、それがテストに影響を与えると考える追加の事柄:

連鎖DNSリカーサとキャッシュデーモン

レコードをキャッシュするのはEdge DNSリカーサーだけではありません。時々人々は再帰を連鎖させ、これは時間を追加します。これを行うべきかどうかは、人々が解決しようとしていたことに基づいた長い議論になる可能性があります。データセンターで3レベルの再帰を確認しました。 TTLデクリメントが常に保持されるとは限らないため、再帰が混在すると結果が混在する可能性があります。一部のオペレーティングシステムはレコードをキャッシュします。一部のシステムはnscddnsmasqのようなものも使用しますローカルリカーサの問題による影響を最小限に抑え、リカーサの負荷を軽減するその他の方法OSの特性は、リリースバージョン、キャッシュデーモン、キャッシュデーモンのバージョンなどによって異なります。

[Edit]繰り返しますが、これはリカーサまたはキャッシングデーモンの通常の動作ではありません。バギーなものを恥ずかしく思うつもりはありませんが、多くのLinuxディストリビューションにバンドルされているにもかかわらず、そのうちの1つは保守されていないと考えられます。

アプリケーションDNSキャッシュ

一部のブラウザはレコードもキャッシュします。 Javaおよび他のアプリもDNSをキャッシュします。アプリケーション内で最大ttlを制限することができます。

最終結果が歪む可能性があります

上記の項目は、15分TTLを60分以上に簡単に変えることができます。

このため、アプリケーションまたはWebサイトでは、フォールトトレランスの設計に複数のアクティブノードを含めることを検討することをお勧めします。これにより、クライアントは、サイトへの1つのエントリポイントが失敗したときに迅速に判断し、問題を優雅で予測可能な方法で自動的に処理できます。可能な場合。 Anycastは、一部の企業がフェイルオーバーをある程度透過的にするために使用する1つの方法であり、DNSの変更にそれほど依存しません。複数のDNSレコードを使用してJavaScriptで実行できる負荷分散の巧妙な方法もいくつかあります。

0
Aaron