摘要

本博文主要介绍DNS协议和DNS服务器域名解析相关知识和原理,帮助大家在理解计算机网络中的域名解析服务原理。

计算机网络知识脑图

计算机网络——计算机网络知识脑图_庄小焱的博客-CSDN博客_计算机网络面试题总结

计算机网络大厂面试问题集合

计算机网络——大厂面试问题集合_庄小焱的博客-CSDN博客

计算机网络基础知识

计算机网络——网络基础知识_庄小焱的博客-CSDN博客_数据转发服务器

IP相关基础原理

计算机网络——IP协议基础原理_庄小焱的博客-CSDN博客_ip网络技术

HTTP协议原理

计算机网络——HTTP协议原理_庄小焱的博客-CSDN博客_http协议原理

HTTP的优化方式

计算机网络——HTTP的优化方式_庄小焱的博客-CSDN博客

HTTPS协议原理

计算机网络——HTTPS协议原理_庄小焱的博客-CSDN博客_https协议原理

HTTPS的优化方式

计算机网络——HTTPS的优化方式_庄小焱的博客-CSDN博客

TCP可靠性传输原理

计算机网络——TCP可靠性传输原理_庄小焱的博客-CSDN博客_tcp的可靠性是如何实现的

TCP/IP三次握手四次挥手原理

计算机网络——HTTP的三次握手与四次挥手原理_庄小焱的博客-CSDN博客_三次握手和四次挥手原理

TCP的优化方式

计算机网络——TCP的优化方式_庄小焱的博客-CSDN博客_tcp协议优化技术

DNS协议(域名解析)原理

计算机网络——DNS协议(域名解析)原理_庄小焱的博客-CSDN博客_计算机网络dns

ARP协议(地址解析)原理

计算机网络——ARP协议(地址解析)原理_庄小焱的博客-CSDN博客_地址解析协议的工作原理

ARQ协议(自动重传请求)原理

计算机网络——ARQ协议(自动重传请求)原理_庄小焱的博客-CSDN博客_连续arq协议的原理

DHCP协议原理

计算机网络——DHCP(动态获取IP)原理_庄小焱的博客-CSDN博客_计算机网络dhcp

NAT协议原理

计算机网络——NAT协议(网络地址转换)原理_庄小焱的博客-CSDN博客

ICMP/IGMP协议原理

计算机网络——ICMP/IGMP协议原理_庄小焱的博客-CSDN博客_计算机网络igmp

HTTP网络访问全流程

计算机网络——HTTP网络访问全流程_庄小焱的博客-CSDN博客_网络访问流程

虚拟网路模型原理

计算机网络——虚拟网路模型原理_庄小焱的博客-CSDN博客

其他网络知识

计算机网络——select/poll/epoll底层原理_庄小焱的博客-CSDN博客

计算机网络——cookie/session/token原理_庄小焱的博客-CSDN博客

计算机网络——网络通信加密原理_庄小焱的博客-CSDN博客_网络通信加密

计算机网络——GRPC通信原理_庄小焱的博客-CSDN博客_grpc原理

计算机网络——tcpdump/Wireshark抓包实战_庄小焱的博客-CSDN博客_网络抓包

计算机网络——TCP抓包连接实战_庄小焱的博客-CSDN博客_tcp全连接和半连接

一、DNS简介

