TCP/IP(5.1)DNS查询过程
来源:互联网 发布:mac投影仪切换快捷键 编辑:程序博客网 时间:2024/05/17 22:24
转载自 http://blog.sina.com.cn/s/blog_4078ccd60101cj6r.html
当客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址,因为IP数据报中允许放置的是目地主机的IP地址,而不是主机名称。可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称时,只能通过向客户机所设定DNS服务器进行查询了。
说明:在UNIX系统中,可以设置hosts和dns的使用次序。
可以以不同的方式对DNS查询进行解析。第一种是本地解析,就是客户端可以使用缓存信息就地应答,这些缓存信息是通过以前的查询获得的;第二种是直接解析,就是直接由所设定的DNS服务器解析,使用的是该DNS服务器的资源记录缓存或者其权威回答(如果所查询的域名是该服务器管辖的);第三种是递归查询,即设定的DNS服务器代表客户端向其他DNS服务器查询,以便完全解析该名称,并将结果返回至客户端。第四种是迭代查询,即设定的DNS服务器向客户端返回一个可以解析该域名的其他DNS服务器,客户端再继续向其他DNS服务器查询。
1.本地解析
本地解析的过程如图14-2所示。客户机平时得到的DNS查询记录都保留在DNS缓存中,客户机操作系统上都运行着一个DNS客户端程序。当其他程序提出DNS查询请求时,这个查询请求要传送至DNS客户端程序。DNS客户端程序首先使用本地缓存信息进行解析,如果可以解析所要查询的名称,则DNS客户端程序就直接应答该查询,而不需要向DNS服务器查询,该DNS查询处理过程也就结束了。
2.直接解析
如果DNS客户端程序不能从本地DNS缓存回答客户机的DNS查询,它就向客户机所设定的局部DNS服务器发一个查询请求,要求局部DNS服务器进行解析。如图14-3所示,局部DNS服务器得到这个查询请求,首先查看一下所要求查询的域名是不是自己能回答的,如果能回答,则直接给予回答,如是不能回答,再查看自己的DNS缓存,如果可以从缓存中解析,则也是直接给予回应。
3.递归解析
当局部DNS服务器自己不能回答客户机的DNS查询时,它就需要向其他DNS服务器进行查询。此时有两种方式,如图14-4所示的是递归方式。局部DNS服务器自己负责向其他DNS服务器进行查询,一般是先向该域名的根域服务器查询,再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器,再由局部DNS服务器返回给客户端。
4.迭代解析
当局部DNS服务器自己不能回答客户机的DNS查询时,也可以通过迭代查询的方式进行解析,如图14-5所示。局部DNS服务器不是自己向其他DNS服务器进行查询,而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序,客户端DNS程序再继续向这些DNS服务器进行查询,直到得到查询结果为止。
- TCP/IP(5.1)DNS查询过程
- 《TCP/IP详解-协议》(14)DNS
- TCP/IP-14-DNS
- tcp-ip DNS
- DNS递归查询IP
- 一起学DNS系列(八)DNS 客户端查询过程
- DNS查询过程
- DNS查询过程
- DNS的查询过程
- DNS查询过程
- DNS查询过程
- DNS查询过程
- TCP/IP 协议之 DNS
- TCP/IP------DNS、http、Telnet
- TCP/IP-DNS域名系统
- TCP/IP协议族-----19、域名系统(DNS)
- TCP/IP协议学习之四(DNS协议)
- TCP/IP详解学习笔记(10)-- DNS:域名系统
- windows下使用git管理github项目
- 得到某个表的某个字段的最大值(Oracle与Mysql的区别)
- web页面中通过js方法回调部分native的功能出现错误 Object [object Object] has no method 'openI***e' at null:1
- 纠结的Python2.7编码与os.walk()函数的目录参数
- grails找不到数据库连接类
- TCP/IP(5.1)DNS查询过程
- 高性能 TCP & UDP 通信框架 HP-Socket v3.2.2 正式发布
- 如何成为防弹从批判
- 简易天气隐私策略
- hdu 3652 B-number
- 如何建立您自己的防弹营销攻击计划
- Solr In Action 中文版 第一章 (二)
- android release export has encountered a problem conversion to dalvik format failed with error 1
- 安卓模拟器Win8版(bluestacks app player) v0.8.10.3101 官方中文版