• DNS


    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劫持问题 
  • 相关阅读:
    在linux查看内存的大小
    Linux下查看操作系统的位数和系统名称版本信息
    Linux下查看操作系统的位数和系统名称版本信息
    [KOJ95603]全球奥运
    [KOJ6997]旅行商问题二
    [hihoCoder#1065]全图传送
    [codeforces 339]E. Three Swaps
    [codeforces 339]D. Xenia and Bit Operations
    [codeforces 360]A. Levko and Array Recovery
    [codeforces 339]C. Xenia and Weights
  • 原文地址:https://www.cnblogs.com/756623607-zhang/p/7782660.html
Copyright © 2020-2023  润新知