一、域名历史与起源
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
1985年1月1日域名史上第一个域名nordu.net被注册。
1985年3月15日,Symbolics公司注册了历史上第一个.com域名。当时域名注册刚刚兴起,申请者寥寥无几。
1993年Internet上出现WWW协议,域名开始受到关注。
1998年6月克林顿政府发表一份白皮书,建议由非盈利机构接管政府的域名管理职能。这份报告没有说明该机构的资金来源,但规定了一些指导原则,并建议组建一个非盈利集团机构。
1998年10月组建ICANN,一个非盈利的Internet管理组织。它与美国政府签订协议,接管了原先IANA的职责,负责监视与Internet域名和地址有关的政策和协议,而政府则采取不干预政策。
2011年6月20日,互联网名称与数字地址分配机构(ICANN)在新加坡举行的会议上正式通过新顶级域名批案,任何公司、机构都有权向ICANN申请新的顶级域名。
2012年,全球新通用顶级域名第一次开放申请,美国获批1000余个,中国仅获批46个,占比3%。在4个月的窗口期中,ICANN共收到了近2000个申请,诞生了1249个新通用顶级域名。
截至2022年6月,我国域名总数为3380万个,“.CN”域名数为1786万个,IPv6地址数量为63079块/32。
二、域名的构成
组成内容:根域 + 顶级域 + 二级域 + 子域 + 主机名,例如: www.sina.cn.。整个域名空间都是以倒置的树形结构。

管理模式:互联网名称分配机构IANA统一对根域及顶级域进行管理,而用户的网站域名若想在网络上能被被人正常解析到,则需要向IANA进行注册,在某个顶级域服务器中添加用户的域名条目。
- 根域:所有域的最顶端,管理着顶级域。域名就是个点号"."
- 顶级域:也称为一级域的域名服务器。顶级域又被分为国际顶级域、国家顶级域。常见顶级域:.com、.org、.net、.edu、.gov等。还有国家顶级域:.cn、.hk、.tw等。
- 二级域:网站使用者在顶级域中注册使用的域名,如.baidu、.51cto等
- 子域:在二级域中额外开辟的一段区域,可以是多级子域,如www.sina.com.cn这种。
- 主机名:网站使用者在本地DNS服务器上添入的主机,如www,mail等
- 解析记录添加及修改生效流程
三、域名解析
DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度不能超过253个字符。
3.1 DNS系统中,常见的资源记录类型
- 主机记录(A记录)
RFC1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
- 别名记录(CNAME记录)
RFC1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
- IPv6主机记录(AAAA记录)
RFC3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。
服务位置记录(SRV记录)。RFC2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname)、端口(port number)等。
- NAPTR记录
RFC3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。
3.2 借花献佛,使用京东云的一个解释过程来呈现一下解析过程

- 用户发起DNS查询请求,携带域名www.jdcloud.com
- Local DNS接收到DNS解析请求,如果有缓存直接返回
- Local DNS接收到DNS解析请求,没有缓存,则向根域权威服务器发起请求
- 根域权威服务器返回顶级域com服务器地址
- Local DNS发送请求到顶级域com服务器,查询jdcloud.com域所属权威服务器
- 顶级域com服务器返回jdcloud.com域所属权威服务器
- Local DNS发送请求到jdcloud.com权威服务器,即云解析服务器
- 云解析服务器,根据用户通过控制台下发的配置进行解析,返回www.jdcloud.com域名对应IP地址
以上就是简化的完整域名解析流程,客户发起DNS查询请求到Local DNS,Local DNS负责逐级获取解析结果,最终通过云解析获取到所需数据。
3.3 域名解析记录的生效时间
- 添加新的解析记录,生效时间是5分钟。
- 修改已经添加的解析记录,生效时间是1小时。
- 修改为DNS服务器后首次进行域名解析,生效时间是1小时间。
- 国内域名DNS修改,修改时间最长是6小时。
- 国际域名DNS修改,修改时间最长是48小时。
- 通用顶级域名解析是2小时内生效, 国家顶级域名 解析24小时内生效。
因为域名解析需要同步到DNS根服务器,而DNS根服务器会不定时刷,只有DNS根服务器刷新后域名才能正常访问。新增解析一般会在10分钟左右生效,最长不会超过24小时,修改解析时间会稍微延长。
3.4 域名劫持问题
客户端与localDNS之间的通信是通过不安全的HTTP协议,很容易被攻击者劫持并反馈一个伪装的IP。
比如模拟全套工商银行界面,诱导用户输入密码和验证码等,*取盗**用户转账金额,危害极大。
针对此类问题可以通过证书来保证安全,”自建HTTP DNS”作为备用LocalDNS的方法等手段来解决。