Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DNS原理入门(域名系统) #1

Open
Kelichao opened this issue Dec 2, 2016 · 0 comments
Open

DNS原理入门(域名系统) #1

Kelichao opened this issue Dec 2, 2016 · 0 comments

Comments

@Kelichao
Copy link
Owner

Kelichao commented Dec 2, 2016

DNS功能

工作流程

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。其实我们访问的地址都会指向一个数字ip。

例如:

www.guokr.com 不是一个IP,向DNS询问请求www.guokr.com 对应的IP,获得IP: 111.13.57.142。这个过程里,你的电脑直接询问的DNS服务器(运营商)可能没有www.guokr.com 对应的IP,就会向它的上级服务器询问,上级服务器同样可能没有,就依此一层层向上找,最高可达根节点,找到或者全部找不到为止。(DNS使用递归方式查找ip)

比如:

www.baidu.com  --->  111.206.223.206
www.51ifind.com ---> 210.51.244.175

查看www.baidu.com的ip地址

image

用ip地址访问百度,效果其实是一样的

image

DNS缓存

由于DNS缓存可以有失效时间,一般为几秒到几天不等,因此计算机中存在DNS缓存,且DNS缓存有三种。

过期时间可以看TTL

  • 浏览器缓存
  • 系统缓存
  • 读取HOSTS
  • 路由器缓存
  • 发起域名解析请求(运营商)
  • 快带运营商服务器查看本身缓存
  • 运营商服务器发起一个【迭代】DNS解析的请求

迭代请求是指比如www.baidu.com这个请求,先会去问com再去问baidu.com最后去问www.baidu.com

清除浏览器缓存

  • 在浏览器地址栏输入 chrome://net-internals/#dns,点击clear host cache即可

清除系统缓存

  • 在命令行输入ipconfig/flushdns

修改本机HOSTS来指定ip

  • HOSTS位置 'c:\windows\system32\drivers\etc'
  • 这里是电脑host上面的配置 带 # 的配置是已经注释的,不起作用的,没有注释的其中一句
# 后面是注释
#10.0.16.2  ft.10jqka.com.cn

172.20.0.181  ftcu.10jqka.com.cn

相当于我请求ftcu.10jqka.com.cn的域名就是指向172.20.0.181

注意

  • DNS在我国由国家控制,所以每个站点指向的地址都是唯一的,普通人无法改变和操作。

扩展【DNS 原理入门】

以上是我自己总结,参考阮一峰总结

@Kelichao Kelichao changed the title DNS(域名系统) DNS原理入门(域名系统) Dec 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant