• 5 域名



    为什么要域名
    十六进制 的MAC地址-->十进制的4位数字,IP地址-->好记的名字,域名

    1 域名的形式

    1. 有层次的结构,是一串用“.”分隔的多个单词
      • 最右边的被称为“顶级域名”,然后是“二级域名”,层级关系向左依次降低。
      • 最左边的是主机名,通常用来表明主机的用途,比如“www”表示提供万维网服务、“mail”表示提供邮件服务
      • 名字的关键是要让我们容易记忆
    2. DNS 会把域名转换为相应的IP地址
    3. 域名的本质:名字空间系统
      • 使用多级域名就可以划分出不同的国家、地区、组织、公司、部门,每个域名都是独一无二的,可以作为一种身份的标识。
    4. XML 里使用URI作为名字空间,也是间接使用里域名

    2 域名的解析

    1. 域名解析:域名转换为IP地址的过程,叫做域名解析
    2. DNS,域名解析系统
    3. DNS 是一个三层、树状、分布式服务
      1. 根域名服务器(Root DNS Server):管理顶级域名服务器,返回“com”“net”“cn”等顶级域名服务器的 IP 地址,有13组。
      2. 顶级域名服务器(Top-level DNS Server):管理各自域名下的权威域名服务器,比如 com 顶级域名服务器可以返回 apple.com 域名服务器的 IP 地址
      3. 权威域名服务器(Authoritative DNS Server):管理自己域名下主机的 IP 地址,比如 apple.com 权威域名服务器可以返回 www.apple.com 的 IP 地址。
    4. 如何查询:自顶向下查询,域名从右到左
      举例:访问“www.apple.com”进行的三次查询
      1. 访问根域名服务器,它会告诉你“com”顶级域名服务器的地址;
      2. 访问“com”顶级域名服务器,它再告诉你“apple.com”域名服务器的地址;
      3. 最后访问“apple.com”域名服务器,就得到了“www.apple.com”的地址
    5. 如何减轻域名解析的压力--缓存
      • 方法1:大公司、网络运营商建立自己的DNS服务器(非权威域名服务器),作为用户DNS查询的代理,代替用户访问核心DNS系统。缓存之前的查询结果,无需再次向跟服务器发起查询。
      • 方法2:操作系统对DNS解析结果做缓存。
      • 方法3:操作系统的“主机映射文件”,如 “/etc/hosts”,如果操作系统在缓存中找不到DNS记录就会找这个文件

    3 域名的新玩法

    1. 玩法1:重定向

      • 对外服务的域名不变,IP地址随意变动,如果主机需要迁移直接更改DNS的记录,使得域名指向其他机器。
    2. 玩法2:搭建内部使用的DNS作为名字服务器

      • 开发的内部服务使用域名标记,发起网络通信是不必写IP地址,直接使用域名。
    3. 玩法3:基于域名实现负载均衡

      • 域名解析可以返回多个IP地址,所以一个域名可以对应多台主机,客户端收到多个IP地址后,自己使用轮询算法依次向服务器发起请求,实现负载均衡。
      • 域名解析可以配置内部使用的策略,返回离客户端最近的主机,或者返回当前服务质量最好的主机,这样DNS端把请求分发到不同的服务器,实现负载均衡。
    4. 不好的玩法4:域名屏蔽和域名劫持

      • 域名屏蔽:对域名直接不解析,返回错误
      • 域名劫持:访问A,DNS给了B

    4 注意事项

    1. 域名总长度在 253个字符内,每一级域名长度不超过 63个字符
    2. 域名大小写不敏感
    3. 域名过长或层级过多,与初衷违背,难记

    5 问题

    1 如果在浏览器地址栏随便输入一个不存在的域名,它的DNS 解析过程是什么样的?

    1. 检查本地dns缓存是否存在解析"www.不存在.com"域名的ip
    2. 如果没有找到,继续查找本地 hosts 文件内是否有对应的固定记录
    3. 如果hosts中还是没有那就根据本地网卡被分配的 dns server ip 来进行解析,dns server ip 一般是“非官方”的ip,比如谷歌的“8.8.8.8”,本身它也会对查找的域名解析结果进行缓存,如果它没有缓存或者缓存失效,则先去顶级域名服务器“com”去查找“不存在.com”的域名服务器ip,结果发现不存在,于是直接返回告诉浏览器域名解析错误,当然这两次查找过程是基于udp协议。

    总结:浏览器缓存-》操作系统缓存-》hosts-》dns

    2 如果因为某些原因,DNS失效或者出错,会出现什么后果?

    访问不了,客户度直接报错“Failed host lookup”。

  • 相关阅读:
    一个标准的类通常要拥有下面四个组成部分
    局部变量和成员变量的区别
    Java学习: 面向对象的使用与注意事项
    学习:内存的申请与释放
    虚拟内存与物理内存
    实现:win32实现EDIT控件读取和保存
    学习:生产者和消费者模式实现线程同步
    学习:线程互斥
    学习:多线程
    实现:服务程序增删
  • 原文地址:https://www.cnblogs.com/hqq2019-10/p/14693854.html
Copyright © 2020-2023  润新知