はじめに
改めてWebの様々なことについて、復習を兼ねて理解を深めるため自分なりにまとめる。
ここでは主にDNSについてまとめる。
DNSとは?
Domain Name Systemの略。
IPアドレスとドメイン名を紐づけているシステム。
まずは先にIPアドレスと、ドメイン名について簡単におさらいする。
IPアドレス
IPアドレス(Internet Protocol Address)は、ネットワーク機器を識別するための番号。識別するため、もちろん重複してはいけない。
IPアドレスには、IPv4やIPv6といった通信する際のプロトコル(規約)がある。
(Internet Protocol version4/Internet Protocol version6)
これらには様々な違いがある。例えば、ビット数の違いがある。
IPv4では、32ビット。IPv6では128ビット。
IPV4では、
11000000.10101000.00000001.00000011
という32ビット(2進数32桁)で表されていてこれを8ビットずつ区切り10進数、192.168.1.3
という風に表記している。
2の32乗で約43億通り表現できる。
IPv6では、128ビット(2進数128桁)を16ビットごとに区切り、16進数で表記している。
2の128乗は、約43億×43億×43億×43億通り(ざっくり)表現できる。
上記のようにビット数が異なるため、IPv6のほうがより多くのIPアドレスを割り当てることが出来る。
IPv4が普及していく中で、42.9億とかなり多く表現できるように思われるが、実際世界中の機器に重複しないように割り当てる必要があることから、IPv4によるIPアドレスの枯渇問題が起こっている。
こうした背景からもより多く表現できるIPv6が登場した。
ただ、IPv4とIPv6に互換性がないことからも、IPv6へすぐに移行されることもなくどちらも使用されている。
参考
IPv4とIPv6の違い8つとは?IPv4 over IPv6についても解説
キタミ式イラストIT塾 基本情報技術者 平成31/01年
ドメイン名
ドメイン名とは、インターネット上のネットワークを特定するための文字列。
サイト(サーバー)ごとにIPアドレスが振られていますが、IPアドレスを覚えるのは人間には難しい。
そこで、我々人間にも覚えやすいようIPアドレスを特定するための文字列がドメイン名。
IPアドレスを特定するため、ドメイン名も重複しない。
では、IPアドレスとドメイン名はどのようにして紐づいているのかというと、DNSがこれらを管理している。
DNS
DNSによって、IPアドレスとドメイン名が紐づいていて、ドメイン名からIPアドレス(またはIPアドレスからドメイン名)へ変換することを***「名前解決」***という。
名前解決のざっくりとした流れは以下の通り。
1.クライアントからのリクエスト
2.DNSサーバーがIPアドレスをレスポンス
3.そのIPアドレスにアクセス
ただ、膨大な量のIPアドレスをDNSサーバーのみで管理するのは厳しい。
そこで、ドメイン名を「.(ドット)」で区切ってそれぞれの階層ごとに分散させて管理している。
この区切られた階層の一番上のものを***「ルートサーバー」***という。
そこから順に下位のサーバーに問い合わせをしていき、必要な情報を取得する。
ただ、毎回このルートサーバーに問い合わせをしてしまうと処理が集中してしまうため、***「キャッシュサーバー」***と呼ばれる、DNSサーバーへ問い合わせ(名前解決)専用のサーバを用意し、このサーバーを経由して名前解決が行われている。
このキャッシュサーバーは、一度問い合わせをして得た情報を一定期間保持することで無駄な問合せを減らしている。
一定期間が経過したら、また必要になった際は問い合わせを行う。
参考
ドメイン名とドメインネームシステム(DNS) ※図もありわかりやすかった