DNS? 网络世界的导航? 就这?

目录:

DNS(网络世界的导航):

  • DNS服务器的作用
  • 什么是域名
  • 域名解析测试
  • 域名解析过程
  • DNS 的负载均衡(内部和全局)

HttpDNS(导航也会出错):

===========================================

(1) DNS 服务器的作用:
一句话概括就像是翻译软件,如你把一个英语单词输入给百度翻译,则会返回相应的中文解释,这样你就知道这个单词的作用了。 来,利用类比思维来看一下 DNS(Domain Name System),就是你把 www.baidu.com 这个域名发送给 DNS ,然后会返回百度服务器的 IP 地址( 180.101.49.11)。

(2) 什么是域名:
就拿上面的话题来说吧,你觉得你访问百度时是输入 www.baidu.com 方便还是 180.101.49.11 方便呢?你是不是有疑惑为啥访问 www.baidu.com 会间接的访问 180.101.49.11 这个呢? 很简单就是做一个映射,也就是把两者绑定起来。就像你微信绑定你的手机号差不多的道理。
我拿自己的阿里云控制台域名与服务器地址映射举例:
在这里插入图片描述
点击下解析,然后把自己购买的服务器地址往里面一填,即可完成两者的绑定。 则今后访问自己的服务器使用域名就可以访问啦。

(3) 域名解析测试:
快捷键: win + r (打开命令行)
第一种:利用 ping
在这里插入图片描述
第二种利用 : nslookup 这个命令可以直接看自己本地的 DNS 的服务器。
非权威应答:是指自己本地的 DNS 缓存中没有此域名的记录,所以需要访问Internet 的根 DNS 服务器(后面会说)。
在这里插入图片描述
(4) 域名解析过程:

域名等级树状图:
在这里插入图片描述

  • 根DNS(全球大概13个):记录顶级域名 DNS Server 的 IP 地址,起到一个指路的作用,不做任何域名的解析。
  • 顶级域名(.com . cn …):也就是一级域名,负责解析后缀与之相应的域名,然后返回对应得 权威DNS服务器地址
  • 权威DNS:为哈叫权威? 我的域名我做主呀。作用:返回对应域名的服务器地址。
    在这里插入图片描述
    流程: 当我们访问 www.baidu.com 的时候先查询本地 DNS 服务器有没有对应的缓存记录,如果有则返回,没有则去访问根DNS,然后在访问顶级域名服务器,最后访问权威服务器获取百度服务器的地址。
    Note: 这里的本地DNS,如果你是通过DHCP 获取的IP地址,则本地DNS 是由对应的运营商分配的

(5)DNS 的负载均衡(内部和全局):

负载均衡: 就拿寄快递来说,你所在的城市肯定不止一家相同的快递公司对吧? 不同的人可以选择附近的网点去寄快递达到相同的效果。
简单点说就是访问一个资源时不止一种方式可访问。

内部负载均衡:
访问数据库时,我是需要将数据库服务器的 ip 绑定到 DNS ,还是将其域名绑定呢? 如果绑定的是 Ip 那一个机房内的数据库服务器换了 IP 时,就得一个个的删了旧的添加新的。这总吃力不讨好的事,难道香吗?
所以我们一般会将数据库服务器的域名(可以将多个数据库的IP地址与一个域名绑定,就像每次 Ping 百度时有时的服务器地址是不一样的) 与DNS 绑定,这样访问数据库时可以根据网络拥塞状况什么的返回对应的IP。

全局负载均衡:
作用: 不同运营商的客户可以访问相同运营商机房中的资源,有利于提高吞吐量,减少延迟。
场景: 对于复杂的大型应用,如跨地域运营商的大型应用(如京东,淘宝…)则需要全局负载均衡。

举例:通过DNS访问数据中心上的静态资源为例。
一般的大型应用资源都会采用分布式,如 Cdn 网络分发资源到全球给地所部署的服务器内。这样每个分部的服务器就需要单独的IP 地址。

在这里插入图片描述
过程解释:
当没有使用负载均衡时,就和(4)域名解析过程 相同。在配置了负载均衡之后: 以访问 your.company.com 为例

  1. 客户端查看本地缓存是否存在记录,如果发现没有。则请求本地 DNS 。
  2. 如果也没有相应的记录,则需要访问根服务器,一直到访问权威服务器,这时如果配置负载均衡则会给你所访问的域名通过 CNAME 的方式添加一个别名(your.company.vip.com).
  3. 通过别名去找 Layer 1 GSLB 返回第二次的 GSLB的服务器地址
  4. 访问 Layer 2 GSLB ,获取离我最近的服务器IP地址。

图注:
Region 1 (代表一个数据中心),里面的集群啥的就是存储一些数据资源,不必过分追究。

GSLB(GLobal Server Load Balance): 全局负载均衡器

Layer 1 GSLB :获取用户在使用哪个运营商提供的服务。(通过本地的 DNS 服务器所在的运营商)

Layer 1 GSLB : 获取用户的物理位置(通过本地的 DNS 服务器所在的地址)

问:这里为啥要分运营商和区域?

总结
DNS 其实就是一个翻译器,通过负载均衡也就是通过不同的方式将你需要的 IP 返回给你。其实作为网络世界里的导航,也是会有出错的时候的,那么这时候 HttpDNS 就会闪亮登场啦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章