14 DNS域名系统

思科—OSPF多区域配置实验 实验目的:配置OSPF多区域,使得不同网段的PC互相ping通。 网络拓扑如下: R0的配置 Router>en Router#conf t Router(config)#int g0/1 Router(config-if)#ip add 192.168.1.1 255.255.255.0 Router(config-if)#no shut Router(config-if)#exit Router(config)#int g0/0 Router(config-if)#ip add 192.168. 阅读详情

前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要用一个指定的IP来访问一台计算机,而IP地址又非常不好记,于是就出现了DNS系统

1.DNS系统介绍

DNS的全称是Domain Name System。它负责把FQDN(就是以"."分隔结尾的名字)翻译成一个IP。最初的DNS系统使用的是一个巨大的hosts.txt文件(很吃惊,用 这个就好使了?),可是一段时间以后,开发这就不得不用数据库来代替hosts.txt文件,最终发展到了现在的分布式数据库。

从书中的143页可以看到,DNS系统是一个巨大的树,最上方有一个无名树根,下一层是arpa,com,edu,gov,int,mil,us, cn。等等,其中arpa,是域名反解析树的顶端;而com,edu,等域名本来只用在美国(这就是技术特权啊),但是现在几乎全世界通用;而us, cn,等叫做国家域。这个树里面的域名并不是统一管理的,网络信息中心(NIS)负责分配顶级域合委派其他制定地区域的授权机构。

一个独立管理的DNS子树叫做zone,最常见的区域就是二级域名,比如说.com.cn。我们还可以把这个二级域名给划分成更小的区域,比如说sina.com.cn。

DNS系统是一个分布式的数据库,当一个数据库发现自己并没有某查询所需要的数据的时候,它将把查询转发出去,而转发的目的地通常是根服务器,根服 务器从上至下层层转发查询,直到找到目标为止。DNS还有一个特点就是使用高速缓存,DNS把查询过的数据缓存在某处,以便于下次查询时使用。

2.DNS协议

DNS报文定义了一个既可以查询也可以响应的报文格式。具体格式可以看P145页。对各个字段简单解释如下

  1. 最前面的16个bit唯一的标示了问题号码,用于查询端区别自己的查询。
  2. 紧接着的16个bit又可以做进一步的细分,标示了报文的性质和一些细节,比如说是查询报文还是响应报文,需要递归查询与否(一般服务器都支持递归查询,而且不需要任何设置,BIND就是这样)
  3. 查询问题后面有查询类型,包括A,NS,CNAME,PTR,HINFO,MX,如果熟悉BIND的话,就知道在zong的配置文件里面,每一条记录都记载了各自的类型,比如A就是IP地址,NS就是名字服务器。
  4. 响应报文可以回复多个IP,也就是说,域名可以和多个IP地址对应,并且有很多CNAME。

3.反向查询

正向查询指的是通过域名得到IP的查询,而反向查询就是通过IP得到域名。例如用host命令,host ip就可以得到服务器的域名,host domainName 就得到IP。

稍微知道一点数据结构的人都能意识到,在正向查询的域里面做反向查询,其做法只有遍历整个数据集合----对于DNS来说,那就是遍历整个数据库, 这将带来巨大的负担,所以DNS采取了另一种方法,使用另一棵子树来维护IP-〉域名的对应表。这个子树的根节点是in-addr.arpa,而一个IP 例如192.168.11.2)所具有的DNS地址就是 2.11.168.192.in-addr.arpa(ip倒置)。在DNS系统里面,一个反向地址对应一个PTR纪录(对应A纪录),所以反向查询又叫 做指针(PTR)查询。

4.其他问题的讨论

4.1.DNS服务器高速缓存

BIND9默认是作为一个高速缓存服务器,其将所有的查询都转交到根服务器去,然后得到结果并放在本地的缓冲区,以加快查询速度。如果有兴趣可以安装一个BIND9来尝试一下。而自己定义的zone则可以规定其在缓存中的时间,一般是1天(就是配置文件中的1D)。

