DNS 杂谈
一、定义
DNS(Domain Name System),域名系统,该系统记录域名和Ip地址的相互映射关系。用户访问互联网时,通过域名地址得到对应的IP地址,这个过程称为域名解析。DNS运行于UDP协议之上,使用的端口为53。
递归查询:客户端只发出一次请求,直到服务器响应该请求,并返回结果到客户端。客户端向本地域名服务器的查询一般是递归查询。
迭代查询:服务器发出多次请求,层层请求后知道查询到结果并返回。本地域名服务器向域名系统中各级域名服务器的请求查询是迭代查询。
若上级DNS服务器并不能直接提供该DNS的解析结果,则该上级DNS服务器会告知本地域名服务器另对一个可能查询到该DNS解析结果的DNS服务器IP,本地域名服务器再次向这个DNS服务器发起解析请求,层层问询,直到查询到应的结果为止。
1、常见的记录类型
A(Address Mapping records):指示了对应名称的IPv4地址, A记录用来将域名转换为ip地址。
AAAA:指示对应名称的IPv6地址。
SOA(Start Of Authority): 起始授权记录,一个区域解析库有且仅能有一个SOA记录,而且必须为解析库的第一条记录。
NS(Name Server):记录当前区域中的某个DNS服务器的名字,一个区域可有多个NS记录。
PTR(Reverse-lookup Pointer records):反向查找记录,是一种 DNS 记录类型,用于将 IP 地址映射到对应的主机名。这与 A 记录和 AAAA 记录的作用相反,后者是将主机名映射到 IP 地址
CNAME(Canonical Name):域名的别名记录,用于记录某个主机域名的别名。
NAME TYPE VALUE
--------------------------------------------------
bar.example.com. CNAME foo.example.com.
foo.example.com. A 192.0.2.23
当用户查询 bar.example.com 的时候,DNS Server 实际返回的是 foo.example.com 的 IP 地址。
MX(Mail Exchanger records):为某个DNS域名指定邮件交换的服务器。
TXT(text records):包含任意非格式化的文本信息。
二、常用linux命令
1、ping
最常用的通常用于检查网络连通性,但也会执行 DNS 解析以获取目标主机的 IP 地址。
ping example.com
2、 nslookup
一个用于查询 DNS 记录的命令行工具
查询主机名的 IP 地址:nslookup example.com
指定 DNS 服务器进行查询:nslookup example.com 8.8.8.8
3、 dig
DNS 查询工具,提供更多的查询选项和详细信息,下面列举一个最常见的 dig www.baidu.com
参考:
反演 百度DNS解析规则 | ESON
DNS 服务器在响应查询时,需要查询自己的数据库,数据库中的条目被称为 资源记录(Resource Record,RR) 。RR 提供了主机名到 IP 地址的映射。RR 是一个包含了Name
, Value
, Type
, TTL
四个字段的四元组。dig结果的每一行解释
//dig 的版本信息和查询的域名。
; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.baidu.com
//表示全局选项和命令行参数
;; global options: +cmd//表明收到了响应。
;; Got answer://这是响应头信息,opcode: QUERY:表示这是一个查询操作
//status: NOERROR:表示查询成功,无错误
//id: 46143:查询的 ID
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39913//标志和计数。
//qr:查询响应;rd:递归查询已请求;ra:递归查询已可用。
//QUERY: 查询问题部分的计数;ANSWER: 回答部分的计数;AUTHORITY: 权威部分的计数; ADDITIONAL: 附加部分的计数。
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512//查询问题部分,显示了所请求的信息,查询类型是
A
记录
;; QUESTION SECTION:
;www.baidu.com. IN A//回答部分,显示了查询的结果
;; ANSWER SECTION:
www.baidu.com. 492 IN CNAME www.a.shifen.com.
www.a.shifen.com. 21 IN CNAME www.wshifen.com.
www.wshifen.com. 261 IN A 45.113.192.102
www.wshifen.com. 261 IN A 45.113.192.101//查询耗时 50 毫秒
;; Query time: 1 msec
//使用的 DNS 服务器是 127.0.0.1,端口号为 53
;; SERVER: 127.0.0.1#53(127.0.0.1)//查询时间
;; WHEN: Tue Jul 09 16:37:56 CST 2024//接收的消息大小为 127字节
;; MSG SIZE rcvd: 127
三、DNS服务器方式
1、BGP + Anycast
Anycast是一种网络通信方法,其中同一个 IP 地址被分配给多个地理位置不同的服务器节点。用户的请求会自动路由到距离最近或者最有效的服务器节点,这样可以减少延迟,提高访问速度和可靠性。
分配相同的 IP 地址给多个服务器节点并通过 Anycast 实现请求的路由,主要是通过配置网络路由协议,特别是边界网关协议(BGP)。
参考:千亿级HttpDNS服务是怎样炼成的-腾讯云开发者社区-腾讯云
2、Localdns + dnsmasp+DPDK
/etc/resolv.conf 文件是系统DNS解析的关键配置文件,它指定了系统在进行域名解析时应该使用的DNS服务器。正确配置这个文件对于确保系统的网络连接和互联网访问至关重要。
dnsmasq支持解决DNS,DHCP和router等多方面问题,一个常见的认知dnsmasq是一个本地dns(/etc/resolv.conf)的加强版
参考:
DPDK开发之基于UDP的DNS服务器_dpdk千万级流量并发的dns处理 csdn-CSDN博客
3、Nacos-DNS
服务提供者将自己的服务实例信息(如IP地址、端口号、健康状态等)注册到Nacos注册中心。
当服务消费者(Consumer)需要调用某个服务时,会通过服务的名称发送DNS查询请求到Nacos DNS服务器。
Nacos DNS服务器接收到DNS查询请求后,会向Nacos注册中心查询该服务名称对应的所有可用的IP地址列表。
参考:
微服务架构中基于DNS的服务注册与发现
相关文章:
DNS 杂谈
一、定义 DNS(Domain Name System),域名系统,该系统记录域名和Ip地址的相互映射关系。用户访问互联网时,通过域名地址得到对应的IP地址,这个过程称为域名解析。DNS运行于UDP协议之上,使用的端口…...
docker笔记2
docker笔记2 一、阿里云镜像配置二、docker基本原理1.docker是如何启动一个容器的2.docker的底层原理 三、镜像命令总结 一、阿里云镜像配置 配置镜像的目的 由于Docker Hub等公共镜像仓库的服务器可能位于国外,直接从中拉取镜像时可能会遇到网络延迟或不稳定的问…...
数字统计
import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别// 注意 while 处理多个 caseint a in.nextInt();i…...
Git 使用问题
Git 使用问题 1, 网络问题 1, 网络问题 # 报错如下: fatal: unable to access https://github.com/xianglingliwei/HRNet.git/: Failed to connect to github.com port 443 after 21044 ms: Couldnt connect to server在不能正常访问Github的区域,需要设…...
JMH325【剑侠情缘3】第2版80级橙武网游单机更稳定亲测视频安装教学更新整合收集各类修改教学补丁兴趣可以慢慢探索
资源介绍: 是否需要虚拟机:是 文件大小:压缩包约14G 支持系统:win10、win11 硬件需求:运行内存8G 4核及以上CPU独立显卡 下载方式:百度网盘 任务修复: 1,掌门任务(…...
大数据专业创新人才培养体系的探索与实践
一、引言 随着大数据技术的迅猛发展,其在各行各业中的应用日益广泛,对大数据专业人才的需求也日益增长。我国高度重视大数据产业的发展,将大数据作为国家战略资源,推动大数据与各行业的深度融合。教育部也积极响应国家战略&#…...
MySQL 中的 DDL、DML、DQL 和 DCL
文章目录 1. 数据定义语言(DDL)2. 数据操作语言(DML)3. 数据查询语言(DQL)4. 数据控制语言(DCL)总结 在 MySQL 数据库管理系统中,SQL 语句可以根据其功能分为不同的类别&…...
基础架构服务API:降低成本,提升业务效益
基础架构服务API的应用可以显著降低企业的成本,并提升业务效益。通过使用这些API,企业可以充分利用云计算、自动化部署和资源管理等功能,从而减少了传统基础设施所需的大量投资和维护成本。这些API还提供了弹性扩展和自动化功能,使…...
Redis IO多路复用
0、前言 本文所有代码可见 > 【gitee code demo】 本文涉及的主题: 1、BIO、NIO的业务实践和缺陷 2、Redis IO多路复用:redis快的主要原因 3、epoll 架构 部分图片 via 【epoll 原理分析】 1、BIO单线程版 1.1 业务代码 client client代码相同…...
如何在Vue中实现拖拽功能?
Vue.js是一款流行的JavaScript框架,用于构建用户界面。其中一个常见的需求是在Vue中实现拖拽功能,让用户可以通过拖拽元素来进行交互。今天,我们就来学习如何在Vue中实现这一功能。 首先,我们需要明白拖拽功能的基本原理…...
在Linux下使用Docker部署chirpstack
目录 一、前言 二、chirpstack 1、chirpstack是什么 2、chirpstack组件 3、为什么选择Docker部署 三、Linux下部署过程 四、web界面部署过程 一、前言 本篇文章我是在Linux下使用 Docker 进行部署chirpstack,chirpstack采用的是v4 版本,v4 版本 与…...
《昇思25天学习打卡营第14天|计算机视觉-ShuffleNet图像分类》
FCN图像语义分割&ResNet50迁移学习&ResNet50图像分类 当前案例不支持在GPU设备上静态图模式运行,其他模式运行皆支持。 ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型,和MobileNet, SqueezeNet等一样主要应用在移动端…...
将字符串写入结构体变量中
将字符串写入结构体变量中,主要涉及到结构体中字符数组(或指针)的使用。 一、使用字符数组 假设你有一个结构体,它包含一个字符数组来存储字符串: #include <stdio.h> #include <string.h> // 用于st…...
iPhone 16 Pro系列将标配潜望镜头:已开始生产,支持5倍变焦
ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 7月6日消息,据DigiTimes最新报道,苹果将在iPhone 16 Pro中引入iPhone 15 Pro Max同款5倍光学变焦四棱镜潜望镜头。 报道称,目前苹果已经将模组订单交至大立光电和玉…...
PG在还没有pg_class的时候怎么访问基础系统表?
在没有pg_class的时候,数据库怎么访问系统表?这个问题可以分成两个阶段来看: 数据库簇初始化,此时一个database都没有,所以怎么构造和访问pg_class等系统表是一个问题私有内存初始化系统表。PG的系统表信息是放在back…...
UnityHub 无法添加模块问题
文章目录 1.问题描述2.问题解决 1.问题描述 在Hub中无法添加模块 2.问题解决 1、点击设置 2、设置版本安装位置 可以发现installs的安装位置路径设置不是unity安装位置,这里我们更改成自己电脑unity安装位置的上一级路径 添加模块正常:...
python04——类(基础new)
类其实也是一种封装的思想,类就是把变量、方法等封装在一起,然后可以通过不同的实例化对其进行调用操作。 1.类的定义 class 类名: 变量a def __init__ (self,参数2,参数2...):初始化函数!!&…...
【Python百日进阶-Web开发-Peewee】Day296 - 查询示例(五)聚合2、递归
文章目录 14.6.13 列出每个指定设施的预订总小时数 List the total hours booked per named facility14.6.14 列出每位会员在 2012 年 9 月 1 日之后的首次预订 List each member’s first booking after September 1st 201214.6.15 生成成员名称列表,每行包含成员总数 Produc…...
闲话银行家舍入法,以及在程序中如何实现
前言 相信对于四舍五入的舍入法,大家都耳熟能详,但对于银行家舍入法,可能就会比较少接触了! 可是在金融界,银行家舍入法可是大名鼎鼎的主角之一,主要应用于金融领域和涉及货币计算的场合。 那么…...
最短路径算法(算法篇)
算法之最短路径算法 最短路径算法 概念: 考查最短路径问题,可能会输入一个赋权图(也就是边带有权的图),则一条路径的v1v2…vN的值就是对路径的边的权求和,这叫做赋权路径长,如果是无权路径长就是单纯的路径上的边数。…...
昇思25天学习打卡营第11天 | LLM原理和实践:基于MindSpore实现BERT对话情绪识别
1. 基于MindSpore实现BERT对话情绪识别 1.1 环境配置 # 实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2…...
反向散射技术(backscatter communication)
智能反射表面辅助的反向散射通信系统研究综述(知网) 1 反向散射通信技术优势和应用场景 反向散射通信技术通过被动射频技术发送信号,不需要一定配有主动射频单元,被认为是构建绿色节能、低成本、可灵活部署的未来物联网规模化应用关键技术之一,是实现“…...
致远CopyFile文件复制漏洞
复现版本 V8.0SP2 漏洞范围 V5&G6_V6.1至V8.0SP2全系列版本、V5&G6&N_V8.1至V8.1SP2全系列版本。 漏洞复现 上传文件 POST /seeyon/ajax.do?methodajaxAction&managerNameportalCssManager&rnd57507 HTTP/1.1 Accept: */* Content-Type: applicatio…...
MySQL 创建数据库
MySQL 创建数据库 在当今的数据驱动世界中,数据库是任何应用程序的核心组成部分。MySQL,作为一个流行的开源关系数据库管理系统,因其可靠性、易用性和强大的功能而广受欢迎。本文将详细介绍如何在MySQL中创建数据库,包括基础知识和最佳实践。 什么是MySQL数据库? MySQL…...
AbyssFish单连通周期边界多孔结构2D软件
软件介绍 AbyssFish单连通周期边界多孔结构2D软件(以下简称软件)可用于生成具备周期性边界条件的单连通域多孔结构PNG图片,软件可设置生成模型的尺寸、孔隙率、孔隙尺寸、孔喉尺寸等参数,并且具备孔隙形态控制功能。 软件生成的…...
Linux驱动开发-03字符设备驱动框架搭建
一、字符设备驱动开发步骤 驱动模块的加载和卸载(将驱动编译模块,insmod加载驱动运行)字符设备注册与注销(我们的驱动实际上是去操作底层的硬件,所以需要向系统注册一个设备,告诉Linux系统,我有…...
Zynq系列FPGA实现SDI视频编解码+图像缩放+多路视频拼接,基于GTX高速接口,提供8套工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的FPGA图像缩放方案本方案的无缩放应用本方案在Xilinx--Kintex系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGB自研…...
VS2019使用C#写窗体程序技巧(1)
1、打开串口 private void button1_Click(object sender, EventArgs e){myPort cmb1.Text;mybaud Convert.ToInt32(cmb2.Text, 10);databit 8;parity Parity.None;stopBit StopBits.One;textBox9.Text "2";try{sp new SerialPort(myPort, mybaud, parity, dat…...
Python爬虫-requests模块
前戏: 1.你是否在夜深人静的时候,想看一些会让你更睡不着的图片却苦于没有资源... 2.你是否在节假日出行高峰的时候,想快速抢购火车票成功..。 3.你是否在网上购物的时候,想快速且精准的定位到口碑质量最好的商品. …...
适用于PyTorch 2.0.0的Ubuntu 22.04上CUDA v11.8和cuDNN 8.7安装指南
将下面内容保存为install.bash,直接用bash执行一把梭解决 #!/bin/bash### steps #### # verify the system has a cuda-capable gpu # download and install the nvidia cuda toolkit and cudnn # setup environmental variables # verify the installation ######…...
微信开发人/北京网站优化外包
Sqoop中文手册 1. 概述 本文档主要对SQOOP的使用进行了说明,参考内容主要来自于Cloudera SQOOP的官方文档。为了用中文更清楚明白地描述各参数的使用含义,本文档几乎所有参数使用说明都经过了我的实际验证而得到。 2. codegen 将关系数据库表映射…...
php网站开发做什么/杭州网站排名seo
网站被黑原因:没有做好安全处理,使其所有的数据都可以插入数据库,给黑人们很大空间 网站被黑内容:所有的数据都是加了一个莫名其妙的</title><div styleposition:absolute;top:-9999px;><a hrefhttp://kickass-boo…...
推介做界面的网站/杭州seo推广优化公司
原文地址:http://kuangbaoxu.javaeye.com/blog/193076 1. 查询整个映射对象所有字段 //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql "from Users"; Query query session.createQuery(hql); List&…...
用c做网站/百度推广怎么做免费
近几年以来,Python 的应用场景越来越多,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。究其原因在于 Python 的简单易学、功能强大。 想系统地学点东西,发现很多不错的技术文档都是英文资料,发现英文竟然成为了…...
专做蔬菜水果的网站/百度app安装
我们是否有必要费力创造一种通用的Web字节码?LLVM就是解决方案吗?Mozilla asm.js和Google PNaCl这两种支持在浏览器中运行原生代码的机制,哪种更好呢?本文汇集了网络上的一些相关观点。\u0026#xD;ArsTechnica上发布了一篇有关以Ja…...