zoukankan      html  css  js  c++  java
  • DNS原理

    1、域名

    域名是一种为了识别主机名称和机构名的具有分层的名称,比如在域名neu.edu.cn中,neu是主机名,edu和cn是不同层次下的域名。
    域名和IP地址都可以唯一对应一台主机,DNS协议的作用就是将自身具有意义的域名转换成不容易记住的IP地址。

    域名的层次
    域名系统的最高层次是根域名,然后是顶级域名,二级域名依次类推。顶级域名一般不会变动,主要都是那么几个:表示国家的.cn,.us等,.edu,.com等等。顶级域名下就是二级域名,二级域名要去指定的机构完成注册。mail www等都是主机名不能再分。

    域名只是一个抽象的概念,域名系统由域名服务器来维护。上一级域名服务器中都保存着下一级域名地址。比如:根域名服务器中都保存着所有顶级域名的服务器地址。而com域名服务器中又保存这下面所有二级域名的地址。

     2、DNS查询

    DNS查询分为两种方式:递归查询和迭代查询。
    递归查询就是下一个服务器作为DNS客户帮助查询。
    迭代查询就是域名服务器返回下一级域名服务器的IP地址,由本地域名服务器自己去查询。

    从主机到本地域名服务器往往采用递归查询,从本地域名服务器到其他域名服务器一般采用迭代查询。

    本地域名服务器与域名服务器不是一类东西。本地域名服务器只是提供给一个或几个网络的主机来查询域名用的,它并没有维护域名与IP地址的对应关系。本地域名服务器分布在各个地方,离主机一般不超过几个路由。本地域名服务器中保存了根域名服务器的地址,如果需要查询的域名不在高速缓存中,就向根域名发送DNS查询数据报。

    3、DNS解析全过程

    (1)查询浏览器自身DNS缓存,若查询不到,则

    (2)查询操作系统DNS缓存,若查询不到,则

    (3)读取hosts文件,查询hosts文件中是否配置了本域名所对应的IP地址,若查询不到,则

    (4)本地主机向本地域名服务器发起DNS递归查询请求,若本地域名服务器在其高速缓存仍查询不到,则

    (5)本地域名服务器向根域名服务器发起DNS迭代查询请求,根域名服务器告知该域名的顶级域名服务器的IP地址,

    (6)然后本地域名服务器向该顶级域名服务器发送查询请求,依次类推直到查询到该域名的IP地址。

    DNS服务器是基于UDP的,因此会用到UDP协议。

  • 相关阅读:
    [原]Eclipse 安装SVN、Maven插件(补充)
    [原]几个云笔记的简单比较
    [原]Unity3d中奇怪的编译错误
    [原]unity中WWW isDone方法只能在主线程中调用
    C语言。格式化符号
    Unity iOS Guideline 1.3
    AR增强现实 之Metaio For Unity 开发 之HelloWorld
    Unity 4.6 bate 20 or 4.5.5 +vuforia3.0.9 发布到真机错误 解决
    服务器端Ajax异步分页类,基本通用分页类
    从数据库中读取数据并写入到Excle电子表格之2
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8510129.html
Copyright © 2011-2022 走看看