その908。【2日23:45更新版】2018巻頭言~ハロプロFCサイトで見るDNSの仕組み~ | 北海道のアンジュルムファンのブログ

北海道のアンジュルムファンのブログ

北海道在住のアンジュルムファンが、アンジュルムのことのみならず、いろいろなことを書きます。
Twitter、YouTube、Ustreamなども運用中。
2014年12月22日、改名に伴い「北海道のスマイレージファン」から「北海道のアンジュルムファン」に変更しました。

【2018/01/02 23:45更新:本記事下部をご覧ください】

2018年最初のブログです。

今年もよろしくお願いします。

 

さて、新年早々ハロプロ界ではいろいろな問題が発生していますが、今回は「ハロプロファンクラブサイトにアクセスできない件」について取り上げたいと思います。

 

これまでの調査結果から、「ハロプロファンクラブサイトで使用しているドメインであるup-fc.jpの更新漏れ」が原因である可能性が高いと判断しています。

 

では、「up-fc.jpの更新漏れ」でなぜそのサイトが見られなくなっているのか、技術的な観点から、できる限りわかりやすく説明したいと思います。

なお、わかりやすさを重視しているため、厳密な用語ではない部分があります。

インターネットにおける通信の仕組み

早速ですが、今皆さんはインターネットというものを使ってこのブログを見ているかと思います。

インターネット上の通信は、「IPアドレス」と「ポート番号」によりその通信相手を特定して行われています。

ここで、ハロプロのサイト(こちらはつながりますので)にアクセスする場合を例に考えます。

ハロプロのサイトを見る場合は、検索エンジンからでも、お気に入りからでも、「http://www.helloproject.com」にアクセスすることとなると思います。

この「http://www.helloproject.com」というのは「URI」と呼ばれる識別子ですが、「IPアドレス」や「ポート番号」はこれには含まれていません。

では、どのようにして「IPアドレス」や「ポート番号」を特定するのでしょうか。

 

「ポート番号」については、先頭の「http」が鍵となります。「http」というのは略語で、正式には「Hyper Text Transfer Protocol」というものです。ざっくりいうと、「Webサイトを見るために必要なやりとりの標準的な方法を定めたもの」になります。

この「http」の場合、特に指定のない場合は80番のポートとやりとりをする、と決まっています。

今回の場合は指定がないので、「www.helloproject.comの80番のポートにアクセスする」ということになります。

 

さて、「IPアドレス」はどのようにして手に入れることができるのでしょうか。その鍵を握るシステムが、「DNS」です。

 

DNSは「インターネットの電話帳」

DNS、正式名称を「Domain Name Service」といいますが、これは「ホストの名前」と「IPアドレス」の対応を管理するシステムです。
このDNSの仕組みを使って、「ホストの名前」と「IPアドレス」の変換を行うコンピュータを「DNSサーバ」と呼びます。
各プロバイダにより設置されているものもあれば、Google Public DNSという公開されているDNSサーバもあります。
このDNSサーバに「www.helloproject.comのIPアドレスは?」と聞くと、「182.236.95.245です」という返答をもらうことができますが、この仕組みについては次の節で説明します。

DNSサーバは「すべてのホストを知らない」

インターネット上には多数の「ホストの名前」があります。そのすべてのデータが仮にDNSサーバにあったとしたらどうなるのでしょうか。
「ホストの名前」は「ドメイン部」と「ホスト部」に分かれます。
「www.helloproject.com」の場合は、「www」が「ホスト部」で、「helloproject.com」が「ドメイン部」となります。
その「ドメイン部」の個数でさえ相当な量になっており、その一部である「.jpドメイン(=ドメイン部が「.jp」で終わるもの)」の場合、2018年1月1日現在において149万5477件登録されています(「.jpドメイン」を管理する「JPRS」の公開資料による)。
さらに、「ドメイン部」に対して複数の「ホスト部」があったり、同じ「ホストの名前」を持つ「IPアドレス」が複数あったりしますので、「ホストの名前」と「IPアドレス」の対応データは大量になります。
そこで、DNSでは「ドメインの階層構造」を利用して、「ホストの名前」と「IPアドレス」の対応データの分散を行っています。

ドメインの階層構造

「www.helloproject.com」を例にとると、
  • helloproject.comは.comに属する
  • www.helloproject.comはhelloproject.comに属する
という状況です。
では、「.com」はどこに属しているかというと、「ルートゾーン」と呼ばれるところに属しています。
それぞれの階層ごとに、その階層を管理しているDNSサーバがあります。

DNSによる「名前解決」の流れ

