自己对DNS的理解
2010-03-07 21:08
197 查看
dns
1.工作原理
client发出请求www.xx.com的过程主要是以下的阶段:
1.client查询本地缓存里面有无www.xx.com的记录---ipconfig/displaydns
2.client查询本机system32\drivers\etc\hosts文件中有无记录
3.client向本机DNS server 发送查询请求
4.DNS server查看服务器本地缓存中是否有该记录,如果没有则查询本地的区域文件?
(如果所查询的地址本身就不在DNS的区域文件中,他还会进行查询不?DNS是否查询本地的区域文件是通过什么方式确定的?)
5.DNS server中存在13个根DNS服务器的地址(DNS server服务器中的文件cache.dns),当在本地无法查询到client要求的地址时,DNS server随机的向根服务器发送(递归)查询。
6.任何一个根服务器收到请求,就开始进行(迭代查询)从右向左开始查询,返回一个个的被委派的DNS服务器。返回NS记录
7.查到的结果返回给发起初始查询的DNS服务器,初始查询DNS服务器将结果缓存并发送给client
8.client根据返回的A记录与目标地址建立起WEB连接。
2.DNS工作内容
1.任意一个DNS server 如果将他设置为网络中唯一的DNS server的时候,只要这个DNS server能够通过gateway连接到外网(能够和根服务器通信),他就可以解析任何存在的域名。
解析过程:
1.若client查询的记录在本机缓存 则不启动查询,直接返回记录
2.若client查询的记录在区域文件 则返回对应得记录
3.查询的记录不在本机的管理范围中。启动递归查询
4.连接13个根服务器 启动递归查询 并将结果存入本机缓存
2.DNS 转发器的作用
根服务只有13个,如果DNS的查询全部都发送到根服务器效率比较低下,启动DNS转发器后,DNS进行查询的时候,如果遇到本机不能解析的查询,就向DNS转发器请求查询,DNS转发器指定的地址一般都是比较大的DNS服务器,通常接受大量的DNS查询操作,比如电信的核心DNS 这样利用DNS的缓存机制,在这个DNS中就集中了很多的查询结果,DNS查询只需要从缓存中获取记录,,,不用去根服务器取得 效果很好.
3.DNS对自己申请域名的解析
DNS服务器建立后对自己申请的域名的解析,实际上是在客户端申请了域名后,通过向根服务器和其下属的二级服务器申请该域名的解析权利来实现的,而根服务器和其下属的二级服务器则是通过 委派解析权 将你申请的域名的解析权利赋予给你建立的DNS服务器。这样当其他的client对你申请的域名进行查询的时候,在完成递归和迭代查询后,,,其他的client得到的是由你建立的DNS返回的A记录或者CNAME记录。。。。。
1.工作原理
client发出请求www.xx.com的过程主要是以下的阶段:
1.client查询本地缓存里面有无www.xx.com的记录---ipconfig/displaydns
2.client查询本机system32\drivers\etc\hosts文件中有无记录
3.client向本机DNS server 发送查询请求
4.DNS server查看服务器本地缓存中是否有该记录,如果没有则查询本地的区域文件?
(如果所查询的地址本身就不在DNS的区域文件中,他还会进行查询不?DNS是否查询本地的区域文件是通过什么方式确定的?)
5.DNS server中存在13个根DNS服务器的地址(DNS server服务器中的文件cache.dns),当在本地无法查询到client要求的地址时,DNS server随机的向根服务器发送(递归)查询。
6.任何一个根服务器收到请求,就开始进行(迭代查询)从右向左开始查询,返回一个个的被委派的DNS服务器。返回NS记录
7.查到的结果返回给发起初始查询的DNS服务器,初始查询DNS服务器将结果缓存并发送给client
8.client根据返回的A记录与目标地址建立起WEB连接。
2.DNS工作内容
1.任意一个DNS server 如果将他设置为网络中唯一的DNS server的时候,只要这个DNS server能够通过gateway连接到外网(能够和根服务器通信),他就可以解析任何存在的域名。
解析过程:
1.若client查询的记录在本机缓存 则不启动查询,直接返回记录
2.若client查询的记录在区域文件 则返回对应得记录
3.查询的记录不在本机的管理范围中。启动递归查询
4.连接13个根服务器 启动递归查询 并将结果存入本机缓存
2.DNS 转发器的作用
根服务只有13个,如果DNS的查询全部都发送到根服务器效率比较低下,启动DNS转发器后,DNS进行查询的时候,如果遇到本机不能解析的查询,就向DNS转发器请求查询,DNS转发器指定的地址一般都是比较大的DNS服务器,通常接受大量的DNS查询操作,比如电信的核心DNS 这样利用DNS的缓存机制,在这个DNS中就集中了很多的查询结果,DNS查询只需要从缓存中获取记录,,,不用去根服务器取得 效果很好.
3.DNS对自己申请域名的解析
DNS服务器建立后对自己申请的域名的解析,实际上是在客户端申请了域名后,通过向根服务器和其下属的二级服务器申请该域名的解析权利来实现的,而根服务器和其下属的二级服务器则是通过 委派解析权 将你申请的域名的解析权利赋予给你建立的DNS服务器。这样当其他的client对你申请的域名进行查询的时候,在完成递归和迭代查询后,,,其他的client得到的是由你建立的DNS返回的A记录或者CNAME记录。。。。。
相关文章推荐
- linux里自己安装DNS配置 的步奏和理解
- java中怎样调用抽象类中的非抽象方法?(对原文做修改,加入一点自己理解)
- KMP 算法 自己的一些理解
- 工厂模式(自己的理解和实现)
- 安卓学习笔记汇总----极客学院安卓教学视频观看所做的笔记和自己的理解
- 自己理解的Hibernate多对一,一对多关系学习
- dll分类,自己暂时的理解
- 整理自己认为能理解的面试题目解法
- 一起学DNS系列(三)理解计算机的多种DNS后缀选项
- 在人工智能时代,我们更需要理解自己的智能 | 艾伦脑科学研究所所长克里斯托夫·科赫STEP峰会演讲实录
- textcnn自己的理解
- 自己理解的gc算法
- 自己理解的装饰器模式的代码
- 进程、线程和协程--自己的理解
- 学会理解,其实是善待自己
- 初步理解spring ioc原理(读完可自己实现依赖注入部分的spring框架)
- 模式识别的理解(完全是自己体会后写的)
- 自己对“改变CButton按钮控件的文本和背景颜色”的理解
- java中的回调机制(自己的一点理解)
- 关于对ModelAndView自己的理解