我是靠谱客的博主 耍酷泥猴桃,最近开发中收集的这篇文章主要介绍计算机网络——DNS协议(域名解析)原理摘要一、DNS协议二、DNS域名空间结构三、DNS解析原理博文参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

摘要

本博文主要介绍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协议(域名解析)原理摘要一、DNS协议二、DNS域名空间结构三、DNS解析原理博文参考的全部内容,希望文章能够帮你解决计算机网络——DNS协议(域名解析)原理摘要一、DNS协议二、DNS域名空间结构三、DNS解析原理博文参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部