阿里云云解析DNS核心概念与应用
文章目录
- 1.DNS解析基本概念
- 1.1.DNS基本介绍
- 1.2.域名的分层结构
- 1.3.DNS解析原理
- 1.4.DNS递归查询和迭代查询的区别
- 1.5.DNS常用的解析记录
- 2.使用DNS云解析将域名与SLB公网IP进行绑定
- 2.1.进入云解析DNS控制台
- 2.2.添加域名解析记录
- 2.3.验证解析是否生效
1.DNS解析基本概念
DNS官方文档:https://help.aliyun.com/document_detail/102237.html
1.1.DNS基本介绍
DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
我们在访问一个应用系统时,在没有使用DNS前,都是使用IP去访问的,IP的组成都是数字,难以记忆,DNS可以将IP解析成方便记忆的域名,例如jiangxl.com,在浏览器中输入jiangxl.com就可以跳转到对应的应用服务器,为我们提供服务,域名和IP相比,域名是非常好记忆的。
DNS核心功能
- 记录域名与IP的对应关系
- 通过DNS可以将经常需要变换IP的固定成一个访问入口,即使变换了IP,使用者无感知。
DNS的分类
- 公网DNS(万网)通过此类DNS可以访问任意互联网应用。
- 私网DNS(bind9)此类DNS只能在局域网环境使用。
一个典型使用DNS迁移场景 如下图所示
当我们的MySQL数据库需要进行迁移,数据库从上海迁移到了北京机房,IP肯定是要变的,当更改了IP,连接数据库的程序都需要进行修改成新的IP,如果我们WEB节点较少还可以接收,如果我们的WEB节点有几十台甚至上台,我们一个个的去修改程序连接会变得非常麻烦,即使我们有自动化更新流程,时间也是很长的,也会涉及到WEB程序的重启。
针对这种情况,我们可以将数据库的IP和域名写入到一个本子里,方便程序记忆,这个本子就是/etc/hosts文件,这个文件可以记录域名与IP的对应关系,我们给MySQL服务器设置一个域名,比如叫mysql.example.com,将数据库的IP和域名的对应关系写入到/etc/hosts文件中,当我们需要更换数据库IP时,只需要将每个服务器/etc/hosts中域名对应的IP进行修改即可完成迁移,并且程序也不需要重启。
虽然将IP和域名写入到了一个文件里,修改文件即可,但是如果面对上千台服务器时,过程也会变得繁琐。
针对新的问题,从而就需要应用DNS服务器了,在服务器环境中部署一个DNS服务器,在DNS服务器中记录数据库IP与域名的对应关系,并且在DNS中开启for转发配置,然后在每台WEB服务器中指定本地DNS的地址,当我们程序需要连接数据库时,会通过DNS找到提供MySQL服务的地址,当访问互联网时也会通过for配置转发到公网DNS服务器,当我们需要更换数据库IP时,就可以直接修改DNS的域名解析记录即可完成。
DNS的几个关键的专业术语
-
DNS缓存
- DNS缓存也就是CDN,在使用CDN之前一定要搞清楚DNS,DNS缓存就是将解析的数据存储在距离用户最近的网络节点,最终目的就是让用户减少迭代查询的速度,从而加速网站的访问。
-
TTL
- TTL全称为Time To Live,这个值用于去设定域名解析结果缓存的时间,时间结束后会自动删除解析记录,再次使用时还需要重新进行递归和迭代查询。
-
TLD Server
- 顶级域服务器
-
DNS Resolver
- 本地DNS服务器
-
Root Server
- 根域服务器
1.2.域名的分层结构
在互联网中使用域名的用户非常多,因特网在命名时将域名分为根域、顶级域、主域名、子域名四层。
根域服务器全球只有13台,并且根域只有一个,那就是点".",DNS的解析流程最开始到达的也就是根域。
顶级域就是我们常见的.com、.cn、.edu等等,这类域名统称为顶级域名,所有用户都可以在顶级域的基础上去申请主域名。
主域名也就被称为一级域名,如jiangxl.com这个主域名,每个用户都需要在顶级域的基础上去申请自己的一级域名,每个人每家企业都都独立的主域名。
子域名也就是我们常常说到的二级域名或者主机头,在主域名的基础上申请二级域名,可以为不同的应用程序申请不同的二级域名,例如www.jiangxl.com这个域名就是在主域名的基础上申请的二级域名。
另外还可有三级域名,三级域名就看个人和企业的需求了,可以在二级域名的基础上再申请三级域名,例如cn201212.www.jiangxl.com.cn
这个域名,通常一个应用程序有不同的区域使用,不同的区域可以通过不同的三级域名作为区分的标准。
1.3.DNS解析原理
以用户访问www.jiangxl.com域名为例讲解DNS的解析原理。
1)用户在浏览器中输入"www.jiangxl.com",若在/etc/hosts文件中有域名解析记录,则直接返回给用户,若不存在本地解析记录,则由本地DNS服务器开始递归查询。
2)本地DNS服务器没有域名解析记录,开始采用迭代查询找到根域服务器,并向根域服务起询问"你知道谁是.com吗"。
3)根域服务器向本地DNS服务器说我知道".com"域名是谁,并将.com的服务器信息一并告知本地DNS服务器。
4)本地DNS服务器根据信息找到了."com"的顶级域服务器,开始询问你知道谁是"jiangxl.com"吗。
5)顶级域服务器说我知道谁是"jiangxl.com",并将"jiangxl.com"域名发服务器信息告知本地服务器。
6)本地服务器根据信息找到了"jiangxl.com"主域服务器,开始询问你知道谁是"www.jiangxl.com"吗。
7)主域服务器说我知道谁是"www.jiangxl.com",并将"www.jiangxl.com"域名服务器的信息告知给本地服务器。
8)本地DNS拿到"www.jiangxl.com"域名对应的服务器信息后,将解析记录反馈给客户端。
9)浏览器根据解析记录,向"www.jiangxl.com"对应的WEB服务器发送HTTP请求。
10)该WEB服务器将结果呈现在用户的浏览器中。
1.4.DNS递归查询和迭代查询的区别
DNS查询分为递归查询和迭代查询两种。
-
递归查询
- 是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结构提交给用户。
- 简而言之,递归查询必须返回给用户一个准确的解析地址,如果查找的服务器不存在该记录就需要询问其他服务器
- 递归查询就好比工作中领导安排一件事情,不管过程,只要最终的结果。
-
迭代查询
- 是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。
- 简而言之,迭代查询是指当前服务器并不知道这条解析记录,但是这个服务器知道哪个服务器拥有这条记录,并将信息告知。
- 迭代查询就好比是在工作中,你要处理一个问题,询问了你的同事,你同事说我不知道但是领导肯定指定,让你去问领导。
递归查询和迭代查询效果图如下,蓝线表示递归查询,可以看到直接就需要返回给客户端,黑线表示迭代查询,一层层的进行查询。
在DNS的解析过程中,用户与本地服务器直接使用递归查询,本地服务器与其他服务器直接采用迭代查询。
1.5.DNS常用的解析记录
A记录:将域名解析到指定的IPV4地址。
CNAME:将域名解析到另一个域名,由另一个域名提供具体的服务
AAAA:将域名解析到IPV6地址。
NS:将域名指定到另一个DNS服务器进行解析。
MX:将域名解析到邮箱服务器。
2.使用DNS云解析将域名与SLB公网IP进行绑定
2.1.进入云解析DNS控制台
在控制台中找到云解析,点击进入云解析DNS的控制台。
2.2.添加域名解析记录
1)在域名解析这里找到我们的域名,点击解析设置。
2)点击添加记录—>记录类型为A记录—>在主机记录这里填写主机名—>记录值为SLB的公网地址,也就是域名要解析的地址。
2.3.验证解析是否生效
解析添加完成后,就可以在本地cmd中ping我们的域名,并且从此以后可以直接在浏览器中通过域名访问我们的程序。
相关文章:
阿里云云解析DNS核心概念与应用
文章目录 1.DNS解析基本概念1.1.DNS基本介绍1.2.域名的分层结构1.3.DNS解析原理1.4.DNS递归查询和迭代查询的区别1.5.DNS常用的解析记录 2.使用DNS云解析将域名与SLB公网IP进行绑定2.1.进入云解析DNS控制台2.2.添加域名解析记录2.3.验证解析是否生效 1.DNS解析基本概念 DNS官方…...
计算机竞赛 垃圾邮件(短信)分类算法实现 机器学习 深度学习
文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 垃圾邮件(短信)分类算…...
compositionAPI
面试题:composition api相比于option api有哪些优势? 不同于reactivity api,composition api提供的函数很多是与组件深度绑定的,不能脱离组件而存在。 1. setup // component export default {setup(props, context){// 该函数在…...
vscode配置调试环境-windows系统
1. 下载Vscode 下载网址code.visualstudio.com 2. 安装vscode 直打开下载好的.exe文件进行安装即可 3.安装插件 4下载mingw编译器 4.1下载 下载网址sourceforge.net/projects/mingw-w64/files/ 下拉找到该位置,下载圈中的版本。下载速度有点慢 临时下载地址 htt…...
智慧城市能实现嘛?数字孪生又在其中扮演什么角色?
数字孪生智慧城市是将数字孪生技术与城市智能化相结合的新兴概念,旨在通过实时数字模拟城市运行,优化城市管理与服务,创造更智能、高效、可持续的城市环境。 在智慧城市中,数字孪生技术可以实时收集、分析城市各个方面的数据&…...
【置顶帖】关于博主/关于博客/博客大事记
关于博主 ● 信息安全从业者 ● 注册信息安全认证专家资质 ● CSDN认证业界专家、安全博客专家 、全栈安全领域优质创作者 ● 中国信通院【2021-GOLF IT新治理领导力论坛】演讲嘉宾 ● 安世加【2021-EISS企业信息安全峰会-上海】演讲嘉宾 ● CSDN【2022-隐私计算论坛】演讲嘉宾…...
华为数通方向HCIP-DataCom H12-821题库(单选题:01-20)
第01题 下面关于OSPF邻居关系和邻接关系描述正确的是 A、邻接关系由 OSPF的 DD 报文维护 B、OSPF 路由器在交换 Hello 报文之前必须建立邻接关系 C、邻居关系是从邻接关系中选出的为了交换路由信息而形成的关系 D、并非所有的邻居关系都可以成为邻接关系 答案:D 解析…...
Java【手撕双指针】LeetCode 11. “盛水最多的容器“, 图文详解思路分析 + 代码
文章目录 前言一、盛水最多的容器1, 题目2, 思路分析3, 代码展示 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表…...
vue3——递归组件的使用
该文章是在学习 小满vue3 课程的随堂记录示例均采用 <script setup>,且包含 typescript 的基础用法 一、使用场景 递归组件 的使用场景,如 无限级的菜单 ,接下来就用菜单的例子来学习 二、具体使用 先把菜单的基础内容写出来再说 父…...
【爬虫练习之glidedsky】爬虫-基础1
题目 链接 爬虫的目标很简单,就是拿到想要的数据。 这里有一个网站,里面有一些数字。把这些数字的总和,输入到答案框里面,即可通过本关。 思路 找到调用接口 分析response 代码实现 import re import requestsurl http://www.…...
计算机视觉入门 1)卷积分类器
目录 一、卷积分类器(The Convolutional Classifer)训练分类器 二、【代码示例】汽车卡车图片分类器步骤1. 导入数据步骤2 - 定义预训练模型步骤3 - 连接头部步骤4 - 训练模型 一、卷积分类器(The Convolutional Classifer) 卷积…...
SpringBoot 配置优先级
一般而言,SpringBoot支持配置文件进行配置,即在resources下的application.properties或application.yml。 关于配置优先级而言, application.properties>application.yml>application.yaml 另外JAVA程序程序还支持java系统配置和命令行…...
钢筋的形变屈服度测量
钢筋力学性能检测方法与检测报告《建筑材料检测技术》杨丛慧 建筑形变检测锚点,本身无实质内容。 建筑的倾角和形变检测方法,工程测量学,李章树 毫米级的卫星位移定位 挠度检测。 赛格事件:SHM-Structural Health Monitoring…...
【BASH】回顾与知识点梳理(三十七)
【BASH】回顾与知识点梳理 三十七 三十七. 基础系统设定与备份策略37.1 系统基本设定网络设定 (手动设定与 DHCP 自动取得)手动设定 IP 网络参数(nmcli)自动取得 IP 参数(dhcp)修改主机名(hostnamectl) 37.2 日期与时间设定时区的显示与设定时间的调整用 ntpdate 手动网络校时 …...
智慧农场云养猪平台原来是这样的!
随着数字化和智能化的发展,农业行业也逐渐开始融入互联网技术,其中云养猪平台作为新兴的农业数字化解决方案之一,备受关注。本文将探讨如何开发一款具备专业、思考深度和逻辑性的云养猪平台。 一、前期准备阶段: 1.明确目…...
【3Ds Max】可编辑多边形“边界”层级的简单使用
目录 示例 (1)挤出 (2)插入顶点 (3)切角 (4)利用所选内容创建图形 (5)封口 (6)桥 示例 这里我们首先创建一个长方体ÿ…...
Rancher-RKE2-安装流程
一、什么是rke2? 1.rke2是Rancher的下一代k8s发行版, 二、与rke的不同 1.重要的是,RKE2 不像 RKE1 那样依赖 Docker。RKE1 利用 Docker 来部署和管理控制平面组件以及 Kubernetes 的容器运行时间。RKE2 将控制平面组件作为静态 pod 启动&…...
OrienterNet: visual localization in 2D public maps with neural matching 论文阅读
论文信息 题目:OrienterNet: visual localization in 2D public maps with neural matching 作者:Paul-Edouard Sarlin, Daniel DeTone 项目地址:github.com/facebookresearch/OrienterNet 来源:CVPR 时间:…...
iOS导航栏闪屏以及statusBar背景色的更改
1.如果导航栏有卡顿或者闪屏效果出现,多半是因为导航栏背景为透明色所致,可以给导航栏设置主题色,比如已白色为例 self.navigationController.navigationBar.backgroundColor [UIColor whiteColor]; 2.但是即使上述设置后,依然发…...
Centos开启防火墙和端口命令
Centos开启防火墙和端口命令 1. 开启查看关闭firewalld服务状态2. 查看端口是否开放3. 新增开放端口4. 查看开放的端口 1. 开启查看关闭firewalld服务状态 #启动/关闭firewall systemctl start/stop firewalld #查看防火墙状态 systemctl status firewalld #禁用或者启用 syst…...
基于微信小程序的宠物领养平台的设计与实现(Java+spring boot+微信小程序+MySQL)
获取源码或者论文请私信博主 演示视频: 基于微信小程序的宠物领养平台的设计与实现(Javaspring boot微信小程序MySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java…...
Mongodb基础操作
一、简介 MongoDB是一个NoSQL型的数据库,基于分布式文档型储存数据库,由C语言编写,它的特点是开源、高性能、高可用、高扩展、易部署。支持 Golang、RUBY、PYTHON、JAVA、C、PHP等多种开发语言。 二、应用场景 MongoDB适用于高并发读写、数据…...
数据结构与算法:计算机科学的基石
文章目录 数据结构:构建数据的框架算法:问题的解决方案编程语言:实现数据结构的工具结论 🎉欢迎来到数据结构学习专栏~数据结构与算法:计算机科学的基石 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页&…...
曲线救国 | 双非渣硕的秋招路
作者 | 带带大兄弟 面试锦囊之面经分享系列,持续更新中 欢迎后台回复"面试"加入讨论组交流噢 一篇旧文,可以参考~ 写在前面 双非渣硕,0实习,3篇水文,三个给老板当打工仔的nlp横向项目,八月份开…...
气传导耳机怎么样?四款值得入手的气传导耳机推荐
随着科技的进步,蓝牙耳机越来越受欢迎。类型也越来越多,其中气传导耳机因其不入耳设计,佩戴更舒适,音质更自然,能够提供更为清晰、自然的音质。面对还不知如何挑选气传导耳机的用户,在这里,我…...
HTML <svg> 标签
实例 画一个圆: <svg width="100" height="100"><circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" /> </svg>页面下方有更多 TIY 实例。…...
Python随机密码生成。编写程序,在26个字母大小写和10个数字随机生成10个8位密码。
题目:随机密码生成。编写程序,在26个字母大小写和10个数字随机生成10个8位密码。 样例:类似AB12cdHi的十组8位密码。 代码: import random def passwords():a, b, c ord(a), ord(A), ord(1)r list(range(a , a 26)) list(ra…...
数据结构作业——哈夫曼树
/*【基本要求】 (1) 从文件中读出一篇英文文章,包含字母和空格等字符。 (2) 统计各个字符出现的频度。 (3) 根据出现的频度,为每个出现的字符建立一个哈夫曼编码,并输出。…...
Python XML处理中级篇:深入探索lxml库
lxml库是Python中处理XML和HTML文档的强大库,提供了丰富的API以进行各种操作。在初级篇中,我们介绍了如何使用lxml库解析、访问和修改XML文档。在这篇中级篇中,我们将更深入地探讨如何使用lxml库,包括如何创建XML文档,…...
岩棉革新——洛科威推出NGF新一代岩棉产品
作为全球领先的岩棉制品生产商,洛科威公司基于在岩棉性能革新领域八十多年的深入研究和生产工艺的不断优化,在中国市场正式推出NGF新一代岩棉制品,并在上海国际绿色建筑建材博览会和2023国际绿色低碳技术展上正式发布。 洛科威NGF产品作为革…...
个人网站主页建设教程/做一个网站
1 引言 上一篇博文详细总结了Python进程的用法,这一篇博文来所以说Python中线程的用法。实际上,程序的运行都是以线程为基本单位的,每一个进程中都至少有一个线程(主线程),线程又可以创建子线程。线程间共享…...
视频网站如何做营销策划/百度首页排名优化服务
目录1、筛选出"sh"列大于5的数据法一:直接筛选,适用于一些比较简单直接的筛选,这种方式方便快捷。法二:函数筛选,适用于比较复杂的条件筛选,函数除了可以使用lambda匿名函数以外,也可…...
合肥高端网站建设/深圳外贸seo
结论 概括的来说,就是对修饰的变量进行拆分, 对修饰的形式参数进行参数聚集。 单*号,将被修饰的变量按元素方式拆分, 对修饰的形式参数进行参数聚集。 双**号,将被修饰的变量按键值对进行拆分, 对修饰的形式参数进行参数聚集。 修饰实例变量时…...
合肥网站设计制作/个人做外贸怎样起步
这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码import pandas as pdimport numpy as npimport plotly.plotly as pyimport plotly.graph_objs as gopath …...
wordpress商城模板下载/输入关键词搜索
分门别类刷算法,坚持,进步! 刷题路线参考:https://github.com/chefyuan/algorithm-base https://github.com/youngyangyang04/leetcode-master/ 大家好,我是老三,一个刷题困难户,接下来我们开始…...
做建材的网站有哪些/最近一周的新闻热点事件
使用一些类库进行http请求时,比如使用Apache HttpComponents 库。默认的, HttpClient 尝试自动从 I/O 异常恢复。这种自动恢复机制仅限于一些被认为是安全的异常,比如套接字被重置或者套接字被关闭。但是有些场景重试会造成重复请求风险。一般…...