dns地址分发过程

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 为什么有dns,dns有什么用

1:为什么有dns,dns有什么用?

首先,我们要知道网页浏览的实质是用户访问服务商主机中的文件内容。
在这里插入图片描述
那么在没有出现域名之前是什么样子的?

访问一台主机只能通过服务商主机在网络中的ipv4地址进行访问

例如我们通过114.116.236.109访问csdn
在这里插入图片描述
(但是随着cdn边缘分发的发展和一些安全的需要,这种ip访问也逐渐被淘汰)

扯远了,那么dns最重要的作用是什么?

是域名的可读性

域名 Value
baidu.com 百度
qq.com qq
csdn.net csdn


2:dns如何进行分发的:

dns服务器实际上是专门用作域名解析的服务器,和普通服务器并无不同,不过是跑的域名解析的服务。

2.1:域名的存储:

dns服务商会收集所有已经成功注册,解析的域名的数据存储在自己的dns服务器上。

国内的dns服务商:

DNSPod。国内4大智能线路细分,国外线路细分。7条主流搜索渠道SEO优化。10个DNS节 …

阿里云。子域名数量:无限制。记录类型:A、AAAA、CNAME、MX、NS、TXT、SRV …

京东云。智能解析线路(国内10条)最低TTL 120S。A记录负载均衡 5条。子域名级别 3级。 …

华为云。免费添加50个域名(可申请更多额度)目前没有付费服务。智能解析线路(地区, …

2.2:域名的解析:

在这里插入图片描述

csdn.net为例
1:当我们访问csdn的网址的时候,实际上是访问电脑预设的dns服务器(默认为运营商dns)

2:然后dns服务器返回csdn域名对应的ip地址,然后电脑访问csdn对应ip的主机,最后获得csdn的页面。

3:dns目前存在的问题:

3.1 DNS 污染:

https://www.jianshu.com/p/5c1abb7f641d
该图片转自https://www.jianshu.com/p/5c1abb7f641d

网域服务器缓存污染(DNS cache pollution),又称域名服务器缓存投毒(DNS cache poisoning)。

是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的IP地址。一般来说,在互联网上都有可信赖的网域服务器,但为减低网络上的流量压力,一般的域名服务器都会把从上游的域名服务器获得的解析记录暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。

一旦有关网域的局域域名服务器的缓存受到污染,就会把网域内的计算机导引往错误的服务器或服务器的网址。

3.2 DNS 挟持:

dns挟持与dns污染不同一般由dns服务器拥有者主动造成的返回错误。

例如我想访问csdn(csdn.net),我的dns服务器是百度的服务器,百度把正常应该返回的csdn的ip地址替换成了百度搜索的ip地址
在这里插入图片描述

这样一来我访问csdn就变成了访问了百度!(运营商挟持比较常见)

当然以上例子是开玩笑的。

4: DNS 的其他优势:

4.1:DNS负载均衡:

为了充分利用现有服务器软件的种种优势,负载均衡最好是在服务器软件之外来完成。而最早使用的负载均衡技术是通过DNS服务中的随即名字解析来实现的。这就是通常所说的DNS负载均衡技术。DNS负载均衡技术的实现原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。很多网站使用DNS负载均衡来保证网站的运行和可访问性。

4.2:DNS的cdn分发:

刚才说到cdn实际上是一个就近访问,那么现在有一个问题是,我们怎么知道用户的所在位置从而给他分配最佳的cdn节点呢。这就需要dns服务来进行定位了。当我们通过使用dns服务的时候,可以根据他使用的LDNS服务器来进行一个定位,例如我们的调度服务器看到他是来自深圳电信的LDNS服务器,那么我们就认为该用户来自深圳电信,然后调度服务器可以让该用户去访问深圳电信的CDN服务器,这样就让用户访问到了最优的cdn节点。

通过dns服务我们可以很快的定位到用户的位置,然后给用户分配最佳cdn节点,但是这种调度方式存在一个问题,例如,当我 是北京联通的用户但是使用的却是深圳电信的ldns的话,调度服务器会给我分配到深圳电信的cdn服务器,这样就产生了错误的调度。

引用https://blog.csdn.net/hetoto/article/details/90509328

5:结尾:

希望一起学习,一起进步!

相关文章
|
6月前
|
存储 Java C++
C++ 引用和指针:内存地址、创建方法及应用解析
C++中的引用是现有变量的别名,创建时需用`&`运算符,如`string &meal = food;`。指针存储变量的内存地址,使用`*`创建,如`string* ptr = &food;`。引用必须初始化且不可为空,而指针可初始化为空。引用在函数参数传递和提高效率时有用,指针适用于动态内存分配和复杂数据结构操作。选择使用取决于具体需求。
93 9
|
1月前
|
网络协议 开发工具 C语言
Jetson错误(二):wget命令提示无法解析主机地址的问题解决
对于解决在NVIDIA Jetson平台上使用wget命令时出现的无法解析主机地址的问题,提供了两种解决方法:一种是临时修改DNS服务器为Google的公共DNS,另一种是永久修改DNS设置。
83 5
|
1月前
|
存储 自然语言处理 API
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
156 1
|
3月前
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
|
3月前
|
网络协议 NoSQL 网络安全
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
|
4月前
|
存储 缓存 网络协议
ARP 地址解析协议
ARP 地址解析协议
73 0
|
6月前
|
存储 缓存 网络协议
ARP协议:地址解析协议
ARP协议:地址解析协议
115 0
|
5月前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
5月前
|
JSON 算法 BI
技术经验解读:优酷真实视频地址解析
技术经验解读:优酷真实视频地址解析
|
5月前
|
JSON 前端开发 API
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
447 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多