网络拓扑之DNS

2024-01-05 16:59
文章标签 dns 网络拓扑

本文主要是介绍网络拓扑之DNS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DNS是什么

域名系统(Domain Name System) ,根据域名查出IP地址。因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS可以使用TCP和UDP的53端口,基本使用UDP协议的53端口。
DNS 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space)。

出现及演化

网络出现的早期是使用IP地址通讯的,那时就几台主机通讯。但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件)。这个文件中记录着主机名称和IP地址的对应表。这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了。
  但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts文件,以供下载使用。互联网规模进一步扩大,这种方式也不堪重负,而且把所有地址解析记录形成的文件都同步到所有的客户机似乎也不是一个好办法。这时DNS系统出现了,随着解析规模的继续扩大,DNS系统也在不断的演化,直到现今的多层架构体系。

域名的层级

  • 根域名 .
  • 顶级域名
    按国家划分:.cn(中国)、.tw(台湾)、.hk(香港) 等。
    按组织性质划分:.org、.net、.com、.edu、.gov 等。
    反向域:arpa ,这是反向解析的特殊顶级域。
  • 次级域名
  • 主机名

eg:
主机名.次级域名.顶级域名.根域名
host.sld.tld.root

查询过程

在这里插入图片描述

1、在浏览器中输入www . qq .com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。 3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。 5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(http://qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找http://qq.com域服务器,重复上面的动作,进行查询,直至找到www . qq .com主机。
6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。

  • 递归:客户端 --> 根.服务器 -->,根.服务器–> .com服务器 ,根.服务器–> .example服务器
  • 迭代:客户端 --> 根.服务器 ,客户端–> .com服务器 ,客户端–> .example服务器

服务器类型

  • DNS主服务器:数据的修改
  • 辅助DNS服务器
  • 请求数据同步:通过主版本号的变更,或者主通知从修改
  • 缓存DNS服务器
  • 转发器

这篇关于网络拓扑之DNS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/573552

相关文章

iOS 网络相关面试题(DNS)

一、DNS 因特网上的主机,可以使用多种方式标识,比如主机名或IP地址。 一种标识方法就是用它的主机名(hostname),比如·www.baidu.com、www.google.com、gaia.cs.umass.edu等。这方式方便人们记忆和接受,但是这种长度不一、没有规律的字符串路由器并不方便处理。还有一种方式,就是直接使用定长的、有着清晰层次结构的IP地址,路由器比较热衷于这种方式。

【windows|008】DNS服务详解

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 目录 1、什么是DNS:域名系统 2、DNS服务中的关键概念 3、DNS的查询过程 4、按查询内容分类: 5、资源记录类型

Ubuntu升级后DNS不好用

服务器Ubuntu16升级到Ubuntu18后,DNS不好用,解决办法。 我使用的是三丰云的免费云服务器。这个服务器用了有一段时间了,挺稳定的。暂时还没有出现过问题。感兴趣的可以试一试。 感觉虽然系统升级到了Ubuntu18,但是DNS的配置方法并不是Ubuntu18的配置方法,而是Ubuntu16的配置方法: 配置方法: 修改/etc/network/interfaces,在它的最后增

dns域名使用配置

域名解析配置到dns服务器10.243.xx.105上 1.systemctl status dhcpd 2.vim /etc/named.conf zone "aws.com." {     type master;     file "aws.com"; }; 3./var/named/chos.com $TTL 300 @                       IN      SOA

C/C++ 提取DNS请求/响应数据包之中的 Quesion 内容

它主要是提取DNS数据包之中查询问题的信息,如:问题类型、问题类别、问题内容(域/IP),我们如果想要对于某个DNS数据包需要进行遥测的时,或者进行NS缓存生命周期管理,那么就需要类似这样的函数实现了。 例子: uint16_t queries_type = 0;uint16_t queries_clazz = 0;ppp::string domain =

【计算机网络体系结构】计算机网络体系结构实验-DNS模拟器实验

一、DNS模拟器实验 拓扑图 1. 服务器ip 2. 服务器填写记录 3. 客户端ip以及连接到DNS服务器 4. ping测试

ARP攻击和DNS攻击有什么区别

ARP攻击和DNS攻击的明显区别 一、定义与原理 ARP攻击: 定义:ARP攻击(Address Resolution Protocol Attack)是局域网最常见的一种攻击方式,其基本原理是通过伪造ARP数据包来窃取合法用户的通信数据,造成影响网络传输速率和盗取用户隐私信息等严重危害。原理:利用ARP协议设计时缺乏安全验证的漏洞,攻击者通过伪造ARP数据包中的IP地址和MAC地址信息,欺骗

Linux中DNS搭建

文章目录 一、DNS介绍1.1、DNS是什么1.2、DNS的工作原理1.3、DNS的域名结构 二、Bind介绍2.1、bind概述2.2、bind主要配置文件 三、DNS安装四、主要配置文件解析(除/etc/named.conf)4.1、/etc/named.rfc1912.zones4.2、/etc/rc.d/init.d/named4.3、/etc/rndc.conf4.4、/usr/s

windows修改hosts文件、windows刷新dns缓存

文章目录 一、windows修改hosts文件 一、windows修改hosts文件 (1)定位hosts文件:首先,需要找到hosts文件的位置。它通常位于C:\Windows\System32\drivers\etc\目录下。 (2)以管理员身份运行记事本:为了确保能够成功修改hosts文件,需要以管理员身份运行记事本。可以通过在开始菜单中搜索“记事本”,然后右键点击“

socket编程实现简单DNS协议实现获取域名ip(TCP)

上次在文章《socket编程实现简单DNS协议实现获取域名ip(UDP)》中提到使用udp协议发送dns数据包查询站点ip,这次带来TCP版本的查询代码。 其实不管是tcp协议还是udp协议,都是构造dns报文,填写查询方式,发送数据包即可。 然而,在dns协议中有个特殊的地方需要重点强调!使用tcp协议和udp协议发送的dns报文有个很容易被忽略的问题:在tcp协议时,除了udp协议时的dn