さて、DNSによる「ホストの名前」から「IPアドレス」を得るということを「名前解決」といいますが、その流れは「www.helloproject.com」を例にとると、概ね以下の通りです。
  1. ユーザが使用する端末は、ユーザが指定したDNSサーバに対して「www.helloproject.comのIPアドレスは?」と聞きます。
  2. しかしそのDNSサーバはこれを知らないので、「ルートゾーン」を管理しているDNSサーバ(これを特に「ルートサーバ」と呼びます)に「www.helloproject.comのIPアドレスは?」と聞きます。
    ※ルートサーバにはaからmまで13の種類がありますが、どれも同じ情報を持っています。これはルートサーバがDNSの仕組み上最重要となっているため、複数の選択肢を用意しておくことにより障害が発生する可能性を少なくしています。
  3. しかしルートサーバも同様にこれを知りません。しかしながら、「.com」を管理するDNSサーバのIPアドレスを知っているので、これを返答します。つまり、「www.helloproject.comは知らない。ただし.comを管理しているところは知っている。aa.aa.aa.aaに聞いてみてくれ」ということになります。
    ※「aa.aa.aa.aa」はIPアドレスを指します。以下、「bb.bb.bb.bb」なども同様です。
  4. 今度は.comを管理しているaa.aa.aa.aaに聞いてみます。しかし同様にこれを知りません。しかしながら、「helloproject.com」を管理するDNSサーバのIPアドレスを知っているので、これを返答します。つまり、「www.helloproject.comは知らない。ただしhelloproject.comを管理しているところは知っている。bb.bb.bb.bbに聞いてみてくれ」ということになります。
  5. 今度はhelloproject.comを管理しているbb.bb.bb.bbに聞いてみます。このサーバは「www.helloproject.com」のIPアドレスを知っているので返答します。「www.helloproject.comのIPアドレスは182.236.95.245です」と返答します。
  6. ユーザが指定したDNSサーバは、次にリクエストがあったときに備えて一定時間このIPアドレスを記憶します。そして、ユーザ端末に対して「www.helloproject.comのIPアドレスは182.236.95.245です」と返答します。

ドメインの更新漏れがある場合

今回の事例の場合は、以下のようになります。
  1. ユーザが使用する端末は、ユーザが指定したDNSサーバに対して「www.up-fc.jpのIPアドレスは?」と聞きます。
  2. しかしそのDNSサーバはこれを知らないので、ルートサーバに「www.up-fc.jpのIPアドレスは?」と聞きます。
  3. しかしルートサーバも同様にこれを知りません。しかしながら、「.jp」を管理するDNSサーバのIPアドレスを知っているので、これを返答します。つまり、「www.up-fc.jpは知らない。ただし.jpを管理しているところは知っている。cc.cc.cc.ccに聞いてみてくれ」ということになります。
  4. 今度は.jpを管理しているcc.cc.cc.ccに聞いてみます。しかし.jpの管理簿には、「up-fc.jpのドメインの有効期限が切れている」と記載されているため、「そんなものは知りません」と返答します。
  5. ユーザが指定したDNSサーバは、「www.up-fc.jp」のIPアドレスを取得できなかった旨、ユーザが使用する端末に通知します。

ドメインの有効期限

ドメインは売り物です(ごくごく一部ですが、無料で取得できるドメインがあるらしいです)。その売り方は、「ドメイン1年間管理でいくら」という風に、有効期限がついています。
ドメインの買い方は、そのドメインを管理しているところから買うか、またはそのドメインを管理しているところから販売などの委託を受けているところから買うかのいずれかの方法があり、買い方によって料金が変わってきます。
通常だと「もうすぐ有効期限が切れますがどうしますか?」というメールが飛んできていてもおかしくはないのですが、おそらく気がつかなかったのでしょう。

まとめ

新年早々のトラブルですが、技術的に明るい人でないと「ドメインの有効期限切れ」といわれてもピンとこないと思います。
また、上記の通り「ドメインの有効期限切れ」でIPアドレスを取得できなかったのか、「ドメインやホストそのものがDNSサーバに登録されていなかったのか」がユーザ端末では通常わからない(Whoisというドメイン情報を調べるツールでは確認できます)ので、一般ユーザにとってはわかりにくいかもしれません。
今回はできる限りわかりやすく説明したつもりですが、わかりにくかったらコメントをください。
適宜対応させていただきます。
 
そういえば私も去年ドメインを1つ取得しました。まだサイト自体くみ上げていないので公表しませんが、更新漏れには注意したいところです。

23:45更新

現在はドメインの有効期限更新が行われ、通常通り閲覧できるようになっています。
Whoisを使って調べたところ、有効期限は2018/12/31に、最終更新は2018/01/02 18:19:47 (JST)になっていました。
なお、up-fc.jpを管理しているDNSサーバは、Whoisでの表示によればさくらのクラウドDNSを使用しているようです。