dns地址分发过程

简介: 为什么有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:结尾:

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

相关文章
|
1月前
|
存储 Java C++
C++ 引用和指针:内存地址、创建方法及应用解析
C++中的引用是现有变量的别名,创建时需用`&`运算符,如`string &meal = food;`。指针存储变量的内存地址,使用`*`创建,如`string* ptr = &food;`。引用必须初始化且不可为空,而指针可初始化为空。引用在函数参数传递和提高效率时有用,指针适用于动态内存分配和复杂数据结构操作。选择使用取决于具体需求。
41 9
|
26天前
|
域名解析 网络协议 Linux
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
|
1月前
|
域名解析 缓存 网络协议
找不到DNS地址的解决方案
找不到DNS地址的解决方案
36 1
|
2月前
|
域名解析 网络协议 搜索推荐
阿里云DNS常见问题之获取不到用户真实IP地址如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
2月前
|
域名解析 网络协议 安全
阿里云DNS常见问题之ipv4地址获取失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
2月前
|
域名解析 缓存 网络协议
探索Qt 网络编程:网络地址与服务类全解析
探索Qt 网络编程:网络地址与服务类全解析
60 0
|
3月前
|
域名解析 弹性计算 网络协议
DNS服务器问题之翻译为 TCP/IP 地址如何解决
DNS服务器是负责将域名转换为IP地址的服务,它是互联网上实现域名解析的关键基础设施;本合集将探讨DNS服务器的工作原理、配置方法和常见问题处理,帮助用户理解和优化DNS服务的使用。
43 7
|
3月前
|
JavaScript 前端开发 区块链
最新视频连接解析地址
最新视频连接解析地址
43 0
|
5月前
|
JavaScript 前端开发 API
(简单详细)javascript中new url()属性,轻松解析url地址
(简单详细)javascript中new url()属性,轻松解析url地址
176 0
|
10月前
|
定位技术
百度地图开发系列(3):地址逆解析
百度地图开发系列(3):地址逆解析
59 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多