zoukankan      html  css  js  c++  java
  • DNS解析全过程

    浏览器输入一个网址。要訪问该网址必须由DNS解析出相应的server的IP地址。

    对于大型站点来说,一个站点相应多台server。那么DNS解析出的可能是进行负载均衡的server的IP地址。DNS解析过程整体上来说是先查缓存。缓存没有命中然后迭代查询本地(ISP)DNSserver,由本地DNSserver递归查询的过程。

    总体步骤例如以下图所看到的:


    我们以訪问www.example.microsoft.com为例进行说明:

    浏览器中输入www.example.microsoft.com訪问时,浏览器会首先检查浏览器缓存看是否存在域名到serverip的相应关系

    假设没有检查操作系统缓存(Windows去检查C:WindowsSystem32driversetchosts。linux检查/etc/hosts文件)然后检查路由器缓存,假设有本地DNSserver则去查本地DNSserver缓存,假设没有。然后检查首选DNS或者备选DNSserver(ISP DNSserver)缓存,80%的域名都能够到此步查找到相应的serverIP地址。

    假设本地DNSserver或者ISP DNSserver没有相应的记录,则由改server递归的进行DNS解析。首先该DNSserver会向13个根域名server发送DNS查询,根域名server返回相应的域名DNSserver(.com)地址 ,DNSserver向.com域名发送DNS查询报文得到microsoft.com DNSserver的地址,然后DNSserver向microsoft.com DNSserver查询最后得出www.example.microsoft.com相应的ip地址。

    DNS解析过程是通过发送或者接受DNS查询和响应报文完毕的。DNS报文格式由12字节的首部(必须字段)和4个长度可变的可选字段组成。

    DNS在区域中传递使用TCP协议,DNS解析过程使用UDP,53port。



  • 相关阅读:
    String(Java版本)
    前端工程化开发之yeoman、bower、grunt
    前端自动化开发之grunt
    前端模块化开发之seaJs
    浅谈图片蒙版效果-webkit-mask
    div模拟textarea实现高度自增长
    预加载显示图片的艺术
    轻松实现localStorage本地存储
    利用Navigation Timing测量页面加载时间
    利用jstree插件轻松构建树应用
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6943930.html
Copyright © 2011-2022 走看看