本文主要是介绍IP地址与DNS之间的关系——真正理解DNS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、IP地址
容易理解而又不太准确的说,IP地址是电脑在网络中的唯一标识,局域网IP是限于局域网内可以相互访问的电脑;公网中的固定IP,可以说是电脑在公网网络中的唯一标识。
2、DNS(Domain Name System)域名服务系统,简单的说就是域名与IP转换服务(负责将你输入的域名转换为IP,类似于电话本,把你拨打电话的名字转换为手机号)。
网络真正的访问是通过IP来实现的,但是IP地址像电话一样不好记(或者大部分时候百度、淘宝等网站为了负载均衡和大规模访问其实有很多IP地址的),这时候大家都是用域名(如www.baidu.com)比较好记住的地址。
www.baidu.com如何转换为百度的IP呢?就是通过DNS服务(就类似于一个巨型、记录了全世界ip与域名的电话本),指定到对应的IP服务器。
3、DNS设置
既然DNS是一个公共的“IP地址解析电话本”,那网络上就有很多公共的DNS服务,一般最常用的就是114.114.114.114,这就是为什么我们经常设置DNS的IP为114.114.114.114,意思就是解析域名的时候去114.114.114.114这台服务器上来解析;当然如果填了备选服务,就是在114.114.114.114因为某种原因无法解析的时候,去备选IP的DNS服务器上解析。
当然除了以上比较出名的、相对来说特别稳定的DNS外还有不少不知名的一些DNS解析服务器就不在列举了;这里特别说明一下Google DNS 8.8.8.8可以说是为全球DNS提供一个最基础的保障(假设当其他DNS服务器都出问题了的最后一道保障),但是在中国用Google DNS明显存在问题会比较慢,一个请求先要请求美国的Google服务器,把你的域名解析成IP给你,去美国饶了一圈你才拿到真正要访问的IP。
而现在日常中很多网络设置都会设置成自动获取IP地址和DNS服务器,可以查看一下网络属性,自动选择114.114.114.114作为DNS服务器的居多
4、DNS引出的hosts文件
hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。
简单的说浏览器里面输入一个域名,他先去本地的hosts文件解析对应的IP地址,找不到就去DNS域名服务器找!
host文件Windows下位置:C:\Windows\System32\drivers\etc;hosts有几个作用:通过本地加快解析;屏蔽一些网站;局域网IP起一个别名容易记住;
5、DNS劫持
本来你访问A网站,DNS服务器会给你返回A网站的IP,但是如果DNS劫持了,这时候会给你返回一个其他网站B的IP(这并不是你想要的),这时候你访问的内容就会进入其他网站;因此DNS劫持会严重影响上网体验。
6、常见的DNS不正确/修复DNS的问题
大家经常会遇到一个情况QQ能上,但是QQ空间打不开,这一般是DNS解析除了问题;
原因很简单,QQ本身是通过IP直接连腾讯的服务器,不需要去DNS服务器解析;而QQ空间是通过域名去访问腾讯的服务器,这大概率是域名解析不了或者解析不正确导致的,也就是DNS设置有问题。
参考:
DNS是什么东西,他有什么用,DNS劫持说的又是啥
https://zhuanlan.zhihu.com/p/60725155
这篇关于IP地址与DNS之间的关系——真正理解DNS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!