4.2.用UDP还是TCP

DNS服务器支持TCP和UDP两种协议的查询方式,而且端口都是53。而大多数的查询都是UDP查询的,一般需要TCP查询的有两种情况:

  1. 当查询数据多大以至于产生了数据截断(TC标志为1),这时,需要利用TCP的分片能力来进行数据传输(看TCP的相关章节)。
  2. 当主(master)服务器和辅(slave)服务器之间通信,辅服务器要拿到主服务器的zone信息的时候。
【数据集8】全球人口数据WorldPop详解 全球人口数据WorldPop详解 阅读详情

相关推荐

MATLAB/Simulink与ThingSpeak集成:打通物联网数据与工业算法仿真的闭环

在工业算法开发与控制系统设计中,模型仿真与真实世界数据的脱节是常见的工程挑战。其核心原理在于构建一个双向数据流闭环,将虚拟的仿真模型与物理世界的传感器网络连接起来。这一技术方案的核心价值在于大幅缩短算法迭代周期,实现数据驱动的设计与验证。典型的应用场景包括数字孪生构建、预测性维护和硬件在环(HIL)测试的云端化。通过将MATLAB/Simulink这一强大的模型化设计环境,与ThingSpeak物联网云平台进行深度集成,工程师能够轻松地将实时或历史的物联网数据流直接注入仿真模型作为输入,同时将仿真结果实时回

weixin_34220179的博客 469

Wireshark+Telnet进行tcp抓包

开始使用Telnet连接www.baidu.com,进行http连接!目标网站:www.baidu.com。通过ping获取ip地址。

一个啥也不会的小菜鸡! 656

PLC与变频器联动控制:从开关量、模拟量到通讯的接线与编程实战

在工业自动化系统中,电机调速控制是核心需求之一,其关键在于实现可编程逻辑控制器(PLC)与变频器之间的可靠联动。其基本原理是通过PLC输出控制信号,由变频器接收并驱动电机按设定速度运行。这项技术的核心价值在于实现电机的软启停、精确调速与节能控制,广泛应用于风机、水泵、传送带及精密张力控制等场景。其中,开关量控制以其接线简单、抗干扰能力强的特点,成为基础且可靠的方案;而模拟量控制则能实现无级平滑调速,满足更高精度的工艺要求。本文以西门子、三菱等主流品牌为例,深入解析了这两种主流控制方式的硬件接线、参数设置与梯

1268

【黑马java基础】网络通信

可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。java提供了java.net.*包下提供了网络编程的解决方案通信的基本架构主要有两种形式:一种是CS架构(Client 客户端/Server服务端)、一种是BS架构(Brower 浏览器/Server服务端)。**BS架构的特点:**BS架构不需要开发客户端软件,用户只需要通过浏览器输入网址就可以直接从服务器获取数据,并由服务器将数据返回给浏览器,用户在页面上就可以看到各种数据了。

YOLO的博客 1120

GD32F103入门实践(一)配置环境,搭建工程模板,烧写程序

写在前面 本系列博客是我初学GD32F103的操作实录,我个人是个小白,在学习过程中真的也遇到了不少坑,因此我希望能记录下来,帮助到同样踩坑的你。 我的芯片是GD32F103ZE,软件是Keil,烧写用的是JLink。 材料准备 首先我在兆易创新官网(兆易创新),下载相关的文件。点击资料下载,在搜索框里输入“GD32F10”可以得到相关的资料,其他芯片类似。比较重要的是GD32F10x AddOn和GD32F10x Firmware Library(固件库),这两个必须下载。 下载Keil MDK5,这

qq_41208487的博客 3万+

opencv实践项目-图片拼接之缝合线算法

opencv 图片缝合线算法

wyw0000的博客 2624

计算机网络实用工具之tcpdump

linux抓包工具,tcpdump

侯刚的博客 747

Unity工业数据可视化:基于ModbusTCP的实时数据通信实战

