SDN
← 概念一覧へ
ネットワーク

ドメインネームシステム(DNS)

Domain Name System (DNS)

人間が覚えやすいドメイン名(www.example.com)を、機械が使うIPアドレス(93.184.216.34)に変換する『インターネットの電話帳』。階層的にキャッシュされて高速に動く。

キーポイント
  • 役割: ドメイン名 → IPアドレスの変換。これがないとブラウザはサーバーに辿り着けない。
  • 階層構造: 少数の権威サーバー(authoritative server)を頂点に、下位サーバー・OS・ブラウザが結果をキャッシュ(TTLで期限管理)。
  • 主なレコード: A(名前→IP)、CNAME(別名→名前)、NS(このドメインのDNSサーバー)、MX(メールサーバー)。
  • ルーティング方式: 重み付きラウンドロビン、レイテンシベース、地理ベースなどでアクセス先を振り分けられる。
  • 管理DNSサービス: CloudFlare、Route 53 など。
トレードオフ

DNS解決はわずかな遅延を生む(ただしキャッシュで大きく緩和される)。設定が変わっても、各所のキャッシュが切れる(TTL満了)まで古い情報が残り、反映に時間がかかる。また有名な攻撃対象(DDoSの標的)になりやすく、管理も複雑になりうる。

たとえ話: 電話帳

友達に電話したいとき、あなたは名前は覚えていても電話番号は覚えていません。そこで電話帳で『名前→番号』を引きます。DNSはこの電話帳そのもの。ドメイン名(名前)を入力すると、IPアドレス(番号)を返してくれる仕組みです。

解決の流れ

ブラウザに www.example.com と打つと、こんな順で問い合わせが進みます。

図を描画中...

一度引いた結果は各段階でキャッシュされ、**TTL(Time To Live = 有効期限)**の間は再問い合わせ不要です。だから2回目以降は爆速になります。

レコードの種類(よく出る4つ)

レコード役割たとえ
A名前 → IPアドレス電話帳の『名前→番号』本体
CNAME別名 → 正式名『あだ名→本名』の転送
NSこのドメインを管理するDNSサーバー『この地区の電話帳はあの局』
MXメールの宛先サーバー『郵便はこの住所へ』

賢いルーティング

管理DNS(Route 53など)は単なる変換だけでなく、誰がアクセスしてきたかで返すIPを変えられます

  • レイテンシベース: 一番速く繋がるサーバーのIPを返す。
  • 地理ベース: 日本からのアクセスには日本のサーバーを返す。
  • 重み付きラウンドロビン: サーバーの能力に応じて配分する。

つまずきポイント

  • DNSの変更が『すぐ反映されない』のはバグではなく、世界中のキャッシュがTTL満了するまで古い情報を使うため。引っ越し直後に旧住所宛の郵便が届くのと同じ。
  • TTLを短くすれば反映は速くなるが、問い合わせ回数が増えて負荷とわずかな遅延が増える。トレードオフ。

📊 図解

名前解決の流れ(シーケンス)

図を描画中...

関連する概念

この概念で腕試し

関連する 5 問のクイズに挑戦できます。

クイズを解く