标签:http dns
一、访问网站的基本流程
第一步:客户端用户在浏览器输入www.51cto.com网站,回车后,系统首先会查找系统本地的DNS缓存及hosts文件信息,确定是否存在www.51cto.com余名对应的IP解析记录,如果有就直接获取IP地址,然后去访问这个IP地址对应余名www.51cto.com的服务器。一般第一次请求的时候,DNS缓存是没有解析记录的,而hosts躲在内部临时测试时使用。
第二步:如果客户端本地DNS缓存及hosts文件没有www.51cto.com余名对应的解析记录,那么,系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址(称为LDNS)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端;如果没有,则LDNS会负责继续请求其他的DNS服务器。
第三步:LDNS从DNS系统的根开始请求对www.51cto.com余名的解析,并针对各个层级的DNS服务器系统进行一系列的查找,最终会查找到51cto.com域名对应的授权DNS服务器,而这个授权DNS服务器正式企业购买域名时用于管理域名解析的服务器,这个授权服务器会有www.51cto.com对应的IP解析记录。如果此时没有,就表示企业的域名管理人员没有为www.51cto.com域名做解析设置,即网站还没有架设好。
第四步:51cto.com余名的授权DNS服务器会把www.51cto.com对应的最终IP解析记录发给LDNS。
第五步:LDNS把来自授权DNS服务器的www.51cto.com对应的IP解析记录发给客户端浏览器,并且它会把该域名和IP地址的对应解析缓存起来,以便下一次更快的返回相同解析请求的记录,这些缓存记录在指定的时间(DNS TTL)内不会过期。
第六步:客户端浏览器获取了www.51cto.com对应的IP地址,接下来,浏览器会请求获得IP地址对应的网站服务器,网站服务器接收到客户的请求并响应处理(此处的处理可能是数百台集群的服务器系统,也可能是一台云主机),将客户请求的内容返回给客户端浏览器。至此,一次访问浏览网页的完整过程也就完成了。
附:
(1)查看windows客户端的本地缓存记录:
ifconfig /displaydns
(2)清楚Windows客户端本地缓存DNS记录:
ifconfig /flushdns
(3)Windows系统下的hosts域名解析记录位置:
C:\Windows\System32\drivers\etc\hosts
二、DNS系统解析基本流程
DNS简介
A记录----把余名解析为对应的IP地址。
CNAME别名记录--别名解析功能常备CDN加速服务商应用
MX邮件记录--MX记录功能,在购买或搭建邮件服务器时会被用到
PTR记录--反向解析,即把IP地址解析为对应域名,和A记录的解析相反,此功能在邮件服务业务中会用
DNS解析流程图
通过dig命令来实践理解DNS解析流程
[root@alon ~]# dig +trace www.51cto.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> +trace www.51cto.com ;; global options: +cmd . 47942 IN NS j.root-servers.net. . 47942 IN NS f.root-servers.net. . 47942 IN NS b.root-servers.net. . 47942 IN NS h.root-servers.net. . 47942 IN NS e.root-servers.net. . 47942 IN NS g.root-servers.net. . 47942 IN NS k.root-servers.net. . 47942 IN NS l.root-servers.net. . 47942 IN NS m.root-servers.net. . 47942 IN NS i.root-servers.net. . 47942 IN NS c.root-servers.net. . 47942 IN NS a.root-servers.net. . 47942 IN NS d.root-servers.net. ;; Received 228 bytes from 192.168.0.1#53(192.168.0.1) in 54 ms ## a-m一共13个DNS服务器,j.root-servers.net根DNS负责了此处的解析 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. ;; Received 491 bytes from 198.97.190.53#53(198.97.190.53) in 352 ms ##解析com的一共有13个DNS服务器,.com的a.gtld-servers.net负责了此处解析 51cto.com. 172800 IN NS ns1.dnsv2.com. 51cto.com. 172800 IN NS ns2.dnsv2.com. ;; Received 249 bytes from 192.54.112.30#53(192.54.112.30) in 272 ms ##解析 ns1.dnsv2.com负责了最终A记录解析 www.51cto.com. 600 IN CNAME web.dns.51cto.com. web.dns.51cto.com. 600 IN CNAME gf.dns.51cto.com. gf.dns.51cto.com. 600 IN A 218.11.0.91 51cto.com. 86400 IN NS ns2.dnsv2.com. 51cto.com. 86400 IN NS ns1.dnsv2.com. ;; Received 162 bytes from 115.236.151.178#53(115.236.151.178) in 139 ms
本文出自 “Richy的运维日志” 博客,请务必保留此出处http://richylu.blog.51cto.com/1481674/1858308
标签:http dns
原文地址:http://richylu.blog.51cto.com/1481674/1858308