本文详细介绍了在Unity中实现工业数据可视化的核心方法,重点讲解了基于ModbusTCP协议与PLC等工业设备进行实时数据通信的实战流程。内容涵盖NModbus库的集成、Modbus Slave模拟器的使用、TCP连接的建立与多线程安全通信、数据读写与解析,以及如何将实时数据驱动3D场景,为构建工业数字孪生与监控系统提供完整解决方案。

ol7890123的博客 553

DNS域名系统

DNS缓存时操作系统的一个临时维护的缓存数据库,其中包含,最近访问的网站以及internet对应的域的访问记录。DNS防火墙是一种专门针对域名系统(DNS)流量设计的网络安全解决方案,其主要目的是保护网络免受与DNS相关的各类安全威胁,确保域名解析过程的正确性和完整性。DNS防火墙通过实时监控、分析和过滤DNS查询与响应,防止恶意行为者利用DNS协议来发起攻击、传播恶意软件、实施网络钓鱼或进行其他形式的网络犯罪活动。

weixin_67569936的博客 702

Windows 10下用Python 3搞定Android源码下载:最新repo工具避坑指南

本文详细介绍了在Windows 10系统上,使用Python 3和官方最新repo工具下载Android源码的完整流程。文章提供了从Git安装、环境配置到repo工具初始化、同步加速及常见错误排查的避坑指南,帮助开发者高效搭建稳定的源码下载环境。

weixin_29266749的博客 436

置顶必读(3) |《滚雪球学SpringBoot》· 高质量专栏介绍,你值得拥有!

《滚雪球学SpringBoot》 并不是普通的技术讲解合集,它是专为开发者精心设计的系统化学习路径。通过不断“滚动学习”,我们将带领你从基础入门到高阶应用,从理解每一行代码到设计和优化大规模分布式系统,最终帮助你成长为一位精通 spring架构 的工程师。

**My Coding Family** 15万+

TCP/IP详解学习笔记(8)-DNS域名系统

前面已经提到了访问一台机器要靠IP地址和MAC地址,其中,MAC地址可以通过ARP协议得到,所以这对用户是透明的,但是IP地址就不行,无论如何用户都需要用一个指定的IP来访问一台计算机,而IP地址又非常不好记,于是就出现了DNS系统1.DNS系统介绍DNS的全称是Domain Name System。它负责把FQDN(就是以"."分隔结尾的名字)翻译成一个IP。最初的DNS系统使用的是一个

一块积木 2万+

YOLO26涨点改进 | 全网独家首发 主干改进篇 | TGRS 2025 | RepViT-TD,告别庞大骨干!YOLO26 + RepViT-TD轻量又强大,实现更快更准的小目标检测!

本文提出将RepViT-TD轻量级主干网络应用于YOLO26目标检测框架,以提升小目标检测性能。RepViT-TD通过优化计算资源分配,强化前两层高分辨率特征提取能力,在保持轻量化的同时(仅4.85M参数)显著提升微小目标的检测精度(AI-TODv2数据集AP50达54.6%)。文章详细介绍了三种主干改进方案(RepVit_ldy1/2/3)的代码实现,并提供了完整的YAML配置文件修改指南,使模型能高效部署于边缘设备。实验表明,该方法在计算复杂度(38.19G FLOPs)和检测精度间取得了良好平衡。

Ai缝合怪、助力小伙伴高效发论文 328

14章 DNS:域名系统

14.1 引言   域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。DNS提供了允许服务器和客户程序相互通信的协议。 14.3 DNS报文格式   DNS由12字节长的首部和4个长度可变的字段组成。   标识字段有客户程序设置,并由服务器返回结果。 QR:0标识查询,1表示响应报文 opc...

weixin_34270865的博客 100

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

(14)DNS:域名系统

