DNS
Domain Name System
DNSルックアップをするシステム
つまり、domain nameとIP Addressを紐付けるシステム
ページにアクセスするためには本来は後者が必要だが、人間は前者を覚えているだけで良くなる
概略
インターネットに繋がる機器の総称をホストという
ホスト同士がやり取りするためには、互いのIP Addressを認識している必要がある
現在は、IPアドレスとホストの紐付けは階層化して管理されている
階層化して分割した名前空間をドメインと呼ぶ
そのドメインを識別するための名称がdomain name
このIP Addressとdomain nameの紐付けをするのがDNS
DNSもドメイン名に対応する形で管理を階層化する
ドメイン名の階層化と、DNSの階層化は対応づいているが独立な概念であることに注意するmrsekut.icon
階層化して、子に管理を委任することで、分散管理している
それぞれの管理対象をDNSのゾーンと呼ぶ
階層ごとのネームサーバーを辿っていくことで、最終的にIP Addressを特定できる
この操作をDNSルックアップと呼ぶ
参考
『DNSがよくわかる教科書』
DNSサーバー
DNSキャッシュサーバー
https://qiita.com/getty104/items/b9c18c4d86f6a1274d18
DNSの浸透という表現の問題点
IP Addressは、ネットワークを管理する側の都合で変更されることもある
その場合、IPアドレスだけ見ていると、全く別の相手に繋がってしまう可能性がある
代わりに名前を使う
名前で指定された相手がその時点で使っているIPアドレスを接続の都度調べるようにする
リソースレコード
https://khibino.hatenadiary.jp/entry/2023/03/20/105555
https://gyazo.com/046e1d89a1acc6d2bdd3d8cb2d7e5807 https://www.akamai.com/ja/glossary/what-are-dns-servers
DNSのリクエストと、サーバへのリクエストは、独立したリクエスト
上記画像の1,2は、すでにローカルにIPのキャッシュがあれば行われない
この図めっちゃわかりやすいな
https://www.kagoya.jp/howto/wp-content/uploads/kagoya1610-3_2_2-1.jpg https://www.kagoya.jp/howto/rentalserver/dns-server/
委任
DNSでは、 あるサーバがドメイン名情報をすべて持っているわけではなく、 「委任」と呼ばれる仕組みでデータを階層ごとに分散化しています。 ここで言う委任は、自分の管理するドメインのうち、 一部を他のサーバに管理を任せることを指しています。ref
権威DNSサーバー
DNSラウンドロビン
DNSフェイルオーバー
DoH
DNSレコード
ネームリゾルバ
https://ja.wikipedia.org/wiki/リゾルバ
DNS_PROBE_FINISHED_NXDOMAIN
https://kinsta.com/jp/knowledgebase/dns_probe_finished_nxdomain/
NXDOMAIN
Non-Existent Domainの略
https://www.dnsknowledge.com/whatis/nxdomain-non-existent-domain-2/
DNSキャッシュポイズニング
#??
TTLとは?
どのぐらいの時間にすべきなのか?
DNSキャッシュ
https://www.nic.ad.jp/ja/newsletter/No51/0800.html
浸透とは?
これ、待つしか無いのか?
http://www.e-ontap.com/dns/propagation/
$ sudo killall -HUP mDNSResponder
killallコマンド
macでDNSキャッシュを消すやつ?
https://stackoverflow.com/questions/38867905/how-to-view-dns-cache-in-osx
https://www.nic.ad.jp/ja/dns/
用語集
https://kinsta.com/knowledgebase/what-is-dns/
概要
https://www.slideshare.net/ttkzw/dnsrfc
RFC
https://aws.amazon.com/jp/route53/what-is-dns/
https://developers-jp.googleblog.com/2019/11/dns.html
https://gigazine.net/news/20191129-fight-over-encrypted-dns/
https://okuranagaimo.blogspot.com/2020/06/dns_20.html
https://okuranagaimo.blogspot.com/2020/10/dns_13.html
https://www.nic.ad.jp/ja/dom/system.html
https://speakerdeck.com/mamy1326/basics-of-dns-that-application-engineers-should-know
参考
DNSとは - JPNIC
概要
【図解】DNSサーバーとは?設定・変更と確認方法 | カゴヤのサーバー研究室
概要、図がわかりやすい
https://educatedguesswork.org/posts/dns-security/