标签:div 存储 结果 round 越来越大 方案 运营 androi 缓存
1.DNS(Domain Name System)
? 将网站的域名转换为相应的IP。
? 如何映射
– 每个PC保持一个hosts文件
? www.58.com 10.10.10.10
? 访问是本地hosts查找IP
? hosts文件越来越大
? 没规定命令规则,主机名会冲突
? 维护映射关系代价高
– 应用场景
? 线下测试
? 解决上述问题,1983年Paul Mockapetris提出域名系统
? 分布式数据库系统
? 一种层次的、基于域的命名方案
? 一个完整的请求过程如下:
– 应用程序->DNS服务器发起DNS请求
– DNS服务器返回该域名对应的IP地址
– 应用程序根据返回的IP地址请求对应的服务,获取数据
2. ? DNS协议
– Domain_name Time_to_live Class Type Value
? Domain_name: 指出这条记录适用于哪个域名;
? Time_to_live: 用来表明记录的生存周期,也就是说最多可以缓存该记录多长时间(后面会讲到缓存机制);
? Class: 一般总是IN;
? Type: 记录的类型;
? Value: 记录的值,如果是A记录,则value是一个IPv4地址。
? 所有域名记录由DNS服务器集群存储
? 用户计算机不用存储所有的域名->IP映射,hosts文件不大
? 规定了域名的命令规则,保证了主机名字不会重复
? DNS是一个层次的的分布式数据库服务集群
3.– DNS(Domain Name System)解析过程
? 首先查找本地域名服务器(Local Server)【运营商:电信、联通等】
? Local Server没有,查找Root服务器
? Root服务器返回权威服务器地址
? Local Server继续查找权威服务器
? 找到后由Local Server返回给用户
– 和快递原理一样
? 中国->城市->区域->商区->小区->门牌号
? 中国->北京市->朝阳区->酒仙桥->酒仙桥北路甲10号院->58赶集总部
– 域名缓存
? 不变缓存时间可长期
? 可变缓存时间短
? Time to Live字段灵活控制
4.DNS劫持
– 区域域名服务器负责用户解析请求
– 没有机制保证域名映射是否准确
– “流氓的域名服务器”更改一些域名的解析结果
– 或者区域域名服务器被黑客攻击,恶意修改
– 引导用户一个错误的目标IP地址
– 这就是DNS劫持
– 劫持目标
? 阻止用户访问某些特定网站
? 引导用户到广告页面
防DNS劫持解决方案
– 直接使用IP地址
? 客户端处理负责均衡
? 移动端(Android、iOS)
– 使用HttpDNS
? DNS协议->HTTP协议
? 使用HTTP协议的80端口,取代DNS协议的53端口
? 绕过DNS协议请求,解决运营Local DNS劫持问题
DNS
标签:div 存储 结果 round 越来越大 方案 运营 androi 缓存
原文地址:http://www.cnblogs.com/756623607-zhang/p/7782660.html