美文网首页
动态域名解析

动态域名解析

作者: 你期待的花开 | 来源:发表于2018-07-16 14:11 被阅读150次

    我们在用的河狸家前端开发插件,可以知道你电脑的 IP ,然后绑定到一个*dev.helijia.com 的域名上。很方便哦,但是怎么做到的呢?

    你只知道插件的源码是在 git.hlj.team 的这个仓库内:
    web/hlj-chrome-extension

    你能顺藤摸瓜找到背后的原理吗?试试能回答多少个为什么?

    任务:

    • 调查动态域名解析的原理,画出网络拓扑图

    技能:
    开发工具

    问题

    1. 域名
    2. 域名的组成
    • 常见的顶级域名
    • 中国的二级域名系统
    • 根域、顶级域、二级域
    • 根域名服务器
    1. 域名解析
    2. 域名解析的作用
    3. 域名解析的过程
    4. . 以访问www.taobao.com为例,一次完整的域名解析流程
    5. 动态域名解析
    6. 网络映射
    7. 动态域名解析的过程
    8. 动态域名解析的作用

    域名

    要了解域名解析,就要先了解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)。

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

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

    域名的组成

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

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

    image

    常见的顶级域名

    image

    中国的二级域名系统

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

    image

    根域、顶级域、二级域

    image

    几种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服务器建立链接。

    以访问www.taobao.com为例,一次完整的域名解析流程包括:

    image

    Local DNS服务器包含缓存模块,在实际域名解析过程中Local DNS服务器会首先查询缓存,缓存命中且解析结果TTL未过期的情况下直接返回,否则才启动递归查询的流程。

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

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

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

    网络映射

    DDNS image

    动态域名解析的过程

    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。透过网域的方式连结,实现远端管理、远端存取、远端打印等功能。

    相关文章

      网友评论

          本文标题:动态域名解析

          本文链接:https://www.haomeiwen.com/subject/jlmrqftx.html