?dns原理
先了解一下dig命令
?dig 命令默认的输出信息比较丰富,大概可以分为 5 个部分。 第一部分显示 dig 命令的版本和输入的参数。 第二部分显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束。 第三部分中的 “QUESTION SECTION” 显示我们要查询的域名。 第四部分的 “ANSWER SECTION” 是查询到的结果。 第五部分则是本次查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,在什么时间进行的查询等等。
1.A记录 A记录,即Address记录,它并不是一个IP或者一个域名,我们可以把它理解为一种指向关系:
域名 www.xx.com → 1.1.1.1
主机名 DD → 2.2.2.2
也就是当你访问这些域名或者主机名的时候,DNS服务器上会通过A记录会帮你解析出相应的IP地址,以达到后续访问目的。所以A记录是IP解析,直接将域名或主机名指向某个IP。
2.CNAME CNAME记录,也叫别名记录,相当于给A记录中的域名起个小名儿,比如www.xx.com的小名儿就叫www.yy.com好了,然后CNAME记录也和A记录一样,是一种指向关系,把小名儿www.yy.com指向了www.xx.com,然后通过A记录,www.xx.com又指向了对应的IP:
www.yy.com → www.xx.com → 1.1.1.1
这样一来就能通过它的小名儿直接访问1.1.1.1了。
这时候有人问:这不多了一步嘛,不嫌麻烦?
假如这个时候我又想给原域名取几个小名儿,分别叫www.cc.com和www.kk.com那么存在下列指向关系:
www.yy.com → www.xx.com → 1.1.1.1
www.cc.com → www.xx.com → 1.1.1.1
www.kk.com → www.xx.com → 1.1.1.1
一张图了解:
?实战来详细看看一些域名的trace信息:
dig +trace baidu.com
dig +trace baidu.com
; <<>> DiG 9.10.6 <<>> +trace baidu.com
;; global options: +cmd
. 125716 IN NS a.root-servers.net.
. 125716 IN NS b.root-servers.net.
. 125716 IN NS g.root-servers.net.
. 125716 IN NS i.root-servers.net.
. 125716 IN NS e.root-servers.net.
. 125716 IN NS f.root-servers.net.
. 125716 IN NS j.root-servers.net.
. 125716 IN NS k.root-servers.net.
. 125716 IN NS h.root-servers.net.
. 125716 IN NS c.root-servers.net.
. 125716 IN NS d.root-servers.net.
. 125716 IN NS m.root-servers.net.
. 125716 IN NS l.root-servers.net.
. 125716 IN RRSIG NS 8 0 518400 20210830160000 20210817150000 26838 . LohNcnvbKtJSOyxnE0P66YD3xaDe5Wuo3w+eErG1hdwqAALdo5FBTeE4 n4/GFqZrt13PhiWrTJlWfmiq6BqvrFiNEkQ3qsKJ4lcqXLCwjLJ254Uz FgetJkxbERZGfOonbFJYi85GCdmqWAYp4IRwpvIvhWlbfDrrWawWBKM6 bpY7wNxCnfW1kAUdVqtso43xcTLCoaXlg+cYKZmvPiZJxki/vHCA2b8W dNbk69IM9T/J5zeVr+XIS18TkSCIXJJWIfqC45btkVBybz6y47pYSKGG 52O5unWNy4y3gdOOXzQfOx1OE1ieD2a5gOJ4mF7QKCgh4EQWFaYJDdlS CEoejA==
;; Received 717 bytes from 127.0.0.1#53(127.0.0.1) in 22 ms
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20210904050000 20210822040000 26838 . qJgkWxeEZ36bdpvsxzT6fNZmiCIvKNGqCo4j77elL7nSnd1QclqKmObl HGjDsmPF4XJ4cN4kBQvAEc/IbRHOEYeYoKQYNfzmWt6VsprkUhV829/s vPyLd+pG2Kt7/Dt1JMYPzafWbRnQD0HuF9ZcQco96RsVuVHbxcd9aCYj c1Blbw3jCeWigDWi5ZBBAXoWwp6TaXbq1sgxQDquJE1lG4diyAVLYWl8 NHf5AQMuLxx9EU4TeaG4aCKNlcPFo/eDMkRzBFU1tmYyFT7yW7iLX3iH 84V8UAI8qI5gY1e2So4cRYWLXiPuQarrvuBmkvxWgP77RgwI7wXActeT UKyi6A==
;; Received 1169 bytes from 192.203.230.10#53(e.root-servers.net) in 165 ms
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns1.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20210828042439 20210821031439 39343 com. LhNrLPscdc0MGX3TB/PEj+AYKQTyj87iyV3h6tOnuo4Sn3JLp54qfh01 RlshqPNa2baEjH0WZrb0puLUzDsWpsQ3GDJ/Rzr7WwhbbcAQAfYRxsO9 icnXq9nyFs1/+4DQY1jQK4iQWbU3d+NyOn1weuJn019AZuZKk4O2kOXl GIyJIcYrRH2u/UdaSe12m224ygSANZSZ2VNg9lMjCwIunA==
HPVUSBDNI26UDNIV6R0SV14GC3KGR4JP.com. 86400 IN NSEC3 1 1 0 - HPVV8SARM2LDLRBTVC5EP1CUB1EF7LOP NS DS RRSIG
HPVUSBDNI26UDNIV6R0SV14GC3KGR4JP.com. 86400 IN RRSIG NSEC3 8 2 86400 20210828044639 20210821033639 39343 com. qVBSehiY4fP5nUz+MrxV671TZ9L4HIPh6lQTU2kmoYh2uuHVd66Mr7Gn hypju+VsaB0AjeyTCP0tV9NFiuF2iNCOvYyfr2ly7NsaJk+di8dwOmlu gKseafbbeu8kToeI0FH3YO/XLs9YucXlZ8dDpG1Be0dlvym81b6VuqtF Ye71aFlaZYWzzij0pA8JD3dxqKSZsZMNl9LTF7Y9kQSM0g==
;; Received 757 bytes from 192.5.6.30#53(a.gtld-servers.net) in 200 ms
baidu.com. 600 IN A 220.181.38.251
baidu.com. 600 IN A 220.181.38.148
baidu.com. 86400 IN NS dns.baidu.com.
baidu.com. 86400 IN NS ns7.baidu.com.
baidu.com. 86400 IN NS ns2.baidu.com.
baidu.com. 86400 IN NS ns3.baidu.com.
baidu.com. 86400 IN NS ns4.baidu.com.
;; Received 240 bytes from 112.80.248.64#53(ns3.baidu.com) in 41 ms
可以看出,从跟域名逐级寻找
dig +trace news.baidu.com
; <<>> DiG 9.10.6 <<>> +trace news.baidu.com
;; global options: +cmd
. 124147 IN NS c.root-servers.net.
. 124147 IN NS f.root-servers.net.
. 124147 IN NS l.root-servers.net.
. 124147 IN NS d.root-servers.net.
. 124147 IN NS e.root-servers.net.
. 124147 IN NS i.root-servers.net.
. 124147 IN NS k.root-servers.net.
. 124147 IN NS j.root-servers.net.
. 124147 IN NS a.root-servers.net.
. 124147 IN NS m.root-servers.net.
. 124147 IN NS h.root-servers.net.
. 124147 IN NS b.root-servers.net.
. 124147 IN NS g.root-servers.net.
. 470315 IN RRSIG NS 8 0 518400 20210903170000 20210821160000 26838 . BFux1fMlwQl1CMGjQ1mGCl4+zr1MRHElYoCLiC6AJq5S03G9kMfQ32TF xka3VWxBSR5hY/3iomS9d1sJ/JdPbDwJPhVpffylyJVKE1TcHKjFd7SU 1x1+hE1nzIWDYVbEGuvGjH5u9tng7i5GckDejlZzhU8F+Ct2Gs4I0abg uFG4z9MLibJQpsIxHhbNuv91UOawOuE3uw2AiRkAzXksU7JeycmFxUXS t4B91FfbnWkUsPbxamPX/Vty65FMM79lSbARstHxJ/wQRpGFfz/1MxvF OPLI6Jyu3jOkVk4ORgGczs5Yfr6RWZ14HV3kQy1NAgBN5jVGVwDs5AR+ jOz3mw==
;; Received 717 bytes from 127.0.0.1#53(127.0.0.1) in 21 ms
news.baidu.com. 291 IN CNAME news.n.shifen.com.
news.n.shifen.com. 178 IN A 182.61.200.24
;; Received 76 bytes from 198.97.190.53#53(h.root-servers.net) in 17 ms
CDN原理
假如你是DD公司老板,你公司中的一台IP为1.1.1.1的服务器,注册了域名为www.dd.com,要对外提供客户访问。随着公司越做越大,访问量也越来越多,服务器顶不住了,你去找CDN提供商购买CDN加速服务,这个时候他们要求你的域名做个CNAME指向他们给你的一个域名叫www.dd.cdn.com
www.dd.com → www.dd.cdn.com 当用户访问www.dd.com的时候,本地DNS会获得CDN提供的CNAME域名:www.dd.cdn.com,然后再次向DNS调度系统发出请求,通过DNS调度系统的智能解析,把离客户端地理位置最近的(或者相对负载低的,主要看CDN那边智能解析的策略)CDN提供商的服务器IP返回给本地DNS,然后再由本地DNS回给客户端,让用户就近取到想要的资源(如访问网站),大大降低了延迟。
LVS
LVS提供的负载均衡技术和Linux操作系统实现一个高性能,高可用的服务器群集,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。
LVS相关术语
1、 DS:Director Server。指的是前端负载均衡器节点。
2、 RS:Real Server。后端真实的工作服务器。
3、 VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。
4、 DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
5、 RIP:Real Server IP,后端服务器的IP地址。
6、 CIP:Client IP,访问客户端的IP地址
1.当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP 2. PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链 3. IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP 4. POSTROUTING链通过选路,将数据包发送给Real Server 5. Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP 6. Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP
?全局服务器负载均衡(GSLB)
|