想知道更深:鸟哥的 Linux 私房菜|第十九章、主机名称控制者: DNS 服务器
Domain Name System (网域名称系统,port 53), 可以将人类看的懂的网域名称EX:www.amazon.com ,转成机器看得懂的IP位址 EX:192.0.2.44。
注: map 是映射,也是资料库的意思
hostname = domainname
DNS(Domain Name System) 是域名和IP位址相互对映的一个阶层式的资料库。DNS 系统的工作原理和电话簿很像,
A: IPv4 可以存2^16个,但IP位址,但如果单一个Database系统要存那麽多真的很没效率,既然一台没效率,那就分很多台分散吧!
不过想想前面学过的,IP 转 Domain 理想中应该是网路七层的第三层router做的事情啊!但是router不仅要负责网路的连接、送封包还要选路径,那我们就让resolve(解析)的工作交给DNS吧!
是从最高层级往下问到最低层级负责的DNS。
13台Root name server (当然,全世界散布着至少1000台这些Root name server的复制品)已经写死在我们作业系统中了,刚开始会先挑其中一台问。
名词解释:
An authoritative name server provides actual answer to your DNS queries such as – mail server IP address or web site IP address (A resource record). (就是为你解答完整IP位址的 DNS servers)
DNS分为Client和Server,Client一开始先发出一个Request 封包 问Local DNS server 某个Domain Name的真正IP地址(图片的例子是: gaia.cs.umass.edu),而Local的DNS server先会查自己的资料库。如果自己的资料库没有,则会往root DNS server寻问。
Root name server
而之後的查询有分两种方式,分别是Iterative (迭代)与Recursive (递回):
因为每个上一层的 DNS 服务器所记录的资讯,其实只有其下一层的主机名称而已!
1)接续上面local DNS server 资料库没有的情况,local DNS server 往 13台root DNS server中随机一台 问。
2)root DNS 给它线索,要local DNS server去找负责 .edu 的 Top-Level Domain(TLD) server
3)找到 TLD server,TLD server 告诉 local DNS server 去找负责 umass.edu 的次级DNS server
4)local DNS server继续又问又找的,直到找到最终完全解开该IP 位址之谜的 DNS server(authoritative DNS server),得到了答案,这才回传给 client。
最累的是 local DNS server (帮QQ)
local DNS server 会用cache记一段时间
注:
前面说DNS 有maping 功能,那麽它是怎麽记住这些纪录呢?
这里就要提到 Resource Record(RR)!
DNS records are used to map each website dns configuration so the DNS server knows which IP address is associated with each record.
RR 的内内容大致上有这些:
(name, value, type, ttl)
名词解释:
补充: 还有
IN
这样的 Fieldclass(目前使用的也只有IN
这种,会省略)
下图是更明确的格式定义
它说 TTL 与 Fieldclass 是可以没有的
DNS RR 有分很多种,课本只有教4种。网路上都可以查到,如图:
截自:赏月斋|DNS资源纪录(Resource Record)介绍
这里就课本来介绍几个
domain / [ttl] / class / rr / ipv4
joe IN A 192.168.254.3
或是这种
domain / rr / ipv4 / ttl
@ A 192.0.2.1 14400
NS :它的 value 会是 authoritative DNS 的 domainname
CNAME :不给IP,给别名。也就是canonical-name,它的value 是该domainname的别名,拿下面的图来解释
bar.example.com.会对应到它的别名,foo.example.com.,
并在foo.example.com重新启动检查,然後返回 192.0.2.23。
使用CNAME的好处:若服务器IP位址改变,则只需修改该域名的A记录即可。
MX : 它的value 会是email server "@"後面的那一串
EX:
注:图中的 "preference" 是指优先偏好,数字愈小优先权愈高,0最优先。
所以可能会有这种情况:
nccu.edu.tw, 1.2.3.4, A 指的是 web server
nccu.edu.tw, 1.2.3.5, MX 指的是 mail server
两个指的是不同的server
下一篇文章:阿沁的DNS(2)
参考资料:
域名系统
什麽是 DNS?
List of Internet top-level domains
Root name server
鸟哥的 Linux 私房菜|第十九章、主机名称控制者: DNS 服务器
cloudflare|DNS record
NIXCP|What is a DNS record? DNS Record Types Explained
DNS记录类型列表|WIKI
>>: 课堂笔记 - 深度学习 Deep Learning (18)
今天我们来为我们昨天做的「Click! Serve!」增加一些「设定」。 增加 pkg 设定 昨天我...
大家好~ 我是五岁~ 我今天要来挑战没画过的哥布林~ ᕕ(ᐛ)ᕗ 首先 先去浏览了一下哥布林通常长怎...
前言 上两篇中我们在介绍 Go 网路的操作中,有稍微提到 json 格式,那这篇将介绍有关何为 js...
https://wolkesau.medium.com/java-语言-8e8158d75b5d J...
纵深防御是一种“整合人员、技术和运营能力的资讯安全战略,以在组织的多个层次和维度之间建立可变的屏障”...