网络优化是什么,网络优化具体优化的是什么

网络优化是什么,网络优化具体优化的是什么 前言小计在 App 访问网络的时候,DNS 解析是网络请求的第一步,默认我们使用运营商的 LocalDNS 服务。有数据统计,在这一块 3G 网络下,耗时在 200~300m

前言小计

在 App 访问网络的时候,DNS 解析是网络请求的第一步,默认我们使用运营商的 LocalDNS 服务。有数据统计,在这一块 3G 网络下,耗时在 200~300ms,4G 网络下也需要 100ms。

解析慢,并不是 LocalDNS 最大的问题,它还存在一些更为严重的问题,例如:DNS 劫持、DNS 调度不准确(缓存、转发、NAT)导致性能退化等等,这些才是网络优化最应该解决的问题。

想要优化 DNS,现在最简单成熟的方案,就是使用 HTTPDNS。

今天就来聊聊,DNS、HTTPDNS

本文已在在公众号【Android开发编程】发表

一、什么是DNS

Android性能优化之网络优化DNS和HttpDNS知识详解

  • DNS(Domain Name System)是域名系统的英文缩写,是一个组织的系统管理机构,维护系统内的每一个主机的ip和主机名(域名)的对应关系;
  • DNS即域名解析系统,这个东西说对于开发者来说,应该是没有不知道的。说简单点,这个系统的作用就是将域名解析成IP地址。我们的每一次网络请求,如果是使用域名,那么就是进行域名解析;
  • 一个优秀的域名服务应该能够满足两点要求,一个是能够正确的返回IP地址,二就是能够根据网络情况返回所请求的域名最近的服务器IP;

二、DNS域名结构

Android性能优化之网络优化DNS和HttpDNS知识详解

1、DNS域名命名

  • 每个域名都是一个标号序列,用字母、数字和连接符(-)组成;
  • 标号序列总长度不能超过255字符,每个标号都可以看成一个层次域名;
  • 级别最低的域名写在左边,级别最高的域名写在右边;
  • 域名服务主要通过UDP实现,服务器的端口为53;

2、域名的分级

域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域名、二级域名、三级域名等

顶级域名可以分为三大类:

国家顶级域名:cn、us、uk等

通用域名:常见的有7个,com、net、org、edu、int、gov、mil

方向域名: arpa,用于将ip地址转为域名

域名服务器

域名服务器按照由高到低进行层次划分:

注意: 一个域名服务器所负责的范围,称为区

三、域名解析过程

