DNS域名解析的过程-程序员宅基地

技术标签: 网络  运维  操作系统  

一、主机解析域名的顺序

  1、找缓存

  2、找本机的hosts文件

  3、找DNS服务器

注意:
  配置IP和主机名时,要记得修改/etc/hosts文件, 因为有些应用程序在主机内的进程之间通信的时候,会本机的主机名,如果主机名不能正确解析到一个正常的IP地址,那么就会导致进程通信有问题。
 
 
二、概念解释 
DNS(Domain Name System,域名系统)
        1、因特网上作为域名和IP(Internet Protocol Address)地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
        2、通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
        3、DNS协议运行在UDP协议之上,使用端口号53。
        4、在整个互联网体系中,约定俗成的用于标识网络上设备的地址是IP,然而我们输入的是DNS,因为域名更方便人们记忆,不然那么多网站,人怎么可能记住所有的IP地址。
 
Q:浏览器如何通过域名去查询URL对应的IP(对应服务器地址)呢?
A:
  1、浏览器缓存:浏览器会按照一定的频率缓存DNS记录。
  2、操作系统缓存:如果浏览器缓存中找不到需要的DNS记录,那就去操作系统中找。
  3、路由缓存:路由器也有DNS缓存。
  4、ISP的DNS服务器:ISP是互联网服务提供商(Internet Service Provider)的简称,ISP有专门的DNS服务器应对DNS查询请求。
  5、根服务器:ISP的DNS服务器还找不到的话,它就会向根服务器发出请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,依次类推)。
 

Q:在网上查到某个网站的IP地址,在自己的浏览器上输入,却为什么连接不上?

A:
  大的高并发网站可能不止一个IP地址,根据不同的网络他们会有很多的IP来做集群。有的是通过DNS来实现负载均衡,有的是用squid来实现的。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33769125/article/details/85903204

智能推荐

ROS2学习笔记1--配置ros2环境_ubuntu ros2 domain_id-程序员宅基地

