DNS工作流程及原理 域名、IP与DNS的关系
转自:http://blog.csdn.net/maminyao/article/details/7390208
一、DNS服务概述
DNS是Domain Name System的缩写,即域名系统。其实,DNS是internet的一项服务,一般叫域名服务或者域名解析服务,主要提供网站域名与IP地址的相互转换的服务。域名解析分文争相解析与反向解析,正向解析是将主机名转换成IP地址的过程,域名的反向解析是将IP地址转换成主机名的过程。通常我们很少需要将IP地址转换成主机名。其中,反向解析经常被一些后台程序使用,用户看不到。
二、域名与IP关系
域名与IP地址之间是呈一一对应的关系,但多个域名可以对应同一个IP地址。就像一个人的姓名和身份证号码之间的关系,显然记忆人的名字要比身份证号码容易的多。IP地址是网络上标识用户站点的数字地址,为了简单好记,采用域名来代替IP地址表示站点地址,域名服务器(DNS)将域名解析成IP地址,使之一一对应。
三、DNS、IP与域名
显然,一串数字类型的IP地址是不容易被使用者记住的,而域名因为带有某些特定的意义而容易被人们记住。所以,域名作为IP地址的“助记符”,起了相当重要的作用。但是,想实现全世界的电脑互联,即需要是让每一台计算机都把全世界的计算机的IP地址和域名对应起来,很明显这是不现实的,因此要有一个系统专门做这件事,这就是DNS服务。
四、DNS工作的流程
任何计算机如果需要连接internet网,那么,首先需要设置一些关于DNS的信息。您的电脑需要借助于Internet上的某台域名服务器帮助进行域名查询。所以您首先需要设置您的电脑,在需要进行域名查询时,向哪个服务器发出询问。Internet上有许许多多域名服务器,您可以选任何一台作为您首选的域名服务器。也就是说,您要告诉您的电脑,当需要进行域名查询时,首先去问哪一台域名服务器。域名服务器接收到您的电脑的查询请求,它会帮助您进行查询,然后将结果返回您的电脑。为了获得最快的响应,一般选择与您的电脑有最好的连接的服务器。一般的电脑上,其实已经不用在设置了,在>本地连接>属性>internet协议(TCP/IP)>自动获得DNS服务器后者手动添加首选DNS与备选DNS。

