首页 > 其他分享 >关于DNS

关于DNS

时间:2022-08-17 20:55:18浏览次数:45  
标签:主机 IP地址 主机名 关于 DNS edu 服务器

DNS

DNS是什么?

DNS是一个域名系统,它的作用是进行主机名和IP地址的转换。一方面,它是一个分层的DNS服务器实现的分布式数据库,另一方面,它是一个使得主机能够查询分布式数据库的应用层协议

一个具体实例,我们的客户端向Web服务器www.scuec.edu发送一个http请求,那么我们必须得知道这个域名的IP地址。DNS就是获取这个IP地址的过程。

除此之外DNS还提供了其他的服务:

  1. 主机别名:有着复杂主机名的主机可以拥有多个别名。
  2. 邮件服务器别名:一样的我们也希望邮件服务器也可以有多个名字
  3. 负载分配:DNS也可以在冗余的服务器之间进行负载分配。繁忙的站点均匀分布在多台服务器上。

DNS 工作机理

同样使用之前的那个实例,DNS会有如下操作:

  1. 同一台用户主机上运行着DNS应用的客户端;
  2. 浏览器从URI中提取主机名www.scuec.edu,并且将主机名传给DNS应用的客户端;
  3. DNS客户向DNS服务器发送一个包含主机名的请求;
  4. DNS客户收到回答报文,其中包含主机名的IP地址;
  5. 一旦浏览器接收到IP地址就会向对应IP地址的80端口的HTTP服务器发起TCP连接。

这是粗糙的大体过程,现在我们将注意力集中到主机名转换到IP地址也就是域名解析的过程。

为了处理拓展性问题,DNS使用了大量的DNS服务器,以层次(树形)结构组织。大致来说有三类DNS服务器:根服务器顶级域(TLD)DNS服务器(com DNS服务器、org DNS服务器、edu DNS服务器等等)、权威DNS服务器(facebook.com、amazon.com、pbs.org、nyu.edu等)。

而我们需要域名解析的时候,我们先向本地DNS服务器询问,本地DNS服务器会查询缓存,如果缓存可以直接命中就直接返回。没有的话本地DNS服务器会先去询问根服务器、再询问TLD服务器、再询问权威DNS服务器(这一过程是逐一迭代的)。接着再递归的返回查询结果给本地主机。这是一种递归+迭代的方式,理论上我们也可以选择全部递归的方式。

需要主要的是DNS域名解析的过程使用的是UDP,主要原因是DNS协议只需要一个请求和一个应答,不需要TCP复杂的三次握手四次挥手过程。‘

标签:主机,IP地址,主机名,关于,DNS,edu,服务器
From: https://www.cnblogs.com/Paranoid5/p/16596716.html

相关文章

  • 内网搭建DNS服务器
    docker使用ubuntu镜像搭建DNS服务DNS方案选择实现dns常见的软件有bind9、coredns(k8s中使用的)、DNSmasq。等这里选择bind9配置#配置清单dnsserverip:172.......
  • 关于一个数学题与它的做法
    Description给定\(n\),求\(\sum\limits_{i=1}^n\operatorname{lcm}(i,n)\),多组数据,有\(3e5\)组数据,\(n\le1e6\)。Solution\(\sum\limits_{i=1}^n\operatorn......
  • CSS-关于display:inline、block、inline-block的差别
    什么是display(显示模式)?每一个html标签元素都会有一个预设的display属性,标签基本上大部分可分为两种显示模式,一种是行内元素(inline),另一种为区块元素(block),我们可以......
  • 关于在 debian 里被 network-tools 托管后如何重连 WIFI 的问题。
    ifconfig、ifup、ifdown三个命令。如果修改了/etc/wpa_supplicant/wpa_supplicant.conf后想重连wifi需要强制down了waln0后在ifup就行了。ifdownwlan0--for......
  • 关于 mysql5.7 中 创建一个用户 并为其 grant 权限 操作失败的问题
    SQL:--创建授权canal账号具有slave权限--查看密码策略状态selectplugin_name,plugin_statusfrominformation_schema.pluginswhereplugin_namelike'val......
  • 关于子集问题的一种解法
    关于子集问题的一种解法1.引入给定\(n\)以及两个长度为\(2^n\)的序列\(a\)和\(b\),对于每个\(k\)求\(min_{i|j=k}{\{a_i+b_j\}}\)。对于这类不可逆的......
  • 关于read指向缓冲区的理解
    read在linux原型定义如下: #include<unistd.h>ssize_tread(intfd,void*buf,size_tcount);关于buf,man手册解释如下:“read()attemptstoreaduptocountby......
  • 关于swack.cn站点关停的通知
    由于运营精力及成本问题,本人决定无限期关停swack.cn站的公网服务,包括但不限于swack.cn、www.swack.cn以及相关的文件下载地址。一直以来swack.cn站的试运营本着无......
  • 关于生命的本质 复制
    生命的本质就是复制。那么,生命1.0的生命(单细胞生命),是选择性复制,比如,下一代,就是单纯的复制一下自己。如果,当前自己产生了变异,那变异是怎么来的,选择当自己某方面,强,或者不强,......
  • ES 增删改(关于文档的操作)
    1、create新增记录1.1新增记录不指定id,让es自动生成POSTlogs/_doc{"Level":"Warn","Content":"111"}结果如下:{"_index":"logs","_id":"Hd5v......