文章浏览阅读2.5k次,点赞7次,收藏15次。概要:这篇主要介绍是配置ros2环境.环境:ubuntu20.04,ros2-foxy,vscode2.1.1配置ros2环境(原文:https://docs.ros.org/en/foxy/Tutorials/Configuring-ROS2-Environment.html)>>教程>>配置ros2环境你正阅读的是ros2较老版本,但仍然支持的说明文档.想查看最新版本的信息,请看galactic版本链接( https://docs.ros.org/en/galactic/_ubuntu ros2 domain_id

浅谈对Promise的理解。_说说你对promise的理解-程序员宅基地

文章浏览阅读1k次,点赞16次,收藏21次。JS中用于处理异步操作的编程模式。一个Promise是一个代理,它代表一个创建Promise时不一定已知的值。它允许我们将处理的程序与异步操作的最终成功值或失败值原因想关联起来。这使得异步方法可以像同步方法一样返回值:异步方法不会立即返回最终值,而是返回一个Promise,以便在将来的某个时间点提供该值。_说说你对promise的理解

Win10家庭版怎么样添加hyper-v虚拟机功能_win10家庭版自带虚拟机怎么用-程序员宅基地

文章浏览阅读998次。下载文件链接: https://pan.baidu.com/s/1FiENCHjIMu-Unc1v36muAQ 提取码: v9q6打开配置就可以了_win10家庭版自带虚拟机怎么用

sas数字转日期格式_SAS日期格式输出格式大全-程序员宅基地

文章浏览阅读3.2k次。主要的输入输出格式名描述w.d标准的数值数据型格式$w.标准的字符数据型格式COMMAw.d含有逗号、小数点的数值数据型格式DOLLARw.d含有美元号$、逗号和小数点的数值数据型格式DATEw.日、月份、年形式的日期值(ddmmmyy),例如w=7时,18jan97; w=9时,18jan1997MMDDYYw.月份、日、年形式的日期值(mmddyy),例如,w=8时,01/18/97; w=6..._不同格式sas日期之间的转换

Android实现简单的闹钟-程序员宅基地

文章浏览阅读1.4w次,点赞10次,收藏47次。Android实现简单闹钟Android实现简单闹钟简单的时间格式转化日期选择时间选择确定时间后开启服务在服务里使用AlarmManager定时在AlarmManager里设置到点发送一条广播实现一个BroadcastReceiver接收到定点的广播后发送一条通知简单的时间格式转化 private static String midStr1 = ""; private

帆软报表自定义求和_帆软报表列求和-程序员宅基地

文章浏览阅读1.3w次。例子:正常求和:sum(B3) sum(C3)现在需要的效果是1.数量1中只求大于1值的和2.数量2中对应数量1大于1的值的和结果应该为:求和公式:sum(B3{B3>1}) sum(C3{B3>1})虽然简单,但是实用...._帆软报表列求和

随便推点

WP-Syntax 插件使用方法-程序员宅基地

文章浏览阅读93次。技术博客中使用WP-Syntax将代码高亮是最常见的。而一段时间不用总会忘记每种语言的的pre标签的值。这里简单介绍下,WP-Syntax 是一个针对 Wordpress 的代码高亮插件,最大的优点是简单易用,兼容性非常好。由于安装好后,后台编辑器不会出现相应的按钮。所以网上有很多网友通过修改 \wp-includes\js\quicktags.js 这个文件来实现添加相应的按钮,方便编辑。..._wp-syntax设置

python生成随机IP,随机数字,随机日期,随机字符串_"print(\"0x%02x\" % secrets_generator.randint(0,25-程序员宅基地

文章浏览阅读4.2k次。随机IP:#定义4个0-255的随机数字,然后用.将四个随机数拼接起来m=random.randint(0,255)n=random.randint(0,255)x=random.randint(0,255)y=random.randint(0,255)randomIP=str(m)+’.’+str(n)+’.’+str(x)+’.’+str(y)随机数字:randomInt=ra..._"print(\"0x%02x\" % secrets_generator.randint(0,255), end="

路由器重温——WAN接入/互联-DCC配置管理2_dialer-rule-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏5次。配置DCC拨号接口属性拨号接口(包括物理拨号接口和Dialer接口)一旦创建,就会被赋予一系列属性参数的缺省值,因此本项配置任务为可选。①链路空闲时间设置当链路空闲超过了指定时间后,DCC将断开链路。这个空闲时间也即是链路中不存在符合拨号访问控制列表的permit条件的报文传送时间。②下次呼叫发起前的链路断开时间当DCC呼叫链路因故障或挂断等原因导致进入断开状态,必须经过指定时间后才能建立新的拨号连接(即进行下一次呼叫的间隔时间),从而避免对端PBX设备过载。③接口竞争时的链路空闲时_dialer-rule

上百套springboot,python,ssm和小程序毕业设计作品(1)-程序员宅基地

文章浏览阅读692次,点赞9次,收藏11次。不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~给大家准备的学习资料包括但不限于:Python 环境、pycharm编辑器/永久激活/翻译插件python 零基础视频教程Python 界面开发实战教程Python 爬虫实战教程Python 数据分析实战教程python 游戏开发实战教程Python 电子书100本。

Java经典面试(三)_map<integer, int[]> positions = memorytest(numbers-程序员宅基地

文章浏览阅读500次。Java经典面试(三)一、java基础字符串常量Java内部加载-上二、JUC三、Spring四、Redis五、补充和总结一、java基础字符串常量Java内部加载-上代码:public class StringPoolDemo { public static void main(String[] args) { String str1 = new StringBuffer("mei").append("tuan").toString(); System.ou_map positions = memorytest(numbers)

linux 定位 踩内存_一种定位内存泄露的方法(Linux)-程序员宅基地

文章浏览阅读810次。目的:本文是《一种定位内存泄露的方法(Solaris)》对应的Linux版本,调试器使用gdb。主要介绍实例部分。其他请见《一种定位内存泄露的方法(Solaris)》。实例:模拟new失败的程序:#include class ABC{public:virtual ~ABC(){}int i;int j;};void f(){for (int i = 0; i < 1000; ++i){ABC..._linux内存被踩的解决

推荐文章

热门文章

相关标签