2009年12月06日() << 前の日記 | 次の日記 >>
これまでの12月06日 編集

■1Google Public DNSで無力化される米国特許6108703 このエントリーをはてなブックマークに追加

話題になっている Google Public DNS[http://code.google.com/intl/ja/speed/public-dns/] ですが、結局のところ、速度向上のメリットがあるのは、自分が現在利用しているISP等の DNS サーバが遅い場合ということになると思われます。
ウチでは手元にネームサーバを立ち上げていますが、ISPのネームサーバを使った場合、
kei@home[120] dig www.google.co.jp @xxx.xxx.xxx.xxx

; <<>> DiG 9.4.3-P3 <<>> www.google.co.jp @xxx.xxx.xxx.xxx
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32789
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.co.jp.              IN      A

;; ANSWER SECTION:
www.google.co.jp.       71292   IN      CNAME   www.google.com.
www.google.com.         75334   IN      CNAME   www.l.google.com.
www.l.google.com.       271     IN      A       66.249.89.103
www.l.google.com.       271     IN      A       66.249.89.147
www.l.google.com.       271     IN      A       66.249.89.99
www.l.google.com.       271     IN      A       66.249.89.104

;; Query time: 17 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Sun Dec  6 11:09:01 2009
;; MSG SIZE  rcvd: 146
で、「Query time: 17 msec」という測定結果が出ました。
一方、 Google Public DNS[http://code.google.com/intl/ja/speed/public-dns/] の場合、
kei@home[121] dig www.google.co.jp @8.8.8.8

; <<>> DiG 9.4.3-P3 <<>> www.google.co.jp @8.8.8.8
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27943
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.co.jp.              IN      A

;; ANSWER SECTION:
www.google.co.jp.       259200  IN      CNAME   www.google.com.
www.google.com.         259200  IN      CNAME   www.l.google.com.
www.l.google.com.       300     IN      A       66.249.89.103
www.l.google.com.       300     IN      A       66.249.89.147
www.l.google.com.       300     IN      A       66.249.89.99
www.l.google.com.       300     IN      A       66.249.89.104

;; Query time: 51 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Dec  6 11:11:31 2009
;; MSG SIZE  rcvd: 146
と、51 msecを要しています。その差、Tg(=51ms) - Ti(=17ms) = 34(ms)ですから、差は歴然としています。「Google Public DNSに変更したら早くなった」という人は、これまで相当に遅いDNSサーバで我慢してきた人と言うことになるでしょう。
こう書くと、「RTTが短いのは分かるけど、Google Public DNSには圧倒的なキャッシュ能力があるから、結局早いんじゃないの?」という反論がありそうです。 もちろん、GPDNSは投機的なキャッシュ更新をはじめとした、様々な高速化対策が施されているので、安定して早いと言うのは事実だと思います。
ですが、ISPのネームサーバのキャッシュに載っていないアドレスを引く確率はどの程度のものでしょうか。1%もあったら、相当特殊なブラウジングをしているのでは無いでしょうか。
ということで、日常的な体感速度には、結局、現在使っているネームサーバとGPDNSとの応答時間の差が支配的になると考えます。まず、計測してみましょう。

前段が長くなりましたが…:

みんながGPDNSを使うようになると、 Akamai[http://www.akamai.co.jp/] が保有している、 米国特許6108703[http://www.google.com/patents?id=-HsEAAAAEBAJ&dq=6,108,703] が無力化してしまう可能性に気づきました。
DNSクエリの問い合わせ元IPアドレスを見て、ネットワーク的に近くのサーバのIPアドレスを返すと言う仕組みなのですが、GPDNSを使われてしまうと、DNSクエリはGPDNSから来ることになって、この仕組みが使えなくなりそうです。
実際、 Akamai[http://ja.wikipedia.org/wiki/Akamai] *1 のシステムを使っている、いくつかのサイトに対する問い合わせを、ISPのネームサーバ経由とGPDNS経由で出してみたところ、違った答えを返してくるケースがありました *2 。GPDNSがAkamaiの様に、クエリ元IPを意識してIPアドレスを返し別けていれば良いですが、そうでなかったらCDNを使っているサイトはむしろ遅くなる可能性があります。
今は、利用者が少ないので大きい影響は無いと思いますが、今後、利用が拡大していけば、Akamaiに限らず、DNSを使った負荷分散や地理的分散処理を行っているシステムに影響を与えることになるかも知れません。
*1: AkamaiもGoogleと同じ1998年設立。
*2: 負荷分散のために、ラウンドロビンしている可能性もあるので、必ずしもGPDNSが原因とは言えませんが。

■ 関連記事

今日のつぶやき

以上、1 日分です。

指定日の日記を表示

前月 2009年12月 翌月
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

最近の日記

2019年04月01日

新元号「令和」について

2019年03月23日

DXアンテナ ワイヤレスチューナー メディアコンセント DMC10F1

2019年02月17日

#例のグラボを活用する

2019年01月03日

シリーズ5・myHomeAlexaで自分のCDをかける

2018年12月25日

シリーズ4・英語の楽曲・アルバム・アーティスト名をカタカナに直す

2018年12月23日

シリーズ3: Echo Dotがやってきた

2018年12月19日

続・Echo Dotがやってきた

分野別タイトル一覧


全て
CLIP
SYA!nikki
book
freebsd
hns
magic
おさけ
おしごと
お買いもの
ぐる
ごはん
アクセシビリティ
オープンソース
セキュリティ
音楽
地域情報化
電子自治体
日記

keikuma on Twitter

keikuma Name:前田勝之
Location:長崎市
Web:http://www.nantok...
Bio:前田勝之(まえだかつゆき)。長崎在住。コンサル、SE、プログラマー、 なんとか株式会社代表、非常勤講師(情報セキュリティ)。 セキュアド、テクニカルエンジニア(SV,NW)。サーバ管理とWeb日記を10年ほど。 ネットとリアルの接点に関心あり。食べること・歌うこと・愛すること・作ること・飲むこと。おいしいものがぜんぶすき。

サイト内検索

Google AdSense

Powered by hns-2.19.9, HyperNikkiSystem Project