域名解析的重要两点:

  • 主机向本地域名服务器查询一般都是采用递归查询。所谓递归查询就是:如果主机所查询的本地服务器不知道被查询的域名的ip地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文(即代替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的ip地址,或者是报错,表示无法查询到所需的ip地址;
  • 本地域名服务器向根域名服务器的查询是迭代查询。所谓迭代查询就是:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所查询的ip地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的ip地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的ip地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的ip地址或者报错,然后把这个结果返回给发起查询的主机;

以上两点是域名解析的重要两步。但是这并不是解析ip地址的完整过程,如果浏览器的缓存中有该域名对应的ip地址,就不需要向本地域名服务器请求了等等。下面来看详细过程:

Android性能优化之网络优化DNS和HttpDNS知识详解

例如要解析:www.example.com该域名的ip地址;

  1. 浏览器缓存:当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的ip地址;
  2. 操作系统缓存:当浏览器缓存中无域名对应IP则自动检查用户计算机系统hosts文件,看是否有该域名对应的ip地址;
  3. 路由器缓存:当浏览器及系统缓存中都没有域名对应ip地址,则进入路由器缓存中检查。以上三点都是客户端的DNS缓存;
  4. ISP(网络服务提供商)的LDNS(本地域名服务器):如果上述三点都没有找到对应的地址,就要本地域名服务器中进行查询。比如你是电信的网,则会进入电信的DNS缓存服务器进行查找;
  5. 根域名服务器:本地域名服务器没有找到,本地域名服务器就会到根域名进行查询。全球仅有13台根域名服务器。根域名服务器收到请求后,会查看区域文件记录,若无则将其管辖下的对应的顶级域名的ip地址,这里返回.com的地址;
  6. 顶级域名服务器:根域名服务器没有,则本地域名服务器向顶级域名服务器发送请求,然后返回次级域名服务器的ip地址,这里会返回.example的地址;
  7. 主域名服务器:主域名服务器接收请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确记录。
  8. 保存结果至缓存:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个ip地址与web服务器建立连接;

四、DNS安全和优化

1、dns安全问题

  • DNS反射/放大攻击;
  • DDOS攻击可能造成域名解析瘫痪;
  • DNS/域名劫持:在劫持的网络范围内拦截域名解析的请求,分析请求的域名,返回假的ip地址或者使请求失去响应。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现;
  • DNS污染:DNS污染是当用户发起域名解析请求时,某个服务器(非DNS)监控到用户访问的已经被标记的地址时,该服务器伪装成DNS服务器向用户发回错误的地址;
  • DNS污染与DNS劫持的区别:DNS劫持修改了dns解析的结果,DNS污染是不经过DNS服务器的,而是直接返回了错误的地址;
  • DNS信息被修改;

2、DNS优化

DNS解析是一个漫长的过程,那么它的优化有哪些?

1、网页端

用户在请求请求某个链接之前,浏览器先尝试解析该链接的域名再将其进行缓存。

可以这样做:

(1) 在服务器中响应设置X-DNS-Prefetch-Control的值为on启动预解析

(2) 在HTML中,

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/96798.html

(0)

相关推荐

  • 南宁一级建造师优路培训学校费用(优路一级建造师培训费用)

    一级建造师是建筑工程行业的一种资格,是担任大型项目经理的必备条件。建造师是指从事建设工程总承包和施工管理关键岗位的注册执业人员。 个性化定制线上线下融合 一个 针对知识进行精讲,按…

    2022年3月18日
  • c2驾照可以开什么车,c2驾照可以开什么车

    c2驾照可以开什么车,c2驾照可以开什么车社会的发展,家庭生活水平的提高车已经成了家家户户的必备代步工具想学驾照的人越来越多为什么学C1驾照比C2的多?小编带你来了解01C1驾照用处大学手动档拿到的是C1驾照,学自动档拿

    趣活 2021年12月15日
  • 《黄帝内经》教你秋季如何养生

    秋天到了,天气转凉。小伙伴们是否已经做好了秋季养生的准备?今天就让我们一起来看一看古人在秋天是如何养生的。

    生活 2021年9月25日
  • 校园外卖小程序开发功能、开发微信点餐小程序怎么样,前景如何

    校园外卖小程序开发功能校园外卖小程序开发功能、开发微信点餐小程序怎么样,前景如何一、小程序如何推广?
    一、通过名称做搜索优化。二、通过二维码扫码线下推广。三、通过附近小程序员推广。四、通过好友分享和朋友圈推广。五、通过微

    生活 2021年11月6日
  • 火影手游打狮子,火影忍者手游打狮子

    火影忍者手游狮子是干什么的火影百兽狮子王是谁?火影百兽狮子王是佐井。佐井是暗部派到鸣人小组的成员,他擅长的是画画,并且把画中的动物变成真的,从而帮助自己来作战。鸣人非常讨厌佐井,主要以为佐井代替了。《火影忍者》手游萌狮送福活动有什么技巧吗?如何打高分?萌狮送福这个活动不是第一次上架了,算是一个老活动,但是为了拿到那些奖励,还是有不少的玩家参与到其中的,这个玩法需要两个人配合,目前公认的可打高分的组合小狮子火影忍者怎么看是不是正品你好,很高兴回答你的问题,小狮子火影忍者怎么看是不是正品? 可以重点看一下小狮子的标志部分,正品小狮子的标志是发亮的状态,手链的带口也是发亮的,很有光2021年火影忍者

    阅读 2022年6月24日
  • 淘宝省钱消消乐一共有几关,淘宝省钱消消消技巧

    淘宝省钱消消乐一共有几关,淘宝省钱消消消技巧淘宝购物是非常方便的,使用淘宝买东西还可以享受一些优惠,比如相当推荐的就是淘宝的省钱消消乐了,在淘宝上闯关消消乐的等级越高,获得的奖励也就越高,那么淘宝省钱消消乐一共有几关?淘

    生活 2021年10月2日