DNS(Domain Name Systern) 域名系统,应用层协议,是互联网的一项服务,是将域名转换成网络可以识别的IP地址,再通过IP地址访问主机。这种由文字组成的名称,显而易见更容易记忆。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构服务器端:53/udp, 53/tcp。实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为zone(区域〉。根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。简单来说DNS服务是ip地址与域名一一对应的解析服务。

1.1 DNS系统的分布式数据结构

1.2 域名结构解析

  • 根域:一般用"."表示,可省略不写
  • 一级(顶级)DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
  • 二级DNS服务器:专门负责二级域名的解析
  • 子域名(三级域名)DNS服务器:专门负责子域名的解析

大型、分布式的互联网DNS解析库

  1. 根.根域名DNS服务器:专门负责根域名;处于域名结构的最顶端,一般用一个“ . ” 表示;
  2. 顶级域(一级)DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
  3. 二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,顶级域名下面设置的是二级域名,如:
  4. 子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名;
  5. 主机:主机位于域名结构的最下层,就是一台具体的计算机,如:www、mail都是具体的计算机名字,可以用www.baidu.com.cn.来表示,这种方式称为FQDN(完全合格域名),也是这台主机在域名中的全名。

例如:http://www   .baidu.com.  cn.    /         http://主机名.子域.二级域.顶级域 根域/

1.3 DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址
  • 反向解析:根据IP地址查找对应的域名
  • DNS系统的分布式数据结构

1.4 网页访问流程

当用户输入www.baidu.com 去访问网页

  1. 先看你本机的hosts文件,如果有直接访问,没有会先去找缓存服务器(电信运营商)。
  2. 缓存服务器,先看缓存,缓存有,直接反馈结果给用户,缓存没有,直接去找根。
  3. 根只知道自己下一级的服务位置,不会反馈给你直接结果,会透露有一个信息有可能顶级域知道,让你去找顶级域(一级域)试试看。
  4. 缓存服务器会再去找顶级域(一级域)服务器。
  5. 顶级也不知道,不会反馈给你直接结果,会透露有一个信息,有可能二级域知道,让你去找二级域试试看。
  6. 缓存服务器收到这个消息,会再去找二级域,二级域知道会反馈结果给缓存服务器。
  7. 缓存服务器收到结果会直接交给用户。

输入www.baidu.com  打开网页中间经历了那些过程?

  1. 域名解析(看一下浏览器要和哪个服务器的哪个接口建立连接)
  2. 浏览器与域名地址建立TCP连接,三次握手
  3. http访问
  4. 断开TCP连接,四次挥手

1.5 DNS 域名查询方式

  • 迭代:不给你结果,只给你相关信息 (需要自己动手)
  • 递归:直接反馈给你结果  (不需要自己动手)

1.6 DNS系统类型

缓存域名服务器

  • 也称为DNS高速缓存服务器。
  • 通过向其他域名服务器查询获得域名-->IP地址记录。
  • 将域名查询结果缓存到本地,提高重复查询时的速度。

主域名服务器

  • 特定DNS区域的权威服务器,具有唯一性。
  • 负责维护该区域内所有域名-->IP地址的映射记录。
  • 需要自行建立所负责区域的地址数据文件。

从域名服务器

  • 也称为辅助域名服务器,是对主域名服务器的热备份。
  • 其维护的域名-->IP地址记录来源于主域名服务器。
  • 需要从主域名服务器自动同步区域地址数据库。

二、DNS软件bind

2.1 DNS软件bind示例

DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns

  • bind:服务器
  • bind-libs:相关库
  • bind-utils: 客户端
  • bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/

三、本地解析配置文件hosts

  • Linux hosts文件位置:/etc/hosts
  • windows hosts文件位置 : c/windows/system32/drivers/etc/hosts

四、DNS正向解析原理

4.1 配置bind的配置

  • 主配置文件 :  /etc/named.conf
  • 域名区域 :  /etc/named.rfc1912.zones (想解析的域名卸载这个文件中)
  • 数据库文件 text  记录 ip地址和域名对应关系     /var/named/某某文件(你自定义的)
  • 为什么大家都知道根,写进了配置文件   /var/named/named.ca  这个文件存了地址
  • bind它的服务名是named
用命令去仓库里看有哪些bind没有装:[root@localhost ~]# yum list bind*

vim /etc/named.conf

重新加载服务[root@localhost ~]# rndc reload  #重新加载DNS服务 与systemctl restart相比服务不中断server reload successful
# 编辑域名区域vim /etc/named.rfc1912.zones

切换到区域数据文件所在目录,将模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名cd /var/named编辑数据库文件,解析记录对应关系

五、DNS反向解析原理

5.1 DNS反向解析配置与测试

# 修改区域配置文件vim /etc/named.rfc1912.zones

切换到区域数据文件所在目录,将反向模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名

编辑数据库文件,解析记录对应关系vim zz.com.zone

# 重新加载服务rndc reload

六、DNS主从复制配置

实验环境:

主服务器地址:192.168.157.50

从服务器地址:192.168.157.10

6.1 关闭防火墙和selinux防火墙

6.2 安装bind相关软件包

6.3 修改主配置文件

vim  /etc/named.conf

6.4 编辑域名区域

vim /etc/named.rfc1912.zones

6.5 开启bind服务

6.6 此时进入/var/named/slaves/目录下可以看到出现了刚才设置的文件(加密的文件)

6.7 在主服务器中设置网卡信息,将从服务器地址加入

6.8 重启服务,并查看是否生效

6.9 在从服务器中也要编写网卡信息,将主服务器的ip加入

6.10 测试,将主服务器中的服务关闭,依旧能解析

博文参考

linux中DNS域名解析服务_linux配置dns_lin琳.的博客-CSDN博客

计算机网络——DNS域名解析服务器原理相关推荐

  1. 搭建DNS域名解析服务器和本地配置HOST文件有什么区别?

    1.DNS服务器可以供其他人一起使用,hosts 文件只能是一个人用.这样修改个记录还得每个人都改一次 hosts, 而 dns 只需要改一次,大家都生效. 2.hosts速度快,不依赖网络,不用担心 ...

  2. 搭建DNS域名解析服务器

    搭建DNS域名解析服务器 1.安装BIND软件 软件包bind,提供域名服务的主要程序及相关文件. 软件包bind-utils,提供对DNS服务器的测试工具程序,如nslookup. 注释:BIND是 ...

  3. 构建DNS域名解析服务器步骤和使用虚拟机win10进行域名解析(技术文档)

    文章目录 构建DNS域名解析服务器步骤(带图详解) 使用虚拟机win10进行域名解析 NFS共享服务 构建DNS域名解析服务器步骤(带图详解) 1.安装bind软件包 yum -y install b ...

  4. 搭建与配置网站公网服务器地址,搭建自己的dns域名解析服务器地址

    搭建自己的dns域名解析服务器地址 内容精选 换一换 当您想在Internet上通过域名访问您的网站时,可以通过本操作将域名托管至华为云的云解析服务,并为域名添加解析记录.例如,搭建一个网站服务器,采 ...

  5. DNS域名解析服务器

    一.DNS简介 DNS是Domain Name System(域名系统)的简称,DNS可以为计算机.服务以及接入互联网或局域网的任何资源提供分层的域名解析功能.DNS提供了很多功能,其中最主要的功能就 ...

  6. 缓存DNS域名解析服务器的制作方法

                                              缓存DNS 缓存域名解析服务器的配置方法: 第一步: 查看你的软件包是否安装 客户端需要安装bind ,bind-u ...

  7. linux下搭建DNS域名解析服务器

    一.准备 本次服务搭建需要三台虚拟机: 客户端 192.168.204.130 DNS服务器 192.168.204.135 WEB服务器 192.168.204.137 我们要先在DNS服务器上安装 ...

  8. 计算机网络DNS域名解析协议详解

    DNS域名解析协议 由于采用了统一的IP地址,使得网络上任意两台主机的应用程序都可以很当变使用IP地址进行通信.但IP地址是一个具有32比特长的二进制数,即便使用4个十进制数来表示,对于一般用户来说, ...

  9. 【RHCE】DNS域名解析服务器及正反向解析与主从同步简单配置

    目录 域名解析服务器的介绍 因特网的域名结构 域名服务器的类型划分 DNS域名解析的过程 搭建DNS服务器 实验 实验一:正向解析 [vim  /named/named.localhost] [roo ...

最新文章

  1. php扩展 zval_copy_ctor,zend api扩展的php对象的autoload工具
  2. Statement与PreparedStatement区别
  3. 实例35:python
  4. es统计有多少个分组_ES 24 - 如何通过Elasticsearch进行聚合检索 (分组统计)
  5. Magento搬家、换域名、重新安装教程
  6. FaceDetector(人脸识别)
  7. BZOJ_1629_[Usaco2007_Demo]_Cow_Acrobats_(贪心)
  8. 网站服务器无返回数据,服务器无返回数据处理
  9. 在企业级管理软件领域,国内尚没有“好”产品
  10. linux中fork() 函数详解
  11. Selenium2学习笔记——自动化环境搭建
  12. 跳过 Xcode 下载 iOS 模拟器
  13. phoenix-hbase 服务频繁挂掉问题排查
  14. 从时空维度看孙悟空与白骨精的攻防战
  15. 移动端rem字体大小适配
  16. 腾讯云十亿级 Node.js 网关的架构设计与工程实践
  17. C语言--实现状态机
  18. mysql隔离级别到底是什么
  19. java计算机毕业设计问卷调查系统源码+数据库+系统+lw文档+mybatis+运行部署
  20. Deep Learning for Visual Tracking: A Comprehensive Survey(单目标跟踪目前最好的综述类文章)

热门文章

  1. android代码里切换横竖屏,Android横竖屏切换
  2. 服务器控件之asp:Button的onClick属性
  3. 微信小程序canvas画图案列,实现生成头像并保存,小程序新版canvas变化,小程序中canvas注意事项
  4. MONSTER童话系列——沒有名字的怪物
  5. 有沃更精彩,沃课堂理想的移动学习平台
  6. 计算机常用英文简称扫盲
  7. 网页设置的音频不能自动播放
  8. 计算机网络实验之Cisco Packet Tracer 实验
  9. Netfilx Eureka
  10. 解决navicat 导出excel id 变成 科学计数法