前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DNS工作原理

DNS工作原理

作者头像
全栈程序员站长
发布2022-07-09 10:22:36
8340
发布2022-07-09 10:22:36
举报
文章被收录于专栏:全栈程序员必看

一、简介

它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 DNS使用TCPUDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。 DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。

作用:

DNS是一种可以将域名和IP地址相互映射的以层次结构分布的数据库系统。

二、体系

2.1 报文:

DNS 定义了两种报文 ,一种为查询报文;另一种是对查询报文的响应,称为响应报文。无论是查询报文还是响应报文,都有12个字节的头和查询问题。

2.2 服务器体系

1.根域名服务器:

  • 最高层次的域名服务器,也是最重要的域名服务器,本地域名服务器如果解析不了域名就会向根域名服务器求助。
  • 全球共有13个不同IP地址的根域名服务器,它们的名称用一个英文字母命名,从a一直到m。
  • 每个根服务器都有镜像服务器,每个根服务器与它的镜像服务器共享同一个 IP 地址
  • 所有的根域名服务器都知道所有的顶级域名服务器的域名和地址

2.顶级域名服务器

  • 负责管理在该顶级域名服务器下注册的二级域名。

3.权限域名服务器

  • 负责一个区的域名解析工作

4.本地域名服务器

  • 当一个主机发出DNS查询请求的时候,这个查询请求首先就是发给本地域名服务器的。

三、工作原理

3.1解析步骤

有一台计算机:通过ISP(互联网服务提供商)接入了互联网,那么ISP就会给我分配一个DNS服务器,后续使用此DNS作为作为迭代查询的首选域名服务器(也可以手动配置首选域名服务器

在浏览器输入url后(www.baidu.com):

  1. 先在检查本地的Hosts表文件,看其中是否已经有相应的域名与IP地址的对应关系,如果有就会直接采用会被标记为非权威服务器的应答
  2. 然后向首选域名服务器的缓存中查找,如果有对应关系则返回
  3. 如果没有会从配置文件里面读取13个根域名服务器的地址
  4. 然后首选服务器向其中一台根域名服务器发起请求
  5. 根服务器拿到这个请求后,知道他是com这个顶级域名下的,所以就会返回com域中的域名服务器记录给首选服务器
  6. 然后首选服务器再次向该域名服务器(com)发起请求, 然后发现是baidu.com这个域(权威域名服务器),于是返回该域的服务器记录给首选服务器
  7. 首选服务器又向baidu.com这个权威域名服务器发起请求,然后该域查到有www的这台主机,就把这个IP返回给首选服务器了。
  8. 然后首选服务器拿到IP之后,就返回给客户端浏览器,并且把这映射关系保存在告诉缓存中

3.2注意:

  1. 域名对大小写不敏感
  2. 域名解析总体可分为两大步骤 第一个步骤是本机向本地域名服务器发出一个DNS请求报文,报文里携带需要查询的域名; 第二个步骤是本地域名服务器向本机回应一个DNS响应报文,里面包含域名对应的IP地址。
  3. DNS的查询顺序 1、本地hosts文件    2、本地DNS缓存    3、本地DNS服务器    4、发起迭代查询
  4. 使用递归查询+迭代查询(从主机视角看是递归,从首选服务器来看是递归)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115169.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年11月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、简介
  • 二、体系
    • 2.1 报文:
      • 2.2 服务器体系
        • 1.根域名服务器:
        • 2.顶级域名服务器
        • 3.权限域名服务器
        • 4.本地域名服务器
    • 三、工作原理
      • 3.1解析步骤
        • 3.2注意:
        相关产品与服务
        分布式数据库 TDSQL
        分布式数据库(以下简称 TDSQL)是腾讯打造的一款企业级数据库产品,具备强一致高可用、全球部署架构、高 SQL 兼容度、分布式水平扩展、高性能、完整的分布式事务支持、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档