码迷,mamicode.com
首页 > 其他好文 > 详细

DNS协议(一)

时间:2014-07-26 01:32:56      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   os   文件   数据   2014   

 

在互联网上要想与另外一台主机通信,要知道对方的IP地址,但是IP地址是很难记忆的,

比如百度的一台服务器的IP地址为115.239.210.27,我们在浏览器中输入http://115.239.210.27/就可以访问百度了,但是如果访问一个网站就要记住它的的IP是很蛋疼的事,人们习惯记住有意义的字符串,比如baidu

 

域名系统(英文Domain Name System缩写:DNS)是因特网的一项服务。它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网DNS 使用TCPUDP端口53

 

DNS服务是如何实现的呢?

首先我们的电脑里面都会有一个DNS服务器(Name Server)的IP地址,可以手动设置也可以自动获取,有名的DNS服务器包括google8.8.8.8 阿里巴巴的223.5.5.5等,查看自己电脑的DNS服务器的IP地址可以在windows命令行下输入ipconfig /all,在linux下面则通过more /etc/resolv.conf查看。

 

客户端发起访问请求www.163.com:

1.查看本地hosts文件,发现没有www.163.com IP 映射关系,将请求发送给本地DNS服务器( ----递归查询----)                          

2.本地DNS服务器不包含163.com的权威域,不存在对应的www记录,因此将请求转发到根域名服务器(假如  a.root-servers.net.)   

3.根域名DNS服务器会返回负责.com域解析的服务器(假如 a.gtld-servers.net.)给本地DNS服务器,本地DNS服务器再将请求发送给 a.gtld-servers.net                                  

4..com域名服务器只能返回负责163.com域的解析服务器(如 ns1.nease.net.)给本地DNS服务器,本地DNS服务器再将请求发送给ns1.nease.net.                                

5.ns1.nease.net.域名服务器返回www.163.com 的 IP映射关系给本地DNS服务器

                         (2-5过程)----迭代查询----

6.本地DNS服务器将结果保存到本地缓存,并保持TTL时间,同时将结果应答给客户端.                                

7.当其他客户端再次向本地DNS服务器查询www.163.com时,在TTL时间内,本地DNS服务器不再向根域名服务器转发请求,而是直接从缓存中读取数据应答给客户端如果已经超过TTL时间,则本地DNS服务器会再次经历一次上诉2-6的过程.

 

 bubuko.com,布布扣

 

 

 

以后会结合Wireshark分析DNS报文的每个字段详细意思,以及DNS查询的其它细节问题。

 

【参考文献】

http://magic3.blog.51cto.com/1146917/1354084

http://www.360doc.com/content/11/0809/17/706976_139190573.shtml

http://zh.wikipedia.org/zh/域名系统

 

DNS协议(一),布布扣,bubuko.com

DNS协议(一)

标签:style   blog   http   使用   os   文件   数据   2014   

原文地址:http://www.cnblogs.com/anning/p/3869023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!