DNS相关问题记录

为什么DNS适合UDP协议而不是TCP?

  1. 资源一致性层面上讲,快,小包
    udp的dns协议只要一个请求和一个答应就是了,但是如果我们基于tcp的dns协议就需要三次握手,发送数据应答,四次握手等等,tcp相对于udp更加的浪费资源

  2. 资源节约层面上讲,节约资源,避免握手
    DNS数据包不是那种大数据包,所以使用UDP不需要考虑分包,如果丢包那么就是全部丢包,如果收到了数据,那就是收到了全部数据!所以只需要考虑丢包的情况,那就算是丢包了,重新请求一次就好了。而且DNS的报文允许填入序号字段,对于请求报文和其对应的应答报文,这个字段是相同的,通过它可以区分DNS应答是对应的哪个请求

那么dns只能用Udp吗?
Udp缺陷就是512k以上没法传输


什么是DNS?

DNS是域名系统,用来吧域名地址转化为ip地址,dns配置,将我们连接到最近的服务器。DNS服务器可以看成是一种分布式数据库。


什么是DNS污染?

某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址。某些国家或地区为出于某些目的防止某网站被访问,而且其又掌握部分国际DNS根目录服务器或镜像,也可以利用此方法进行屏蔽。

和某些流氓运营商利用DNS劫持域名发些小广告不同,DNS污染则让域名直接无法访问了,非得修改DNS服务器不可。


Dns污染如何解决?

1.更换DNS解析服务器。一般来说,域名注册商家都是提供免费的DNS解析服务的,提供了许多免费的DNS解析服务,更换两个DNS服务器即可。

2.使用第三方DNS解析服务。目前有很多第三方网站提供DNS解析服务,不少都是免费的,国内也有免费提供DNS解析服务的,使用第三方DNS服务可以部分解决问题,比如新之洲数据正在使用的DNSpod服务,就是国内还算比较稳定的DNS解析服务。

3.搭建自己的DNS服务器。


Dns解析原理

1.首先搜索 浏览器的 DNS 缓存 ,缓存中维护一张域名与 IP 地址的对应表

2.如果没有命中😢,则继续搜索 操作系统的 DNS 缓存

3.如果依然没有命中🤦‍♀️,则操作系统将域名发送至 本地域名服务器 ,本地域名服务器查询自己的 DNS 缓存,查找成功则返回结果(注意:主机和本地域名服务器之间的查询方式是 递归查询 )

4.若本地域名服务器的 DNS 缓存没有命中🤦‍,则本地域名服务器向上级域名服务器进行查询,通过以下方式进行 迭代查询 (注意:本地域名服务器和其他域名服务器之间的查询方式是迭代查询,防止根域名服务器压力过大):

5.本地域名服务器 将得到的 IP 地址返回给操作系统,同时自己将 IP 地址 缓存 起来

6.操作系统 将 IP 地址返回给浏览器,同时自己也将 IP 地址 缓存 起来

7.至此, 浏览器 就得到了域名对应的 IP 地址,并将 IP 地址 缓存 起来


DNS的迭代查询和递归查询

(递归)
在递归查询中,接收客户端请求的DNS服务器将完成全部的工作,然后返回结果。在工作过程中,DNS服务器可能代表客户端,向internet上的其他DNS服务器查询,以获得答案。
优点:快
缺点:服务器压力大

(迭代)

当所配置的本地名称服务器解析不了时,后面的查询工作是由本地名称服务器替代DNS客户端进行的(以“本地名称服务器”为中心),只需要本地名称服务器向DNS客户端返回最终的查询结果即可。而本节所介绍的DNS迭代名称解析(或者叫“迭代查询”)的所有查询工作全部是DNS客户端自己进行(以“DNS客户端”自己为中心)。
缺点:没递归快
优点:根服务器压力小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值