域名( Domain Name)- 顶级域名、二级域名
由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了 域名(比如baidu.com)
- 但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址
- 域名申请注册:https://wanwang.aliyun.com/
那干脆全程直接用域名,不用IP地址?
- IP地址固定4个字节,域名随随便便都至少10几个字节,这无疑会增加路由器的负担,浪费流量
根据级别不同,域名可以分为:
- 顶级域名(Top-level Domain,简称 TLD)
- 二级域名
- 三级域名
- …
顶级域名的分类
通用顶级域名(General Top-level Domain,简称 gTLD)
- .com(公司),.net(网络机构),.org(组织机构),.edu(教育)
- .gov(政府部门),.int(国际组织)等
国家及地区顶级域名(Country Code Top-level Domain,简称 ccTLD)
- .cn(中国)、.jp(日本)、.uk(英国)
新通用顶级域名(New Generic Top-level Domain,简称 New gTLD)
- .vip、.xyz、.top、.club、.shop 等
二级域名
二级域名是指顶级域名之下的域名
- 在通用顶级域名下,它一般指域名注册人的名称,例如 google、baidu、microsoft 等
例:google.com、baidu.com、microsoft.com - 在国家及地区顶级域名下,它一般指注册类别的,例如 com、edu、gov、net 等
例:china.com.cn
DNS - DNS服务器、常用命令
DNS的全称是:Domain Name System,译为:域名系统
- 利用DNS协议,可以将域名(比如baidu.com)解析成对应的IP地址(比如220.181.38.148)
- DNS可以基于UDP协议,也可以基于TCP协议,服务器占用53端口
DNS服务器
- 客户端首先会访问最近的一台DNS服务器(也就是客户端自己配置的DNS服务器)
- 所有的DNS服务器都记录了DNS根域名服务器的IP地址
- 上级DNS服务器记录了下一级DNS服务器的IP地址
- 全球一共 13 台IPv4的DNS根域名服务器、25 台IPv6的DNS根域名服务器
DNS域名解析的过程
浏览器首先看一下自己的缓存里有没有,如果没有就向操作系统的缓存要,还没有就检查本机域名解析
文件 hosts ,如果还是没有,就会 DNS 服务器进行查询,查询的过程如下:
- 客户端首先会发出一个 DNS 请求,问 www.baidu.com 的 IP 是啥,并发给本地 DNS 服务器(也就是客户端的 TCP/IP 设置中填写的 DNS 服务器地址)。
- 本地域名服务器收到客户端的请求后,如果缓存里的表格能找到 www.baidu.com,则它直接返回IP 地址。如果没有,本地 DNS 会去问它的根域名服务器:“老大, 能告诉我 www.baidu.com 的IP 地址吗?” 根域名服务器是最高层次的,它不直接用于域名解析,但能指明一条道路。
- 根 DNS 收到来自本地 DNS 的请求后,发现后置是 .com,说:“www.baidu.com 这个域名归
.com 区域管理”,我给你 .com 顶级域名服务器地址给你,你去问问它吧。” - 本地 DNS 收到顶级域名服务器的地址后,发起请求问“老二, 你能告诉我 www.baidu.com 的 IP地址吗?”
- 顶级域名服务器说:“我给你负责 www.baidu.com 区域的权威 DNS 服务器的地址,你去问它应该能问到”。
- 本地 DNS 于是转向问权威 DNS 服务器:“老三,www.server.com对应的IP是啥呀?” server.com的权威 DNS 服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。
- 权威 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS。
- 本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。
至此,我们完成了 DNS 的解析过程。现在总结一下,整个过程我画成了一个图。
DNS 域名解析的过程蛮有意思的,整个过程就和我们日常生活中找人问路的过程类似,只指路不带
路。