DNS NoteBook
DNS(Domain Name System)
原文见我的Github,欢迎批评指正,共同进步
这篇文章属于DNS笔记系列,但是不会介绍最基本的DNS知识,较偏向DNS细节和进阶,但是会包含基础的DNS原理,新手可以阅读,但可能会有一些困难,希望本文能带给大家些许帮助.
1. Root DNS Server
根DNS服务器属于DNS系统中最重要的基础设施,负责最基本的解析工作,根DNS服务器全球有13台,以A~M字母命令,为方便管理,其域名格式为字母.root-servers.net
,中国地区没有根DNS服务器,大部分根DNS服务器在美国,亚洲唯一的一台根DNS服务器在日本,东京
,由WIDE Project
进行管理,全球的root-server
分布情况见 IANA,所有的根DNS服务器都是以维护一份根域文件(Root Zone file,文件命名为root.zone)来返回顶级域名对应的权威服务器(包括通用顶级域和国家顶级域,很多大型公司都有自己的TLD,比如IBM等),这份根域文件文件大小为2MB
左右,截至到2020年2月4日,共记录有1516个顶级域(数据来自 IANA),没有被收录的顶级域不会参与DNS解析过程.
2. Root DNS 镜像
为了分担全球DNS解析的压力,提供更快的服务,现在通过任播技术架设DNS镜像服务器来分担全世界的DNS解析服务,所以现在实时运行的Root DNS Server
数量远远大于13台,截至2020年2月5日,全球共有1039台Root DNS Server在为全世界的DNS解析提供服务.
来说说中国的Root DNS Server
,截止时间2020年2月5日在 IANA 官网所展示的中国包含的Root DNS Server镜像
有L, K, J, F, I, E, A, H
这八种,主要分布在北京市(5,J,F,K,L,I),香港(9,I,A,J,H,(3,F),(2,E))和台北市(6,E,I,L,K,(2,F)),其中杭州(1,F),上海(1,I),武汉(1,L),郑州(1,L),贵阳(1,K)和西宁市(1,L).
图中最下面的数字16包含了越南首都河内(Hanoi)的一台根DNS镜像服务器,所以数量应为15,目前中国的 Root DNS Mirror Server
数量应该为26台.
之前因为中国大陆境内多次的DNS污染影响到了外网,所以中国大陆境内的Root DNS Server
曾经被关停一段时间,不过目前现在中国大陆境内仍有F、I、J、L
这4个根域的6台DNS镜像(L
有三台镜像)在提供服务.
3. 任播 anycast
根DNS镜像采用任播技术实现了对全球13台根DNS服务器的扩充,什么是任播呢,简单来说就是每一个地址对应一群接收节点,不同于广播和多播的是,每一次发送只允许其中一个链路上最优结点接收发送端发来的消息.
任播的好处有负载均衡,提高冗余性,安全性,用户层面能提高客户端的响应速度.
4. Root Zone 文件
Root Zone
文件记录了全球的顶级域的DNS信息,通过Http
协议可以在 Internic 下载Root Zone
文件,同时也可以通过FTP
下载,其格式如下(部分为例)
TLD | TTL | Internet | Record Type | Record Value |
---|---|---|---|---|
dnsc.ad. | 172800 | IN | A | 194.158.74.10 |
dnsc.ad. | 172800 | IN | AAAA | 2a02:8060:32fa:0:0:0:0:b |
dnsm.ad. | 172800 | IN | A | 194.158.74.9 |
dnsm.ad. | 172800 | IN | AAAA | 2a02:8060:32fa:0:0:0:0:a |
adac. | 172800 | IN | NS | a.nic.adac. |
adac. | 172800 | IN | NS | b.nic.adac. |
adac. | 172800 | IN | NS | c.nic.adac. |
adac. | 172800 | IN | NS | d.nic.adac. |
更多DNS记录类型以及相关规定可在 RFC1035 进行查询
5. waitting
DNS NoteBook相关推荐
- 如何设置Jupiter Notebook服务器并从任何地方访问它(Windows 10)
新程序员指南: (New Programmer's Guide:) 介绍: (Introduction:) I want to work from my laptop and have my desk ...
- Jupyter Notebook基础(6)Jupyter Notebook命令行命令帮助
Jupyter Notebook当前版本为6.3.0. Jupyter命令行命令 jupyter命令是整个Jupyter项目命令的命名空间,单独执行jupyter命令无任何意义. jupyter命令的 ...
- 如何在本地访问远程服务器的jupyter notebook?
背景 jupyter notebook作为一个非常好用的工具,我们经常会在学习python以及深度学习的时候用到,但是经常我们面临的问题是远程服务器上的jupyter notebook,我们可能在本地 ...
- debian10 简单的DNS服务器搭建
安装DNS apt-get install bind9 添加区域配置 vim /etc/bind/named.conf.local zone "skills.com" {type ...
- Python | 安装Jupyter Notebook及其目录的更改 jupyter问题
20211223 在非输入出双击d删除单元格 20211218 https://www.jianshu.com/p/c51f9504d84f jupyter,ipynb转py 20211117 htt ...
- 云服务器dns配置文件,linux服务器dns配置文件
linux服务器dns配置文件 内容精选 换一换 裸金属服务器硬件损坏,SDI卡损坏等原因,导致裸金属服务器无法正常使用时,您可以申请裸金属服务器重建功能.裸金属服务器重建过程不是自动化的,您需要联系 ...
- Jupyter Notebook 远程访问设置方法
1. 设置密码 In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: O ...
- Ubuntu 安装 IPython、jupyter notebook
1. 升级 pip sudo pip3 install --upgrade pip 2. 安装 IPython IPython 5.x 是最后一个支持 Python2 的 IPython . sudo ...
- linux mint 修改dns,如何在Ubuntu和LinuxMint中刷新DNS缓存
本篇文章给大家介绍的内容是关于如何在Ubuntu和LinuxMint中刷新DNS缓存,下面我们来看具体的内容. 域名系统(DNS)是互联网的主干网之一.你无法想象在全球数百万用户的公共网络上运行网站. ...
- 一键部署dns服务_OpenShift : 通往云原生、DevOps、微服务和Serverless的大门
新书速递 查尔斯·狄更斯的<双城记>中有句耳熟能详的名言:"这是一个最好的时代,也是一个最坏的时代."作为技术从业者,在这个数字化浪潮和技术变革接连发生的时代,我对这句 ...
最新文章
- mysql 硬解析 软解析_ORACLE sql语句的硬解析与软解析(收藏)
- 实战05_SSM整合ActiveMQ支持多种类型消息
- ValueError: invalid literal for int() with base 10:Python报错及其解决办法
- 用etcd实现服务注册和发现
- 代码风格研究:左花括号 是否换行???
- 年后复工,逾期升高,策略应该怎么调优
- C语言 — 编程规范
- matlab操作视频教程,matlab2019视频教程
- 手机U盘制作成系统启动盘后在手机端无法识别
- 怎样确定远程计算机ip地址,如何获取远程计算机的IP地址
- pe系统如何读取手机_pe系统没有连接手机的驱动怎么办
- 掌握这些插件,分分钟提高你的办公效率90%!
- JavaScript知识整理(一)——W3school
- 抖音ai智能机器人挂机_抖音上最火的人工智能机器人--LUKA绘本阅读机器人
- dev、test、prod、pre是什么意思?
- stm32增量式编码器使用流程
- Android编译命令m、mm、mmm区别及工程搭建示例
- 如何理解数学公式中出现的极大极小minmax含义
- 浏览器中的垃圾回收机制
- 华为mate30pro和华为p40pro有什么区别
热门文章
- 字节、KB、MB、GB 之间的换算关系
- 高职大学计算机专业老师试讲面试,毫无经验应聘高职院校教师怎么准备试讲和面试...
- android相机代码权限,Android – 相机权限被拒绝而没有提示
- 物联网学什么编程语言_物联网开发用什么语言
- 快乐数Python解法
- win10设置保护色
- php怎么启动服务,如何打开php服务
- 冯扬文:基于数据仓库的集装箱运价信息集成研究
- linux脚本看日历,Linux查看日历之cal命令
- cos(a-b)=cosa*cosb+sina*sinb的推导过程