IP地址与DNS之间的关系——真正理解DNS

2024-09-02 22:58

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131313

相关文章

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最