【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サーバは「すべてのホストを知らない」
ドメインの階層構造
- helloproject.comは.comに属する
- www.helloproject.comはhelloproject.comに属する
DNSによる「名前解決」の流れ
- ユーザが使用する端末は、ユーザが指定したDNSサーバに対して「www.helloproject.comのIPアドレスは?」と聞きます。
- しかしそのDNSサーバはこれを知らないので、「ルートゾーン」を管理しているDNSサーバ(これを特に「ルートサーバ」と呼びます)に「www.helloproject.comのIPアドレスは?」と聞きます。
※ルートサーバにはaからmまで13の種類がありますが、どれも同じ情報を持っています。これはルートサーバがDNSの仕組み上最重要となっているため、複数の選択肢を用意しておくことにより障害が発生する可能性を少なくしています。 - しかしルートサーバも同様にこれを知りません。しかしながら、「.com」を管理するDNSサーバのIPアドレスを知っているので、これを返答します。つまり、「www.helloproject.comは知らない。ただし.comを管理しているところは知っている。aa.aa.aa.aaに聞いてみてくれ」ということになります。
※「aa.aa.aa.aa」はIPアドレスを指します。以下、「bb.bb.bb.bb」なども同様です。 - 今度は.comを管理しているaa.aa.aa.aaに聞いてみます。しかし同様にこれを知りません。しかしながら、「helloproject.com」を管理するDNSサーバのIPアドレスを知っているので、これを返答します。つまり、「www.helloproject.comは知らない。ただしhelloproject.comを管理しているところは知っている。bb.bb.bb.bbに聞いてみてくれ」ということになります。
- 今度はhelloproject.comを管理しているbb.bb.bb.bbに聞いてみます。このサーバは「www.helloproject.com」のIPアドレスを知っているので返答します。「www.helloproject.comのIPアドレスは182.236.95.245です」と返答します。
- ユーザが指定したDNSサーバは、次にリクエストがあったときに備えて一定時間このIPアドレスを記憶します。そして、ユーザ端末に対して「www.helloproject.comのIPアドレスは182.236.95.245です」と返答します。
ドメインの更新漏れがある場合
- ユーザが使用する端末は、ユーザが指定したDNSサーバに対して「www.up-fc.jpのIPアドレスは?」と聞きます。
- しかしそのDNSサーバはこれを知らないので、ルートサーバに「www.up-fc.jpのIPアドレスは?」と聞きます。
- しかしルートサーバも同様にこれを知りません。しかしながら、「.jp」を管理するDNSサーバのIPアドレスを知っているので、これを返答します。つまり、「www.up-fc.jpは知らない。ただし.jpを管理しているところは知っている。cc.cc.cc.ccに聞いてみてくれ」ということになります。
- 今度は.jpを管理しているcc.cc.cc.ccに聞いてみます。しかし.jpの管理簿には、「up-fc.jpのドメインの有効期限が切れている」と記載されているため、「そんなものは知りません」と返答します。
- ユーザが指定したDNSサーバは、「www.up-fc.jp」のIPアドレスを取得できなかった旨、ユーザが使用する端末に通知します。