1、基本概念

​ DNS(Domain Name System)域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名与IP地址的解析服务。

​ DNS是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

注:DNS域名空间中,树的最大深度不得超过127层,树中每个节点最长可以存储63个字符。

域名:通常由一个完全合格域名(FQDN)标识。FQDN能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“,”分隔,对于DNS域google来说,其完全正式域名(FQDN)为google.com.

例如,google为com域的子域,其表示方法为google.com,而www为google域中的子域,可以使用www.google.com表示。

注意:通常,FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z,和减号(-)。点号(.)只允许在域名标志之间(例如“google.com”)或者FQDN的结尾使用。域名不区分大小。由最顶层到下层,可以分成:根域、顶级域、二级域、子域。

Internet域名空间的最顶层是根域(root),其记录着Internet的重要DNS信息,由Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给连接到nternet的各个组织。

“.”全球有13个根(root)服务器

10台在美国另外3台分别在英国、瑞士、日本

DNS根域下面是顶级域,也由Internet域名注册授权机构管理。共有3种类型的顶级域。

组织域:采用3个字符的代号,表示DNS域中所包含的组织的主要功能或活动。比如com为商业机构组织,edu为教育机构组织,gov为政府机构组织,mil为军事机构组织,net为网络机构组,织,org为非营利机构组织,int为国际机构组织。

地址域:采用两个字符的国家或地区代号。如cn为中国,kr为韩国,us为美国。

反向域:这是个特殊域,名字为in-addr.arpa,用于将IP地址映射到名字(反向查询)。

附:搜索ip流程

第一次访问百度时,会去访问DNS,DNS会从其高速缓存寻找ip地址,如果没有的话,会去最近的根服务器寻找,根服务器会告诉DNS改域名所在的域服务器所在地址让DNS其访问(假设是迭代方式),域服务器会返回百度的ip给DNS,DNS返回百度的ip地址,同时DNS会将百度的ip记录在高速缓存。

DNS服务器有多个,一般路由器会自带DNS服务器,其地址为路由器的地址(默认网关),Windows下自动获取DNS服务器地址即为路由器的NDS服务器,也可以自己输入想要DNS服务器,公共的DNS服务器会有较多人访问,其访问速度也会相对比较快。

2、区(Zone),资源记录

区是DNS名称空间的一部分,其包含了一组存储在DNS服务器上的资源记录。

使用区的概念,DNS服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器。

3、主域名服务器与辅助域名服务器。

​ 当区的辅助服务器启动时,它与该区的主控服务器进行连接并启动一次区传输,区辅助服务器定期与区主控服务器通信,查看区数据是否改变。如果改变了,它就启动一次数据更新传输。·每个区必须有主服务器,另外每个区至少要有一台辅助服务器,否则如果该区的主服务器崩溃了,就无法解析该区的名称。

辅助服务器的优点:

1)容错能力

配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称。一般把区的主。服务器和区的辅助服务器安装在不同子网上,这样如果到一个子网的连接中断,DNS客户机还能直接查询另一个子网上的名称服务器。

2)减少广域链路的通信量

如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机·配置成先查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS查询。

3)减轻主服务器的负载

辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数。

4、两种查询方式:

(1)递归查询。(一次沟通完。)·

递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接收到客户机请求,必须使用一,个准确的查询结果回复客户机。如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询·问其他服务器,并将返回的查询结果提交给客户机。

(2)迭代查询。

DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DN5服务器并不直接回弯神果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS服务器提交请求,依次循环垂到返查询的结果为止。

总结:一般情况下,从PC客户端到本地DNS服务器是属于递归查询。而DNS服务器之间就是的交互查询就是迭代查询。

5、DNS资源记录

1)SOA资源记录

每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。·

2)NS资源记录

NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。每个区在区根处至少包含一个NS记录。

3)A资源记录

地址(A)资源记录把FQDN映射到IP地址。因为有此记录,所以DNS服务器能解析FQDN域名对应的IP地址。

4)PTR资源记录

相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。用于反向查询,通过P地址,找到域名。

5)CNAME资源记录

