リビアのインターネットとbit.ly
今回はあきみちさんのブログ『Geekなページ』からご寄稿いただきました。
リビアのインターネットとbit.ly
『Twitter』などを使っていると『bit.ly』というURL短縮サービスを良く見ますが、“.ly”というccTLD(country code Top Level Domain)はリビアです。現在、リビアが不安定化していますが、もしリビアのccTLDが停止した場合、『bit.ly』が影響を受ける可能性もありそうです。
まず、最初にどの部分がどう影響があるのかを見てみます。
『bit.ly』そのものはアメリカにありそうです。 DNSはDny Inc.によるDynectとNTT CommunicationsのAS2914のIPアドレスという組み合わせです。この組み合わせによる運用(負荷分散)は『Twitter』と同じです。
*****
> dig bit.ly.
; <<>> DiG 9.4.3-P2 <<>> bit.ly
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59284
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;bit.ly. IN A
;; ANSWER SECTION:
bit.ly. 3600 IN A 168.143.172.53
;; AUTHORITY SECTION:
bit.ly. 69900 IN NS ns3.p26.dynect.net.
bit.ly. 69900 IN NS ns4.p26.dynect.net.
bit.ly. 69900 IN NS ns1.p26.dynect.net.
bit.ly. 69900 IN NS ns2.p26.dynect.net.
;; ADDITIONAL SECTION:
ns1.p26.dynect.net. 20238 IN A 208.78.70.26
ns2.p26.dynect.net. 20238 IN A 204.13.250.26
ns3.p26.dynect.net. 20238 IN A 208.78.71.26
ns4.p26.dynect.net. 20238 IN A 204.13.251.26
;; Query time: 68 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 22 13:22:43 2011
;; MSG SIZE rcvd: 190
*****
このようにアメリカで運用されていると思われる『bit.ly』ですが、リビアのccTLDが止まってしまうとどうなるのでしょうか? DNSの仕組みを含めて、ざっと説明すると以下のようになります。
・DNSに関してざっと紹介
一般的な環境では、ユーザーはDNSキャッシュサーバーに問い合わせを行って、名前解決をします。 DNSキャッシュサーバーは、ISP内で運用されていることが多いです(Google Public DNS*1 のようなオープンリゾルバな形式はこの限りではないのでご注意下さい)。
*1:「Google Public DNS解説と個人的妄想」2009年12月07日『Geekなぺーじ』
http://www.geekpage.jp/blog/?id=2009/12/7/1
DNSキャッシュサーバーは、既にキャッシュを持っていれば、単純にそのキャッシュをユーザーに返します。このように、DNSキャッシュサーバーがキャッシュを返すので、世界中のDNS問い合わせでインターネットが埋め尽くされずにすむという構造になっています。
DNSキャッシュサーバーに蓄積されるキャッシュにはTTL(Time To Live、生存期間)というものがあります。このTTLを過ぎてしまったキャッシュは破棄され、使われません。
ユーザーから問い合わせを受けた名前の解決を一度も行ったことがなかったり、持っていたキャッシュが期限切れ(Expire)してしまった場合、図のようにDNSキャッシュサーバーは世界中にあるDNS権威サーバーへ問い合わせ、名前解決を行います。
リビアのccTLDであるlyのDNS権威サーバーが止まってしまうと、この図中の(4)と(5)の部分が抜け落ちてしまいます。
ccTLDが停止してしまうというのは、そのccTLDを持つ名前解決ができなくなるという意味であり、国全体のインターネットが停止している状態に近いです。 ウェブやメール、その他の様々な通信が事実上できなくなります。今回のリビアとは事情が違いますが、オペレーションミスによってccTLD全体が停止してしまった事例も過去にあります。最近では、2009年10月にスウェーデンのccTLDが90分停止したり*2、2010年5月にはドイツのccTLDが約120分停止する*3 という事件もありました。
*2:「スウェーデンのインターネットが90分弱壊れました」2009年10月14日『Geekなぺーじ』
http://www.geekpage.jp/blog/?id=2009/10/14/1
*3:「ドイツが1時間20分ぐらいインターネットから消えた」2010年05月13日『Geekなぺーじ』
http://www.geekpage.jp/blog/?id=2010/5/13/1
・lyに関してDNS Root Serverに問い合わせる
では、実際にリビアのccTLDであるlyに関して調べてみます。問い合わせ先はDNS Root ServerのMです。 A~Mの13系統(エニーキャストなので“台”ではなく“系統”です)のどのDNS Root Serverに問い合わせても大丈夫ですが、なんとなくMに問い合わせてみました。
*****
> dig @m.root-servers.net ly.
; <<>> DiG 9.4.3-P2 <<>> @m.root-servers.net ly.
; (2 servers found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64945
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 5, ADDITIONAL: 6
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;ly. IN A
;; AUTHORITY SECTION:
ly. 172800 IN NS dns1.lttnet.net.
ly. 172800 IN NS ns-ly.ripe.net.
ly. 172800 IN NS phloem.uoregon.edu.
ly. 172800 IN NS dns.lttnet.net.
ly. 172800 IN NS auth02.ns.uu.net.
;; ADDITIONAL SECTION:
dns.lttnet.net. 172800 IN A 62.240.36.9
dns1.lttnet.net. 172800 IN A 62.68.42.9
ns-ly.ripe.net. 172800 IN A 193.0.12.125
auth02.ns.uu.net. 172800 IN A 198.6.1.82
phloem.uoregon.edu. 172800 IN A 128.223.32.35
phloem.uoregon.edu. 172800 IN AAAA 2001:468:d01:20::80df:2023
;; Query time: 13 msec
;; SERVER: 2001:dc3::35#53(2001:dc3::35)
;; WHEN: Tue Feb 22 14:16:08 2011
;; MSG SIZE rcvd: 259
*****
この中のlttnetが、Libia Telecom and Technologyです。いかにもリビアのテレコムのような名前です。
digの結果を見ると、lyは5つのDNSサーバーによって運営されています。これは全て推測ですが、2つがリビア(dns.lttnet.netとdns1.lttnet.net)に、2つがアメリカ(uunetとオレゴン大学)に、1つ(ns-ly.ripe.net)がヨーロッパにあるようです。
「5コのうち3コがリビア外なら問題ないんじゃない?」と思うかもしれませんが、実はそうでもなかったりします。
dns.lttnet.net以外には“使える期間”が決まっています。次はSOAレコードを見てみましょう。
・SOAレコードを見る
次に、リビアのccTLDであるlyをdigで調べてみます。するとSOAレコードが登場します。
*****
> dig ly.
; <<>> DiG 9.4.3-P2 <<>> ly.
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31851
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;ly. IN A
;; AUTHORITY SECTION:
ly. 117 IN SOA dns.lttnet.net.
khaleds.lttnet.net. 2011022217 3600 900 2419200 600
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 22 13:14:44 2011
;; MSG SIZE rcvd: 78
*****
このSOAレコードというのは、Start of Authorityの略で、直訳すると“権威の開始”という意味になります。リビアのccTLDであるlyに関して考えると、lyというドメインのSOAは以下のようになります。
*****
@ IN SOA dns.lttnet.net. khaleds.lttnet.net. (
2011022217 ; Serial
3600 ; Refresh
900 ; Retry
2419200 ; Expire
600 ; Negative cache TTL
)
*****
細かい部分は“SOA”という単語でウェブ検索して調べていただくとして……今回注目するのはExpireの部分です。
Expireは、dns.lttnet.netが利用不能な状態が続いた時にセカンダリDNSサーバーの結果をどれだけ使っても良いかを示しています。今回の『bit.ly』に限定して考えると、dns.lttnet.netが接続不能になったときに、アメリカやヨーロッパに設置してある(もしくは、してあると思われる) .lyのセカンダリDNSサーバーをどれぐらいの期間使い続けられるかということになります。
このExpireの値は秒数で表現されますが、lyでの値は2419200です。 2419200を3600(1時間の秒数)で割ると672になり、672を24(1日の時間数)で割ると28になります。ということで、lttnet.netが何らかの理由で停止し続けても4週間は機能するかも知れません。
(ただし、それはオレゴン大学とuunetとripeがセカンダリを続けてくれたらという条件がつきます。それらのセカンダリがセカンダリとしての機能提供をやめてしまった場合、状況が変わります)
・まとめ
ということで、たとえばリビアのインターネットが完全に停止したうえで、リビアテレコムがサービスを提供不能になってlyのプライマリDNSサーバーが機能不全に陥っても、現時点では『bit.ly』は28日間は使い続けることができそうです。
執筆: この記事はあきみちさんのブログ『Geekなページ』からご寄稿いただきました。
文責: ガジェット通信
■最近の注目記事
IPv4アドレス枯渇 その意味と恐らくこれから起きること(後編)
地下鉄の基地局整備 手柄を横からかっさらう孫正義氏
理念とは卑きょうの提案
講演でわかったジャパネットたかた社長のハイテンションの理由
明治公園でフリーマーケット
ガジェット通信はデジタルガジェット情報・ライフスタイル提案等を提供するウェブ媒体です。シリアスさを排除し、ジョークを交えながら肩の力を抜いて楽しんでいただけるやわらかニュースサイトを目指しています。 こちらのアカウントから記事の寄稿依頼をさせていただいております。
TwitterID: getnews_kiko
- ガジェット通信編集部への情報提供はこちら
- 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。