计算机网络—DNS域名解析过程

DNS是什么

域名和IP地址相互映射的一个分布式数据库,简单来说就是通过主机名,最终得到该主机名对应的IP地址的过程
DNS是一个应用层的协议。

DNS的工作原理

DNS域名格式

DNS中的域名都是用句点来分隔的。比如www.server.com,在域名中,越靠右的位置表示层级越高

实际上域名还有最后一个点,比如www.server.com.,这个最后的一个点是代表根域名;.com是顶级域;再下面是server.com。域名层级关系是类似于一个树状结构。
==因此,客户端只要能够找到任意一台DNS服务器,就可以通过它找到根域DNS服务器,然后顺藤摸瓜找到位于下层的某台目标DNS服务器。

DNS域名解析

  • 客户端发出DNS请求,现在浏览器找之前有没有缓存过的域名所对应的IP地址,如果没有,就去找硬盘的hosts文件,如果没有,就发给本地DNS服务器(也就是客户端的TCP/IP设置中填写的DNS服务器地址,一般是你的网络接入服务器商提供)
  • 本地DNS服务器收到客户端的请求之后,如果缓存的表格里面可以找到www.server.com,则它直接返回IP地址;没有的话,本地DNS回去问根域名服务器
  • 根域名服务器虽然不直接域名解析,但是可以指明一条道路(根DNS收到来自本地DNS的请求之后,如果发现后置是.com,那么就会把.com顶级域名服务器的地址告诉本地DNS
  • 本地DNS收到顶级域名服务器地址之后,就会去访问顶级DNS,顶级DNS告诉本地DNS权威DNS的位置
  • 权威DNS将查询之后的IP地址告诉本地DNS
  • 本地DNS将IP地址返回给客户端(本地DNS服务器不仅要把IP地址返回给用户电脑,还要把这个对应关系保存在缓存中)。客户端和目标建立连接。

主机向本地域名服务器的查询一般是采用递归查询(所谓递归就是如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出请求报文,而不是让主机自己进行下一步查询);本地DNS向根DNS的查询一般是迭代查询。

DNS使用UDP

因为UDP速度快。客户端向DNS服务器查询域名,一般返回的内容不超过512个字节

DNS负载均衡

当一个网站有足够多的用户的时候,如果每次请求都在一个机器上,那么这个机器有可能崩掉。所以使用DNS负载均衡技术。

原理

在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询的时候,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按照顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器。

你可能感兴趣的:(计算机网络,计算机网络,服务器,网络)