Published on

运维面试题口述题整理(一)

Authors
  • avatar
    Name
    老杨的博客
    Twitter

用户第一次访问网站的基本流程

客户端用户在web浏览器输入网站地址,到看到网站内容的完整访问流程:
第一步:客户端用户在浏览器里输入blog.ygqygq2.com网站地址,回车后,系统首先会查找系统本地的DNS缓存及hosts文件信息,确定是否存在blog.ygqygq2.com域名对应的IP解析记录,如果有就直接获取IP地址,然后去访问这个IP地址对应域名blog.ygqygq2.com的服务器。一般第一次请求时,DNS缓存是没有解析记录的,而hosts多在内部临时测试时使用。
第二步:如果客户端本地DNS缓存及hosts文件没有blog.ygqygq2.com域名对应的解析记录,那么,系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址(通常称此DNS为LDNS,即Local DNS)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端,如果没有,则LDNS会负责继续请求其他DNS服务器。
第三步:LDNS从DNS系统的(“.”)根开始请求对blog.ygqygq2.com域名的解析,并针对各个层级的DNS服务器系统进行一系列的查找。最终会查找到linuxba.com域名对应的授权DNS服务器,而这个授权DNS服务器正是企业购买域名时用于管理域名解析的服务器,这个授权服务器会有blog.ygqygq2.com对应的IP解析记录。如果此时没有,就表示企业的域名管理人员没有人blog.ygqygq2.com域名做解析设置,即网站还没有架设好。
第四步:linuxba.com域名的授权DNS服务器会把blog.ygqygq2.com对应的最终IP解析记录(例如:1.1.1.1)发给LDNS。
第五步:LDNS把来自授权DNS服务器blog.ygqygq2.com对应的IP解析记录发给客户端浏览器,并且它会把该域名和IP的对应解析缓存起来,以便下一次更快地返回相同解析请求的记录,这些缓存记录在指定的时间(DNS TTL值控制)内不会过期。
第六步:客户端浏览器获取了blog.ygqygq2.com的对应IP地址,接下来,浏览器会请求获取IP地址对应的网站服务器,网站服务器接收到客户的请求并响应处理(此处的处理可能是数百台集群的服务器系统,可可能是一台云主机),将客户请求的内容返回给客户端浏览器。到此,一次访问浏览网页的完整过程就完成了。

DNS解析流程

DNS的解析流程实际上就是从用户在客户端浏览器中输入网站地址并按回车开始的,一直持续到获取域名的对应IP,整个过程可分为如下几个步骤:
第一步:客户端用户在浏览器里输入blog.ygqygq2.com网站地址,回车后,系统首先会查找系统本地的DNS缓存及hosts文件信息,确定是否存在blog.ygqygq2.com域名对应的IP解析记录,如果有就直接获取IP地址,然后去访问这个IP地址对应域名blog.ygqygq2.com的服务器。一般第一次请求时,DNS缓存是没有解析记录的,而hosts多在内部临时测试时使用。
第二步:如果客户端本地DNS缓存及hosts文件没有blog.ygqygq2.com域名对应的解析记录,那么,系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址(通常称此DNS为LDNS,即Local DNS)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端,如果没有,则LDNS会负责继续请求其他DNS服务器。
第三步:LDNS从DNS系统的(“.”)根开始请求对blog.ygqygq2.com域名的解析,根DNS服务器在全球一共有13台,根服务器下面是没有blog.ygqygq2.com域名解析记录的,但是根下面有blog.ygqygq2.com对应的顶级域名.com的解析记录,因此,根会把.com对应的DNS服务器地址返回给LDNS。
第四步:LDNS获取到.com对应的DNS服务器地址后,就会去.com服务器请求blog.ygqygq2.com域名的解析,而.com服务器下面也没有blog.ygqygq2.com域名对应的解析记录,但是有linuxba.com域名的解析记录,因此,.com服务器会把linuxba.com对应的DNS服务器地址返回给LDNS。
第五步:同理,LDNS获取到linuxba.com对应的DNS服务器地址后,就会去baidu.com服务器请求对blog.ygqygq2.com域名的解析,linuxba.com域名对应的DNS服务器是该域名的授权DNS服务器,这个DNS服务器正是企业购买域名时用于管理解析的服务器(也可能是自建的授权DNS服务器),这个服务器会有与blog.ygqygq2.com对应的IP解析记录,如此此时没有,就表示企业的域名管理人员没有为blog.ygqygq2.com域名做解析,即网站还没架设好。
第六步:linuxba.com域名DNS服务器会把blog.ygqygq2.com对应的IP解析记录(例如1.1.1.1)发给LDNS。
第七步:LDNS把来自授权DNS服务器的与blog.ygqygq2.com对应的IP解析记录发给客户端浏览器,并且LDNS会在本地把域名和IP的对应解析记录缓存起来,以便下一次更快地返回相同解析请求记录。至此,整个DNS的解析流程就完成了。