对于网络上的大部通讯都是基于TCP/IP协议的, 其中最重要的是IP协议,它是基于IP地址的,而计算机通讯只能识别IP地址,如192.168.0.1,而不能识别像咱们在浏览器敲得见名之义的"www.baidu.com"这样的域名,但是呢有一个DNS服务器的计算机会自动把咱们输入的域名翻译成了网络通讯所需要的ip地址,这就是DNS协议,下面来了解一下它。

什么是DNS?

它所提供的服务是用来将主机名和域名转换为IP地址的工作,如下:

可以相互进行转换。

DNS查询过程:

递归:DNS服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询和联系其他DNS服务器,以完全解析该名称,并随后将应答返回至客户机。

迭待:客户机自己也可尝试联系其它的DNS服务器来解析名称,如果客户机这么做,它会使用基于服务器应答的独立和附加的查询。下面看一下迭待的具体过程:

浏览器输入域名后,就会先在本地的HOSTS文件中找有木有相应域名跟ip地址的对应关系,如果有则调用该ip地址完成域名解析;如果说本地HOSTS文件中木有映射的话那就到“本地DNS解析缓存”去找,找到对应的映射信息最终返回给浏览器;如果也没有找到则就进行第三部去“本地DNS”查找,而它是根据TCP/IP首选设置的服务器,如果能在本地DNS区域中找到就会返回解析结果给客户端完成域名解析,注意:这个解析是有权威性的,而不像第四步,所以这里总结一下:

1、在浏览器中输入域名,操作系统会先检查自己本地的HOSTS文件是否有这个网址映射关系。

2、如果HOSTS里没有这个域名的限制,则查找本地DNS解析器缓存。

3、如果本地HOSTS与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器。注意:这个查询是具有权威性的。

4、如果要查询的域名,不由本地DNS服务器区域解析,但该DNS服务器已经缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析。注意:这个区域查询是没有权威性的。

5、本地DNS就把请求发至13台根DNS,根DNS服务器收到请求之后会判断这个域名(.com)是谁来授权管理的,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。注意:它是没有用转发模式。

6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析。需要注意:如果上一级服务器不能解析,还会继续找根DNS,或者把请求转发给上上级,以此循环来进行DNS解析。

网络协议相关面试问题-DNS相关面试问题的更多相关文章

  1. 网络协议学习笔记(八)DNS协议和HttpDNS协议

    概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站 ...

  2. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  3. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

  4. 2019上半年总结——Github上那些Java面试、学习相关仓库

    分享一下最近逛Github看到了一些对于Java面试以及学习有帮助的仓库,这些仓库涉及Java核心知识点整理.Java常见面试题.算法.基础知识点比如网络和操作系统等等. 知识点相关 1.JavaGu ...

  5. php面试专题---10、网络协议考点

    php面试专题---10.网络协议考点 一.总结 一句话总结: 网络的考点其实就是这些:常见状态码,常见协议,osi七层模型,http和https 1.HTTP/1.1中,状态码200.301.304 ...

  6. PHP面试 PHP基础知识 十(网络协议)

    网络协议 HTTP协议状态码 状态分为五大类:1XX.2XX.3XX.4XX.5XX 1XX:信息类状态码  表示接受请求正在处理 2XX:success 成功状态码  请求正常处理完毕 3XX:重定 ...

  7. (转) 前端面试之js相关问题(一)

    原帖地址:http://stephenzhao.github.io/2016/08/19/Front-end-Job-Interview-Questions/ 最近我也是经历过面试别人和去面试的人了, ...

  8. OSI 七层模型和 TCP/IP 四层模型 及 相关网络协议

    简介 OSI 是理论上的模型,也就是一个统一的国际标准,现在的很多网络设备或者是网络协议都不同程度的精简了自己的所谓的模型,那么他们为了自己的通讯兼容都会参考这个OSI模型 TCP/IP 包括: TC ...

  9. PHP网络协议相关考点

    HTTP状态码 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. HTTP状态码主要有5种,代表5种不同类型的响应: 1xx:信息性状态码,代表接 ...

随机推荐

  1. LeetCode.1207-唯一的元素出现次数(Unique Number of Occurrences)

    这是小川的第次更新,第篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第269题(顺位题号是1207).给定一个整数数组arr,当且仅当该数组中每个元素的出现次数唯一时,返回tr ...

  2. Linux系统封装成iso文件

    #安装所需软件包yum -y install createrepo mkisofs anaconda-runtime 根据root下的install.log文件,得到安装的软件包awk '/Insta ...

  3. boostrap table接收到后台返回的数据格式不一致的解决方法

    后台使用的分页插件是mybatis的PageHelper,返回数据格式如下: 而bootstrap table插件需要服务端返回的数据格式中含有"total"和"rows ...

  4. mysql数据库之视图、触发器

    视图 概念:通过查询得到的一张虚拟表,然后保存下来就是视图 视图的好处:如果要频繁使用某张虚拟表,那么就可以保存为视图,以后查找就直接拿这个视图就会非常方便 视图语法规则: create view t ...

  5. windows下安装Sonar

    1.sonar安装: sonar有三部分组成: 1.服务端:显示分析结果和sonar相关配置 2.客户端:对项目运行源代码进行运算和分析 3.数据库:存储sonar配置和代码分析结果的数据库 2.so ...

  6. AirFlow功能展示个人笔记

    DAGs 查看您可以一目了然地查看成功.失败及当前正在运行的任务数量. 选中其中一个DAG 树视图 跨越时间的 DAG 的树表示.如果 pipeline(管道)延迟了,您可以很快地看到哪里出现了错误的 ...

  7. 【Python】【demo实验24】【练习实例】【打印图样】

    原题: 打印出如下图案(菱形): * *** ***** ******* ***** *** * 我的源码: #!/usr/bin/python # encoding=utf-8 # -*- codi ...

  8. Oracle同时插入多条数据

    INSERT ALL INTO 表名(NAME) VALUES ('tony') INTO 表名(NAME) VALUES ('tony2') INTO 表名(NAME) VALUES ('tony3 ...

  9. 并不对劲的bzoj1972:loj2885:p2482[SDOI2010]猪国杀

    题目大意 只能放链接了. 题目中有一点没说:并不是保证牌够用,而是在牌不够用时反复抽最后一张牌. 题解 发现玩家的数量比较少,所以可以不太在意时间够不够用. 考虑三件事:1.基本操作,如摸牌.出牌.玩 ...

  10. JavaScript设计模式(策略模式)

    策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换.将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式也不例外,策略模式的目的就是将算法的使用与算法的实现分离开来 ...