## 域名系统
#### (一)DNS的访问过程
(1)确认本机是否绑定hosts或者存在缓存。
(2)已设置默认DNS使用默认DNS,未设置即访问运营商localDNS。
(3)localDNS访问根DNS
(4)访问顶级域名DNS
(5)访问二级域名DNS,递归查询(权威DNS)
![](https://box.kancloud.cn/1d3c2ac8472f65d07a5c21f408305b1f_700x492.png)
![](https://img.kancloud.cn/93/a0/93a0542ae1c8814acad28708b9ac07a2_1080x555.png)
> 注意:图中的IP可看成公网IP
>
> 详细解析过程请参考:https://www.cnblogs.com/liyuanhong/articles/7353974.html
*****
>[info] 1、本地DNS服务器(又称LocalDNS、递归DNS,公共DNS是递归DNS的一种特例)
打开浏览器输入网站首页时,首先主机发送DNS请求会先到本地DNS服务器,若本地DNS服务器内有对应的缓存,可以直接进行调用;
>[info] 2、DNS根服务器
若DNS服务器内没有对应的缓存,那么转发至DNS根服务器进行解析,但DNS根服务器没有记录具体的域名和IP地址的对应关系,而是告知本地的DNS服务器去域服务器上去查询,并且直接给出域服务器的地址;
>[info] 3、DNS域服务器
本地DNS服务器继续向域服务器发出解析请求,网易对应的是.com域服务器,那么请求直接发送至.com域服务器,但域服务器接收到请求后也不会直接回应对应的域名和IP地址的对应关系,而是告知本地DNS服务器网易的域名所对应解析服务器的地址。
>[info] 4、解析服务器
本地DNS服务器向解析服务器发送解析请求,解析服务器会回应网易域名和IP地址的对应关系,本地DNS服务器在接收到回应后,将域名和IP地址的对应关系发送给客户,并且保留一份记录到自身的DNS服务器缓存中去,当下一个用户去访问网易的网站后会直接从本地DNS服务器进行调用。
>[warning] 参考文档:[https://blog.51cto.com/10316297/2121578](https://blog.51cto.com/10316297/2121578)
*****
分割线
*****
DNS似乎并没有这么简单:
![](https://box.kancloud.cn/fb8fd567bdf96e25ebbb2191bc10ff38_1378x1023.png)
以查询www.me.ayouleyang.cn域名为例:
(1)LocalDNS缓存服务器
(2)根服务器
(3)cn服务器
(4)ayouleyang.cn服务器
ayouleyang.cn的解析DNS为dns17.hichina.com
又从头查一遍dns17.hichina.com域名的A记录
(5)me.ayouleyang.cn服务器
me.ayouleyang.cn的DNS服务器为dns.ayouleyang.cn
从头查一遍dns.ayouleyang.cn对应的A记录
(6)查询www.me.ayouleyang.cn得出结果
每一个NS记录都靠一个域名来解析,所以NS记录自身的域名也要解析一遍。
*****
> 其他学习文档:[https://blog.csdn.net/kim\_weir/article/details/78465641](https://blog.csdn.net/kim_weir/article/details/78465641)
- 文档目录
- 一、PHP笔记
- 安装及部署工具
- Oneinstack使用笔记
- LNMP使用笔记
- Composer使用笔记
- Composer包制作和应用
- Windows下的PHP
- Docker安装MySQL
- PHP知识汇总
- PHP8.0特性
- PHP杂项总结
- empty测试
- 阿里云SDK使用文档
- Swoole学习笔记
- PHP系统操作函数
- PHP系统探针
- PHPExcel导入导出数据
- PHP正则
- 数组函数
- Workerman小记
- trait
- 抽象类
- MVC设计模式
- PHP连接Access数据库
- guzzlehttp
- PHP加密方法
- PHP框架集合
- ThinkPHP
- YII
- Laravel使用笔记
- easyswoole
- TP5.1的正确使用方式
- ThinkPHP6.0队列
- PHP相关技术
- JWT
- 支付笔记
- PHP新写法
- PHP常用函数
- 二、运维笔记
- CentOS
- 常用命令
- 文件操作类
- 问题记录
- iptables
- 压缩解压命令
- CentOS8笔记
- Linux常用信息查看命令
- curl
- dig&nslookup
- 运维技术
- DNS体系
- CDN体系
- Haproxy负载均衡
- Ansible笔记
- crontab
- LVS简单理解
- 日志分析
- Python系统监控
- Linux系统监控
- 负载均衡方法
- Shell脚本示例
- ntp同步时间
- 宝塔运维
- Goaccess的使用
- Supervisor使用
- 用户管理
- RSA证书登录
- 网络技术
- DHCP
- IPv6学习
- 网络技术笔记
- 抓包笔记
- IPv4
- TCP
- IP基础知识总结
- IPv6地址库
- IPv6地址列表
- 云产品
- 对象存储大比拼
- 静态站点部署方案
- Apache配置总结
- Docker笔记
- 三、Web体系
- HTTP
- HTTP头字段总结
- head头部细讲
- 跨域请求
- HTTPS
- HTTP状态码表
- 关于IP的HTTP头部
- HTTP Method 详细解读
- HTTP的表单提交方式
- Vue
- Vue学习笔记
- ElementUI笔记
- Vue项目部署
- vue+layui
- vue-resource的使用
- axios的使用
- vue-element-admin
- Electron打包Vue
- Javascript
- JavaScript遍历json总结
- jQuery方法汇总
- WebSocket
- 案例:使用JavaScript获取用户内网IP地址
- JS导出Excel
- 前端笔记
- Viewer.js
- CSS笔记
- LayUI使用笔记
- 大屏系统
- 前端大屏系统
- 大屏预览
- 大屏HTML源码
- 常见Web攻击
- OAuth2.0
- 综合知识
- 四、数据库
- MySQL
- MySQL数据库备份
- MySQL用户管理
- JSON字段查询
- mysqldump导入导出数据库总结
- MySQL数据类型
- MySQL数据库案例总结
- MySQL8.0.11安装笔记
- Binlog笔记
- Navicat的使用
- MySQL常用内置函数
- Windows安装mysql8.0
- 存储过程
- 字符集
- MySQL主从复制
- PHPEnv一键安装MySQL
- Redis
- Redis笔记
- Redis在Windows的使用
- phpredis教程
- Redis事务
- redis集群
- Redis主从复制
- MongoDB
- MongoDb汇总
- 遇到问题
- 备份与还原
- 语法
- MongoDB安装
- Postgresql
- 安装
- PG笔记
- PG在ThinkPHP中使用
- PG数据库和MySQL数据库对比
- Elasticsearch
- 查询
- 数据格式
- 五、Nginx
- Nginx笔记
- 反向代理&负载均衡
- Nginx配置文件全面解析
- https/ssl配置
- 日志切割
- Openresty笔记
- 变量解释
- Tengine
- Nginx语法
- 文件服务器
- 六、其他语言
- Node.js
- Express
- 安装问题
- pm2的使用
- Python
- Tornado
- pip的使用
- Scrapy
- 多进程
- Python导出本地Excel
- Requests库
- Socket库
- Django
- 问题记录
- Python虚拟环境
- Fabric库
- Flask
- MongoDB的使用
- uwsgi部署
- Gunicorn部署
- Flask的虚拟环境
- Java
- JDK安装
- JSP页面
- JSP项目部署
- 学习计划
- Java学习记录
- Java相关状态码
- Jfinal笔记
- Websocket
- 客户端JavaScript
- Workman
- Swoole
- .NET
- WPF
- PowerShell
- 文件操作
- Interop.Excel
- DotNet笔记
- Go
- beego
- gin
- 备份MySQL数据库至OSS
- 对象存储比较更新
- 使用Go做一个静态文件服务器
- Ruby
- 七、杂项
- 其他笔记
- 义务劳动系统操作说明
- USB电流笔记
- Git使用笔记
- git常用命令列表
- git码云配置hook钩子实现自动部署
- 搭建git服务器
- 命令手册
- git钩子
- 自建Git服务器配置自动部署
- 算法汇总
- 时间复杂度和空间复杂度的简单讲解
- 加密算法
- 测试
- AB测试
- OFFICE
- Excel
- 数学笔记
- 对数
- 指数
- 三角函数
- 我用latex写公式
- 博客生成器
- markdown转html
- Jekyll
- Hugo
- 附:测试四大git-pages
- Hexo
- svn使用简记
- 正则表达式
- 草稿
- 个人成长篇
- 自创JS加密PHP解密程序
- 有趣的github项目
- 编辑器使用习惯
- 电脑选购指南
- 服务器重装备忘录