域名系统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记录:给某个主机或域名设置说明

阿里云中域名解析:
记录设置的属性
域名系统DNS
记录类型:
域名系统DNS