概述
摘要
本博文主要介绍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解析库
- 根.根域名DNS服务器:专门负责根域名;处于域名结构的最顶端,一般用一个“ . ” 表示;
- 顶级域(一级)DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
- 二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,顶级域名下面设置的是二级域名,如:
- 子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名;
- 主机:主机位于域名结构的最下层,就是一台具体的计算机,如:www、mail都是具体的计算机名字,可以用www.baidu.com.cn.来表示,这种方式称为FQDN(完全合格域名),也是这台主机在域名中的全名。
例如:http://www .baidu.com. cn. / http://主机名.子域.二级域.顶级域 根域/
1.3 DNS系统的作用
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据IP地址查找对应的域名
- DNS系统的分布式数据结构
1.4 网页访问流程
当用户输入www.baidu.com 去访问网页
- 先看你本机的hosts文件,如果有直接访问,没有会先去找缓存服务器(电信运营商)。
- 缓存服务器,先看缓存,缓存有,直接反馈结果给用户,缓存没有,直接去找根。
- 根只知道自己下一级的服务位置,不会反馈给你直接结果,会透露有一个信息有可能顶级域知道,让你去找顶级域(一级域)试试看。
- 缓存服务器会再去找顶级域(一级域)服务器。
- 顶级也不知道,不会反馈给你直接结果,会透露有一个信息,有可能二级域知道,让你去找二级域试试看。
- 缓存服务器收到这个消息,会再去找二级域,二级域知道会反馈结果给缓存服务器。
- 缓存服务器收到结果会直接交给用户。
输入www.baidu.com 打开网页中间经历了那些过程?
- 域名解析(看一下浏览器要和哪个服务器的哪个接口建立连接)
- 浏览器与域名地址建立TCP连接,三次握手
- http访问
- 断开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协议(域名解析)原理摘要一、DNS协议二、DNS域名空间结构三、DNS解析原理博文参考的全部内容,希望文章能够帮你解决计算机网络——DNS协议(域名解析)原理摘要一、DNS协议二、DNS域名空间结构三、DNS解析原理博文参考所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复