一、简介   域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,他提供主机名字和IP地址间的转换及有关电子邮件的选路信息。从应用角度上看,DNS的访问是通过一个地址解析器(resolver)来完成的。在Unix主机中,该解析器主要通过库函数gethostbyname和gethostbyaddr来访问。前者接收主机名返回IP地址,后者接收IP地址来寻找主机名。解析器通过一个...

baczhang2016的博客 255

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

第14章 DNS:域名系统

为什么80%的码农都做不了架构师?>>> ...

weixin_34100227的博客 113

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

读《TCP/IP详解》第14章:DNS:域名系统

域名是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。从应用的角度上看,对DNS的访问是通过一个地址解析器来完成的。在Unix主机中,该解析器主要是通过两个库函数gethostbyname和gethostbyaddr来访问的。DNS的名字空间和Unix的文件系统相似,也具有层次结构。如图所示: 顶级域名被分为三个部分: arpa是一个用于地址

人生如梦 734

【HarmonyOs学习日志(14)】计算机网络之域名系统DNS

域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。互联网的域名系统DNS被设计为一个联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地进行解析,仅少量解析需要在互联网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机出了故障了,也不会妨碍整个DNS系统的正常运行。

2302_79637396的博客 1237

《TCP/IP详解 卷1:协议》 读书笔记 第14章 DNS:域名系统

DNS域名系统

山洞拐 896

14.DNS:域名系统

优先级不高,有需要再研究。 转载于:https://www.cnblogs.com/i-hard-working/p/10703751.html

weixin_30246221的博客 134

【TCP-IP详解卷一:协议】ch14 DNS:域名系统

1. 引言 DNS的主要任务是提供主机名和IP地址之间的转换。它是:1)由分层的DNS服务器实现的分布式数据库;2)一个使得主机能够查询分布式数据库的应用层协议 2. DNS基础 2.1 层次结构 命名树上任何一个结点的域名:将从该结点到最高层的域名串连起来,中间用点分隔。每个结点必须有唯一的域名,但域名树中不同结点可以使用相同的标识。 绝对域名(完全合格的域名)FQDN:以点为结尾的域名 2.2 顶级域名的划分 arpa:地址到名字转换的特殊域 7个3字符长的组织域(普通域) 2字符长的国家域(地理

子木_98的博客 583

14.TCP/IP 详解卷1 --- DNS:域名系统

1.引言

enlyhua的专栏 200

TCP-IP详解卷1-14:DNS(Domain Name System):域名系统

DNS

chpdirector84的专栏 1806

《TCP/IP详解卷1:协议》第14章 DNS:域名系统---读书笔记

《TCP/IP详解卷1:协议》第14章 DNS:域名系统---读书笔记1、引言5、指针查询DNS中一直难于理解的部分就是指针查询方式,即给定一个IP地址,返回与该地址对应的域名。当一个组织加入Internet,并获得DNS域名空间的授权,如noao.edu,则它们也获得了对应IP地址的in-addr.arpa域名空间的授权。在noao.edu这个例子中,它的网络号是140.2...

weixin_34407348的博客 150

如何在 Ubuntu 14.04 上配置 Bind 作为缓存或转发 DNS 服务器

DNS,即域名系统,在学习如何配置网站和服务器时,通常是一个难以正确配置的组件。虽然大多数人可能会选择使用由其托管公司或域名注册商提供的DNS服务器,但自己创建DNS服务器也有一些优势。在本指南中,我们将讨论如何在Ubuntu 14.04机器上安装和配置Bind9 DNS服务器作为缓存或转发DNS服务器。这两种配置在为机器网络提供服务时都有优势。

rubys007的博客 2342

How To Configure BIND as a Private Network DNS Server on Ubuntu 14.04

How To Configure BIND as a Private Network DNS Server on Ubuntu 14.04 Tags: DNS, Networking, DigitalOcean Distribution: Ubuntu Tutorial Series This tutorial is part 6 of 7 in the se

alexwang1983的专栏 1679
上一篇: 12 13 广播和多播,IGMP协议
下一篇: 17 TCP协议概述
otuhacker
博客等级 码龄18年 21粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值