应用层(一)——DNS协议

mac2024-04-09  28

应用层(一)

DNS协议

DNS协议的命名空间

例如:xxx.yyy.zzz.com 从右边的com是顶级域名,到左依次是:二级域名,三级域名,四级域名

域名的分级:域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。

其中顶级域名分为:国家顶级域名、通用顶级域名、反向域名。

国家顶级域名:中国:cn, 美国:us,英国uk… 通用顶级域名:com 公司企业 edu教育机构 gov政府部门 int国际组织 mil军事部门 net网络 org非盈利组织… 反向域名:只有一个arpa,用于PTR查询(IP地址转换为域名) 。

DNS域名服务器

域名服务器主要分为:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。 根域名服务器 根服务器主要用来管理互联网的主目录。 所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理。 全球共有13台根服务器。1个为根服务器架构主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。 据说,在主根服务器系统上还有一个更高级的、隐藏着的母服务器,当然也在美国,而全世界所有的顶级域名都是由这台母服务器来确定的。 中国还没有自己的根服务器。都是根服务器的镜像(5个)

顶级域名服务器 负责管理所有的二级域名

权限域名服务器 负责管理一个区。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉查询请求的DNS客户进程,下一步应当找哪一个权限域名服务器;

本地域名服务器 可以看成是默认域名服务器,DNS客户进程收到主机发送过来的域名后,就会最初向该域名服务器发送查询请求

———————————————— 版权声明:本文为博主「yearing1017」的原创文章 原文链接:https://blog.csdn.net/jin970505/article/details/78982151

域名查询

递归查询就好比是我问A同学一个问题,他不知道,于是他就去问B同学,如果B知道,就告诉A,A再告诉我结果,如果B也不知道,那么就继续向C问,知道A知道答案,告诉我,最终也是A和我直接交互。 如这一张图: 迭代查询就好比我问A同学问题,A不知道,但是A告诉我,B知道,你去问B吧,于是B告诉了我答案,这就是与上面递归的区别。如下图所示:

查询过程中,递归查询和迭代查询可能会都使用,客户和本地服务器之间采用递归查询,服务器之间采用迭代查询,可能会多次迭代。 迭代查询的逻辑顺序按照域名系统的域名结构中的层次去查询 如下所示:

DNS查询过程

1)当客户机提出查询请求时,首先在本地计算机的缓存中查找,如果在本地无法查询信息,则将查询请求发给DNS服务器 2)首先客户机将域名查询请求发送到本地DNS服务器,当本地DNS服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则进行此记录进行解析,如果没有区域信息可以满足查询要求,服务器在本地缓存中查找 3) 如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名DNS服务器 4) 根域名服务器负责解析客户机请求的根域名部分,它将包含下一级域名信息的DNS服务器地址地址,返回给客户机的DNS服务器地址 5) 客户机的DNS服务器利用根域名服务器解析的地址访问下一级DNS服务器,得到再下一级域名的DNS服务器地址 6) 按照上述递归方法逐级接近查询目标,最后在有目标域名的DNS服务器上找到相应IP地址信息 7) 客户机的本地DNS服务器将递归查询结构返回客户机 8) 客户机利用从本地DNS服务器查询得到的IP访问目标主机,就完成了一个解析过程 9) 同时客户机本地DNS服务器更新其缓存表,客户机也更新期缓存表,方便以后查询

最新回复(0)