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

相关文章

Java中自旋锁与CAS机制的深层关系与区别

《Java中自旋锁与CAS机制的深层关系与区别》CAS算法即比较并替换,是一种实现并发编程时常用到的算法,Java并发包中的很多类都使用了CAS算法,:本文主要介绍Java中自旋锁与CAS机制深层... 目录1. 引言2. 比较并交换 (Compare-and-Swap, CAS) 核心原理2.1 CAS

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

Linux(centos7)虚拟机没有IP问题及解决方案

《Linux(centos7)虚拟机没有IP问题及解决方案》文章介绍了在CentOS7中配置虚拟机网络并使用Xshell连接虚拟机的步骤,首先,检查并配置网卡ens33的ONBOOT属性为yes,然后... 目录输入查看ZFhrxIP命令:ip addr查看,没有虚拟机IP修改ens33配置文件重启网络Xh

GO语言zap日志库理解和使用方法示例

《GO语言zap日志库理解和使用方法示例》Zap是一个高性能、结构化日志库,专为Go语言设计,它由Uber开源,并且在Go社区中非常受欢迎,:本文主要介绍GO语言zap日志库理解和使用方法的相关资... 目录1. zap日志库介绍2.安装zap库3.配置日志记录器3.1 Logger3.2 Sugared

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

深入理解MySQL流模式

《深入理解MySQL流模式》MySQL的Binlog流模式是一种实时读取二进制日志的技术,允许下游系统几乎无延迟地获取数据库变更事件,适用于需要极低延迟复制的场景,感兴趣的可以了解一下... 目录核心概念一句话总结1. 背景知识:什么是 Binlog?2. 传统方式 vs. 流模式传统文件方式 (非流式)流

深入理解Go之==的使用

《深入理解Go之==的使用》本文主要介绍了深入理解Go之==的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录概述类型基本类型复合类型引用类型接口类型使用type定义的类型不可比较性谈谈map总结概述相信==判等操作,大

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4