Android 网络性能优化(2)DNS优化

本文详细探讨了Android网络性能优化中的DNS优化,包括DNS服务器的层级结构、寻址过程以及常见问题。通过理解DNS的工作原理,可以解决DNS劫持、服务器故障和调度不准确等问题。介绍了使用ip直连和HttpDNS来优化DNS解析,提高网络连接速度和稳定性。
摘要由CSDN通过智能技术生成

而网络交互最初是的动作就是连接,所以我认为优化的方向先要从网络连接这个点切入。

而连接的最初的动作是DNS解释,在第一篇中,描述DNS的状况是:

域名换ip。这一步看似简单却充满陷阱,10分钟的DNS的Cache过期时间,200~2000ms不等的DNS耗时,坑了无数应用。

解决无非有三个策略:

  • ip直连

  • 域名重用(收敛)

  • HttpDNS

不过仅仅用一段话来描述DNS的疼点还是比较生硬的,所以在学习ip直连和HttpDNS之前,我需要先弄懂DNS出现问题的具体原因。

2. DNS

========================================================================

2.1 DNS是什么


在网络世界中,我们如果想要访问某一个服务器的东西,我们需要知道它的ip地址是多少,这样才能去连接走Http。

但是 ip地址32位二进制的数字,它的常用格式: XXX.XXX.XXX.XXX 显然,我就是为了访问一个服务器,你让我记住这么一长串的数字,这不是在为难人吗?我每天都要访问数十个网站,一秒钟几亿上下,每个网站的ip都要记在小本子上,而且一个服务器可能还有好几个ip,然后在访问时还要很细心一个个敲在输入框中…

在这里插入图片描述

所以为了解决这种体验问题,DNS(Domain Name System)就这么出现了。服务器可以申请得到域名,比如说我们熟知的百度的域名就是 : www.baidu.com。这样我们在浏览器的输入框只要输入这个域名,就能访问百度的服务器了。

那我们看到DNS出现,不用去记那么一长串的ip地址了,只用记住域名就可以了,域名一般来说都是英文加数字格式,很方便人类进行记忆。

那我们已经很清楚DNS的作用了,我们告诉DNS域名,DNS帮我们找到ip地址,即 域名换ip,来看下下图:

在这里插入图片描述

这样人类就可以很哈批的去访问各种网站了。

注:DNS大部分都是基于UDP的,所以DNS本身具有UDP连接的不可靠性

2.2 DNS服务器结构


每天都有成万上亿的人在互联网冲浪,这说明DNS没有一刻不在被使用,所以DNS服务器一定要保证高可用、高并发和分布式服务器。所以有必要了解DNS的结构。

我们先来看下域名的空间结构:

在这里插入图片描述

像 com、net、cn这些代表的就是顶级域名(也叫根域名),顶级域名前面的就是二级域名,二级域名前面的是三级域名。

比如 www.baidu.com.com就是根域名, .baidu就是二级域名, www就是三级域名。根据这个我们再来看看DNS的结构。

从理论上说,任何形式的标准域名要想被实现解析,按照技术流程,都必须经过全球“层级式”域名解析体系的工作,才能完成。所以DNS的服务器结构是根据官方的层级式来分类的,有下面四类:

  • 根域名服务器(Root Name Server)

  • 顶级域名服务器(Top-level Name Server)

  • 权威域名服务器(Authoritative Name Server)

  • 本地 DNS 服务器(Local DNS Server)

2.2.1 根域名服务器

根域名服务器是互联网域名解析系统(DNS)中最高级别的域名服务器,负责返回顶级域的权威域名服务器地址。

“层级式”域名解析体系第一层就是根服务器,负责管理世界各国的域名信息,在根服务器下面是顶级域名服务器,即相关国家域名管理机构的数据库。

一个域名必须首先经过根数据库的解析后,才能转到顶级域名服务器进行解析。

在根域名服务器中虽然没有每个域名的具体信息,但储存了负责每个域(如.com,.xyz,.cn,.ren,.top等)的解析的域名服务器的地址信息。

全世界域名的最高管理机构,是ICANN,在美国加州,它制定了根域名的规范,管理所有域名的顶级域名。它就是根域名服务器。

当然了,域名这么多,来自各个国家各个区域,所以为了便于管理,所有域都会被一些组织、群体所托管,比如 .cn域名的托管商就是中国互联网络信息中心(CNNIC),它决定了.cn域名的各种政策。而像Verisign管理着 .com.net等,而这些服务器就是顶级域名服务器了,如下图所示:

在这里插入图片描述

也就是说,当我们输入 www.example.cn时,会先去找根域名服务器ICANN࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值