域名解析相关探索

339 阅读9分钟

域名

要了解域名解析,就要先了解IP地址,因为域名其实是为了解决IP地址的问题而产生的概念。

1.什么是ip地址?

IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。

IP地址是IP协议提供的一种统一的地址格式,就像我们现实中的门牌号一样,每一个建筑物都会有独特唯一的地址,而IP地址则是为每个链接到网络的计算机设备提供了一个IP地址。

现在的IP地址由于数量限制,会存在很多电脑设备共用一个IP地址的情况,甚至有可能是整个小区或者是大厦会共用一个IP地址。

现在有两种IP地址格式,一种是IPv4和IPv6.

IPv4是一个32位的二进制数,通常用“点分十进制”表示成(a.b.c.d)的形式,例如:101.45.15.6。

IPv6是为了解决IPv4地址不够用的问题,其地址长度为128b,是IPv4地址长度的4倍,这样就可以容纳更多的IP地址。

查询IP地址的工具 IP/服务器地址查询 - 站长工具

域名

域名(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

网域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

例如,www.wikipedia.org是 一个域名,和IP地址208.80.152.2相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打wikipedia的名字来代替电话号码(IP地址)。我们直接调用网站的名字以后,DNS就会将便于人类使用的名字(如 www.wikipedia.org )转化成便于机器识别的IP地址(如208.80.152.2)。

域名可以分为两部分:主体和后缀

百度网站的域名是baidu.com 主体是baidu 后缀是.com www是域名 baidu.com 的二级域名我们在注册域名的时候,只能注册“主体.后缀”的形式的域名,前面的www或其他内容在我们注册成功后可以自行在域名解析后台进行设置。

域名的组成

一个完整的域名由多级域名组成,每级域名之间用“.”分割,基本格式:

主机名.机构名.网络名.地区名或行业名 n级域名...三级域名.二级域名.顶级域名

中国的二级域名系统

我国的二级域名又分为类别域名和行政区域名两类。类别域名共7个,包括用于科研机构的ac;国际通用域名com、top;用于教育机构的edu;用于政府部门的gov;用于互联网络信息中心和运行中心的net;用于非盈利组织的org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。

几种DNS

权威DNS

权威DNS即最终决定域名解析结果的服务器,开发者可以在权威DNS上配置、变更、删除具体域名的对应解析结果信息。

递归DNS

递归DNS又称为Local DNS,它没有域名解析结果的决定权,但代理了用户向权威DNS获取域名解析结果的过程。递归DNS上有缓存模块,当目标域名存在缓存解析结果并且TTL未过期时(每个域名都有TTL时间,即有效生存时间,若域名解析结果缓存的时间超过TTL,需要重新向权威DNS获取解析结果),递归DNS会返回缓存结果,否则,递归DNS会一级一级地查询各个层级域名的权威DNS直至获取最终完整域名的解析结果。

转发DNS

转发DNS是一种特殊的递归。如果本地的缓存记录中没有相应域名结果时,其将查询请求转发给另外一台DNS服务器,由另外一台DNS服务器来完成查询请求。

公共DNS

公共DNS是递归DNS的一种特例,它是一种全网开放的递归DNS服务,而传统的递归DNS信息一般由运营商分发给用户。一个比较典型的公共DNS即Google的8.8.8.8,我们可以通过在操作系统配置文件中配置公共DNS来代替Local DNS完成域名解析流程。

根域名服务器

全球共有13台根域名服务器。这13台根域名服务器中名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国、瑞典和日本。

根服务器主要用来管理互联网的主目录,全世界只有13台。

1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。

所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。

域名解析(DNS)

域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

域名解析发挥两个基本的作用:

  • 转换作用,即通过解析实现了从域名到IP地址的转换。通过该转换,访问者无需记忆繁杂的东西就可直接看到影射出来的网页内容。

  • 捆绑作用,当一个域名成功地解析到一个IP地址后,将会完成该IP地址的主机上的一个子目录与域名的绑定。

域名解析过程

DNS服务器在域名解析过程中的查询顺序为:本地缓存记录、区域记录、转发域名服务器、根域名服务器。

  1. 浏览器缓存   当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);  

  2. 系统缓存   当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;    

  3. 路由器缓存 当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存;  

  4. ISP(互联网服务提供商)DNS缓存   当在用户客服端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是电信的网络,则会进入电信的DNS缓存服务器中进行查找;  

  5. 根域名服务器   当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;  

  6. 顶级域名服务器   顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;  

  7. 主域名服务器   主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;  

  8. 保存结果至缓存   本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与web服务器建立链接。

动态域名解析 (DDNS: Dynamic Domain Name Server)

动态域名解析服务,是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。

就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。

动态域名解析的过程

  1. 将你的域名映射到动态域名服务商提供的 DNS 服务器;比如 DNSPod 提供的 DNS 。
  2. 在你的 Web 服务器的主机上安装 DNSPod 提供的软件,主要是上报IP地址。
  3. IP地址上报成功后,DNSPod 的 DNS 中的数据被更新。
  4. 再次访问域名时,DNSPod 的 DNS 将反馈新的IP到客户端。

动态域名解析的作用

  1. 目前ISP大多提供动态IP(如拨号上网),我们若想在网际网络上以自己的网域公布,DDNS提供了解决方案,它可以自动更新用户每次变化的浮动IP,然后将其与网域相对应,这样其他上网用户就可以透过网域来交流了。
  2. DDNS可以让我们在自己的或家里架设WEB\MAIL\FTP等服务器,而不用花钱去付虚拟主机租金。
  3. 主机是自己的,空间可根据自己的需求来扩充,维护也比较方便。有了网域与空间架设网站,FTP 服务器、EMAIL服务器都不成问题。
  4. 如果您有对VPN的需求,有了DDNS就可以用普通上网方式方便地建立Tunnel。透过网域的方式连结,实现远端管理、远端存取、远端打印等功能。