域名:由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名(比如baidu.com) ,但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址。
根据级别不同,域名可以分为:顶级域名(Top-level Domain,简称TLD) ;二级域名 ;三级域名 ...
域名系统(Domain Name System)是将域名转化为IP地址的网络协议。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP协议和UDP协议,服务器占用53端口 。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
域名解析就是将域名转化为对应的 IP 地址,该工作由 DNS 服务器完成。
例如:baidu.com 作为一个域名就和IP地址220.181.38.148 相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打220.181.38.148 的名字baidu.com 来代替电话号码(IP地址)。DNS在我们直接调用网站的名字以后就会将像baidu.com 一样便于人类使用的名字转化成像220.181.38.148 一样便于机器识别的IP地址。
域名解析流程
-
客户端通过浏览器访问域名为 www.baidu.com 的网站,发起查询该域名的 IP 地址的 DNS 请求。该请求发送到了本地 DNS 服务器上。本地 DNS 服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地 DNS 服务器还要向 DNS 根服务器进行查询。
-
本地 DNS 服务器向根服务器发送 DNS 请求,请求域名为 www.baidu.com 的 IP 地址。
-
根服务器经过查询,没有记录该域名及 IP 地址的对应关系。但是会告诉本地 DNS 服务器,可以到域名服务器上继续查询,并给出域名服务器的地址(.com 服务器)。
-
本地 DNS 服务器向 .com 服务器发送 DNS 请求,请求域名 www.baidu.com 的 IP 地址。
-
.com 服务器收到请求后,不会直接返回域名和 IP 地址的对应关系,而是告诉本地 DNS 服务器,该域名可以在 baidu.com 域名服务器上进行解析获取 IP 地址,并告诉 baidu.com 域名服务器的地址。
-
本地 DNS 服务器向 baidu.com 域名服务器发送 DNS 请求,请求域名 www.baidu.com 的 IP 地址。
-
baidu.com 服务器收到请求后,在自己的缓存表中发现了该域名和 IP 地址的对应关系,并将IP地址返回给本地 DNS 服务器。
-
本地 DNS 服务器将获取到与域名对应的 IP 地址返回给客户端,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次别的用户查询时使用。