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”。

原文地址:https://www.cnblogs.com/hqq2019-10/p/14693854.html