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

浏览器与DNS解析过程

时间:2018-09-28 16:41:23      阅读:330      评论:0      收藏:0      [点我收藏+]

标签:包含   查看   可见   als   平台   spl   发送   bsp   内容   

浏览器解析

1.地址栏输入地址后,浏览器检查自身DNS缓存

  地址栏输入chrome://net-internals/#dns 查看。

2.浏览器缓存中未找到,那么Chrome会搜索操作系统自身的DNS缓存。

  windows平台  ipconfig /flushdns 来清空dns 缓存内容。你也可以用命令 ipconfig /displaydns 来查看dns 缓存内容。

  linux下由nscd守护进程进行管理  nscd也许需要自己安装,使用man nscd

  The daemon will try to watch for changes in configuration files appropriate for each database (e.g., /etc/passwd for the
  passwd database or /etc/hosts and /etc/resolv.conf for the hosts database), and flush the cache when these are changed.
  However, this will happen only after a short delay

  大概就是这个守护进程会对密码,域名,域名服务器地址信息维护一个数据库,并且当对应的配置文件修改时,会自动更新,但有延迟。

  因此重置dns缓存可以重启nscd服务 service nscd restart。

3.操作系统缓存也没有,浏览器发起DNS调用,进入DNS解析过程。

 

DNS

什么是DNS

1.一个由分层的DNS服务器实现的分布式数据库

2.使得一个主机能够查询分布式数据库的应用层协议,运行在UDP上,使用53号端口。

DNS服务器分类

1.根DNS服务器,所谓的13台并非正确的称法,应该说具有13个根DNS IP

2.顶级域名服务器 TLD 

按性质或国家地区,有com,gov,org,net,edu, cn,jp等

顶级域名又叫一级域名,baidu.com就是一个一级域名,而www.baidu.com则是该域名空间下的一台主机。

www.baidu.com还可以是二级域名,此时a.www.baidu.com才是域名下的一台主机。

3.权威DNS服务器 

一般每个组织或机构都维护自己的域名系统

4.本地DNS服务器 Local DNS Server

当主机发出DNS请求时,该请求被发往本地DNS服务器,它起到了代理作用

DNS解析过程

例如主机cis.poly.edu查询 gaia.cs.umass.edu 的IP,其中前者本地DNS为dns.poly.edu,后者的权威DNS为 dns.umass.edu

1.主机将查询发送至 local dns server dns.poly.edu

2.本地dns不包含此主机,向根dns发送查询。

3.根dns返回edu的TLD的IP列表。

4.本地dns向TLD列表中的一个主机发送dns查询

5.TLD返回目的主机对应的权威dns地址。

6.本地dns再向该权威dns dns.umass.edu发送查询报文。

7.目的主机的权威dns返回目的主机的ip地址

DNS缓存

由以上过程可见,一条dns查询可能会产生8条d‘ns报文,采用缓存技术,可以减少dns查询链的长度。

缓存原理

在一个请求链中,当某个DNS服务器接收一个DNS应答时,它能够将信息缓存在本地存储器中。当下次查询时,就能避免到根dns,TLD和权威dns的查询。

由于主机和主机名的映射不是永久的,DNS缓存将在一段时间后被丢弃。

 

浏览器与DNS解析过程

标签:包含   查看   可见   als   平台   spl   发送   bsp   内容   

原文地址:https://www.cnblogs.com/lshao/p/9718928.html

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