DNS工作原理图解
下面就来看看DNS的具体工作流程:
1、DNS相关背景:
在Internet上,一个域名要由两台域名服务器提供“权威性的”域名解析。这里的“权威性”,指的是被服务的域名的所有记录是由这两台服务器唯一决定的。虽然Internet上的其他域名服务器上都可能保存有该域名的记录,但那些记录是从这两台“权威性”的域名服务器上拷贝过去的,是非权威性的。这两台域名服务器,和您的域名一起被登记在域名注册管理机构的数据库中。如果是国际域名,域名注册管理机构就是Internic;如果是国内域名,域名注册管理机构就是CNNIC。这两台“权威性的”服务器,一主一辅,保存着相同的记录,主要是为了提高可靠性。域名注册管理机构的数据库的记录最终体现在“根”域名服务器上。目前在Internet上的最顶级“根”域名服务器共有13台,它们被完善地维护着。如果它们全都不工作,Internet就崩溃了(网络仍通,但域名及电子邮件完全不能工作)。根服务器中保存的记录的最本质的信息,就是一个域名由哪两台域名服务器提供解析服务。
2、DNS工作实例:
当您打开浏览器,访问某个站点时,例如www.100anju.com,您的电脑需要知道这个站点的IP地址是多少。于是它会自动向您的“主控DNS”服务器发出询问,即“www.100anju.com的IP是多少?”,如果这台域名服务器对100anju.com这个域名不是“权威性”的,起初它上面并没有关于100anju.com的记录,于是它向根服务器发出一个查询:“100anju.com由什么服务器提供域名解析服务”?根服务器的回答将是:“哦,去问dns1.hichina.com或者dns2.hichina.com吧。他们的IP地址是203.196.4.70及203.196.4.10”。您的主控DNS服务器继而会询问dns1.hichina.com这台域名服务器,还是那个问题,即“www.100anju.com的IP是多少?”,dns1.hichina.com将给出“权威性的”回答。您的主控DNS服务器收到这个回答,一方面将该信息告诉您的电脑,另一方面它会把该信息保存在自己的缓冲区内,如果它再次接到相同的查询,它就直接将刚才缓存了的记录回答给下一个询问者。但是这个缓存的记录有一个失效期,当失效期到达后,您的主控DNS服务器将会自动丢弃缓存的记录。当再有电脑发出同样的查询请求时,将重复前面叙述的完整的过程。可以看出,您的主控DNS服务器“代理”了您的电脑的查询过程,一级一级地进行了查询,这被称之为“递归式”的查询。
对于国内域名,如www.domain.com.cn,查询过程将更加复杂一些。您的电脑向您的主控DNS服务器发出查询请求:“www.domain.com.cn的IP地址是多少?”,如果您的主控DNS服务器不是该域名的“权威性”的服务器,它上面没有关于www.domain.com.cn的记录,于是它向根服务器发出询问:“com.cn由什么服务器提供域名服务?”,根服务器的回答将是:“哦,去问ns.cnc.ac.cn或者sns.edu.cn吧。他们的IP地址是159.226.1.1及202.112.0.34”您的主控DNS服务器继而向ns.cnc.ac.cn发出查询:“domain.com.cn由谁提供域名服务?”,nc.cnc.ac.cn将回答:“去问dns1.hichina.com或者dns2.hichina.com吧,他们的IP地址是203.196.4.70及203.196.4.10。”您的主控DNS服务器接着会询问dns1.hichina.com这台域名服务器,“www.domain.com.cn的IP是多少?”,dns1.hichina.com将给出“权威性的”回答。同样,您的主控DNS服务器也将缓存这个记录直至失效期到来。在域名系统中,象ns.cnc.ac.cn或sns.edu.cn这样的服务器就是国内域名的根服务器。请注意,根服务器不能作为您的“主控DNS”服务器,因为它不会帮助您进行“递归式”的查询。
五、DNS出错的影响
一个域名要想能够被Internet上的用户访问到,必须得到正常的域名服务。这包括:
(1)在根服务器中有记录,这实际上就是进行了域名的注册;
(2)在“权威性的”域名服务器上有记录,即它们为您的域名提供了域名解析服务。
这些“权威性的”服务器,就是登记在根服务器中,指定为您的域名提供“权威性”
服务的服务器。“权威性的”域名服务器中记录了一个域名下的多个主机的IP地址,如www主机、ftp主机、mail主机等,还有该域名的电子邮件如何投递的记录、上述的失效期等。可能给该域名本身也指定一个IP地址,我们创联万网就是这样做的,其好处就是让用户访问您的网站时,不用写“www”也可以访问得到。
一个域名如果得到了正确的域名服务,那么在世界上的任何地方,Internet用户使用各种软件都能够查询到,如浏览器、telnet、ftp、ping等。值得指出的是,即使一个域名得到了正确的解析服务,但如果该域名相应的服务器未正常工作(例如没有开机、当机或服务不正常),您仍然访问不到它们。
判别它们的方法很简单,因为您的机器的给您的报告不同:域名解析服务不正常时,结果是:找不到该主机;而服务器不正常得到的回答是:主机没有响应。
DNS工作流程及原理 域名、IP与DNS的关系的更多相关文章
- Struts框架核心工作流程与原理
1.Struts2架构图 这是Struts2官方站点提供的Struts 2 的整体结构. 执行流程图 2.Struts2部分类介绍 这部分从Struts2参考文档中翻译就可以了. ActionM ...
- Mybatis工作流程及其原理与解析
Mybatis简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBat ...
- SSM工作流程与原理详解
自学ssm->springboot->springcloud,所以很多东西会用但理解较浅,所以现在从最开始的ssm开始进行对原理以及运行过程的整理知识归纳,若有错误感谢指正. Spring ...
- Appium 框架工作流程及原理
目前Appium框架可以时支持android 和 ios 两个操作系统的App自动化测试,咱们分别对以下两款操作系统的工作流程进行说明. 一.appium-Android工作流 在Android端,a ...
- Strtus2工作流程及原理
从上图可以看出,一个请求在Struts2 框架中的处理大概分为以下几个步骤:1.客户端初始化一个指向Servlet 容器(例如Tomcat)的请求:2.这个请求经过一系列的过滤器(Filter)(这些 ...
- OSG 中 相交測试 模块 工作流程及原理
主要涉及三个类: 1. osgUtil::PolytopeIntersector // 详细不同算法实现类 2. osgUtil::IntersectionVisitor //用来遍历节点树的每一个节 ...
- DNS与DNS劫持原理、IP、域名、服务器访问浅讲
我们都知道,平常我们所访问的网站,都是与服务器进行数据交互的.但是,浏览器和服务器是分处于不同的计算机上的,那他们是怎样进行通信的呢?今天,我们就来粗浅地聊一聊.不涉及很深的技术原理,只讲大概的流程. ...
- GIT使用—安装配置及工作流程
一.Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 1.GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CV ...
- 利用netsh命令设置IP地址/DNS服务器地址
一.设置IP地址 1. 自动获取IP地址: netsh interface ip set address [name=]"本地连接" [source=]dhcp 2. 手动设置IP ...
随机推荐
- English Learning -- 0611--When Burnout Is a Sign You Should Leave Your Job
I like the following article from Harvard Business Review, as I ever experienced burnout at work. Ve ...
- nvidia jetson tx2 刷机遇到的问题解决
一.主要信息 使用的开发板:nvidia jetson tx2(内存8g有wifi的版本) 使用的JetPack版本: 4.2.2 二.遇到的问题及解决 1. 刷好jetson os 后,开发板一直在 ...
- [转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染
Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染 https://www.kubernetes.org.cn/5951.html 本来想说可以用 official版本的镜像 但是一 ...
- hdu 5418 题解
第一眼看到这题,哇,这不是我刚做完的题吗?大水题!然后 这题表面很水,实际上有点坑. 题意 求经过 $ 1 - n $(不能遗漏) 并且回到 $ 1 $ 的最短路. 在看这题之前我们可以来看下这题 最 ...
- django使用pyecharts(2)----django加入echarts_前后台分离
二.Django 中使用 pyecharts. 前后端分离 1.安装 djangorestframework linux pip3 install djangorestframework window ...
- Missing android.support.FILE_PROVIDER_PATHS meta-data 报错原因分析
此类错误多半因为拼写错误导致.有StackOverflow上便有网友将"FILE_PROVIDER_PATHS"误写成"FILE_PROVIDE_PATHS"的 ...
- Map、Set的基本概括
Map: 在运用map和set 集合之前首先要弄清楚它们的基本定义是什么. 简介:map是一种关联式容器,但是她储存方式是以键值对(key/value)存在的. Map用法: 定义Map集合并往集合中 ...
- 数据库去空格 去table 去回车符号 去重
1 update bd_prod_cate c set c.cate_name = replace(c.cate_name,chr(9),'')//去掉tab符号的 2 update bd_prod_ ...
- Spring Cloud 基于Consul 实现配置服务
Spring Cloud体系中提供了Config组件来进行配置服务管理.而Consul除了提供服务注册与发现功能外,同时也提供配置管理功能.本位将介绍如何结合Spring Cloud + Consul ...
- 在论坛中出现的比较难的sql问题:33(递归 连续日期问题 )
原文:在论坛中出现的比较难的sql问题:33(递归 连续日期问题 ) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必 ...