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

    DNS协议:将域名转换为IP地址的协议。

    • 域名服务主要是基于UDP实现的,服务器的端口号为53。
    • IP地址是面向主机的,而域名则是面向用户的

    域名的层次结构:

    DNS解析

    DNS解析的过程就是寻找哪台机器上有你需要资源的过程。当你在浏览器中输入一个地址时,例如www.baidu.com,其实不是百度网站真正意义上的地址。互联网上每一台计算机的唯一标识是它的IP地址,但是IP地址并不方便记忆。用户更喜欢用方便记忆的网址去寻找互联网上的其它计算机,也就是上面提到的百度的网址。所以DNS解析实际上充当了一个翻译的角色,实现了网址到IP地址的转换。

    而DNS解析通常会经过以下这几个过程:
    1.浏览器缓存 - 浏览器缓存DNS记录一段时间
    2.系统缓存 - 从Hosts文件查找是否有该域名和对应IP
    3.路由器缓存 - 一般路由器也会缓存域名信息
    4.ISP DNS缓存 - 到电信的DNS查找缓存
    5.都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转发到下一级查找IP

    www.baidu.com查找顺序是:
    根域名服务器(.)-> .com -> .baidu.com -> www.baidu.com


    具体可描述如下:
    1. 主机先向本地域名服务器进行递归查询
    2. 本地域名服务器采用迭代查询,向一个根域名服务器进行查询
    3. 根域名服务器告诉本地域名服务器,下一次应该查询的顶级域名服务器的IP地址
    4. 本地域名服务器向顶级域名服务器进行查询
    5. 顶级域名服务器告诉本地域名服务器,下一步查询权限服务器的IP地址
    6. 本地域名服务器向权限服务器进行查询
    7. 权限服务器告诉本地域名服务器所查询的主机的IP地址
    8. 本地域名服务器最后把查询结果告诉主机


    上文我们提出了两个概念:递归查询和迭代查询
    (1)递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机
    (2)迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。

  • 相关阅读:
    伙伴宿舍管理系统(源码下载)
    清空SQL数据库日志
    indexOf(String.indexOf 方法)
    C#实现QQ助手(登录QQ,发消息,查任意QQ资料)附源码下载
    C#cookie自动获取工具发布
    winform中怎么动态修改窗体的大小
    IIS Rewrite 下载与配置
    HTML代码转JS|C#字符串工具(附源代码)
    FTPHelper-FTP帮助类,常用操作方法
    c# 怎么动态修改webservice的地址和端口 动态修改配置文
  • 原文地址:https://www.cnblogs.com/ceceliahappycoding/p/network.html
Copyright © 2011-2022 走看看