域名系统DNS
域名系统
不一定理解全部正确
基础概念
DNS
DNS 全称为 Domain Name System ,是一个域名解析系统,把域名(www.baidu.com)解析为ip地址。所以,这个一个系统,是一个服务,需要有服务器来跑这些服务。
DNS服务器按层次结构进行组织,且这个组织和域名的结构相对应,xxx.三级域名.二级域名.顶级域名
比如www.baidu.com
(com顶级域名,baidu 二级域名)
根据保存的域名信息以及在解析过程中的作用可以分为:
- 根域名服务器
- 顶级域名服务器
- 权威域名服务器
- 中间域名服务器
根域名服务器
全球就只有有限个数的根域名服务器,在因特网上有13个,从字母a到m ,a.rootserver.net, b.rootserver.net等,
顶级域名服务器
- 国家顶级域名nTLD:
- 通用顶级域名gTLD: com 公司和企业,net 网络服务机构,org 非盈利性组织,edu 专用的教育机构, gov 专用的政府部门,mil 专用的军事部门,int 国际组织
- 基础结构域名: arpa ,只有一个,用于反向域名解析
权威域名服务器
保存一个区中所有主机的域名到IP地址的映射。
理解:我那台服务器的地址在某一个权威域名服务器管辖范围之内,那么,当我记录某个域名到这台服务器上的时候,实际上在,是在这个权威域名服务器上进行的映射。
中间域名服务器
不是根,顶级,权威的域名服务器。
TTL
域名的缓存时间。为了减少域名服务器访问的压力,在电脑,浏览器做做了域名缓存时间,就是以后如果在访问这个域名,可以直接在响应这个ip地址,不用再到域名服务器上寻找。
但是,如果设置整个域名永久有效,会出现一个问题,当这个域名对应的ip地址修改的时候,那么访问的是一个错误的ip地址,那么就我无法访问正确的服务了。
Local DNS Server
本地域名服务器,在进行网络配置的时候,会有一个首选域名服务器,你在发送一个url请求的时候,会现在本地缓存上找域名映射的ip地址,如果没有,就到这个配置的默认DNS上去寻找ip地址(如果还没有,后面会讨论)
域名解析过程
域名解析分类
- 递归解析:代替查询主机或其他域名服务器,进行下一域名查询,把最终结构返回给查询主机或域名服务器。通常,本地域名服务器器提供递归查询服务
- 迭代解析:不代替查询,只把进一步查询的服务器告知查询主机或服务器,让它们自己去查询。通常,根域名服务器只提供迭代查询
域名查询流程
用户在浏览器输入www.baidu.com,dns开始解析,都是上一步执行结果没有,才执行下一步
第一步:浏览器检查缓存是否有这个域名的ip地址
第二步:查找操作系统缓存是否存在这个域名对应的dns解析结果
- windows 在
c:\Windows\System32\driver\etc\hosts
- linux在
/etc/hosts
第三步:到LDNS上找(本地域名服务器)
第四步: 到根域名服务器上找,它会返回一个gTLD的地址,
第五步: 在到gTLD的上找,返回一个name server 域名服务器,这个是某个域名服务提供商申请的域名,那么这个域名解析工作,就由这个域名提供商的服务器来完成
第六步:到name server 中查询ip,返回ip以及TTL值给本地DNS ,本地DNS会缓存这个域名和ip地址,缓存是时间由TTL值以及空间DNS服务器的空间大小来控制
第七步,把结果返回给主机
跟踪域名解析过程
windows: nslookup
linux: dig 或者 nslookup
域名记录
可以看下阿里云中的域名解析
- A记录:域名指定ip地址(基本)
- MX记录: 某域名下的邮件服务器指向自己的邮件服务器
- CNAME记录:给域名设置别名,也就是多个域名指向一台服务器
- NS记录:给某个域名指定DNS域名解析器
- TXT记录:给某个主机或域名设置说明
阿里云中域名解析:
记录设置的属性
记录类型: