zoukankan      html  css  js  c++  java
  • DNS

    DNS域名解析过程

    过程如下,前两个步骤是本机完成,后面的8个步骤涉及真正的域名解析服务器:

    1.浏览器会检查缓存中有没有这个域名对应的解析过的ip,如果有,那么解析过程结束。浏览器缓存域名是有限制的,浏览器缓存大小和时间都有限制。通常情况是几分钟到几小时不等,域名被缓存的时间限制可以通过TTL属性来设置。缓存时间太短太长都不好,

    如果太短,每次都要重新解析。如果太长,那么一旦域名被解析到的ip有变化,会导致被客户端缓存的域名无法解析到变化后的ip,那么在一段时间内会有用户无法访问网站。

    2.如果缓存中没有数据,浏览器会查找操作系统缓存中是否有这个域名对应的dns解析结果。操作系统也有域名解析的过程,在windows中可以通过C:WindowsSystem32driversetchosts文件来设置,在Linux中可以通过/etc/hosts文件来设置,用户可以将任何域名

    解析到任何能访问ip的地址。

    3.如果前面无法解析时,就要使用网络配置中的DNS服务器地址了。操作系统会把这个域名发送个LDNS,也就是本地区的域名服务器。这个DNS通常都提供给本地互联网接入的一个DNS解析服务。windows下输入ipconfig,linux通过cat /etc/resolv.conf就可以查询配置DNS服务器。

    这个域名解析服务器性能很好,一般都会缓存域名解析结果,当然缓存时间是收失效时间控制的。大约80%的域名解析到这里就结束了,所以LDNS主要承担了域名的解析工作。

    4.如果LDNS仍然没有命中,就直接到Root Server域名服务器解析。

    5.根据域名服务器返回给本地域名服务器一个主域名服务器地址(gTLD),全球13台左右,.com,.cn,.org等。

    6.本地域名服务器像gLTD发送请求。

    7.gTLD服务器查询并返回此域名对应的NameServer域名服务器地址,这个NameServer服务器就是注册的域名服务器。

    8.发送请求到NameServer夫妻,根据域名ip映射关系表,找到目标ip。

    9.返回该域名对应的ip和ttl值,LDNS会缓存这个域名和ip的对应关系,缓存时间由TTL控制。

    10.把解析结果返回用户,用户根据TTL值缓存在本地系统缓存,解析过程结束。

    时间的解析过程中,可能不止这10步,比如NameServer可能有很多级,或者有一个GTM来负载均衡控制,可能会影响域名解析过程。

    清除缓存的域名

    DNS域名解析后会缓存结果,主要在两个地方缓存:

    1.LDNS

    2.用户本地机器

    这两个缓存都是由TTL值和本机缓存大小控制的。最大缓存时间是TTL值,基本上LDNS缓存时间就是TTL控制的,很难人工介入。但是本机缓存可以通过下面的方式清除:

    1.windows ipconfig/flushdns刷新

    2.linux /etc/init.d/nscd restart清缓存

    jvm也会缓存DNS解析结果,缓存是在InetAddress类中完成的,有两种缓存策略

    1.正确解析结果缓存

    2.错误解析结果缓存

    两个缓存时间有两个配置项控制,配置项在%JAVA_HOME%libsecurityjava.security文件中配置的这两个配置项分别是networkaddress.cache.ttl和networkaddress.cache.negative.ttl,它们的默认值分别是-1(永不失效)和10(缓存10秒),直接修改这两个值就可以了,也可以通过在Java启动参数中增加-Dsun.net.inetaddr.ttl=xxx来修改默认值,也可以通过InetAddress类动态修改。

    域名解析解析方式

    MCTAN

    1.MX记录

    mail exchange,就是可以将某个域名下的邮件服务器指向自己的mail server。比如taobao.com的域名A记录ip地址是115.238.25.xxx,如果将MX记录设置为115.238.25.xxx,即xxx@taobao.com的邮件路由,DNS会将邮件发送到115.238.25.xxx所在的服务器,而正常通过Web请求的话仍然解析到A记录的IP地址。

    2.CNAME记录

    别名解析,可以给域名设置一个或者多个别名。

    3.TXT记录

    为某个主机名或域名设置说明

    4.A记录

    用来指定域名对应的ip地址,比如将item.taobao.com指定到115.238.23.xxx。A记录可以将多个域名解析到一个ip地址,但是一个域名不能解析到多个ip地址。

    5.NS记录

    为某个域名指定DNS解析服务器。

     

  • 相关阅读:
    【洛谷P5514】永夜的报应【模拟】
    当你闲得无聊去编 C++「贪吃蛇」小游戏
    【牛客练习赛50】C
    【JZOJ3410】Tree【最小生成树】
    @Zookeeper可视化工具。 ZK 安装 node-zk-browser。2015.10.22亲测可用
    Zookeeper可视化工具。 ZK 安装 node-zk-browser。2015.10.22亲测可用
    读 Paxos 到 ZooKeeper ¥ 50大洋
    ZooKeeper 分布式锁
    UML 绘图关系
    Astah 使用 流程图、类图、时序图
  • 原文地址:https://www.cnblogs.com/tp123/p/6423419.html
Copyright © 2011-2022 走看看