别名记录(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道真正的域名。

例:ping百度时,解析到了百度的别名服务器。百度有个cname=ww.a.shifen.com.的别名。

DNS服务学习笔记的更多相关文章

  1. Spring Cloud微服务学习笔记

    Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...

  2. SpringCloud微服务学习笔记

    SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...

  3. 微服务学习笔记(1)——使用MagicOnion实现gRPC

    原文:微服务学习笔记(1)--使用MagicOnion实现gRPC 1.什么是gRPC 官方文档:https://grpc.io/docs/guides/index.html 2.什么是MagicOn ...

  4. 微服务学习笔记(2)——使用Consul 实现 MagicOnion(GRpc) 服务注册和发现

    原文:微服务学习笔记(2)--使用Consul 实现 MagicOnion(GRpc) 服务注册和发现 1.下载打开Consul 笔者是windows下面开发的(也可以使用Docker). 官网下载w ...

  5. 钓鱼+DNS欺骗学习笔记

    钓鱼+DNS欺骗学习笔记 0x00 写在前面 原文链接: http://www.cnblogs.com/hkleak/p/5186523.html 感谢大佬无私教学 0x01 步骤如下 第一步:布置钓 ...

  6. Red Hat 7.0 DNS服务配置笔记

    先挂载镜像,然后配置yum,然后安装yum install -y bind 配置静态 IP.DNS就是他本身的IP地址. 修改DNS的配置文件,在后面加入区域配置信息.vim /etc/named.c ...

  7. 硬件访问服务学习笔记_WDS

    1.Android驱动框架App1 App2 App3 App4-------------------硬件访问服务-------------------JNI-------------------C库 ...

  8. docker入门与部署微服务--学习笔记

    最近公司进一步去windows,走向 linux+云化. 原来的一大坨windows虚拟机服务器都要转向linux, 既然走向linux的话,那么docker肯定是要涉足的. 故学习了docker入门 ...

  9. Angular.js之服务与自定义服务学习笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. SuperMap 9D 实时数据服务学习笔记

    SuperMap 在9月份发布了结合大数据技术的9D新产品,今天就和大家介绍下iServer9D中的实时数据服务. 1.技术框架 结合Spark的streaming流处理框架,将各种数据进行批量处理. ...

随机推荐

  1. #maxlength vs #size form api reference

    #maxlength Used by: password, textfield Description: The maximum amount of characters to accept as i ...

  2. 四、配置docker MySQL 修改编码,支持 utf8mb4

    docker 获取 mysql 5.7 版本的镜像. 将docker 里面的 3306 端口映射出来,否则虚拟机外,可能无法访问, 创建 docker 镜像 docker run -itd -p 33 ...

  3. R7-3 汉诺(Hanoi)塔问题

    R7-3 汉诺(Hanoi)塔问题 分数 20 全屏浏览题目 切换布局 作者 张高燕 单位 浙大城市学院 古代某寺庙中有一个梵塔,塔内有3个座A.B和C,座A上放着64个大小不等的盘,其中大盘在下,小 ...

  4. select选项中的内容和其他输入框不对齐

    有时候总会遇见莫名其妙的问题,如图中(为了清除的表示问题,我又用画图将偏离更夸张些).为了解决这个问题,只好取消样式优化,同时自己加小箭头.但是为什么会有这样的问题啊 /*取消iphone样式优化*/ ...

  5. docker容器启动报错Unable to access jarfile

    1.错误表现 Errot: Unable to access jarfile /opt/run-java/deployments/chiano.jar 2.原因:容器的基础镜像对jar的权限有要求 3 ...

  6. chrome 请停用以开发者

    链接:https://pan.baidu.com/s/1YhWINGlUVyTE5XyBVIGW_Q 提取码:23t2 转载至   https://www.cnblogs.com/it-tsz/p/9 ...

  7. kafka常用命令(zookeeper与bootstrap-server)

    在 0.9.0.0 之后的 Kafka,出现了几个新变动,一个是在 Server 端增加了 GroupCoordinator 这个角色,另一个较大的变动是将 topic 的 offset 信息由之前存 ...

  8. Ant Design 抽屉(tabel)

    效果图如下,因部分涉及到人员隐私,所以打码了,就是一些图片文字信息. 有不足的地方可以麻烦提出来的,一起学习的. <template> <a-drawer v-model:visib ...

  9. Study python_04

    数组 a = [1,2,3] print(a) 数组替换 a = [1,2,3] a[0] = 100 print(a) 数组去重复 def delete_chong(): a = [1,1,2,2, ...

  10. 【python】python,PyQt5以及Qt designer的使用_做界面(用vscode)

    1.PyQt5和Qt designer准备 win+r       cmd       输入以下 python -m pip install -i http://pypi.douban.com/sim ...