一、应用层的常用协议

  • 超文本传输:http,https
  • 文件传输:FTP
  • 电子邮件:SMPT、POP3、IMAP
  • 动态主机配置:DHCP
  • 域名系统:DNS

二、域名

由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名。但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址

域名根据级别分为顶级域名、二级域名、三级域名

image-20240303220919052

0.根域名

根域名服务器是最高层次的域名服务器。每个根域名服务器都知道所有的顶级域名服务器的域名及其IP地址。因特网上共有13个不同IP地址的根域名服务器。当本地域名服务器向根域名服务器发出查询请求时,路由器就把查询请求报文转发到离这个DNS客户最近的一个根域名服务器。这就加快了DNS的查询过程,同时也更合理地利用了因特网的资源。

1.顶级域名

  • 通用顶级域名

    .com 公司

    .net, 网络

    .org 组织机构

    .edu 教育

    .gov 政府部门

  • 国家及地区顶级域名

    .cn 中国

    .jp 日本

2.二级域名

二级域名是指顶级域名之下的域名

  • 在通用顶级域名下,它一般指域名注册人的名称,例如google、baidu、microsoft等
  • 在国家及地区顶级域名下,它一般指注册类别的,例如com、edu、gov、net等

三、DNS

DNS的全称是:Domain Name System,译为:域名系统

利用DNS协议,可以将域名(比如baidu.com)解析成对应的IP地址(比如220.181.38.148)

DNS可以基于UDP协议,也可以基于TCP协议,服务器占用53端口

DNS 查询过程

image-20240303220844012

其完整的DNS解析过程有以下几个步骤:

(1)查看浏览器缓存

当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址(若曾经访问过该域名且没有清空缓存便存在)。

(2)查看系统缓存

当浏览器缓存中无域名对应 IP 则会自动检查用户计算机系统 Hosts 文件 DNS 缓存是否有该域名对应 IP。

(3)查看路由器缓存

当浏览器及系统缓存中均无域名对应 IP 则进入路由器缓存中检查,以上三步均为客服端的 DNS 缓存。

(4)查看ISP DNS 缓存

当在用户客服端查找不到域名对应 IP 地址,则将进入 ISP DNS 缓存中进行查询。比如你用的是电信的网络,则会进入电信的 DNS 缓存服务器中进行查找。

(5)询问根域名服务器

当以上均未完成,则进入根服务器进行查询。全球仅有 13 台根域名服务器,1 个主根域名服务器,其余 12 为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com、.cn等)服务器 IP 告诉本地 DNS 服务器。

(6)询问顶级域名服务器

顶级域名服务器收到请求后查看区域文件记录,若无记录则将其管辖范围内权威域名服务器的 IP 地址告诉本地 DNS 服务器。

(7)询问权威域名(主域名)服务器

权威域名服务器接收到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确记录。

(8)保存结果至缓存

本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个 IP 地址即可访问目标Web服务器。至此,DNS递归查询的整个过程结束

总结如下:

浏览器缓存——》系统hosts文件——》本地DNS解析器缓存——》本地域名服务器(本地配置区域资源、本地域名服务器缓存)——》根域名服务器——》主域名服务器——》下一级域名域名服务器 客户端——》本地域名服务器(递归查询) 本地域名服务器—》DNS服务器的交互查询是迭代查询