- DNS(Domain Name System,域名系统)和URL(uniform resource locator,统一资源定位符)
- DNS结构
- DNS查询路径
- DNS记录(常见)
- reference
DNS(Domain Name System,域名系统)和URL(uniform resource locator,统一资源定位符)
通俗地来讲,DNS是一种将域名(example,www.baidu.com)和IP地址关联起来的分布式数据库系统。
而URL是用来表示 互联网中指定资源的位置 的。(通俗地可以理解为网址)
URL的基本结构如下:
- Scheme:表示提供服务的协议类型,除了https/http外,还有ftp,ssh,etc
- host: 表示主机
- port:端口,表示主机的某个应用程序
- path:表示想访问的资源的路径
- Query: 表示访问资源所需的参数条件
域名(domain name)
域名是URL的一部分,上面的 https://www.example.com:8080/test?arg1=123&arg2=456 中, www.example.com 就是域名。
子域名(subdomain name)
承接上面的例子, www.example.com 是 example.com 的子域名。
子目录和子域名的区别
比如你向权威机构申请了一个域名 wsxk.example.com,你想让这个域名上运行你的各种服务(ftp,http,etc),这些服务不能放在同一个网址上。
此时有2个选择:
- 使用子域名,比如 http_server.wsxk.example.com放的是http服务,ftp_server.wsxk.example.com放的是ftp服务
- 使用子目录,比如 wsxk.example.com/http_server, wsxk.example.com/ftp_server
子域名有个问题:你如果废弃了子域名的服务,仍然保留子域名,会带来安全隐患,具体体现为,attacker可以用你的子域名来申请attcker的服务。因为购买一个域名,在技术上说,是你购买了对应的DNS区域控制权。当子域名指向一个您已不再使用的网页代管服务,而他人使用您的子域名申请代管服务时。正因您已将 DNS 纪录指向正确网站,他们就能利用您的域名建立网站。
DNS结构
域名只是方便人们记忆的,对于计算机来说,想要查询某个站点的资源,需要得到IP地址,DNS的作用就在于此。
DNS其实是一个树状结构,先看图
- 根DNS服务器:域名系统的最上级,存放的是顶级域服务器的目录
- 顶级域服务器: 存放的是权威DNS服务器的目录
- 权威DNS服务器: 存放的是具体网址和对于ip的服务器。
域名系统采用分级的策略将各个域名划分到不同的区域当中。
举个例子,www.baidu.com,com是一级域名,baidu是com下的域名(二级域名),www是baidu下的域名(三级域名)
DNS查询路径
直接借图
-
用户输入网址,查询本地 DNS。本地 DNS 是一系列 DNS 的合集,比如 ISP 提供的 DNS、公司网络提供的 DNS。本地 DNS 是一个代理,将 DNS 请求转发到 DNS 网络中。如果本地 DNS 中已经存在需要的记录,也就是本地 DNS 缓存中找到了对应的 DNS 条目,就会直接返回,而跳过之后的步骤。
- 客户端请求根 DNS 服务器。如果本地 DNS 中没有对应的记录,那么请求会被转发到根 DNS 服务器。根 DNS 服务器只解析顶级域,以“www.lagou.com”为例,根 DNS 服务器只看 com 部分。
- 根 DNS 服务器返回顶级 DNS 服务器的 IP。
- 客户端请求顶级 DNS 服务器,顶级 DNS 服务器中是具体域名的目录。
- 顶级 DNS 服务器返回权威 DNS 服务器的 IP。
- 客户端请求权威 DNS 服务器。在权威 DNS 服务器上存有具体的 DNS 记录。以 lagou 为例,权威 DNS 服务器中可能有和 lagou.com 相关的上百条甚至更多的 DNS 记录,会根据不同的 DNS 查询条件返回。
- 权威 DNS 服务器返回 DNS 记录到本地 DNS 服务器。
- 本地 DNS 服务器返回具体的 DNS 记录给客户端。
DNS记录(常见)
A记录
www.example.com. IN A 139.18.28.5
A记录是域名和ipv4地址的映射
AAAA记录
AAAA记录是域名和ipv6地址的映射
CNAME记录
a.example.com. IN CNAME b.example.com.
CNAME记录记录了一个域名的别名,比如你访问a.example.com,实际上访问的还是b.example.com的ip地址
MX记录(Mail Exchanger Record)
IN MX mail.lagou.com
MX记录用于邮件系统
凡是@lagou 的邮件都会发送到 mail.lagou.com 中,而 mail.lagou.com 的 IP 地址可以通过查询 mail.lagou.com 的 A 记录和 AAAA 记录获得。
NS记录(name server)
NS记录描述dns服务器的地址,从 DNS 的存储结构上说,Name Server 中含有权威 DNS 服务的目录。也就是说,NS 记录指定哪台 Server 是回答 DNS 查询的权威域名服务器
a.com. IN NS ns1.a.com.
a.com. IN NS ns2.a.com.
reference
https://blog.csdn.net/weixin_52834435/article/details/123837248
https://news.gandi.net/zh-hans/2021/08/how-to-use-subdomains-for-your-website/
https://blog.csdn.net/xiangjiaonigebanana/article/details/100763865